Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's an appropriate timeout for connections on mobiles devices? [closed]

I was wondering if anybody knows, or has any information about, what could the best timeout for internet connections on mobile devices (particularly Android).

Since they have limited internet access with considerable lag, maybe it's interesting to set a smaller timeout (from default) since the device could be going though a network blackspot at that particular moment.

UPDATE: This occurred to me, as I mention on the comments, since it can be rather annoying for the user to wait for a 30 second timeout and then have it fail in the end.

like image 616
pablisco Avatar asked Nov 22 '11 13:11

pablisco


People also ask

What does it mean when it says connection timeout?

A server connection timeout means that a server is taking too long to reply to a data request made from another device. Timeouts are not a reply message: they show up when there isn't a reply and a server request is not fulfilled in a predetermined length of time.

What is a TCP connection timeout?

Introduction The Transmission Control Protocol (TCP) specification [RFC0793] defines a local, per-connection "user timeout" parameter that specifies the maximum amount of time that transmitted data may remain unacknowledged before TCP will forcefully close the corresponding connection.


1 Answers

Frankly I think you're asking a question with no real answer, or at least one where the answer is "it depends".

Here are a few things you might want to take into account though:

  • Wherever possible, keep tasks using internet connections in the background. That way you can have a long timeout without keeping the user waiting. Hopefully this is stating the obvious!
  • How badly do users want to get/send the data? The more important it is to them, the longer they'll be prepared to wait. So, a business app which is uploading business data could use much longer timeouts than a game which is just submitting high score.
  • When using a mobile connection (ie. 2G/3G) there's a lower expectation of performance than when using wi-fi. You might want to take that into account.
  • Being mobile, signal strength could be an issue. Again, it's something you might want to take into account.
  • You could always let users set the length of timeouts themselves...

All that said, assuming you're blocking the user from doing anything else then I'd be looking at a timeout somewhere in the region of 10-20 secs. That number's more based on my experience as a user than as a developer though!

like image 95
vaughandroid Avatar answered Oct 23 '22 10:10

vaughandroid