Monday, November 28, 2005

Design for the future

I've been reading "Joel on Software". He emphasized a lot about design before coding. There are a number of benefits like reducing risks and better quality etc. I am inspired and has come up with another benefit: Design for the future or Design the (currently) impossible.

Computer is such a powerful tool that you can turn your abstract ideas into virtual realities with a couple of programmers and a garage. However, the computer always has its limitations. Our imagination is bounced back from time to time due to its impracticality. A flurry of imagination is unleashed every time a part of its limitation is extended, a paradigm shift happens in the industry. E.g. high level programming language, internet, broadband, VoIP, etc. The heros in the industry recent years are the ones who were among the earliest explorers of the possiblities created by this paradigm shift.

It takes time to realize such a paradigm shift has happened. And it takes more time to come up with a brilliant idea to do something with the changes. By which time, a horde of new start ups are already doing or have already done everything you could imagine with the new changes. Don't even think of trying to be a better "me2" at this stage, because all those dinosaur-class companies are approaching with their enormous cash reserve and greed trying to do the same thing.

Design allows one to be proactive. We can design absolutely anything, the only bound is imagination and knowledge. People has been designing VoIP long before broadband is in wide spread. P2P is the paradigm shift that has made skype's dream to come true. The complexity of video games increases as fast as the hardware's evolution. It's not because game developers adapt to new techs quickly. It's because the design has long been there and only come into implementation when the hardware is available. So let's make some predictions of the future and design something that would be useful in that future.


Post a Comment

<< Home