Sunday, December 28, 2008

A quick word on browsers

Indulge me for a bit (or skip this post if you have no interest)...

Over all platforms, we have come a long way from the dark days when the only web browsers available were Internet Explorer and Netscape. This trend has been especially notable on the Mac—following the trend of software generally since the move to a Free BSD-based OS (Mac OS X)—and there are now a plethora of browsers to choose from.

One that we do not have to choose is, of course, Internet Exploder: Microsoft stopped development of IE Mac earlier this decade, after Apple released Safari as the Mac's default browser. I cannot say that I am disappointed: all versions of IE have dodgy rendering of Cascading Style Sheets (CSS: the code used to control the appearance of web pages), and IE 5 Mac was simply another headache—since the MS Mac development team is mostly independent, IE 5 Mac rendered completely differently from IE 5 Windows. Having said that, of course, IE 5 Mac was the first mainstream browser to add any kind of support for CSS, and so the MS Mac team should be thanked for that!

Of course, although there are now many, many browers to choose from, there are only a few rendering engines and, as a CSS designer, this is what matters to me. Broadly speaking, there are four main rendering engines in wide usage: Gecko, Webkit, Trident and Presto.

The most insignificant (though not without its fanatical followers) is Presto, a proprietory engine used by the Opera browser.

Trident is the collective name for all of the various rendering engines used in the assorted releases of Internet Explorer. I think that my readers will know the loathing with which I regard IE and that it pisses me off, every day of my life, that I have to hack my beautiful, simple and elegant CSS in order to cater for its defects.

Most interesting at present are the two remaining engines, the first of which is Gecko. The Gecko engine obeys most CSS standards and the latest version (1.9.x) adds support for some non-standard code too, e.g. CSS rounded corners and drop shadows. Browsers that use Gecko include Firefox (and the next version alpha, Shiretoko), Camino (my favourite all-round browser, with new Camino v2 beta), Flock and the Seamonkey application suite.

Camino is my personal favourite browser and I would highly recommend it. It is a Mac OS only browser and, since it is build specifically for that OS, is far faster than Firefox—it just feels less like wading through treacle. Sure, it doesn't have the add-on architecture that Firefox has, but it does most things that I need to do anyway and it doesn't take 83 million years to open a new window. The main reason that I still use it is simply because I have for years, however, and I have yet to make the leap to a far more exciting browser...

For, as a web developer, one browser beats them all: Webkit. Webkit came out of the KHTML rendering engine and is both the name of the rendering engine and of a browser.

Webkit is the Open Source project run by Apple and the rendering engine's progression is regularly reincorporated into the Safari browser. However, the Webkit browser is what you want to use if you want to see some seriously cutting edge CSS stuff such as reflections, masks, gradients, transforms and animations, all controlled through CSS. For exciting developments in CSS, no other rendering engine comes close.

Since Webkit is, like Gecko, Open Source, it has been incorporated into numerous other browsers; each one is pretty unique—each one attempting to bring new functionality to their browser.

Some are simply a proof of concept, like the Google Chrome-emulating Stainless; others provide novel interface enhancements, like Shiira or Cruz (this latter has the potential to be stunningly good).

And, of course, Google's Chrome (although it has yet to arrive on Mac OS) is already gathering a considerable amount of market share, considering how recently it was released.

There are probably many more that I have missed (and I have only really tested the Mac OS ones, obviously) but the point is made: there are a huge number of small companies releasing great browsers that obey W3C code standards.

Actually, they are better, for the browser developers do not move at the glacial pace of the W3C—it seems likely, for instance, that widespread use of CSS rounded corners will be implemented long before the official CSS3 standards are agreed (and thank fuck for that: flexible rounded corners are an absolute bitch to simulate properly with images).

It seems that drop shadows, too, will also be widely done through CSS (and they are, in some circumstances, utterly impossible to do properly): Webkit already supports them, and the next edition of Firefox will also (the current version already does text drop shadows).

It's all looking like we developers will be able to do a lot more, with a lot less effort. Now, if people would just get rid of IE and move to a better browser (or if IE would simply buck its ideas up), then we'd be laughing.

Oh, and everyone would get faster-loading, nicer-looking and better-functioning websites...


Ian B said...

My first website had "works best in Netscape" on it. Sigh. I feel very old now.

Anonymous said...

Are you gay for rounded corners or something DK ?

Speaking as a consumer of the internet, all I require from a website is that it loads quickly and doesn't give me a headache by using some retarded colour scheme like white 8pt text on a black background.

I don't care what shape the fucking corners are, or even if there are any corners. I especially don't want a flash movie as the intro. In fact I don't want flash anywhere, or reflections, masks, gradients and animations.

All I care about is how to find the product I want, it's specifications and how to purchase it. You could do that with notepad.

Devil's Kitchen said...

Unfortunately, Anon, you are not my clients (or not directly) and many of them are "gay for rounded corners", as you so eloquently put it.

Besides, I am also a designer and I say that things should look good, especially if, by doing so, they help people to navigate the site.

Life would be very grey and dull if we all navigated life with fucking Notepad.


Anonymous said...

>there are now a plethora of browsers<

There is also a plethora of pinatas.

@Anon 3:10 AM
Fuck off and masturbate over Linux, you penguin-sucking fuckwit. I hope someone shoves a jumping-jack ant up your jap's eye.

Stuffed White Cabbage said...

The world would be a much nicer place if everyone, at the very least, dumped IE6.

I *hate* that browser.

Roger Thornhill said...

One thing I have noticed about browsers I use (Camino, Safari, Firefox, Opera) is that they do not seem to understand about multitasking. If one site is loading slowly, the other tabs/windows and even reactions to commands basically stop functioning. Scrolling is erratic, tab switching is almost non-existent. This happens even when loading this very site, for Iain Dale loads faster yet I cannot scroll propery his page until this site has finished.

Now, I am watching the CPU usage and this is often not the problem. Even if it were, my desire to swap tab should take priority over anything the rendering engine wants to do. If I swap tab, the tab I am looking at should take precedence over whatever is happening in a background tab or a foreground tab on a background window. Period.

This problem appears to have got worse since Leopard and the move to Intel, but I am on a G4. It might be that the programmers are imported from Windowsland (i.e. crap) or they presume that we all have Octacore workstations. Not sure.

Even so, a single CPU with proper priority control and process scheduling should not cause such problems.

I read in Waters* that there is a big shortage of programmers and architects who properly understand what true concurrency is. I suspect this is on the money if the above is anything to go by. If it is really the case, I might be able to earn a crust in that area again, for I have done that stuff since the late 1980's.

The biggest fear I have is that Leopard, i.e. BSD Unix, might be fundamentally crap at process scheduling and does not provide the granularity of process priorities or interrupts to make things work smoothly.

* trade rag for the Financial Markets IT sector

John B said...

Roger - get Chrome. Each tab is run as a separate process. Is good.

Deadbeat Dad said...

I suspect your Firefox performance problems are down to a rogue extension, DK. FF is not the quickest, but '83 million years to open a new window'? Nah.

Remember the pre-X MacOS, which could be brought to its knees by an errant extension or a conflict between extensions? Well, FF is a bit like that, and the solution is the same: disable half of the extensions; if that cures it, re-enable the disabled extensions, half of them at a time, until you isolate the source of the problem. I've had intermittent issues with FF, and this method has sorted it every time.

Aside from all the added browsing functionality they offer, there are many extensions (Web Developer and Firebug, amongst others) which make Firefox virtually essential for productive web development. Or does Camino cover these bases too?

In any case, I am sure you'll agree, decent performance - regardless of browser, platform or bandwidth - more often comes down to considerate design on the part of the developer. Some sites are now so overloaded with script-ballast and dependencies on 3rd party servers that they are ball-achingly slow even at the best of times.

haddock said...

designer or artist?
designers usually do something useful... artists fart about making things look pretty.
I can't see rounded corners as a epoch making advance... just something else to load up.

Deadbeat Dad said...

"One thing I have noticed about browsers I use (Camino, Safari, Firefox, Opera) is that they do not seem to understand about multitasking. If one site is loading slowly, the other tabs/windows and even reactions to commands basically stop functioning. Scrolling is erratic, tab switching is almost non-existent. This happens even when loading this very site, for Iain Dale loads faster yet I cannot scroll propery his page until this site has finished."

No problems here, running Firefox 2 and Opera 9.5 under XP. I usually have at least a couple of dozen open tabs between sessions (it used to be as many as a hundred, before I started using the Scrapbook add-on for FF...), and both browsers behave fine.

If you haven't already done so, try adding NoScript, Adblock Plus, FlashBlock and FasterFox to Firefox. Between them, they'll make a whole world of difference to your browsing experience.

Chalcedon said...

I have been using Firefox ever since it came out. I don't find it particularly slow but I haven't done a scientific comparison. It's fine for my needs. I dislike IE because it is such a victim re hackers and crackers world wide with grudges against Microsoft. I tried Opera a few years ago but it was hopeless. I have heard a lot of good things about Safari. It's great to have choice.

Kay Tie said...

"Besides, I am also a designer and I say that things should look good, especially if, by doing so, they help people to navigate the site."

Yes, it's important. I would say "of course" but there are plenty of semi-autistic types who read this blog and don't understand the importance of either aesthetics or ergonomics.

Just look at the latest TV ad from all these feeble people getting orgasmic over how they can actually use the new (implicitly admitting that the old one was a POS, and, more to the point, that bad design cost them revenue).

James Higham said...

Hold on. i click on you and get some super slick thing with lots of tabs along the top, including your blog and then i click again and get here. Just where are you, DK?

Dennis said...

Yes, Camino is the mutt's nuts. So too is the Mac.

When I am compelled to switch on my Windows computer, the first thing it does is check with the Redmond mothership for instructions, no doubt transmitting at the same time microscopic bits of my snot, dandruff, etc., for DNA analysis. Then it proceeds, without a by-your-leave, to download 140 Gb of upgrades and security patches for stuff I never use, like IE. Then when it's done that it demands a restart. Then, once the restart is finally complete, it proceeds, without a by-your-leave, to download 140 Gb of data from McAfee. By the time it's done that, I've forgotten why I wanted to use Windows in the first place and the required restart is upgraded in my head to a merciful shut down.

Ubuntu Linux is more polite, but OS X is politer still.

Thus I am definitely in the market for a polite browser, of which Camino is the supreme example.

Politeness ... my resolution for 2009!

Anonymous said...

What SWC said. All the time most of the big corps out there are fucking stupid enough to force IE6 on their poor workers it doesn't really matter amazing stuff the latest browsers can do.

I fuckin hate IE6. That cunting browser has wasted months of my life.


Roger Thornhill said...

JohnB: Chrome does not run on OSX yet.

Deadbead Dad: I am aware that it is likely ropey plug ins, but that is not the point. A ropey plugin for a background pane should NOT slow down the foreground pane in terms of interrupts like tabbing or scrolling.

James Higham: I am at NAMF and open DK, Tim Worstall, Daily Telegraph, The Times, Guido, Iain Dale from my blogroll. I am unable to flip between tabs or scroll the finished panes while DK, Guido or others churn. DT and the Times are resource hogs, but that does not excuse the behaviour. I suspect that on a dual core this does not happen for one core might get hijacked leaving the other core free, but again not good enough!

Anonymous said...

"When I am compelled to switch on my Windows computer, the first thing it does is check with the Redmond mothership for instructions......"

Then switch off auto update. Why did you turn it on in the first place? As you say, it's a pain.

As for browsers themselves, there's not too much difference on the PC at least. Firefox is my favourite, but it can get a little slow when you have 20 odd tabs all auto updating (currency trading). Safari is a little unstable at times, but otherwise OK - has nothing to beat Firefox though. IE handles mass tabs the best, but is worse in most other regards to the other two.

Ian B said...


1) Uninstall McAffee.

2) Attach a big sign to the top of your computer with the words "Do Not Open File Attachments That Say 'I Love You' On Them".

3) Attach another sign saying "If A Box Pops Up Saying 'Do You Want To Install Free PC Optimiser On Your Computer', Click 'No'".

4) Problem Solved.

Mr Eugenides said...

I would say that this post is all Greek to me; but in point of fact, if it were in Greek I would understand substantially more of it.

That said, even I have spotted that Firefox is far superior to Internet Explorer. I'm certainly not going back to that in a hurry.

Dennis said...

Anon. & Ian B, thanks for the tips. I am decidedly non-technical but will find how to switch off those pesky auto-updates right away (I didn't even know you could). Also I am getting increasingly desperate emails from McAfee asking me to renew my sub. before time -- seems they are short of liquid cash. When March comes I shall let the thing lapse.

Anonymous said...

Opera is great

Deadbeat Dad said...

"When I am compelled to switch on my Windows computer, the first thing it does is check with the Redmond mothership for instructions, no doubt transmitting at the same time microscopic bits of my snot, dandruff, etc., for DNA analysis."

As anon has already pointed out, Dennis, you can disable all this crap. Not sure about Vista, but you can google the relevant instructions easily enough. I'm still running an XP SP1 installation which I set up four years ago (and which has even survived direct transfer to a brand new PC recently with minimal disruption).

I agree, though: a modern Mac wipes the floor with Windoze in many respects (ease of use and maintainability especially). For a regular home user, or for professional graphic design or open-source web development, I'd recommend it every time.

However, the shortcomings of the Mac platform are sharply exposed when it comes to the needs of business, in which Microsoft - despite its infuriating megalomania, licencing paranoia, and general incompetence when it comes to operating system and browser architecture - still manages sustain a critical lead.

IMO, Apple dropped the ball back in the mid-1990s: if the technical brilliance of the Nextstep OS - the eventual foundation of MacOS X - had been picked up by Apple Corp a few years sooner, then the face of popular personal computing might well look very different today. As it is, Microsoft stole a march in the development of killer, platform-specific software such as Access and SQL Server, just as it did in the arena of development tools (Visual Basic and its successors).

@Roger Thornhill: Agreed. I was only trying to point out that the problems, frustrating as they might be (and, believe me, Firefox has driven me to despair on occasion) are resolvable, with a little research. I don't know enough about Firefox architecture to say whether the browser itself is even to blame for these; but I believe that, for anything much more than basic tabbed browsing, it offers unrivalled power and flexibility. Once you get hooked on the features offered by some of the 3rd party extensions, there is simply nothing else to compare with it (not on Windows, at least). If you are prepared to put in a few hours' maintenance occasionally, it will pay you back in spades. And you can't complain about the price, can you?

@Dennis: For an effective Windows anti-virus solution, try Avast. I've been using the free version (in conjunction with Spybot, also free) without incident for over three years now.

Roger Thornhill said...

DD- you are not wrong and thanks for your tips.

Dennis said...

DD - seconded!

Anonymous said...

DK - "Besides, I am also a designer and I say that things should look good"

Of course you do, twatting about with websites is what you get paid for. I'd hardly expect you to call for them to be simpler.

Can you actually do anything useful ?
I mean if there was a flu pandemic and martial law was declared, what skills could you bring to the party ?
Can you shoot a weapon ?( a real one, not Playstation 3 )
Can you repair a generator, hotwire a car or do basic medicine ?
Can you ride a horse, hunt or grow food ?

Of course you fucking can't, just like the rest of your middle class urban Libertarian mates.

You cast yourselves as self reliant but as far as I can see the only skills you people have in common is knowing a lot about Apple Macs and building websites.

When Ragnorak happens don't think you'll be looked after by my kind, if the only skill you have is syncing an RSS feed by Bluetooth to an Ipod ( or whatever the fuck it is you people do )
You'll be food, or slaves.

Word verification - deads :)

Dennis said...

Anonymous, 6.56. You would do well to confine yourself to subjects about which you know something. I cannot speak for the others (whom you assume to be middle-class, urban Libertarians), but I live deep in the countryside, have grown food for me and my family since 1974, own and am a passable shot with a rifle, do all my own house repairs, etc., etc. - a list too tedious to enumerate; yet I somehow manage all this without a tinfoil hat or adherence to belief in Viking mythology.

Rather than waste your time in insulting strangers who witter harmlessly on blogs, I suggest you move to Montana, buy a camouflage suit, generator, machine guns and whatnot and hole up in the hills with all the other dimwits there.

Devil's Kitchen said...

Quite so, Dennis.

However, Anon, come the modern-day Armageddon, I can indeed ride a horse and fire a rifle. I also have a pretty good grounding in animal husbandry (and botany).

I have a more than basic knowledge of medicine, an excellent knowledge of disease vectors and methods of disease prevention, as well as a fairly comprehensive knowledge of synthetic and natural remedies.

I can also give an injection without inducing anaphylactic shock.

Since, come the reckoning, oil will swiftly be in short supply, I'm afraid that I shall leave the car hotwiring and generator-repair to your good self.

Why on earth you should assume that I am "urban" just because I choose to live in a city, I have no idea.


Ian B said...

Because the main attraction of survivalism to a certain type of survivalist is lurid power fantasies revolving around abandoning the effete urbanites to their fate, while shouting, "You laughed at me! Well who's laughing NOW? Huh? HUH?"

Deadbeat Dad said...

Don't feed the troll!