Tuesday, April 17, 2007

Portability Matters

Well hello to all my loyal readers (which are probably 2 or 3 of my friends :)). It is time to put some more content in here because I haven't been blogging for a while now. I was out on a nice vacation in the Tahiti island...yeah right...I wish. The simple truth is I've been too lazy to write anything, but now I'm back and I would like to share some of my ideas and visions on the future of information technology.
I would like to start with a few ideas on software portability which has long been a subject of debate between various sides involved in developing various software platforms. For example a few years before, when I was a young pup in the world of programming I used to debate with my friends about the strengths and weaknesses of Java and .NET. Back then the cool thing about Java was its portability. My friends used to say so what if you can't run the .NET framework on Linux, you don't need your enterprise applications to be portable anyway because they are ran on a single server (or a cluster) which can support whatever platform you choose to develop on. Well that was kind of true in the case of enterprise applications but nowadays things are starting to change, mobility becomes more and more important and in order to be mobile with your applications the development platform you are working on needs to be portable and be able to run on a plethora of devices not only on servers. I believe that with the upward trend of the mobile applications market the need for portability will also grow and the big players in the industry have already started to work on it.
Also lately, Linux has become a viable solution for desktops and it will continue to improve and become a good alternative to the Microsoft dominance. Again, portability will come in as a key feature of a development platform together with openness. Sun has already made a big step by open sourcing their Java platform and I believe that Microsoft still fails to see the true potential of being open and ubiquitous. Instead of trying to impose their own proprietary solutions I believe they should start opening things and try to be present with their development solutions on multiple platforms. They would certainly have more to gain, than by staying closed and encountering more and more resistance from the market in adopting their expensive "good for all" solutions. The real power of being open stands in the communities forming behind the technologies, the plethora of components developed, the documentation and the expertise. There is more to gain from communities of enthusiasts than they ever could gain from their big but limited number of employees. Besides, ubiquity in the IT world is power, and it is easier to achieve it by letting things develop on their own with just some guidance, than it is by imposing some solutions as the right way to do things. After all, the whole history of humanity is full of examples of resistance to imposed systems...

Playing for Change