Tag / gecko

It is widely acknowledged that the rendering engine is the most critical in the experience provided by a web browser. If you have been watching the development scene closely, you would have definitely heard about the current buzzword on the horizon, “WebKit” – which powers Apple’s Safari browser and Google’s Chrome browser. Now for a general idea, we narrow down the workings of Gecko and WebKit to two distinct points – the process architecture and extensibility.

The Gecko process architecture is such that it handles all of the concurrent tabs on a single process thread. While this results in a comparatively slower interface, in the long term, it pays off to not fork a new process for every little task that needs to be accomplished – the model commonly used under the WebKit architecture. What this means is that while the first few tabs with WebKit would seem faster, it’s because the engine is only utilizing a few extra resources from the computer to parallelize the work and bring with it the overhead involved, but when you go up to double digits in tabs opened, with some of them doing resources-intensive work, such as playing videos or working with comprehensive web-apps, this model returns to cripple the overall performance of the system, and by the extension, of the browser itself, due to the sheer number of the processes that are now being requested to be forked and maintained by the system.

Firefox, as has often been cited, tends to do much better at handling such high pressure loads, because the entire browser’s working are restricted to a single thread, which is much more maintainable at a system level. The difference in the memory footprint increases almost exponentially between the two, as we make our workings more and more resources intensive.

Then, there’s the concern about online privacy. Although not directly relevant to the browser engines, it is worth noting that due to Firefox not being tied into any particular ecosystem, it offers an unparalleled sense of security due to an absolute lack of conflict of interests. The ‘Firefox Sync’ feature remains one step ahead of the usual username/password combination, and provides an encryption key that is stored locally on your device, which, when passed on to a new installation of Firefox, provides your data to you remotely, via Firefox Servers, with nobody else being able to peek at the exact information. Also, Firefox pioneers the campaign to hamper the ability of online commodities to track the actions of users via a combination of IP address re-routing, and blocking other user-identifiable data. This has been reflected in the aftermath of the recent NSA-spying revelations by Edward Snowden, with users responding by exponentially increasing their downloads on non-conglomerate entities such as Firefox and Opera.

Of course, there will be entities who believe that this can be used for illegal activities, but then again, so can regular phone call.