Appendix - Notes on wireless networks

Quite likely you will make use of a wireless network for internet connection. This is not without pitfalls for online music. There are basically three common types of wireless - 3G public wireless networks provided by telecom providers, 4G networks and private WiFi which will generally be provided by a network station in the home.

For public 3G networks the recommendation is simple : don't use them for the Solocontutti app. The reliability and latency of the network is below anything that is useful for the app, and the amount of data going back and forth could lead to some very large and unexpected bills as you go beyond the amount of data stipulated in fair use contracts. If you use a compression factor of 10 (bit rate 200kbps for playing a duo) then in a session of two hours you will send 3600 * 2 * 200 = 1440mbits or 180Mbytes.

For public 4G networks it's not quite so simple. In principle the networks are designed to be very low latency, but if not all the players are on the same 4G network then you have to go through the standard internet at some point. More important, the amount of data required is a significant consideration. Bandwidth should not be a problem as you need a minimum of 200kbits per other player upload speed, which 4G networks can easily manage.

WiFi links in the home are connected to wired internet so don't have this problem. WiFi introduces extra latency which may or not be a problem depending on your setup. However WiFi is a radio system and is sensitive to radio interference. This may come from a mobile phone, a microwave oven, the WiFi gateway of the neighbours, Bluetooth devices, DECT telephones and many, many more. This means that as the signal degrades, because of interference in the home or because the computer is separated by a wall from the WiFi box, the network often has to make several attempts to get data that is not distorted by the interference. Cisco has a fairly comprehensive white paper on this subject at this link

This retry behaviour translates into bursts of latency at unexpected intervals, which can be quite significant. I have noticed a jump from 15ms to 200+ ms due to this effect in my home. This will lead to degraded sound quality and gaps in the sound at the other end and cannot really be compensated without increasing the latency beyond the limit where it is usable. Some compensation is possible by increasing the maximum number of buffers, but this has its limits as what you are actually doing is permitting extra latency to be let through into the system. The Cromble app has inbuilt compensation for large fluctuations in latency, but cannot compensate for degradation in the sound quality in these cases.

If you want to see what sort of interference you are getting from WiFi networks in your local area, you can download the inSSIDer tool from MetaGeek at their download site