@mikoto And a shitty internet connection with 30% packet loss (there's software to simulate those available for this).
Because half of that Javascript shit doesn't _ever_ retry a failed transmission and has stupidly short timeouts with no error handler other than "oops it broked".