Friday, December 8, 2006

Increase Page Rendering Time by Reducing HTTP Requests

Yahoo has shown the results of research, using packet sniffers, showing that download and rendering time is due almost entirely to HTTP Requests.

No less than 60-95% of the response "time is spent making HTTP requests to fetch all the components in that HTML document (i.e. images, scripts, and stylesheets)."

The impact of having many components in the page is exacerbated by the fact that browsers download only two or four components in parallel per hostname, depending on the HTTP version of the response and the user’s browser. Our experience shows that reducing the number of HTTP requests has the biggest impact on reducing response time and is often the easiest performance improvement to make.

EDIT: 4/17/2007

If a web page evenly distributed its components across two hostnames, the overall response time would be about twice as fast.

Performance Research, Part 4: Maximizing Parallel Downloads in the Carpool Lane

Monday, November 27, 2006

The Importance of Sketching

I'm a big fan of sketching ideas and consider it to be a key design skill. One of its many benefits is that stakeholders and project managers and salespeople are comfortable recommending changes. The know that it is "nothing but a sketch." However many people I speak to say "never show a sketch to a client" and, I have to admidt, that many times I think they are correct; especially when the stakeholder says "why are you showing me sketches?"

Stakeholders often times feel that they are wasting their time looking at sketches and don't particular warm up to the idea that making more "presentable" representations take time (hence money). They like the idea of not wasting money but they feel that it is the designer who should "waste his time" making things presentable as opposed to them "wasting their time" reviewing sketches. Too many stakeholders do not understand the value of a sketch. The question, I suppose, is "how do we change this perception?"

Another benefit of a sketch is that it helps to put a form, a face if you will, to the idea that's floating around the room. We all may be talking about the same thing but the image we each have is different (sometimes very, very different). Sketching out the concept allows us to be focusing upon the same idea AND often times generate multiple leads from what was originally thought to be one idea.

And yet another value of sketching its that it functions as a recording of design ideas. It's a story board of when the idea(s) were formed and often are themselves the springboard to new ideas.

Sunday, October 1, 2006

Lurkers and Commenters

Jakob Nielsen has an interesting new article in his AlertBox. The jist of the article is that "a tiny minority of users usually accounts for a disproportionately large amount of the content."

In most online communities, 90% of users are lurkers who never contribute, 9% of users contribute a little, and 1% of users account for almost all the action.

So, what can be done about this? How can the site owner increase user participation? The short of it, according to Nielsen, is that you can't.

I have found that posts that have comments get more comments. It seems as people are more tempted to respond to comments than the original post; or posts with comments than posts without any comments.

EDIT 12/20/2010:

Sysomos also found that 80.6% of Twitter users have made fewer than 500 tweets, which likely points to the relative newbie status of the average Twitter user. Also noteworthy is that 22.5% of users are responsible for 90% of all tweets.

It will be interesting to see what happens over time - do Twitter stats start converging to the expected 90-9-1 spread?

Tuesday, September 12, 2006

Text Resizing Widgets

Is it good practice to place Text Resizing Widgets on your page or should the user change font-size through their browser?

Lately, I've had people tell me that they doubt the utility of the text-resizing widgets; that people who don't know how to resize fonts through their browser would not be able to recognize or use text-resizing widgets. I can't stand this position that people should change font-size only through their browser - and that if users aren't using their browser to change font-size it can only mean that they are ignorant.

Some argue that resizing widgets requires Javascript which is not always enabled. It's true that Javascript is not always enabled but session-variables and client-side cookies can be used as well.

I don't see the rational in spending time showing your readers how to change text-size via their browsers after all would they even see or click the link explaining the process if they wouldn't see or use the text-resizing  A A A.

It is simpler and easier for most users to adjust text-size on a particular site via an icon than using keyboard commands. Of course CTRL/CMD +/- is simple too but there is more than one way to do things. There is no harm in providing visual clues in interface design - or would you like to get rid of GUIs and go back to UNIX and use Vi or EMACS for your wordprocessing?

Finally a lot of text-resizing problems comes from designers who reduce the size of text, concerned as they are with the visual impact rather than the utility aspect of the site.

Sunday, June 11, 2006

Sprites What are they good for?

I never particularly cared much for them. I had nothing against them. I personally (unlike others) found having all the images in one graphic file easier to maintain; and yes it was less of a server hit but I never had a time, until now, where I found sprites to be indispensable.

I have a complex image: an intertwined pie-chart that highlights as different parts are rolled over. And now - I have a use for sprites. I cannot see how this user interface could have been accomplished without sprites. One can even imagine, that with javascript, one can display different information based on other factors than simply the mouseover.

For example a class name could be added to the div (via server-side script) based on almost any factor and then different information could be shown to different users (or even the same user) as needed.

This user interface is for the marketing department of a well-know company. It displays the course work and tests necessary for employees a variety of certification. So class names can be appended to the div; and javascript can display different text as needed. Example: If user has completed course X then show "Completed" elseif show "In Progress" else "Not Started".