Opera Unite

Opera Unite is the “big” feature of Opera 10. The idea is simple: it lets anyone browsing the web simultaneously act as a web server, if they want to, with a fairly neat (JavaScript-based) development model.

I don’t really think the idea has legs — it seems a bit like Facebook but with the disadvantage of your point of presence disappearing when your computer is offline. And if you really want to have a website… get a website.

The one nice takeaway idea is that JavaScript is a great choice for a server-side scripting language. It would be nice if it were a viable alternative (to PHP, Perl, and Python).

Google Chrome

Google has officially announced it will be releasing its own browser, named Chrome. The web comic explaining their thinking is well worth a look, but the key points are:

Each browser tab is a separate process. This means that one web page hanging or script stalling only affects that page. Your browser doesn’t crash or hang — individual tabs crash or hang and can be killed. It’s so obvious it’s brilliant. I imagine Firefox, Camino, and Safari will all follow suit as soon as they can.

Google has been working on a new JavaScript engine, named V8, that’s roughly twice as fast as the latest versions of Firefox or Safari nightly build. Remember that these engines were in turn a lot faster than Internet Explorer or anything else we had a year ago. We’re looking at something like a 10x improvement in overall JavaScript performance over the last two years.

It’s based on Webkit.

It’s entirely open source.

Safari 3.1.1

Safari Web Inspector

My friend Andrew pointed out in my post on FireFox 3.0b5 that it was too late to get him to try it, since he’d just given up on FireFox, switched to Safari, and wasn’t looking back. I’ve just made the switch too, after finding FireFox 3.0b5 both just as unstable as 2.0.0.14 and subject to some annoying rendering bugs and random thunks. I can’t just abandon FireFox — the web developer and FireBug extensions are just too damn useful — but it’s not going to be my daily browser for the foreseeable future.

For a long time, Safari has had the distinction of being producing the best looking web pages, and running JavaScript really fast (whether it’s the fastest is a matter of debate, but it sure feels quick). It has a better feature set than Internet Explorer (canvas support, anyone?), and supports a bunch of CSS extensions, such as shadows under text, that no-one else does.

And, frankly, it has the cleanest and most attractive user interface.

Most importantly for me, Safari’s Develop menu (which used to be its Debug menu) offers something of an alternative to the Web Developer plugin for FireFox. Although Drosera (the Safari JavaScript debugger) has been around for some time, it’s not yet part of the Safari release, and getting it is something of a chore. You need to download the Nightly Build (source code) and then “attach” Drosera to either Safari or WebKit (the open source version of Safari). Even if I could be bothered, Safari still lacks a few of the Web Developer plugin’s best features, such as the ability to see the generated HTML you’re looking at.

But, as a basic, daily browser — I’m afraid Safari has FireFox beat for now.

iPhone, Nintendo DS Web Browser, Compatibility

I’m a sucker for weird web browsers, so I just had to go and buy the web browser for my DS. It uses both cartridge slots — a memory module goes into the Gameboy Advance cartridge slot, and the browser itself goes into the smaller DS slot.

This shows my flexible inVue test page running on the DS’s browser (correctly!). Yes, I realise some of you, who didn’t already, hate me now…

The DS’s web browser is written by the Opera people, and it represents a fine example of why Apple rocks and other software companies don’t. It is possible to configure this browser so that it is reasonably usable and makes sensible use of both screens, but it’s certainly not obvious how. The screen you’re seeing in the image is the lower (touch) screen, and the blue rectangle is the zoomed in portion being shown in the upper (non-touch) screen. In this mode you can press some buttons to toggle a mode which lets you click in the touch screen area. In the DS browser’s default mode, however, web pages are displayed in mangled form (basically ignoring most formating) across both displays, treating the two as a single tall, narrow display. This mode is almost entirely useless and disconcerting.

I visited an Apple store and asked one of the helpful people if I could try out an iPhone in EDGE mode. They very helpfully showed me how to disable the WiFi support, so I was able to get a more realistic view of the iPhone browsing experience at its worst, and it is pretty nasty, at least on ludicrously heavy pages like gamespot.com. Unlike the DS, the phone can handle multiple pages at once, and load pages in the background — so you can diddle around on your iPhone or drink coffee while the page loads, but it’s still darn slow. That said, the DS is painfully slow with a WiFi connection and appears to cache absolutely nothing (not even stuff that isn’t currently being displayed in the current web page, so just scrolling a page makes you want to hurt someone).

But my original reasons for doing all these things was to make sure my ad code works properly on exotic platforms, and it does. (My video ad code has issues related to Safari/iPhone only supporting a subset of QuickTime codecs and not supporting Flash at all, but that’s not really under my control.) It astonishes me how little effort it takes to make quite complex bits of JavaScript work properly across browsers, and yet how much terribly incompatible JavaScript is out there, even on quite major sites.