Is there a way to determine if a user is using broadband or dial-up
Asked Answered
S

8

5

We have a requirement from a customer to provide a "lite" version for dial-up and all the bells-and-whistles for a broadband user.

The solution will use Flex / Flash / Java EJB and some jsp.

Is there a way for the web server to distinguish between the two?

Susann answered 15/4, 2009 at 21:13 Comment(0)
H
16

You don't care about the user's connection type, you care about the download speed.

Have a tiny flash app that downloads the rest the of the flash, and times how long it takes. Or an HTML page that times how long an Ajax download takes.

If the download of the rich-featured app takes too long, have the initially downloaded stub page/flash redirect to the slow download page (or download the bare-bones flash app, or whatever).

Hautboy answered 15/4, 2009 at 21:18 Comment(4)
+1 for point about the real issue being the download speed not the connection typeCircumscissile
Thanks! It's all about how you characterize a problem.Hautboy
This answer is all kinds of slick in one tight little bundle. Easy +1.Protoxylem
+1, same reason as ChrisF... I have a broadband internet connection at home that's often slower (and less reliable) than dialup.Czarist
O
3

The simplest and most reliable mechanism is probably to get the user to select their connection type from a drop down. Simple, I know, but it may save you a world of grief!

Outlay answered 15/4, 2009 at 21:18 Comment(0)
G
3

There's no way to distinguish between a broadband or dial-up as a connection type, but you can make an educated guess by connection speed.

Gmail does this and provides a link to a basic HTML version of their service if they detect it.

Gmail Load basic html image
(source: nirmaltv.com)

My guess is that there is some client side javascript polling done on AJAX requests. If the turnaround time surpasses a threshold, the option to switch to "lite" appears.

The best part about this option is that you allow the user to choose if they want to use the lite version instead of forcing them.

Gratian answered 15/4, 2009 at 21:20 Comment(1)
+1 for loading the 'heavy' site while providing a way to the 'lite' versionRescission
O
1

I think the typical approach to this is just to ask the user. If you don't feel confidant that your users will provide an accurate answer, I suspect you'll have to write an application that runs a speed test on the client. Typically these record how long it takes the client to receive x number of bytes, and use that to determine bandwidth.

Actionscript 3 has a library to help you with this task, but I believe it requires you to deploy your flex/flash app on Flash Media Server. See ActionScript 3.0 native bandwidth detection for details.

Ozell answered 15/4, 2009 at 21:20 Comment(0)
C
1

Here's a short code snippet from a code who attempted something similar. It's in C#, but it's pretty short and it's just the concept that's of interest.

Determine the Connection Speed of your client

Of course, they could be a temporary speed problem that has nothing to do with the user's connection at the time you test, etc, etc.

I had a similar problem a couple of years ago and just let the user choose between the hi and lo bandwidth sites. The very first thing I loaded on the page was this option, so they could move on quickly.

Casals answered 15/4, 2009 at 21:23 Comment(0)
I
1

@Apphacker (I'd comment instead of answering if I had enough reputation...):

Can't guarantee the reverse, either--I have Earthlink dial-up, soon to upgrade to Earthlink DSL (it's what's available here...).

India answered 15/4, 2009 at 23:44 Comment(0)
A
0

You could check their IP and see if it resolves to/is assigned to a dial up provider, such as AOL, Earthlink, NetZero. Wouldn't guarantee that those that don't resolve to such a provider are broadband users.

Analgesic answered 15/4, 2009 at 21:18 Comment(0)
A
0

you could ...

  • ask the user
  • perform a speed test and ask the user if the result you found is correct
  • perform a speed test and hope that the result found is correct

I think a speed test should be enough.

If you only have a small well known user group it is sometimes possible to determine the connection speed by the ip. (Some providers assign different subnets to dial-up/broadband connections)

Adachi answered 15/4, 2009 at 21:19 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.