If spotify developers ever read this thread, question is for them. Have you guys heard of the novel concepts such as caching and retries?
It's amazing what one could achieve with them. If a developer building a web player uses caching, then in case a connection drops, the music doesn't immediately stop playing, because the song is already cached locally in the browser! Unbelievable, but it's true. It's a very novel approach, but I heard that some of the web players such as youtube already successfully tried it, and it worked!
Retries are a bit more involved, but nonetheless interesting. The idea behind it is that if a service cannot reach another service, it should try once again, and then maybe another time, until it succeeds! Although it sounds quite complicated, I heard that some successfull implementations achieved remarkable success, such as being able to reconnect after the connection drops!
Although the above approaches are quite challenging to implement, some people think that it may be worth the return on investment. For example, some users would be able to use the web player on an unstable connection, without having to refresh the page every other ten minutes. I sincerely hope you consider utilizing them in your practice.