Internal error when using a HSDPA modem

Hi!

We’ve been lately getting comments from some of our users complaining that the “Internal error” -notification keeps coming up regularly. After reading thousands of lines of server logs and sometimes pretty fuzzy user error reports we’ve been able to trace the problem to users with a HSDPA modem (aka mokkula) together with Internet Explorer. A standard Windows laptop + mokkula -combination, one could say.

It seems that especially at areas of lower connectivity even small breaks in connection cause the internal error -notifications. Sometimes the server logs show a SocketException being thrown (root cause normally ClientAbortException), sometimes there’s no trace of any kind of error at all. After clicking the notifications the application makes a full page refresh without losing it’s current state.

Now, I have a couple of questions about this subject. First, is there a good way to recover gracefully from this kind of situation? Showing a big red sign screaming internal error when nothing catastrophic has happened isn’t really a good option from the usability point of view. I don’t know if I remember correctly, but I think it was possible to disable the internal error from SystemMessages so that no warning notification is shown and the full page refresh will be done automatically? Second, is this behaviour typical to Vaadin application or could this be a problem in our system? And third, is there a way we could avoid these situation in the future at least so that no full page refresh is required afterwards? After all, there are lots of laptop + mokkula -combinations out there these days, and we wish to provide a fully functional website for them too, without constant full page refresh.

I’m just theorizing here, but is it possible that the Vaadin applications tend to bump to mokkula connection problems more often since it’s way is to communicate with the server through multiple small posts rather than one big one?

Yes, this is possible. See
http://vaadin.com/api/com/vaadin/Application.CustomizedSystemMessages.html#setCommunicationErrorNotificationEnabled(boolean)

Communication errors should only happen when client and server get “out of sync”. This might happen if some of the http connections are lost/hanging. My guess is that the problems does not originate from your system, but is a combination of bad connection, bad browser, impatient users and Vaadin communication mechanism. Without being able to reproduce the problem, it is hard to say what could be done with it.

Probably not, but reporting about the problem with big red message gets users attention. With “plain old web pages” users probably just end up reloading the page and do not think about the problem too much.

Could this be a problem that modem drops connection (due to poor signal or similar) , then quickly restores it but during the “no link” period client tries to communicate with the server, loose packets or receives aborts and claims about the error ?

As saw something similar with my iPhone when accessing vaadin application from the road, using slow edge connection. I think, as Joonas previously noted, such interrupts is not so visible on a plain web page but noticable on rich web application like this. I think, the good idea is to tune error messages and add some explanation for the end user, so it will not scare and simply reload the page.