Digital News South Africa

Subscribe & Follow

Advertise your job ad

    Elections 2024

    King David Mashabela

    King David Mashabela

    sona.co.za

    Search jobs

    Jobs


    Google Chrome: it's not about the browser

    Chrome, Google's new browser, was barely out of its wrapping before Internet pundits began writing it off. As the first wave of early-adopter enthusiasts lost interest in their experiments and returned to their original browsers, so analysts began to declare Chrome dead. But there is a far more interesting set of dynamics at work. Google is not after Microsoft's share of the browser market: it's after something much bigger.
    Google Chrome: it's not about the browser

    To understand what's truly and enduringly interesting about Google Chrome, one needs to understand what is special about V8, its new Javascript engine. And to understand that, it's useful to go back 10 years to look at the position of Javascript's remote cousin Java.

    Ten years ago, Java was so slow it was inconceivable that anybody could use it to build serious systems; its garbage collection process brought entire applications to a shuddering halt. Then a small startup team led by Lars Bak, a graduate of Denmark's famous Aarhus University, developed a new virtual machine for Java that enabled code to be compiled on the fly, improving Java's performance 20 times or more. The startup was rapidly acquired by Sun and Bak became the technology lead for Java Hotspot, Java's current virtual machine.

    Changed everything

    Hotspot changed everything: suddenly Java became a language to take very seriously indeed.

    Fast-forward 10 years, and Lars Bak is back in Aarhus, leading the team developing V8, the Javascript engine behind Google Chrome.

    Without V8, Javascript suffers from the same problem Java had 10 years ago: it's painfully, unbelievably slow, tens or even hundreds of thousands of times slower than other languages. So despite its flexibility, it's never been used for any kind of serious development; in fact, it's been the single biggest hurdle to the development of more interesting applications that can run inside a browser.

    It's not always Telkom's fault when web pages load at a snail's pace: Javascript is a big part of the problem. There have been a few attempts to replace it as the main tool for getting functionality into the browser, notably Microsoft's Silverlight and Adobe's Flex, both of which are being pushed hard. The goal for everyone is enable as much as possible to be done inside the browser, as efficiently as possible.

    Applications such as Gmail and Google Maps have done amazingly well so far, but they are way out at the limits of what can be done inside a browser.

    Out at the limits

    Or rather, they WERE out at the limits of what could be done. Just as Hotspot changed everything for Java, so V8 is going to change everything for Javascript. In a below-the-radar blog post at the beginning of September 2008 announcing V8, Bak said it “has been designed for performance from the ground up. In particular, we wanted to remove some common bottlenecks that limit the amount and complexity of JavaScript code that can be used in Web applications.”

    Bak says there are three cornerstones of the V8 design: Compilation of JavaScript source code directly into native machine code, an efficient memory management system resulting in fast object allocation and small garbage collection pauses, and the introduction of hidden classes and inline caches that speed up property access and function calls.

    That may not make a great deal of sense to those who aren't programmers, but here's the key point: V8 is fast. Very, very fast. So fast that it is now possible, for the first time, to develop seriously functionality inside a web browser without relying on obese plugins.

    Far superior environment

    Security is also much tighter with V8. Every tab opened in the browser is a separate process that is well sandboxed, allowing no leakage of malignant code. In other existing browsers, even Firefox, all tabs use a single execution thread and a single process, making the whole vulnerable to security problems. V8 provides a far superior environment for developing applications.

    Tellingly, V8 is open source, which will only magnify the huge ripple effect it is going to have. Slow runtime environments have been the biggest stumbling block to moving more functionality off the desktop and into the browser; with that removed, things are really going to take off. Google Docs, for one, will gather enormous strength, possibly making it a real alternative to Microsoft Office for the first time.

    Which brings us back to the starting point: Google is not interested in winning browser market share; it's interested in replacing entire operating systems. A JavaScript engine that enables serious functionality to be offered inside the browser is a huge step in that direction.

    About Steve Mabbutt

    Steve Mabbutt is technology director at Khanyisa Real Systems (www.krs.co.za), a medium-sized software development house. Steve's ability to navigate the technology landscape has consistently delivered the solid architectures at the heart of KRS's enterprise projects and applications. Email Steve at , or tel +27 (0)21 797 5454 until end of October 2008; thereafter, please use +27 (0)21 681 2900.
    Let's do Biz