3 ms·
Amen! Even companies like Spotify that support full offline mode do a terrible job of testing their actual software in intermittent connectivity areas. Think
by illumin8 10y ago
Amen! Even companies like Spotify that support full offline mode do a terrible job of testing their actual software in intermittent connectivity areas.
Think about a Metro North train traveling underneath midtown Manhattan in tunnels until it gets to 125th st. in Harlem. While underground, even the best wireless carriers like Verizon and AT&T can't get much of a signal through layers of earth and the metal faraday cages that are train cars.
The most infuriating thing is that if Spotify thinks it should have a network connection, because it has a 1xRTT signal with only 1 bar, but no data is actually flowing, the app will just hang and spin trying to connect forever, and become completely unresponsive. You have to enable airplane mode to convince the app that yes, there really is no data access underground.
In general mobile developers do a terrible job of actual real-world testing connectivity under a variety of packet loss and latency scenarios.
I would strongly recommend that you automate unit testing that inserts random amounts of packet loss and latency into the network connection to see how your app performs. There is open source software like WanEM (WAN emulator) that can do this for you: http://wanem.sourceforge.net/ http://wanem.sourceforge.net/
- Fnoord 10y agoIs there a series of tests (apart from ping) which Spotify could perform, or libraries they could use, which would give them beyond reasonable doubt an indication there is connectivity? Should the application perform this, or the OS?
- illumin8 10y agoI don't know, honestly. I'm just proposing that developers automate unit testing that includes intermittent network connectivity and understand what the failure modes of their app are, and make design decisions based on improving the UX. For example, if you're Spotify, and your app spins for 3 minutes and has to be force quit because network connectivity is degraded, you should probably identify this in automated unit testing and not force your customers to live through this terrible user experience.
- illumin8 10y agoBy the way, I discovered that AWS Device Farm now supports testing with custom network profiles. You can even manipulate the network characteristics in realtime during the test through an API, to simulate traveling through dead zones, etc. https://aws.amazon.com/about-aws/whats-new/2016/12/simulate-mobile-connections-and-conditions-with-aws-device-farm/ https://aws.amazon.com/about-aws/whats-new/2016/12/simulate-...