Let it not be said that I never fall victim to a web fad: AJAX, jQuery, SEO‚ I was there with bells on. So when everyone started hating Flash and doing all web animation with HTML/Javascript, I jumped right on board. I thought it was just great! You didn’t have to lose any SEO, and most importantly you never had to open that awful Flash GUI.
But have you noticed? EVERYONE ELSE IS DOING IT! There’s just too much Javascript on the internet these days, and it is bringing many browsers to a halt. My MacBook is less than a year old (2.1GHz, 1GB mem) and Safari has been crashing frequently. In Firefox I can only have three or so tabs open before serious lag1. While I don’t have a super gaming computer, my computer is better than the average user’s, and I can only imagine how slowly their browsers run.
Apple’s WebKit to the rescue
Besides marketing the ipod, Apple has been developing a lightning fast Javascript engine for the new Safari, an open-source build of which is released under the name “WebKit“2.
The development team completely reworked the JS engine, and as Seth Weintraub of computerworld.com writes, “This unoptimized WebKit build version is running circles around the standard Safari browser. It isn’t even close.” Amazingly, he has Webkit clocked at 2.5 times faster than Safari.
But what about all the noobs?
I know what you’re thinking. WebKit is great for us developers, but what about your average IE user? I mean, after being burned repeatedly by buggy pre-releases of Firefox, I’m not even running WebKit for normal browsing, and I’m the one writing this.
There’s only one solution: we must all be more responsible as developers. No one wants to return to the dark ages of total Flash sites, so it is our responsibility, as the architects of the new web, to optimize our Javascript. Sure that jQuery selector works, but can you drill down a few nodes? Do you really need a hover listener, when it could be done with a CSS pseudo-class (only losing a bit of functionality in IE6)? Also, Google is now hosting the five most popular Javascript libraries, we should all start using that.
And finally, let’s not be so afraid of Flash (or Flex – the Flash code library). Full Flash websites only make sense for a limited number of businesses, but we can certainly use Flash components to handle the bulk of our animation. Remember, Javascript is not SEO-friendly, it is only beneficial because it is usually coupled with straight HTML markup. And we can do something similar with Flash and HTML. Flash is still a great format; it’s compact and vectored, and when used as a component, accessibility isn’t as big of an issue.
I think a lot of developers hate Flash because they receive documents that are made by designers with little knowledge of development. There is a serious rift in Flash between designers and developers, and in my experience, if I take control of the document, start using an external file structure and actions.as file, things feel a lot more like development. I only really open that horrible GUI to compile the swf or throw a new movie-clip together, the rest is handled in my text-editor. And as for the absolutely awful Flash GUI, I have to bite my tongue, since that’s a whole post in itself.
1 Firefox 2 runs like crap on Mac anyway, but supposedly performance will be greatly improved in FF3. Ultimately it will always be weighed down for me because of FireBug and other plugins.
2 WebKit is also the name of the framework for several OSX apps. Steve Jobs programmed it personally using a ballpoint pen and rubberbands (source questionable).
Flash player is bugy on mac and linux.
AS3 have better performance but is NOT a standard. So you can’t make you own flash player.
And please remember that flash is not SEO-friendly.
If you are a good JS programmer your js is not intrusive so it’s completly SEO-friendly.
Gagarine,
I think you misunderstood some of what I wrote here. First, I never said Flash was SEO friendly (in fact I imply the opposite). Second, when I said Javascript was not SEO friendly, I was talking about content loaded by Javascript. As I mentioned, the HTML coupled with the Javascript is completely trackable. Therefore unobtrusive javascript is obviously fine, as well as the less obtrusive Flash I am discussing here.
You sound like a good JS programmer, I’m sure you know that most of the Javascript on the internet is pretty wack. Don’t take this article as an attack on your code, I was talking about MOST javascript.
I don’t know much about cross platform issues with the Flash player, but that’s interesting. I’m still a Flash/AS noob.
Thanks for reading,
jr
Is there a trial review?
Hey Bill,
The new webkit stuff is actually available in Safari 4 which is currently in beta: http://www.apple.com/safari/
Thanks for reading!
-jr