Illustration of Yeti character writing with a pencil.

A Word About Browsers

Profile picture for user Kevin
Kevin Gallagher
Systems Administrator

 

Recently it was announced that Opera would move their browser to WebKit. Formerly powered by the proprietary layout engine Presto, Opera will no longer be so unique; it will join the family of WebKit browsers including Chrome and Safari. This is a substantial change which warrants a general discussion of the different browsers available on the market and their underlying technology.

Modern web browsers are largely distinguished by their layout engine, which is the component of the software that renders graphically the content specified by the code or markup language (i.e. HTML, CSS, JavaScript). The growing ubiquity and convergence towards WebKit provides a variety of advantages to web developers, namely increased standardization and constant innovation. Previously, Internet Explorer would dominate on Microsoft Windows due its being packaged with the operating system, and same goes for Safari on Apple’s Mac OSX, but now Google has gained a strong lead with a superior application.

As I indicated, WebKit is used by Apple’s Safari and Google’s Chrome web browser, and soon it will become part of Opera. Gecko, which is developed by Mozilla, is used in Firefox. Both projects (WebKit and Gecko) are mostly open source, which fosters a large community of developers who constantly work to improve the software. It must be pointed out that although Safari and Chrome are both based upon WebKit, they are very different browsers. Some differences lie between JavaScript engines, network stacks, graphics backends, and multi-process models. The engine behind Microsoft’s Internet Explorer is called Trident, and is often derided for its lack of conformance to the latest standards (such as HTML5, CSS3).

Though the layout component is usually attached to its flagship browser, it is significant to the extent that the engine is often licensed or re-purposed for use in other products. Furthermore, differences between each layout engine have long presented an unwanted burden to designers, who are often forced to choose between building websites that are compatible with every major browser, or to implement functionality that only works in a specific one. In choosing a web browser, end-users need to weigh support for the latest standards/elements against other concerns like security and performance. Another important factor is what works best or most naturally on the platform, i.e. Windows, Mac OS X (or iOS) or Linux (or Android).

I encourage users to spend some time on each browser to figure out which one they like best. No amount of third-party testing or benchmarks can substitute for real-world usage. Web developers typically prefer WebKit-based browsers like Chrome, because it’s usually the first to explore new features. But what else makes Chrome so attractive? It’s called multi-threading. In Chrome, each tab runs in its own independent process, so if one tab crashes then the rest of your browsing experience is unaffected. By contrast, Firefox runs as one process, so if a plug-in in one tab crashes, let’s say Adobe Flash, then the whole program freezes.

Still, Firefox is a solid and very stable browser, which has benefited from many years of contributions from the free software community. It is reliable and consistently offers a faithful web experience, but there are some functions now that will only render in Chrome, much less Internet Explorer. According to benchmarks, Chrome also has the advantage of faster load times. Market shares of browsers have been in flux since the advent of Mosaic and the era of Netscape. I’ve included a chart with averaged stats from W3Counter, StatCounter and Wikimedia to illustrate the current state of things.