views:

98

answers:

3

We are developing a web application with a hetereogenous base of users. Additionally, we must provide a visually appealing experience. So, I would like to know if there is any way to get estimates of user bandwidth in such manner, that we can decide if we serve a given version, or another one.

Or should I aim for the lowest denominator at all?

No matter the technologies involved: I'm platform agnostic for this case (for example, a flash applet to estimate the capabilities of the user will be fine). I just want to hear your advice.

+1  A: 

If you want to determine a particular clients throughput, you could time how long it takes to transmit a payload of known size to the client and extrapolate their bandwidth from that. Or you could have a flash stub load the remaining content, and default to a different version if it's taking too long.

jdizzle
+2  A: 

IMO where it's necessary for a choice these things are best left to user to decide. Some people will happily wait for a richer experience, others want fast and snappy regardless.

You could have a landing page with an image/flash that times how long it takes to use, then presents links to both with a suggestion which will be the best experience given the users bandwidth. Store this choice as a Cookie then in future bypass the loading page.

Andrew Grant
I have the fastest internet connection in my area (DSL, 6mb down) -- I still prefer "56k" sites because they are snappy. I /hate/ waiting. Up modded for that. :)
Nazadus
+1  A: 

The most popular site on the web has an interface that contains almost no graphics. (I'm speaking of Google, of course.)

Design a website that loads fast for all users, has the functionality they want, and is aesthetically pleasing, and your users will enjoy it. Visual appeal can be achieved in very few bytes with good use of color, text layout, and sparing images. There's no need for a huge Flash apps, sound, animations, or other bandwidth killers. People respond to sites that invite them in and treat them right.

Look into low-bandwidth ways to provide surprise, like mouseOver behaviors that subtly change colors, or small images that provide accents.

Alex Feinman