File Under: Browsers

Mozilla Imagines a Brave New Multi-Core Firefox With ‘Servo’

‘Servo,’ bring Firefox into the massive, parallel future. Image: Andreas Levers/Flickr

Google may be forking the WebKit rendering engine to speed up Chrome, but Mozilla has unveiled a somewhat more ambitious long-term plan to speed up Firefox — rewriting the rendering engine from the ground up.

Mozilla wants future versions of Firefox to be able to “take advantage of tomorrow’s faster, multi-core, heterogeneous computing architectures,” writes Mozilla CTO Brendan Eich on the company’s blog. To make that happen Mozilla is developing a new browser engine dubbed Servo.

While Servo is likely several years from being a finished product, it’s an important step in the direction of faster browsers and more capable web apps. Right now you can throw all the cores you want at Firefox, but sadly it won’t be any faster because it isn’t threaded. Servo will help Mozilla build a multi-threaded version of Firefox that will not just speed up the browser, but could enable a whole new class of web apps.

Samsung’s involvement in the project also hints at another reason for Servo — a more powerful engine behind Mozilla’s mobile Firefox OS.

Servo is not an extension of Gecko, Firefox’s current rendering engine, but an entirely new beast written specifically to take advantage of modern, massively parallel processing hardware.

Servo is written in Mozilla’s homegrown Rust programming language, a C++ style language that attempts to provide more security by avoiding memory corruption and buffer overflows, a common attack vector in today’s browsers. Eich calls Rust “safe by default” and says that Rust will stop “entire classes of memory management errors”, helping to eliminate a common cause of not just security flaws, but browser crashes.

As part of the announcement Mozilla has released Rust 0.6, which contains code contributed by Samsung in its effort to port Rust to ARM processors and Android. For more on Rust, check out the project’s website and FAQ or browse the code on GitHub.

It’s going to be a little while, but in a not too distant future Servo may bring a speedy new Firefox to a tablet or phone near you.

File Under: Browsers

What Google’s WebKit Fork Means for the Web and Web Developers

Most likely you’ll go your way and I’ll go mine. Image: sacks08/Flickr

If you were secretly hoping that all web browsers would one day give up and adopt the WebKit rendering engine, we’ve got some bad news for you — Google just crushed those dreams.

Google has announced it is forking the WebKit rendering engine to create Blink, a new rendering engine for all Chromium-based web browsers — notably Chrome, Chromium, Opera and their mobile counterparts.

Blink will make its web debut in Chrome 28 (and Opera 14). Based on Google’s Blink FAQ and initial announcement, expect Blink to diverge significantly from the WebKit project.

That means web developers will soon be back to testing their sites in both Chrome and Safari. Of course, as has been pointed out in the past, there have always been enough significant differences between the two that you should have been testing in both anyway.

Among the good news in the announcement is Google’s decision to not use CSS prefixes for new features. Instead Blink will follow Firefox’s lead and use flags to enable experimental features. That means developers can test and use new features by setting the appropriate flag in about:flags. Blink will carry over support for all currently existing -webkit- prefixes, but will be removing the prefixed features in favor of the unprefixed rules as soon as it is safe to do so.

The other good news is that there are once again four major rendering engines on the web.

As much as web developers might like to see the web have a single rendering engine that all browsers use, that sort of monoculture doesn’t lead to a healthy web. It’s interesting to note that Google’s fork appears to be motivated by this very problem, albeit from a browser maker’s angle — the sheer number of projects using WebKit meant development wasn’t moving fast enough for Google.

Adam Barth, Software Engineer at Google, writes on the Chromium blog that Google’s decision to fork WebKit was “not an easy decision.” But Google believes that “having multiple rendering engines — similar to having multiple browsers — will spur innovation and over time improve the health of the entire open web ecosystem.”

Google has outlined a new policy regarding experimental new features that differs significantly from WebKit’s here’s-a-new-feature-just-ship-it policy. Blink will instead limit new features to those that have at least been proposed as standards and preferably already have at least one other implementation. In those cases where WebKit is the source of a new feature, Google has pledged to “propose an editor’s draft (or equivalent) to the relevant standards group” and “discuss the feature publicly with implementers of other browser engines.”

For web developers little will likely change in the sort term. The first browsers with Blink at their core will not be on the web for some months and when they do arrive they will at first differ little from WebKit. The longer term picture will likely look pretty much like the web before Opera killed off its Presto rendering engine last month — four major browsers with minor differences between them that require testing to ensure total support.

There’s also the question of what happens to the WebKit project. Google has been one of the driving forces behind WebKit for some time. Now those contributions are gone and it’s up to other WebKit supporters — Apple, BlackBerry and Samsung, among others — to pick up the slack (with Samsung joining in Mozilla’s next-gen rendering engine project it’s unclear exactly how much commitment Samsung has to WebKit).

For more background on the Blink announcement, see Google’s FAQ. For one of the best all-around, unbiased looks at what Blink means for the web, see Peter-Paul Koch’s write-up over on the QuirksMode blog.

File Under: Uncategorized

Firefox for Android: Better Privacy, More Device Support

Image: Screenshot/Webmonkey.

To go along with the desktop release of Firefox 20, Mozilla has updated Firefox for Android.

The latest version of Firefox for Android is available in the Google Play Store.

Like its desktop cousin, Firefox for Android features a new per-window private browsing mode, which makes it easier to log in to two separate accounts for the same service at the same time — think Gmail for home and work, or personal and work Twitter accounts.

In addition to the new features found in the desktop release, Firefox 20 for Android offers a number of small fixes that improve the mobile interface. For example, the virtual keyboard no longer automatically comes up when you view your bookmarks, making it possible to see more of your actual bookmarks (if you tap the search field, then the keyboard will come up). The Top Sites list in your about:home page is now customizable.

Less welcome, the ‘Quit’ menu item has been removed from Firefox versions running on Ice Cream Sandwich and higher. That’s in keeping with Android platform conventions, but if you used the Quit menu regularly, it’s annoying. Fortunately the QuitNow add-on more or less covers the same ground.

Mozilla also continues to bring features to older versions of Android, adding support for H.264 video and AAC/MP3 audio hardware decoders to phones running Gingerbread and Honeycomb.

For more details on everything that’s new in Firefox 20 for Android, be sure to check out Mozilla’s release notes.

File Under: Browsers

Latest Version of Firefox Brings Better Privacy Controls

Firefox 20 offers an easier way to avoid prying eyes. Image: Andy Roberts/Flickr

Mozilla turned 15 this week and the company is celebrating with a new release of its flagship Firefox web browser.

If you’re already using Firefox the latest version should arrive shortly. If you’d like to take the latest release for a spin, head on over to Mozilla’s download page.

Among the new features in Firefox 20 is a revamped per-window private browsing mode. The new private browsing mode mirrors what you’ll find in Google’s Chrome browser and is really how Firefox’s private browsing mode should have been all along.

Now when you want to start a private browsing session in Firefox you simply select the new “New Private Window” menu option. That will open a new window noting that Firefox will discard any history, search history, download history, web form history, cookies, or temporary internet files for sites you visit in that window. Any files you download and pages you bookmark will be kept.

The new per-window model is much more intuitive than the old method of private browsing which put your normal browsing session on hold, hid it away somewhere and opened a new, private session. Now it’s easy to have private windows right alongside normal windows, very handy for those who, for example, need to log in to two different Gmail accounts simultaneously.

The other major visible change in Firefox 20 is the redesigned downloads window. Mozilla proposed the new download toolbar button and overlay window design so long ago that Apple’s Safari browser has already long since copied and released its own version.

While Firefox might not be the first to get its proposed downloads interface to the web, it’s welcome nonetheless and alleviates the need to cycle through windows or hit keyboard shortcuts just to see if your downloads are done. The button also helpfully converts to a progress bar when you’re actually downloading something.

To see additional info beyond what’s available in the new overlay, just click the “show all downloads” button at the bottom of the list.

One interesting aspect of the new “Show All Downloads” window is that you may discover your history of downloaded files is larger than you think. If you’ve been clearing your download history by clicking the “Clear List” button in the old downloads window, well, that button was quite literal — it just cleared the list. It didn’t actually remove anything from your downloads history. This can be incredibly good news if you’ve misplaced a file or slightly disconcerting if you thought you were deleting references to any sensitive files you may have downloaded. To really clear your downloads be sure to use Firefox’s “Clear Recent History” menu, which has an option to actually delete everything in your download history.

It’s also worth noting that the new downloads manager works with the private browsing mode as well. You can manage downloads within private windows via a separate downloads interface which is then scrubbed when the private session is closed.

For more details on everything that’s new in the revamped download dialog, read through Firefox developer Mike Conley’s post on the new download manager.

Firefox 20 has a few goodies under the hood for web developers, including support for WebRTC‘s getUserMedia API, which allows developers to access the user’s camera and microphone (with permission) for things like Skype-style video calls. The stable release of Firefox still doesn’t offer full support for WebRTC, but future releases will continue to add more features over time.

For more details on everything that’s new in Firefox 20 — including some speed improvements for page loads and downloads — see Mozilla’s release notes.

File Under: Browsers

Microsoft’s Revamped ‘Modern.IE’ Offers Free Windows Virtual Machines

Image: Screenshot/Webmonkey

Microsoft has updated its modern.IE website with some new tools for testing sites in IE 10 and earlier versions of Internet Explorer.

Launched earlier this year, modern.IE aims to simplify the sometimes arduous process of getting websites to work in older versions of Microsoft’s Internet Explorer web browser. The site also serves to promote web standards and help developers avoid mistakes like only supporting WebKit browsers — roughly the modern equivalent of the regrettable “works best in IE6″ websites of 2001.

Today’s updates for modern.IE address the most common user suggestions and include some new virtual machines for testing IE10 on Windows 7 and IE8 on Windows XP, better results from the site scanner (which now handles URLs behind a firewall) and some more translations.

The big news for Mac developers though is that Microsoft is offering a limited number of “Windows QuickStart kits” for Mac — which consist of Parallels Desktop 8 and Windows 8 on a USB stick — in exchange for a $25 donation to charity (plus $8 shipping). That’s a pretty awesome deal and as of this writing the site has slowed to a crawl, presumably under the heavy load of interested developers.

Microsoft has also announced a new partnership with the Webby Awards to create the new Webby Award Winners Gallery and Archive. The site showcases Webby nominees and winners all the way back to 1997. The design is responsive and takes advantage of some IE 10-only features, like touch events, but it works in all modern browsers as well.