Software updates are a vital part of a smartphone experience. They are one of the best ways a manufacturer can continue to add value to a device even after it’s sold. When it comes to smartphones, there are only two camps that matter in today’s world – Android and iOS.
Apple has done a great job of handling software updates for iPhones and a large part of why it has been so good boils down to the closed nature of iOS and the limited number of iPhone SKUs. Android being open, has definitely made it the go-to choice for every other OEM. However this openess of Android has also cost it in the form of software updates. Since Google allows its partners to modify Android to a great extent, it has led to fragmentation on both the hardware and software level. This has made software updates on Android a nightmare with Marshmallow being able to command a mere 7.5% market share despite being released way back in October 2015.
To be totally honest, most end users don’t care about what Android version they’re running as long as their favourite apps such as Facebook, Whatsapp, Candy Crush etc work well. I have often see people giving me “Yeah well whatever” kind of look when I tell them that they’re on an outdated version of Android. Also if you look at it realistically, most Android manufacturers such as Xiaomi, Samsung etc have such heavy skins that even if a smartphone is to be updated from Android 5.1.1 to Android 6.0.1, the end user will hardly notice.
However, the place where Android updates really matters is security. The Android vulnerabilities generally target only older Android verisons and often times the only fix is to upgrade the smartphone from the older Android version to a newer one, but alas, that never happens, and that is where Android updates are really required. Security again is something that most end users don’t really bother about, but once your smartphone is infected, the consequences are pretty serious with stuff like ransomware to get the phone unlocked, sensitive data on the smartphone being stolen etc.
Most people generally feel that the software updates for Android are a lost cause. The general feeling is that since there are so many smartphones being launched by so many manufacturers at razor thin margins, it’s simply impossible to update them all. Add to this that in case of Android, updates also need to be approved by telecom carriers and the whole process is a big mess.
Recently, there were reports that Google plans on making a list ranking Android manufacturers depending upon their ability to update devices. But this will do little to encourage manufacturers to update devices as outside of tech enthusiasts, the general public hardly cares about what Android verison their smartphone is running and for the tech enthusiast there’s always a Nexus. Also recently, Vlad Savov of The Verge penned an article upon crowdsourcing Android updates and that really prompted me to wirte this article.
The current reason why Android updates are a mess is not only because of fragmentation, but also because Android updates are being dealt in an old fashioned manner especially when we live in a world where there’s an “Uber for everything“. What is also wrong is that in the current process of Android updates, there is no financial incentive for a mnaufacturer or a carrier to work on the update.
XDA : The potential Uber for Android updates
Over the recent years, tech companies have largely embraced crowdsourcing for finding bugs in their apps, websites, software etc. Most of the tech companies such as Google, Facebook etc have millions of lines of code for their various products. Hiring a fixed number of people to go through these code and find a vulnerability is a less than ideal option. So these companies actively participate in websites like Hacker One which hosts what’s known as “bug-bounty programs“. The tech companies put a big bounty on their products for anyone who’s able to find a vulnerability.
Freelance security researchers and coders keep visiting websites like Hacker One in search of a potential bounty, and once they find a potential bug or vulnerability in a particular app or website, they can report that to the particular tech company and claim their bounty.
The reason why this works is because the number of products tech companies have and the associated code is too large, letting a community of people find vulnerabilities in the code is far more economical and sensible than hiring a fixed number of security reasearchers. The smartphone market is in a similar place now. Every company makes a lot of smartphones and every OS upgrade requires a lot of coding.
Although, on-record, Android updates are poor, off the record they’re as good as iOS. The reason I’m saying this is because of websites like XDA. The same open nature of Android has culminated a group of people on a platform who apply their love for coding on modifying Android and updating smartphones abandoned by manufacturers.
There are a lot of highly talented coders on XDA who spend their free time coding software updates for abandoned smartphones or writing programmes that can help you boost your smartphone performance or battery life, or change its boot animation to anything from Pacman to the stock Android boot logo. A lot of smartphones that manufacturers say can’t be updated beyond JellyBean have Marshmallow available for them on XDA.
So why doesn’t everyone update their smartphone through XDA? Well it’s because although manufacturer provided updates are just a click away, there’s a lot of work required to update your smartphone through XDA. First you need to unlock the bootloader of your smartphone, flash a custom recovery like TWRP and then update your smartphone. During the whole process you’ll lose your data and even if a single step goes wrong, you’ll end up with a phone that’s stuck in bootloops or doesn’t boot at all. Most manufacturers also refuse from providing warranty on rooted phones.
However, what manufacturers aren’t understanding is that XDA is a perfect platform for crowdsourcing Android updates. Most software updates/ROMs on XDA are near perfect. A lot of people who work on XDA developing ROMs mostly do so in their free time or are college going students. There is very little financial incentive to spend time developing a ROM for a device since it’s freely available with optional donations. Most people on XDA develop ROMs for their passion of coding/development or just to be a part of a geeky community.
As I said, most Android manufacturers are manufacturing a ton of smartphones every year. Having a team of engineers dedicated to every device doesn’t make sense economically, but if they can outsource the software updates to XDA based developers, it would be much more economical. A lot of senior XDA developers have years of experience developing ROMs for Android devices, companies like Samsung and HTC can definitely pick up a few developers on XDA and ask them to develop a software update for a particular smartphone model on a contract basis.
But what about the Android skin?
Most XDA developers develop ROMs with stock Android in mind but they’re definitely no stranger to apply manufacturer’s skin on their ROMs or software updates. For example, HTC’s Sense skin in the early days of Android was ported with near perfection to several Samsung devices. Similarly, XDA developers also make MIUI based ROMs for several non-Xiaomi devices. If a mnaufacturer approaches them, they can definitely develop a ROM skinned with the manufacturer’s necessities in mind.
What about quality?
For a particular device, a manufacturer can see what ROMs are available and the developers of XDA who made it. There’s also a developer profile that lets you know how old a member is, what his works have been and the number of thanks he has received. Manufacturers can set a certain criteria such as picking developers who are older than ‘X’ years on XDA, have ‘Y’ number of likes and have worked on ‘Z’ number of ROMs. This way, they can ensure that they are having good quality developers working on their software updates. Apart from that, once the software update is over, manufacturers can run a quality test to see if everything’s working.
Also in most cases, the real bugs in ROMs are caused because of no support from Android manufacturers regarding things like Kernel source code which forces Android developers to resort to workarounds or hacks that cause bugs.
How will it be more economical?
Most people on XDA develop ROMs for their passion and have a day job as well. Donations are the only way the guys on XDA earn anything apart from ads. Any money they get from manufacturers for developing ROMs would be a bonus if they’re allowed to work at their free time. Definitely cheaper than hiring a dedicated team for every device.
XDA is an awesome community filled with talent waiting to be tapped into. Just like how Hacker One has served companies like Google for bug finding, XDA can help manufacturers in software updates. The only thing that’s required is for manufacturers to try and tap into XDA. Also once manufacturers make an attempt, XDA itself will start adding features to make it easier for manufacturers and developers to collaborate.
Convincing carriers – In app purchases
I have detailed how manufacturers can tap into XDA and economically develop software updates for a host of devices. However, in most countries, software updates are controlled by carriers. Even if manufacturers start supporting devices longer, it’s carriers that have the final reach.
As of now, there’s no incentive for carriers to push out software updates. Their top most priority is their network. Only way carriers are ever going to prioritize software updates is if there’s a financial incentive in pushing software updates. This is where the model of in-app purchases come into play. Most apps are free to download and developers still keep updating their apps adding features which can be unlocked through in-app purchases.
This may sound crazy but software updates need to be made a purchase. For example, once say a Marshmallow based ROM is available for Samsung Galaxy S3, users can be prompted that the update is available and can be downloaded by paying $10. The $10 fee can remain for the first month and can be reduced to $5 for the second month. Subsequently from third month onwards the update can be made absolutely free.
The $10 or $5 fee can be shared amongst the telecom operator, manufacturers and the XDA developers. I understand that most users would simply prefer waiting for three months until the update becomes free but at least a certain number of users are going to pay for the update as soon as it’s avaible. The real reason why this fee is required is to provide an incentive for carriers to work on pushing updates faster. Like it or not, carriers control the end phase of a software update and if they don’t process it faster, there’s no use.
Real life working model
This model has worked in real life, albeit differently. Cyanogen Inc was actually a developer focussed group on XDA which turned into a commercial entity. A lot of Cyanogen OS powered phones are bound to be updated to Cyanogen OS 13 or Marshmallow in a few weeks or have already been updated. Yu Yureka, Yuphoria and Yunique are set to be updated to Marshmallow and so is Lenovo Zuk Z1, all powered by Cyanogen OS. Although Cyanogen Inc isn’t crowdsourcing, it’s proof that XDA based groups can be very good at handling Android updates.
To summarize, Android updates are a mess now but that’s because most manufacturers are still stuck with age old way of dealing with updates. Manufacturers really need to change the way in which they make and deliver updates to bring about a change.