Welcome to Smartphones Unlocked, my new monthly column designed to explain the ins and outs of smartphones to help you better understand how they work. The world of smartphones is fast-paced and can sometimes be confusing and difficult to keep track of all the new technology in these devices, particularly if you're new to them, so if there are any topics you'd like to see covered here, please feel free to e-mail me at firstname.lastname@example.org.
The popularity of smartphones is on the rise, and as people learn more about them and continue to buy them, they are demanding and expecting their handsets to have the latest technology, including software. The good news is nowadays software updates allow you to get the latest version of a mobile operating system even if you don't have the newest phone model. However, that's not always guaranteed for every device, and as some smartphone owners probably know, particularly Android users, the update process isn't always swift or smooth.
Issues like slow or delayed releases and bricked phones are frustrating to be sure, but the business of software updates isn't as simple as one might think. In fact, it's pretty complex and time-consuming. It's not just a matter of an OS provider handing off the update to the handset manufacturer or carrier to push out to smartphones; there are multiple phases and a lot of testing involved to ensure that once the software is rolled out, everything works properly. Even then, there might be some problems.
To get a better understanding of how updates work and to clear up some misconceptions, I talked to several OS providers, OEMs (original equipment manufacturers), and carriers and asked them to explain how the process works on their end. The purpose isn't to let them off the hook (I think there's plenty of room for improvement, starting with better communication), but hopefully, the information below will provide you with a clearer picture of the process and clear up some questions you might have about updates.
The entire process starts with a planning stage. As an OS provider, such as Google or Microsoft, is adding and testing the new and improved features to its platform, it also meets with the OEMs and carriers, and in some cases the chipset makers, to identify the content of the update and discuss a target schedule. Once there's near-final code from the OS provider, the handset manufacturers are the next group to start its testing process, so it can build the firmware to make the update happen.
The OEMs take a look at the software even before it's final to see how it behaves with its software and the carrier software. In HTC's case, Martin Fichter, vice president of product management for HTC America, says the company will do a quick port to see how well it works with its Sense user interface and any carrier customization.
From there, a suite of tests consisting of several thousand steps is performed to checks for everything, from making sure a menu is where it should be to looking for bigger performance issues.
For example, if Google changes something to navigation and the carrier has its own navigation program, the OEM needs to make certain the two work together, so there is a lot of regression testing to ensure all aspects of the device work seamlessly. Performance testing is more labor intensive and involves checking to see how the new functionality ties in with the old functionality, watching for any unpredictable behavior, and again, seeing how everything works with overlays and carrier customization.
Fichter said it's hard to quantify how many tests are run, but if everything is perfect, then it should be able to get the update through the lab in three weeks. That said, the company will approve the software for the next round only when it's passed all tests. At that point, the firmware is passed onto the carrier, but the manufacturers continue to provide support throughout carrier testing process.
The carrier certification process involves several phases, including lab testing and field user testing. As Keith Lampron, associate director for device marketing at Verizon, explains it, testing software updates is, at its highest level, much like testing a new product--a sentiment shared by Fared Adib, vice president of product development for Sprint, who said that it's a very "rigid process."
This means phones are being assessed again for network connectivity, voice quality, battery life, and durability. All the while, analysis is being done to look at the quality of the software, checking to see that the new features are working correctly and making sure that previous functionality is preserved through the update. Once it's gone through the lab, the update moves onto beta testing with field users before rolling out to all customers. If there are any issues or problems during any phase of the testing, the carriers report back to the OEMs so they can go back and fix the bugs.
Once the software comes back and gets approval from all three parties (the OS provider also needs to recheck and make sure its own services and apps are working properly), the update is ready for distribution, either via side loading or over the air (OTA). If delivered OTA, the carrier releases the OS update in batches and not all at once, since the update can be quite large and bog down the network. Doing it smaller groups ensures that customers don't have issues downloading the software.
Adib says, depending on how major the update, the best-case scenario for rolling out the software update is 10 weeks and worst case is 15 weeks. "There are ways to do it faster, but the omissions would sacrifice the best user experience," Adib said.
Lampron added, "We actually do push hard to get OS updates out as soon as possible, but at the same token, we're adamant that if there are issues that we expect customers to see, we're not going to let it through. In every case, that's the only reason it's not being pushed out there. It's a quality issue and we're just saying it's not ready."
Even so, there are problems that occur once an update is deployed, such as bricked phones or slower performance--an issue that hasn't escaped anyone.
"While it is hard to believe that with all the testing that happens, there can still be problems," said Greg Sullivan, senior product manager for Microsoft. "We've been making and delivering software updates long enough to know that the laboratory can simulate but never quite equal the experience of delivering software to thousands of real phones in the wild. Each device is loaded with its own unique set of apps, pictures, songs, and other stuff. When we find an issue, we study and fix it."
Both Sprint and Verizon says it monitors different channels, such as customer e-mails and calls, blogs, forums, and so forth, to see if there is an issue. If the problem is big enough, they may decide to pull the update before it reaches other users, so they can investigate it, find the root cause, and re-issue the software.
Do custom UIs complicate things?
Through all of this, a question remains: do customer user interfaces, such as TouchWiz, Motoblur, and Sense, complicate things and slow down the update process? It's an issue that most notably affects Android users where custom UIs are common and so is fragmentation, whereas other OSes, such as WebOS, iOS, and Windows Phone, provide a standard UI across its devices and arguably makes the updating process easier.
"Consistency of the user experience is important, as is having a consistent platform for software developers to write great applications," said Microsoft's Sullivan. "Having a consistent platform has many benefits including preventing the fragmentation you see on some platforms."
For the OEMs and carrier's part, they admit that it adds extra work but doesn't really see it as a problem. "Any customization will add to the timeline," said Adib. "We're as much to blame as anyone else, but more is made of this issue than needs to be. Even if we were working with a stock Android experience, we'd still have to run all those tests on the device."
Lampron offers another take on custom UIs. "In certain cases, it leads to innovation. For example, HTC Sense has gained some strong, positive feedback. In cases like that, where the manufacturer is doing something different and innovative, it's worth the extra complexity."
Meanwhile, HTC says it has to deal with carrier customization anyway, so while it adds some extra steps of work, it's not a complication for them. However, one complication it can't always overcome is hardware limitations. Some smartphones simply won't be able to handle the OS updates due to older hardware, whether it's a matter of not enough memory, processor power, or the like.
"I know it leads to people getting frustrated, but some of the old hardware simply can't handle the new software. The experience isn't going to be good," said Fichter. "We're trying to do our best but there's a limit to what we can do."
"It'll get better"
Obviously, the software update process has not been perfect. The long waits, the broken promises, and post-update problems has made people weary and angry.
Fichter admits that perhaps there were some mistakes in the beginning, during the days of Donut to Eclair, but HTC has learned from the experience. Adib also believes things will improve.
"These devices are complex," said Adib. "Most people take for granted that they're mobile computers with millions of lines of code in them. We, as an industry, are doing a pretty good job of spitting these out to multiple SKUs without breaking many things. It'll get better over time."
However, all the companies agree that they're not willing to speed through testing if it means sacrificing quality.
"We understand people want these updates ASAP," said Fichter, "but at the end of the day, it's about making sure we're doing it right and giving our customers the best user experience."