Posts Tagged ‘web design’

Chrome Experiments, IE8 and browser speed

Saturday, March 21st, 2009

(This post consists of biased personal opinions, as always)

Chrome Experiments has some pretty cool stuff. The idea of the site was to create some javascript demos to show off Chrome‘s speed. Some of them also run in firefox (and maybe safari), though I wasn’t able to find any that ran in IE, mostly because IE doesn’t support <canvas>.

I’m running beta 3 of firefox 3.1 on all my computers now. Its javascript execution is definitely faster than 3.0. It didn’t perform too well on a some of the chrome experiments, though. Unlike IE, it could typically run them, it just wouldn’t be as smooth as Chrome (for example, 3D rendering). My favorite experiments are all among the top-rated, so try some of those out if you have a chance. Some of them are really clever.

I installed IE8 on my windows partition tonight. I haven’t used it enough to do a full review or anything. I don’t expect IE to return to the Mac any time soon, so I don’t really have incentive to try it. I stumbled upon this video on Microsoft’s site regarding browser speed. The video consists of a lot of flashes and text flying around to techno music, so I’ll save you some time and summarize:

Everyone talking about browser speed seems to think that micro-benchmarks are important, but those benchmarks are just made up and regular people have never heard of them anyway. The real way to test is in the load times of popular websites.

They then show load times from IE8, Firefox 3.05 and Chrome 1.0 on popular sites. As you might expect, IE8 did pretty well. They conclude that “IE8 is fast just like other browsers”

The type of speed Microsoft is talking about here is important, but it’s not what most of the browser speed discussion has been about. Their analysis is on the top 25 most visited sites, e.g. google.com. To time the rendering of google.com has a high ratio of time spent rendering HTML to time spent running javascript. The same is true for most of the top 25: these aren’t javascript applications, they’re web pages. Rendering these quickly definitely has value, and I’m glad that the IE team has worked on rendering speed, but the claims of this video are a bit simplistic. Although IE does well on these simple pages, it can’t keep up on the javascript-heavy applications used on the web (e.g. Yahoo Mail, Gmail, Google Docs, etc). When the ratio of HTML rendering time to javascript execution time goes down, javascript benchmarks become more important.

I ran Firefox 3.1b3, Chrome 1.0 and IE 8 through the Sunspider javascript benchmark test. From the description:

This test mostly avoids microbenchmarks, and tries to focus on the kinds of actual problems developers solve with JavaScript today, and the problems they may want to tackle in the future as the language gets faster. This includes tests to generate a tagcloud from JSON input, a 3D raytracer, cryptography tests, code decompression, and many more examples. There are a few microbenchmarkish things, but they mostly represent real performance problems that developers have encountered.

I’m not asserting that this is a perfect test (it doesn’t test DOM manipulation, for example), but it’s not a bad way to get a rough idea about how a javascript engine is performing. Here are my results on an Intel 2.33GHz quad-core with 8GB RAM:
Chrome: 1193ms
Firefox: 2033ms
Internet Explorer: 5753ms
(click the links for a more detailed breakdown)

This speed difference doesn’t make mainstream web apps unusable today, but I worry that it inhibits the web apps of the future. Chrome Experiments is a good showcase for the types of things that are doable in javascript with a fast interpreter. If you showed me these a year or two ago, I’d think that they were implemented in Flash. Speeding up javascript and enhancing multimedia APIs (canvas, video, SVG) will expand the range of things possible in web applications, and I’m really looking forward to this faster generation of browsers becoming mainstream.

Terrible web UI of the day

Saturday, November 1st, 2008

From politico.com, there are 4 hyperlinks in this image:

… and the underlined text is not one of them.

Why someone would think that was a good idea is beyond me.

Scroll Direction

Tuesday, October 14th, 2008

In high school, I used to tutor senior citizens to use computers at the town library. One thing that regularly tripped them up in the browser was the scroll bar. When they wanted to scroll down the page, their mental model of the page made them want to “pull the page up” to view the parts below. Thus, when they wanted to scroll down the page, they would press the up arrow. I’d never thought about scrolling this way, and I couldn’t really come up with a reason that their interpretation was wrong.

iPhone (and similar touch device) scrolling changes from the scrollbar model to the senior citizens’ model: now you flick up to go down the page, which feels intuitive, even for longtime scrollbar users.

The touchpad on macbooks has a gesture that denotes scrolling: dragging up or down with two fingers. Dragging down scrolls down the page (following the scrollbar, not touchsceen model). I use this a lot and really miss it when I’m on a non-mac touchscreen.

Today, the models converged in a funny way: I was reading through some blogs, and I scrolled down to a post that had a picture of the iphone browser interface. When I looked at the iPhone interface, my brain unconsciously switched scrolling models and I tried to scroll down by dragging my fingers up. Needless to say, I was quite confused for a moment.

Style Feedback

Thursday, October 9th, 2008

I still have a bunch more posts to write, but here’s a brief intermission.

If you have any thoughts, I’m interested in your feedback about my blogging style. Not my writing style, that’s going to continue to suck. Things like:
– Are posts too long? short?
– Should I quote more and link less?
– Should I have more pictures? (I tend to think that I should)
– Do I dwell on the same topic far too much? (e.g. the topic of “Alaskan Governors”)

I realized there isn’t a very easy way for me to answer these without asking other people. If you have any feedback (via comments or other modes of communication), I’d appreciate it.