Firefox 3.5 was released a few days ago and it’s not surprising that the browser adds a host of features to the new release, some innovative and some maybe not so much. Yes, we do see some ideas from Chrome and other browsers carried over (as we expected they would), and yes we also see a faster browser, mostly due to a faster Javascript engine (Tracemonkey) being deployed. (Though I have to say that Chrome still beats Firefox on my machine on both the SunSpider and the V8 benchmarking suite.) Firefox is something that I always use, mainly because I don’t run Win32 on my Internet machine and there is no real replacement for Firefox on other platforms when it comes to a good professional browser (except maybe the Mac, which I don’t happen to have) . So predictably, I am glad to see the new version up to speed with Chorme.
Recently there has been some sort of a competition between browsers; each trying to outperform the the other. Whatever you may call it, the browser wars show one clear trend — the increase of Javascript speed to allow client side code to run at par, if not at the speed of desktop applications. The wars started with the launch of Chrome. Through Firefox started early, it was beaten to the soap-box, probably because Firefox runs across so many platforms, and it took more time to get everything running at par on everything supported. In any case, V8 outperformed it’s rivals by JIT compiling Javascript code (, which is similar to what’s been done in SquirrelFish Extreme and now by Tracemonkey). But why this sudden obsession with Javascript speed? What’s so special about Javascript? As you probably already know, Javascript is the defacto client side language that is embedded in web content (HTML). It is used by almost all websites that display dynamic content and thus by analogy, faster Javascript means faster and consequently more powerful web applications. So as websites like Google push for more Javascript in their online services, the plan is to offset the use of conventional desktops applications, replacing them with mobile/online services. Take the example of gmail, Google’s email service. There was a time when I couldn’t live without Pop3 (Outlook express/Outlook/Thunderbird). I even got pissed when Yahoo stopped Pop3 support for their free service. Now, since Gmail and the advent of fast Javascript browsers, I don’t even bother. Gmail was the first to push the bar and soon everybody followed. There was a time however when everything was not as speedy. Gmail used to take a long time to load and one did question the sanity behind having a Javascript heavy email service. However, what is more subtle is the fact that because of Chrome and the subsequent across the board Javascript enhancements that followed, gmail is now comparable to any desktop mail client you can find. Oh yes remember, gmail mails occupy zero space on the hard-drive, are accessible from any place that has a Internet connection and you don’t have to upgrade the application when a new version comes out. Log-in and you are there! With Chrome and now all others following suit, we could see even more enhancements to existing Google services and might even see some new applications as well. Whether this progression was evolutionary or revolutionary is up to you to speculate, but it does come across as a clever strategy from Google.
Coming back to Firefox. Interestingly Firefox also brings in some other changes. Apart from the obvious Javascript engine enhancement it includes support of HTML 5.0. Though HTML 5.0 isn’t formally ratified by the W3C, it is as they say it “a game-changer for web application development”. The support for the ogg container and patent free multimedia formats like Theora and Vorbis means an end to propitiatory technologies like Flash and Silverlight. Or does it? Well, at least that was the general idea with HTML 5.0. We will still have to see how that is actually implemented. Predictably not every browser vendor is happy about adopting open formats, but with HTML 5 the road is pretty much set. The push is on for a more dynamic and richer web. But, wasn’t it happening all the time. Well, not entirely. Most of the sound and video on the web today is played via third-party plug-ins like Flash. They are not natively supported by HTML and there in lies the problem. Come to think of it, it’s ridiculous that a multimedia container like a browser which allows rich content like pictures (.gif, .png, .jpg …) to be displayed doesn’t, even in this day and age, support video and sound. Today videos are pretty standard way of displaying content on the web, and mostly every site/portal what wants to demo it’s content has and does show a video clip somewhere. Then the question is; when are we going to see browsers ending their dependence on proprietary technologies like Flash and Silverlight and implement a standard for video and audio as well. Interestingly, Firefox 3.5 does allow the use of audio and video tags. Kudos to Firefox for incorporating the new changes, though it maybe a while before websites support them. I hope they do sooner rather than later, it’s almost trivial.
Mostly the changes in Firefox 3.5 were on expected lines. Nevertheless it does bring in some new enhancements and is a noticeably faster browser. I think the (earlier) release of Chrome did take some shine off the speed increase but still on the whole it’s a welcome development. Lets see when others like Opera catch up, I am sure they will soon, it’s just a matter of time.
Interestingly, PHP 5.3.0 has been released with additions like namespaces, late static binding, lambda functions and closures to the language. I say these features should have been a long time coming to such an immensely popular language like PHP. These are a welcome enhancements to the language indeed. While this may not have any direct bearing on the client side speed of web applications, it does fill in some gap with other popular server side web languages.