There is little doubt that one of the most publicised Open Source projects doing the rounds at the moment is Mozilla Firefox. From the roots of the Netscape browser, the Mozilla project has spent some considerable time and effort in redeveloping, modularising and improving the components from the Netscape Communicator suite. Ever since the sources were made available, the project has made a number of successful wins that have spawned among others, Firefox, Thunderbird and Sunbird.
With the eventual release of Firefox; the little browser that could, the public perception of Firefox has not been typical of an Open Source project. When projects such the GIMP, OpenOffice.org and Apache hit version one, there was not the sheer level of fanfare spawned from the Firefox camp and echoed around the international press. This was undoubtedly due to the efforts of SpreadFirefox.com, the cross platform nature of Firefox, and its abilities to block Internet nasties such as spyware and popup ads. Combined with the easy to install nature of Firefox and its lean athletic figure, Firefox seems destined for success, whether you read the New York Times or not.
Since the hype of the first release, the awareness of Firefox has gone onto new and dizzying heights. On the SpreadFirefox website the current download count at the time of writing since November 9th 2004 stands at 22,852,187. With coverage in a variety of IT and general press, Firefox has assumed the position of being the direct competitor against Internet Explorer, providing the promise of a browser that works well for developers, users and system administrators/integrators.
The climate of development
One of the most important groups to persuade to take up Firefox are web developers. Inside this large and complex industry, developers basically fall into two approximate camps; those who create public facing sites and those who create bespoke web applications. Within these two areas, you can reasonably identify where the importance of the browser fits into the hierarchy of technical dependence. In the case of developers who create public facing web sites, the range of browsers available need to be supported by the site being created, or potentially valuable custom could be lost. This is even more important with browsers such as Firefox and recent versions of Netscape (which is based on the Mozilla work), as they are potentially in second place to Internet Explorer in the browser share stakes.
In the case of developers who work on web applications, the importance of multi-browser compatibility is less so. The main reason for this is that developers can specifically target a web browser type and version and build their application around that technology. Within this sphere, the browser is less a window to see the Internet but more a platform in which an application is hosted. It is not uncommon within this culture for developers to create applications for a specific version of Internet Explorer and dictate which version the client must use to run it. These kinds of web applications are specifically designed around standards and technologies that are specific to Internet Explorer and possibly not available in exactly the same form in other browsers. Switching support for these applications from a specific incarnation of Internet Explorer to multi-platform or even Firefox specific support, is no easy task. Some may even speculate that such a job is impossible and would require a rewrite of the application.
Firefox growth and standards
With the growth that we are experiencing with Firefox, and with the increasing confidence from the public, it is fair to assume that Firefox is taking on a fairly consistent growth curve. With many products (including Open Source products), the growth in usage is high at the beginning of the project, and if we plotted it on a graph, the line would indicate a very steep and efficient growth margin. As the project continues to develop but achieves less press attention, this growth begins to fall and may become a straight line or even drop. This is common for fairly typical products.
The issue here is that Firefox is not typical. A typical product will not have its technology and authors showcased in national press and TV to the level that Firefox has achieved. In addition to this, the sheer number of “yeah, I installed Firefox, and it is great. I was unsure of the tabbed browsing at first, and now I can’t live without it” testimonials from regular people is encouraging substantial growth. The issue is that Firefox is as simple to use and install as Internet Explorer, yet gives you improved functionality from a users standpoint. In addition to this, Firefox provides a more consistent developer platform for those developers who care about standards.
The problem is that standards compliance may be an issue that can keep developers away from Firefox. I know a number of prominent and capable web developers who don’t care for standards. They care about creating web applications that just work, and their prerogative is to develop around a specific browser to bypass the nightmare of cross platform compliance. From an economic standpoint, this can make sense, particularly for managers. Getting your development team to understand the quirks that are involved in getting your project to work in all browsers can require extensive resources that are not directly mapped to productivity. As many of you will be aware, some people who are running a development team will want to take the easiest development option that requires the lowest resource count. This has produced a culture of developers who create web applications based around a specific browser; something that contradicts with the original intention of the Internet.
It is not a coincidence that any of this is happening. Microsoft have pushed a lot of resources in the general direction of Internet Explorer, and they gave it all away for free to users. A lot of people joke about how Microsoft did not see the importance of the Internet and then managed to get directly involved in the Internet five seconds later. This is likely because the executives at Microsoft realised that the Internet offered the company a new opportunity to create and market development tools for this new medium, but they knew that they would need to develop some technologies that could give them the leverage to provide products that made developers use a Microsoft development tool as opposed to another development tool that was simply based around web standards. Hence, Internet Explorer was born and it gave Microsoft the opportunity to use their weight to push their browser to prominence and augment the web standards with their own technology; technology only available in Internet Explorer.
Microsoft knew full well that one of their strongest commercial attributes was the fact that people often use Microsoft products in a variety of computing areas. People would need an Operating System, so they would go for a Microsoft Operating System. Then they would go for a Microsoft office suite and then the Microsoft development tools. The reasons for this are two-fold. Firstly, the IT industry knew that Microsoft had enough weight to direct how the industry moves and that they would be there in five years (a case that could not be applied, for example, to Borland, who seemed to reinvent themselves more times than the Rolling Stones). The second point is that if you were to pick something that Microsoft do really well, it is making their their tools integrate with each other really well. Note how I emphasise their tools. I don’t think I need to reiterate how there have been issues in the past in how Microsoft tools inter-operate with other entities outside the Microsoft bubble. These two factors encouraged the deployment of Microsoft products in different areas of IT. The result of this is that developers would be running a Microsoft Windows system, developing for Microsoft Internet Explorer, using development technologies such as Microsoft ASP or Microsoft .NET, and very possibly using Microsoft SQL Server and Microsoft IIS. Oh, and people would waste their afternoons playing Microsoft Solitaire too.
Tracking the curve
Where all of this becomes interesting is when we compare the rate of Firefox growth with the amount of time it would take to redevelop a complex Internet Explorer specific web application to support Firefox. As Firefox continues to grow, it is likely that the growth factor could actually increase further. This is because of a number of factors; people in the established user base who can use word of mouth to recommend the browser, more sites/developers will be supporting the browser due to either preference or browser share reasons and more press agencies will be latching onto the already fashionable Open Source phenomenon and Firefox is an example of Open Source that anyone can use. Oh, and lets not forget the increasing rate of Internet nasties that make Internet Explorer and increasingly hostile environment for users; Firefox can improve in this area.
My concern is that as Firefox grows and hits the point where it will become a relevant market force, clients will naturally require support for Firefox, and the web application development companies may have fallen back too far to be able to support it with sufficient timeliness. This could have pretty distinctive repercussions for people involved in this sector, and I can imagine that there will be some uncomfortable board meetings with some developers experiencing a tirade of questions from upper management asking why they did not take Firefox into account and why they have lagged so far behind.
If this hypothesis occurs, the source of these problems are not the fault of Firefox, but they lie with developers who are not considering emerging technologies and their potential impact on the industry as a whole. As someone who works as a professional consultant with Open Source, I can testify that Open Source is garnering a huge amount of interest from all sectors of business, educations, charities and government. If some of these companies don’t realise the potential impact Firefox is going to have, it may be just too late.
Does all this make sense, or is it utter nonsense. Share your views here…