There is no denying that the future of how we use computer is changing. The advent of applications that live on the network/Internet is making the developer think twice about where he should be headed. As a developer, you need to be ahead of the curve as by the time your product is ready your product should be in exactly the right spot to get to as many users as possible.
Microsoft, in recent times, has been making a big song and dance about developers. (The Steve Palmer “developers, developers, developers” dance for example) Microsoft does have one thing right, developers are what makes platforms thrive. They know this and have, over the years, done a very good job at giving the developers what they want, for example, the best IDE (Integrated developer environment) in the world.
Unfortunately, this is no longer good enough. Microsoft tools have, in general, been very Microsoft centric. (They generally push you towards using (Paying) for a lot of Microsoft tools and end user licenses.) DOT.NET is also been quite a disaster in many ways with Microsoft themselves been unable to give a well defined description, and those you do use it, find it very buggy and monolithic.
While this has been happening, open source technologies have been thriving. Javascript frame works, Ruby and Rails, php, mysql, java going open source, the list goes on and on. These technologies, most anyway, tend to be easy to learn and resonably lean. For more applicable to the new generation of Rich Internet application (RIA) development.
It is important to point out here that all of the companies Microsoft sees as a threat are all based on such technologies. Google, Yahoo for example. In general, however, name any Web2.0 company and they are not using any Microsoft tools. Its all open source and Mac driving towards there own proprietory software and patents.
Lets not forget Adobe/flash here. Alltho the open source tools are quite capable, a tool set that is capable of making RIA (Rich Internet applications) such as Photoshop express or a Word replacement (buzzword) that is nearly as capable as Word is not possible, and is unlikely to be possible based on the committee based development and speed of open technologies. This is quite a contentious issue especially as Apple has rejected Flash. I would contend that this has more to do with who’s Video playing technology is dominant on the Web. Adobe Flash is at the moment, but Apple with Quicktime X plans to change that. (Its all about video platforms not capabilities. (And the DRM capabilities there-in Philip) but thats another blog post.
As Adobe identified this trend and purchased Macromedia/Flash, Microsoft has now also identified this. As tools like Word and Excel are to go to RIA (Rich Internet Application) type implementations, technologies like Flash are best suited. (Small Note, Flash SWF files as in that created via the Animation tools in CS3 are not the issue here. CS3 has a time line animation background and can tend to be CPU intensive as the programmers are generally not a real programmers as apposed to designers doing some programming) It is flash created via the Adobe Flex FREE SDK that is where RIA on Flash lives. Flash has grown into a RIA tool set as Macromedia/Adobe noticed end users using it in that way. It is only recently that they have started optimizing it for this.
Microsoft is late to the game, as usual, and identifying this trend, has rushed out Silverlight. Silverlight is very much based on the directions of Flash and its Flex development tools, with a Microsoft twist.
Finally, lets not forget, there will always be the need for fully client side tools. Tools that cannot and never will be network based. Example of these are all the Adobe CS3 tool set in which you are manipulating very large files and elegant and complex user interfaces. In general however, any tools that needs a lot of I/O (reading a lot of data) are not suitable (But not out of the question.)
Microsoft Office tools, however, are very suitable. It is not unreasonable to reach a very equivalent RIA implementation. And in general, a version that is well within the requirements of the growing Internet user.
With all that is happening “Where to now developer”.
Well, if your following the Web2.0 dream, its not Microsoft. Its open ource based technologies with a touch of Flash (Youtube and any video sites… Rockyou and other interactive tools.)
If your aiming at business, Microsoft is still hard to pass over. SMS (Small business server) has made huge inroads into small business over the years, and most if not all larger companies very much rely on Microsoft. Tho, Open source technologies are making decent inroads here as well.
Java, now part of open source, has become the black sheep of development in many ways. It was once painted as the future of RIA, but has completely failed in this area and is barely if ever seen these days in a web browser. However, as a enterprise back end technology it is doing very well. It is also having some strength in desktop cross platform apps like Open-Office.
Finally lets not forget embedded devices. An area in which Linux rules. (Ie your ADSL router. ATM machines, Petrol pumps.) A very large industry very much over looked. Embedded systems have tended towards open tools as there is usually a lot of low level development needed, so using an OS you have complete control of and has no licensing costs has tended to dominate.
Finally, the new kids of the block. The Web site developer. Skilled in HTML, Javascript and other web techno loges, these developers are now being told they have the tools to make applications. Javascript frames works have come a long way, and what was once a well made FROM, in some cases is now considered an RIA. This is an area where the definition of what an RIA is a bit grey. But we definitely have a lot of telent growing from this field. And they all love and insist on standards based, if not open source, tools witch they know and love.
One trend is very evident. Open source development is seen as the area where the larger opportunities exist. Good old Microsoft tools are a well payed IT lifestyle but not seen as the future. Microsoft Mesh is their response, and we are yet to see how this will pan out. Microsoft has also made some major inroads to accepting Open ssource as a part of the industry and choosing to live with it instead of fighting it. Has Microsoft has changed it spots, or a wolf in sheep’s clothing? As an older blogger who has seen Microsoft at the peek of its evil empire, I will need a lot of convincing before I give them a chance. It takes a lot of star troopers to make an evil empire culture. Like any cancer, its very difficult to overcome.
2 responses so far ↓
1 derk // Jul 28, 2008 at 8:31 am
“.NET is also been quite a disaster in many ways”
I don’t think you understand the real world .Net popularity.
2 JamieG // Jul 28, 2008 at 9:52 am
Hi derk,
There are many concepts of popularity. .Net in Microsoft developers eyes probably has been reasonably popular. But I look at in other ways. Such as many developers still staying with VC6. For example I monitor the blackmagic, a video IO card maker, dev forum in which only now are many users shifting from VC6 to current Microsoft tools. This is mainly because VC6 is just getting too out of date. But otherwise, like us and my developers, we gave it a go and decided to not use it due to so many issues with it. (One would HOPE, after 5 years, and the 3rd version .Net, its reasonable now.)
Then there is the total lack of .Net tools on the web or popping up in freeware. I count this as a big sign in popularity. I have seen some tools but they where rubbish. Maybe the issue with the developer more then the .Net framework.
I have also read on other blogs that .Net is poorly implemented and has taken a long time to over come some bugs that have really dragged it down.
But then again, I talk to my friend who is a Microsoft dev from way back. It is what he knows and is not interested in learning other tools. It pays his wage. That, in my mind, is the typical .Net engineer. They are not really bothered learning other tools. So, in this area, .Net is arguably successful.
If .Net was really successful, in my mind, we should see a lot more of it outside of Microsoft dependant shops. This I have not seem, and as such, .Net has not done what it was created for.
To extend the use and development of software using Microsoft technologies.
But then again, I am interest to hear your argument. Please contribute.
James
Leave a Comment