Monday, September 22, 2008

Safari surfing towards some speed

It seems that it was about a fortnight ago that I was saying the real significance of Chrome was that it laid down the gauntlet to the other browsers. Now we have the news that Safari 4.0 is getting 'Squirrelfish Extreme' (SFE), a new JavaScript engine that boasts large speed improvements.

SFE is using similar tactics to Chrome, but in slightly different ways. They are using bytecode optimization, inline caching and a JIT compiler to gain the speed boost. you can get details from the Surfin' Safari blog.

More important than the tech details is the movement. Sure, they probably started working on some of this before Chrome hit the news but telling us about it now, rather than when they are ready to ship lays down their entry in the browser speed contest.

We also know that Mozilla is working to make the JavaScript engine in the next Firefox release much faster. It makes me happy to know that some of the best minds are working on speeding up JavaScript. Now if Firefox and Safari go with the multiple process architecture of Chrome we'll get some real stuff happening in browsers. Already there have been comments from Mozilla about improving plugin stability using similar methods to Chrome.

The guys at Google have also said they will be allowing plugins and scripting similar to Greasemonkey, (is it telling that the original Greasemonkey developer now works at Google.)

Of course I haven't mentioned what MS might be doing with Internet Explorer 8. I've downloaded and attempted to use Beta 2 and it seems to be faster than IE 7 but it is still too unstable to be usable - I tried several times to alter the default search engine but could not get that to work, for example. I'll try again on another machine rather than my Mac under Fusion and see how it goes.

Monday, September 15, 2008

The Absurdity of The Microsoft Tax

I noticed a piece in The Australian today about the terrible situation schools in South Australia find themselves in.

If you ever wonder what the impact of the Microsoft monopoly is just read this article and realise that our schools are being forced to pay huge license fees to the Satan from Seattle. That's taxpayer money being shipped overseas at a great rate because of vendor lock in, monopoly behaviour and the cowardice of both state and federal governments to tell MS to take a huge hike.

When will someone in government realise that we could be spending that money hiring Aussie programmers to improve Linux so that Australian schools and governments could use it. More than 25% of the federal government grant to schools is being wasted on the license fees for a third-rate bootloader suffering from feature creep.

I'd say I was appalled but I passed appalled years ago. I think we should tell MS that if they want to sell their fourth-rate, bug-ridden, insecure operating system in this country they can grant all schools and universities a free license.

Wednesday, September 3, 2008

What's This Chrome?

So the big news on the 'net is the release of the Chromium beta from Google. Google have unveiled the long rumoured web browser.

This is an important event on a number of levels, remember Google would be happiest if you lived in the browser using Google products (where they can show you advertising) rather than in a stand alone application. To do that Chrome is a smart move, they need better browsers and throwing real competition into the space can only help.

So I downloaded it. I'm not going to comment on speed or stability for several reasons. First, it's a beta - we'll give them some slack. Second, I'm running it in Fusion on a Mac. Third, my copy of Fusion is the release candidate for v2. Hey, if it runs it's a bonus.

Before We Run

Before we have a look inside the browser itself let's have a look at some of the things Google has done below the UI to make this a better browser.

The most important is that they have split each tab into a separate process. Modern CPUs are perfectly capable of running multiple processes each with multiple threads, until now browsers have ignored that and been single process, single thread. that was all well and good when all we were doing was looking up information on fairly static web sites, but now we run multiple tabs with our word processing, mail and calendar inside the browser and view web pages that include movies.

Shifting each browser tab into its own process offers a wealth of advantages. The most obvious to the user will be that things don't stop in one tab when one is busy. It will also mean that a hung tab will be less likely to take the whole browser down. Then it also has benefits for memory management, where closing a tab will take all the memory requirements with it.

The other important move is to a new architecture for the JavaScript engine. When we all started using JavaScript we had a few lines per web page, now we are loading enormously large libraries for AJAX and user interface. It once made sense to have a JavaScript interpreter, the runtime advantage of compiling in the browser was outweighed by the time it took. Now you can gain a speed boost in your web applications by compiling the JavaScript after you read it and then running much faster.

First Look

When you run Chromium the first thing you will notice is that the top appears upside down. Rather than being under the address bar the tabs are now at the top. You also get a new tab button at the right of the current tabs.

There is also a lot less UI to go around. There is no menubar at all. The top bar of the tab has just two menus at the right. If the web page requires no scrollbars then there are nothing on the edges either. It will be interesting to see how they handle this on the Mac, with its permanent menubar.

Tab handling is nice. You can easily shuffle them, rip one up or down and you can create a new window. You can even shove the new window back in to the old one.

The whole look and feel of Chromium seems to be aiming at minimizing the feel of being in a browser.

What Does It All Mean For Me?

Google have made move into the browser market for one good reason. They want us all using a better browser so we spend more and more time inside it, preferably using Google products so they can show us advertising. Despite giving a lot of money to Mozilla they haven't really started a genuine browser war, the two major contenders are Firefox, used by the smart folks, and the bloated Internet Explorer, used by the default folks and the corporates forced to by their lazy corporate programmers.

So Google had to build their own. They need a more resilient, faster and more secure web browser so that we use it more. The other element that comes into this is that Google don't even need to win the browser war. So long as they start Microsoft, Mozilla and to a lesser extent Apple (remember all those iPhones running Mobile Safari) moving in the same direction towards fast, secure, stable web browsers they win.

Seen in this light we can even start to see the Android project as the exact same move. With more and more of us using our mobile phone as a second computer and browsing the web Google want a good web browser with a good interface and screen in our phones. Certainly Nokia, Motorola and Sony-Ericsson weren't really delivering which gave Apple a wide open market for the iPhone. So Google needs Android to push the competition along, give the iPhone some competition and get the big three actually delivering on their promise of the mobile web.

So, in conclusion, what Chromium means to you and I is a major push in the performance and stability of our web browser. Even if you never run Chromium then you will benefit from the work and money Google is spending (they are giving the source way, after all) in your current favourite browser on both your computer and your phone. The real laugh in all of this is that Microsoft can't not compete in delivering a better browser and as the browser improves we will be less and less concerned with the operating system and more and more with web applications.