Firefox 15 offers fewer leaks, more frags
Improved WebGL support for in-browser 3D gaming
Another month, another Firefox update. But although Mozilla's breakneck release pace can be bewildering for some users, new Firefox versions continue to bring performance, stability, and security improvements – and in the case of the newly released Firefox 15, some nice goodies for gamers.
"Although its roots have been around for some time, Mozilla’s focus on games is a relatively new initiative," said Mozilla's Marin Best in a blog post on Tuesday. "We are focused on making Firefox the best game development platform possible."
To that end, Firefox 15 brings a number of improvements to the browser's support for WebGL, the open standard for 3D on the web. In particular, the new release adds support for compressed textures, which make better use of graphics card memory, allowing developers to use higher-resolution textures in their games.
Firefox 15 also adds support for new high-resolution timing APIs, which Mozilla says give developers control over their interactive content down to the thousandths of milliseconds.
Best noted that BananaBread isn't designed solely to run in Firefox, and that any browser that implements the appropriate web standards should be able to play the demo. Currently that list is limited to Chrome, but more browsers are expected to become compatible soon.
"One of the main goals of the Mozilla Community working on games is to not only drive game development on Firefox but across all browsers," Best said.
Not everything has been all fun and games since Firefox 14, however. According to Asa Dotzler, Mozilla's Firefox product manager, plugging memory leaks related to browser add-ons was one major focus of the latest release.
"The most common cause of these leaks is when an add-on accidentally holds on to extra copies of a web site in memory after our user has closed the tab," Dotzler said in a blog post explaining the fix. "These pages pile up, and can eat massive amounts of memory for no user benefit."
Dotzler said Firefox 15 can detect when this happens and free up the memory, making Firefox faster and less likely to crash.
Mozilla developers have also improved Firefox's auto-update capability so that it is more seamless and silent than before. According Mozilla hacker Ehsan Akhgari, the new code achieves this by downloading updates in the background, installing them alongside the old version of Firefox, and then applying them with a simple, fast file-copy operation when the user is ready to make the switch.
"Firefox for desktops has come a long way in a short time. But there is still more to come. We are working on features that will improve performance and make development easier," Best said. ®
Also on Tuesday, Mozilla released Thunderbird 15, the latest version of its desktop email client, in keeping with its usual pattern. That update brings fewer dramatic changes than the Firefox release, however, as Mozilla has stepped away from "continued innovation" in Thunderbird and only plans to deliver bug fixes and security patches from now on.
Re: "... thousandths of milliseconds."
Hiya- the article didn't state 'viewable results', but rather 'interactive content'. In the case of a game, you would want the underlying physics engine to be at a far greater temporal resolution than the output, otherwise you would have cumulative rounding errors when game elements interact. You probably wouldn't need as much as Mozzilla are crowing about, but it doesn't hurt to build in some headroom, does it? Otherwise, you might start making comments in the style of "No one will need more than 637 kb of memory for a personal computer"
Is the browser really the best "app engine?"
While it was interesting to watch that video demo of BananaBread running in Firefox 15, I couldn't help but pause for a moment as ask myself why this kind of stuff is being done at all. Or maybe the more correct question to ask in this situation is should it really be done at all? Before you make up your minds and decide to down-vote me, please hear me out.
This slow and gradual perversion of what web pages were supposed to be has continued over the past decade or so, and now we are getting to the point where we have WebGL and Canvas allowing us to create amazing full-blown games in browsers, Google's NaCl plugin that allows you to actually run native code in browsers, and the "Boot to Gecko" and "Chrome OS" projects that are trying to reshape the browser into a computer's entire operating system! Has anyone ever stopped for a moment and thought to themselves that maybe they have taken this "lets run everything in the browser" idea a bit too far? If you're getting to the point where your web application needs to run native code in the browser using the NaCl plugin you probably should have just written the entire application as a native application anyway, because you're even losing HTML5's one strength, cross platform support, once you start using native code in your web app! This wasn't what the browser was supposed to be-- it has been slowly repurposed from an application that was designed to deliver formatted documents to now practically being an operating system running on top of your operating system. And all of this technological advancement was achieved through kludge built on top of kludge built on top of kludge.
The most ironic thing of all is that the more that the W3C and the WHATWG try to make the Web act like a platform for native applications the more that they are losing potential users to actual native applications. Smart phones and tablets are steadily becoming the most used computing devices, right? And what do they have on them for everything? Apps. If you want to check your e-mail you don't visit your webmail account using your smart phone's browser-- you use the phone's e-mail app. Do you use your phone's browser to visit youtube.com to watch videos? Heck no, you use the phone's YouTube app. Do you want to read the New York Times? How about check Facebook? There are apps for that too! Pretty much the only time you use your smart phone's browser for anything is during those rare times when there actually isn't already an "app for that." Considering the fact that web applications, due to their lowest common denominator approach so that they can be (in theory anyway) cross-platform, will always only be a second best solution when compared to purpose-designed native apps. With the traffic of the entire World Wide Web starting to decline in favor of native Internet-connected apps, it almost makes me wonder if it is wise to still try to turn the Web into something that mimics these full-blown native "apps" when, by their very design, Web apps will always be outperformed by their dedicated native counterparts.
Look, I am no Luddite. I am in no way saying that we should bring the Web back to the days of 1997 with HTML 3.2. As a long time Web user, and someone who has done both server-side and client-side web development professionally, I can definitely say that I have benefited a lot from many of the advancements made to browsers over the years. But when I read about advances such as WebGL, the NaCl plug-in, and other such technologies that essentially turn the browser into more and more of a full-blown virtual machine with a mini OS, I can't help but wonder if all of that new functionality could have been better implemented on a platform that was actually intended to perform those functions instead of coercing what was supposed to be a document viewer to do it. You know, like creating a whole new cross-operating system platform designed from the start for these kinds of applications instead of continually tacking more and more features and API's onto a legacy document markup language and the application that was meant to render that markup language. Of course then again I guess that that was what Sun Microsystems was originally trying to do with Java and the Java Virtual Machine back in the 90's, and apparently that didn't work out so well either or else we wouldn't have felt the need to create full-blown Web applications complete with local storage, Web Workers, and real-time 3D with HTML5 in the browser to begin with-- we would all be running Internet connected purpose-built Java apps instead.
In any case, I'm not saying it's wrong or right to add capabilities such as WebGL into the browser. I am personally still very much divided on the idea myself, and I can see both opportunities and pitfalls from the additions of such features. All I am saying is that we are getting to the point where we are trying to do so much in the browser now that we should start asking ourselves a little bit more frequently about why what we are trying to do needs to be done in the browser, and if it actually should be done in the browser at all. After all, there are already huge swaths of people that are using add-ons like NoScript and disabling Flash, Java, Silverlight, and Shockwave as it is to cut down on some of the Web's current in-your-face feature clutter and unwanted interactivity. To these people, Canvas animations, WebGL animations, and HTML5 videos are going to become that much more annoying stuff that they are just going to have to disable and block. Just because these new features are being defined by the W3C doesn't mean that they won't be used by advertisers to annoying ends like their past proprietary counterparts!
"the new code achieves this by downloading updates in the background, installing them alongside the old version of Firefox, and then applying them with a simple, fast file-copy operation when the user is ready to make the switch."
From 14 to 15 it's still the same as before - got to Help/About, click "Apply Update", and it restarts - with the same version number as before and no error or warning message.
No mention at all that you need to switch to a Windows account with Administrator privileges, then wait for the update to download again because it can't see the copy it already downloaded.
Do they really assume that every Windows user runs with Administrator privileges as standard? Or that every user who doesn't knows to switch accounts although they give no message about that?
(Yes, I do know to do that - but I still check to see if they've fixed it yet.)
Still, I suppose it's possibly better than the programs which give a totally weird error which has nothing to do with the needed privileges - and far too many programs do that.