June 26, 2010

Firefox 4 Guns For Speed

Mozilla hopes to release Firefox 4 in October or November, a new version that has speed among its top goals. -from Zdnet.com

"Performance is a huge, huge, huge thing for us," said Mike Beltzner, vice president of engineering for Firefox, in a webcast on Tuesday about plans for the browser. "We created the performance story, and we've got to keep at it."

Among other features planned for Firefox 4 — and Mozilla emphatically cautions that plans can change — are support for high-speed graphics and text through Direct2D on Windows; a tidier user interface with more prominent and powerful tabs; support for several newer web technologies; 64-bit versions; and compatibility with multi-touch interfaces.

Performance means any number of things in a browser. Among them: the time it takes to launch the program or to load a web page, the responsiveness of the user interface to commands such as opening new tabs, and the speed with which web-based JavaScript programs execute. Firefox programmers also will work on more perceptual speed improvements, Beltzner said, such as changing the order that web page elements appear on the screen and the appearance of the page-loading progress bar.


Mozilla Firefox
















Mozilla's Firefox 4 design shows tabs above the address bar and a home-page button replaced by a home tab.
(Credit: Mozilla)

Speed is only one item on a long list of changes Mozilla has in mind for its five-year-old open-source Firefox browser. Improving Firefox is arguably a greater challenge now, though, for several reasons.

Below is  an early screen shot of Firefox 4 for Windows 7 showing the tabs above the address bar:



















And with the bookmarks bar"








Below is Firefox 4 with tabs below the address bar under Windows 7:



















And with the bookmarks toolbar shown:







First, there's new energy in competitors including Microsoft's Internet Explorer 9 and Chrome from web powerhouse Google. Second, making abrupt changes is harder without ruffling feathers among its large user base — Firefox accounts for roughly a quarter of the browser usage worldwide. Third, Firefox is expanding from PCs to mobile phones and tablets with very different hardware requirements. Last, a long list of new technologies are profoundly transforming browsers into a foundation for web applications, but many of those advancements are far from settled. Beltzner recognises the challenges.

"We are in it to win it," Beltzner said. "It's no longer the case where it's all easy wins. There's hard work to be done here. We have to make sure we're the ones leading the charge in keeping the web open for users."

Scheduling

Mozilla established a Firefox 3.6, 3.7 and 4.0 release plan in 2009, but the organisation warned early this year that the browser schedule was changing. Tuesday's webcast offered a new schedule with no Firefox 3.7.

One key feature of 3.7 called out-of-process plug-ins, which moves plug-ins such as Adobe Systems' Flash Player to their own separate memory area for better stability, was advanced to Firefox 3.6.4, code-named Lorentz and in beta testing right now. Meanwhile, Mozilla concluded it needed more time for a planned user-interface overhaul and to be liberated by a "rebooted" plan for a new extensions foundation called Jetpack.

"I think we need to get to a first beta by the end of June", before the Mozilla Summit in early July, he said. Releasing that version "puts us in a position where we can ship [the final version] somewhere in October or November".

Mozilla Firefox


Mozilla's new schedule for releasing Firefox 4 — if all goes well....November 2010.
(Credit: Mozilla)

Given past experience, this deadline may not be met. Firefox 3.6 had been due in that time frame in 2009 and slipped into early 2010. "This is an aggressive schedule to be sure. We have to focus the efforts of projects already under way so it can come together to be a really great Firefox 4," Beltzner said. And programmers will have to prove the merit of any new projects very soon if they want them included.

So what else is new?

Beltzner grouped the Firefox 4 plan into three broad areas of interest: features for browser users, features for web developers, and underlying platform features.

Tabs are one area of change for users. Tabs will be above the address bar, as is the case with Chrome, and a home tab replaces the home button. In addition, narrower application tabs can be dedicated to various web apps. Instead of a menu bar across the top, there's a single Firefox button with a drop-down menu. Typing in the address bar can be used to switch to other tabs.

One change that had been bandied about, though — a unification of the address bar and the search bar, a la Chrome — didn't appear in Beltzner's designs.

Mozilla hopes to change some dialog boxes to make them more effective. Two examples are the option for Firefox to remember a website's password and to permit a website to use the browser user's physical location.

Mozilla Firefox 
Planned for Firefox 4 will be a more elaborate mechanism to see what privileges a person has granted to various websites.
(Credit: Mozilla)

Mozilla has always been motivated by the idea of giving the user control, and it's hoping the new Firefox will go further with a revamped control panel for managing passwords, cookies, pop-up blocking, geolocation, local data storage, and related details. Users could see what permissions have been granted to websites for each category, or alternatively, see which various permissions a specific site has.

Below is an early screen shot of Firefox 4 running on Linux with a brown theme:
















Significant changes to the user interface can lead to confusion, but in the long run, the pain can be worthwhile, Beltzner said. Sometimes, he said, "we're going to have to do the uncomfortable thing."

For developers, Mozilla also has a number of features planned for Firefox 4.
For web applications, the Firefox 4 plan includes support for WebSockets, a mechanism for easier communication between the browser and a web server. And as for dealing with the new class of touch-enabled devices, which often don't have a keyboard or mouse, Firefox should be able to let web developers build pages controlled with a multi-touch interface.

The heart of web programming is Hypertext Markup Language (HTML), and Mozilla is building into Firefox a new HTML5 "parser", the part of the browser that interprets the web page code. The new parser can handle Scalable Vector Graphics (SVG) and mathematical equations interleaved with the rest of a web page, runs as a separate computing process to improve browser responsiveness, and fixes "dozens" of long-standing bugs on the previous parser, Mozilla said.

In industry shorthand, HTML5 often stands for many new technologies that aren't part of the actual HTML5 specification or even the broader HTML renovation effort.
Firefox 4 will support some of those, too, but two important ones are only tentative at this stage: the newer Indexed DB effort designed to improve how information from a website is stored locally on a computer, and the WebGL effort to build hardware-accelerated 3D graphics into the web. Required driver support for graphics chips complicates WebGL, and the Indexed DB specification isn't likely to be finished in time, Beltzner said.

For the movement to sidestep Flash with web technologies, Firefox 4 has a few features planned. Some newer aspects of Cascading Style Sheets (CSS), used for formatting, are set to be supported, including transitions that can animate the transformation of one web element into another. Firefox 4 also is expected to support more of the newer CSS3 specification.

Mozilla Firefox Areas of Firefox that Mozilla is hoping to improve
(Credit: Mozilla)

Also stepping on Flash's toes will be support for SMIL, the Synchronised Multimedia Integration Language that can be used for some animation chores, and faster performance with the 2D drawing interface called Canvas.

Under the hood

Performance improvements to Firefox will come through improvements to the underlying software. One significant change coming is JaegerMonkey, which combines Firefox's current JavaScript engine with elements of those used in Chrome and Safari browsers.
"JaegerMonkey has reached a halfway point: we've closed about half the performance gap between our baseline performance and the competition," JaegerMonkey programmer David Mandelin said in a blog post on Monday. However, he added, "you can build a browser with JM [JaegerMonkey] today, but you probably won't get too far before crashing. Fixing that is next on my list."

Also on the Firefox 4 plan is support for 64-bit processors. Operating systems have now made the jump in earnest, but not all software has followed suit.
Other hardware changes planned for Firefox 4 include support for Direct2D on Windows, a feature that lets the browser tap into the engine for hardware-accelerated graphics and text. That support exists on Windows 7 and the latest service pack of Vista, but here again, "driver hell" is a risk.

Support for Windows 7 interface features including Aero peek, jump lists, and icons with progress bars are also on the to-do list for Firefox 4.
Support for cameras and microphones is only a tentative goal, as is tighter integration with Mac OS X.

Below are some early Mac OSX Firefox 4 design screen shots with tabs below:














And with the bookmarks bar:








Firefox 4 will offer tabs at the top of the address bar seen below:















And with the bookmarks bar:







 Deeper under the covers, for security and stability reasons, Mozilla is splitting Firefox into separate memory areas with a project called Electrolysis. Its first element, out-of-process plug-ins (OOPP), is the chief feature of Firefox 3.6.4, but more is planned for Firefox 4. The new Jetpack interface moves add-ons to a separate memory area, too. Firefox 4, though, won't get the broader sandboxing design in Google's Chrome, in which browser tabs are separated from one other.

These plumbing details might sound arcane, but they're important as browsers become a foundation for ever-increasing amounts of computing chores. A Monday blog post from Firefox programmer Vladimir Vukicevic captured the essence of the matter.

"Today's web browser is in many ways acting like a miniature full operating system," Vukicevic said.

Source: http://www.zdnet.com.au/firefox-4-guns-for-speed-339303057.htm