Error messages are necessary evil. If something goes really wrong, the user must know. However, they should always be useful - otherwise they should not be displayed, right? They should also be correct.
I use Foursquare on my Android phone. Every once in a while, in the maze of different Wi-Fi hotspots at University of Michigan Central Campus, the phone switches from mobile data to Wi-Fi and back. And does something, I couldn't care less. Foursquare apparently has a problem with this and it complains.
"Foursquare connection invalid", it says. Well, I can clearly see that at the moment there is no Internet connection at all, so how can Foursquare have a connection in the first place? How can I fix Foursquare's connection if there is no connection? Even if there was, what should I do?
"No Internet connection" is also a bad error message, especially when I am connected to Internet. If Foursquare has trouble connecting to its own servers, it should not give error messages about my phone's connection in general.
I know that switching between mobile data and Wi-Fi hotspots can be challenging connection-wise. However, shouldn't Wi-Fi connections make connectivity better, faster and more convenient? Actually, at the campus, the phone tries to connect Wi-Fi hotspots here and there, thus immediately abandoning the mobile data, even before actually establishing connection. The result may be that there is no network connection for long periods of time. This can be fixed by not using Wi-Fi at all, or "forgetting" all networks that the phone tries to connect. There is no "Disconnect" - they must be forgotten, at least on Samsung Galaxy S II.