It has been announced that Zwift will be coming to Android in the first half of 2018. Let’s look at the value of the Android platform, the challenges that Android poses for developers and why development for Android could prove to be a win-win for Zwift HQ and Zwifters. (Bear in mind this is being written by an Android enthusiast, with no direct contact with Zwift.)
According to Jon Mayfield, Zwift for Android is coming, but it has taken a back seat to Apple development:
“An Android phone will almost certainly be the worst of all ways to run it when we do release it. This is due to the massive device fragmentation, fragmented operating systems, and drivers (bluetooth, sound, and graphics all matter to Zwift). Then there’s the fact that Android devices have poor 3D processors, except in all but the $750 phones (and even then they are a fraction of the speed of a new iPhone)…”
The Challenge of “Fragmentation”
Unlike the Apple ecosystem, the Android world is not as simple as a new hardware device and new software version being released each year. In fact it is a trivial exercise to name ten different manufacturers making Android hardware. Unfortunately each of these manufacturers is responsible for providing software updates and after sale support. This is where the issue of fragmentation enters the conversation. Many of the manufacturers release the hardware with the latest, or perhaps one generation old software, then do a very poor job of providing the latest operating system for that older hardware. This leads to countless different hardware variations, running many different versions of the Android operating system. This is most clearly exhibited by Google’s own statistics on current devices and the Android operating system versions they are running (see table).
Each generation or yearly release is given a name starting with the letter of the release. This letter increments each year, and the name is always a tasty dessert! Oreo is the most recent release (2017), with each lower number representing one year older release.
With there being one named OS version each year, the above diagram makes it clear that the largest number of devices are using a version of Android that was released in 2015 (Marshmallow). By extension, that also indicates that only 25% of Android users are using OS versions released in the past two years. As a point of interest, the latest version of Android (Oreo) was released on August 21, 2017. To this point it can only be found on 0.5% of Android devices, with many of them being Google’s own Pixel branded devices.
The Developer Challenge
The Zwift head office will have to decide for their developers what level of the Android OS they require to accomplish their goals. Each iteration of the OS brings with it new features and functionality that they can leverage in designing their platform. If they rely on the latest technology and focus on the latest versions of Android, then they will be developing for a very small audience. However if they aim for older versions of the OS, then they target a larger market share but are faced with the reality of older hardware potentially not being powerful enough to display the platform with high enough frame rates or graphic fidelity.
Outside of software fragmentation, hardware developers also create their own nightmares for software development. Each device manufacturer has multiple CPU choices, different graphics subsystems, varying amounts of memory (both storage and RAM) and vastly different screen sizes. Android devices range from sub $50 budget devices to $1000 premium devices with exquisite design and high power processing. Each device also has subtle differences in the hardware, such as different Bluetooth radios, or even the inclusion of ANT+ radios. This will add to the support challenge for Zwift.
A recent development in the Apple world may challenge the idea that high end Android devices are “still generally 1.5 years behind in performance from iPhones“. Apple has recently admitted to intentionally slowing devices that are only a couple of years old. This may level the playing field for older devices. It is also not logical to compare a $750 (or higher) iPhone to Android hardware that is on the lower end of the price spectrum.
As a developer, the choice has to be made to target a specific Android version as well as the base specifications for hardware performance. Since approximately 80% of phones sold internationally run Android, the shear volume of potential customers is mind blowing.
Watching and Waiting
As someone who likes the price/performance ratio available in the Android ecosystem, I am patiently waiting for Zwift on Android. There are numerous hardware choices that could work extremely well for Zwift, with many more being released each year. Chances are the release of Zwift for Android will be the great “excuse” I’ve been waiting for to upgrade my five year old Android tablet!