Firefox 29 Brings Improvements in asm.js Performance, New Web API
Firefox 29 also comes with new web APIs, including Web Audio API and CSS Flexbox, and a finalised and enabled Gamepad API. Gavin Sharp, senior manager for Firefox Desktop Engineering, said:
The integration of CSS Flexbox in Firefox makes it easier for developers to build user interfaces that adapt to the size of the browser window or to create elastic layouts which adapt themselves to the font size. This is helpful when developers are trying to create a consistent user interface to their Website or Web app across desktop and mobile. With Web Audio API, developers can now build robust audio engines capable of new features like positional audio and support for effects such as reverb, which can create immersive audio experiences on the Web. That is especially important for game developers.
Other developer updates include Promises enabled by default. The Promise interface represents a proxy for a value not necessarily known at its creation time. Allowing developers to associate handlers to an asynchronous action's eventual success or failure, it lets asynchronous methods return values like synchronous methods. Instead of the final value, the asynchronous method returns a promise of having a value at some point in the future.
For users, Firefox 29 new UI is described by Mozilla in their update as a "beautiful new design that makes it easy to focus on your Web content". Firefox 29 comes with a customization mode where users can add or move features. Sharp said:
We set out to reimagine and redesign Firefox to reflect how people use the Web today. The most noticeable and visible feature is the new design.... Background tabs are de-emphasized to let you focus on the selected tab, while still being able to manage lots of tabs efficiently. To accompany the updated design, we’ve also added a new menu and customization mode, making it fun and easy to make Firefox your own. Firefox has always been the most customizable browser, but we've taken it a step further with the latest version of Firefox. We're really proud of the new customization mode, and in particular how it complements our amazing add-on ecosystem.
The reaction from the community was at times less warm. A straw poll on Reddit's r/firefox/ asked "Do you like Firefox 29: Australis?" 49% of respondents answered "I don't like it", compared to 32% who selected "I like it". User UglierThanMoe commented on the poll "I'm really not happy with the new design, but I'm even more upset that Mozilla made it so needlessly complicated to customise."
Contrastingly, user beardeddragonborn in a thread titled "I, for one, like 29" defended the new release saying "I do feel for all that have had their customization broken. I, however, am very excited about 29, and so far feel it fills a void that Firefox left in me a long time ago."
On Hacker News, some weren't as enthusiastic about the release. User dilap commented "I love Firefox -- for what it's done, what it represents, and what it helps guard against...But it's never felt very good on the Mac to me, and it still doesn't."
Florian Bender, head of developer media at Neue Mediengesellschaft Ulm mbH, responded to comments on The Next Web article on the release:
I'd encourage everyone who thinks Mozilla is lacking effort or will to do the things they "should do" to take a closer look and participate in the community. Firefox, as all of Mozilla's projects, are 100% open source from concept to implementation, and everyone can participate, chime in and advance the project by voicing feedback or (better yet) writing code.
Mozilla say they welcome newcomers who want to be part of the project, and there are many ways that InfoQ readers can contribute to Firefox. A full list of options is available on the Mozilla Developer Network where Mozilla also publish a number of How To guides.
Another major update in Firefox 29 is the introduction of Firefox Sync. Further contributing to Mozilla's aim to build stronger ties between desktop and mobile it allows users to sync Firefox data across computers and mobile Android devices. Powered by Firefox Accounts, Sync gives users access to Firefox's "Awesome Bar" browsing history, saved passwords, bookmarks, open tabs and form data.
Other changes to Firefox 29 include various security fixes, including "Critical" issues MFSA 2014-44 "Use-after-free in imgLoader while resizing images", MFSA 2014-42 "Privilege escalation through Web Notification API", MFSA 2014-39 "Use-after-free in the Text Track Manager for HTML video" and MFSA 2014-34 "Miscellaneous memory safety hazards".
This November will be the tenth anniversary of the release of Firefox 1.0.