Sunday, February 18, 2007

Microsoft blew it with IE

Recently, the Mozilla Foundation announced offline application support for Firefox 3. You see, this is the holy grail of the web. Once you have support for running offline applications in the browser, the browser becomes the framework/platform of choice for any king of application.
You see, until just recently, Microsoft Windows was the platform of choice for most desktop applications. This was due to the largest install base and because Microsoft has done just about anything to make sure that programmers find it easy to target their platform (think MSDN).
A platform is very different from your average library. A platform limits the ways in which you can write code. For example, in Windows, you create so-called applications. You know, you write a window procedure and Windows takes care of calling code for you. Before you know it, you're stuck. Fortunately, all the platforms that you can possibly care about are pretty similar, so if you want to port the code, it's not the end of the world. But it's still difficult. Plus Microsoft gets to dictate the changes.
Platforms are a lot like frameworks. You must write your code to fit the platform/framework. Until recently, Windows was, of course, the platform of choice for general purpose applications (think office applications, etc). Microsoft did its best to keep you locked into their platform.
Then the web happened. Microsoft got really lucky and somehowmanaged to obtain some 90% of browser market. But then, then it screwed up really badly. Firefox started happening. A couple of years of no updates to Internet Explorer later, Firefox is the browser of choice for hackers. Now that everyone who matters runs Firefox, Mozilla (or maybe Google, because they hire the programmers behind Firefox) can go ahead and add their own features of choice. Offline application support is one killer feature.
At the present moment, the only problem that keeps people from totally throwing away their desktop apps and switching to web-based ones is that Internet connectivity is not available everywhere every time. Now that offline application support is being added to Firefox, the browser can become the platform of choice for traditional "desktop" apps. I predict that other issues, such as raw speed, will become less and less important (JavaScript will do).
I also predict that once Firefox gets a big enough market share (say 30-40%), its adoption rate will increase exponentially and we'll see 80% in a very short time. Microsoft looses.