HTC Enhances Mobile User Experience with Google Cloud Platform
Smartphone maker HTC knows that mobility means more than hardware, so it also makes apps designed to customize each user’s mobile experience. But in a mobile world that demands instant and uninterrupted access to data and apps, the company had to make sure its products were both reliable and bandwidth-friendly.
“Who hasn’t had a mobile app freeze when going into a tunnel or underground subway?” says John Song, senior director of engineering of HTC Studio Group. “It can be incredibly frustrating, so improving data reliability was important to us. On top of that, we wanted to reduce bandwidth usage, particularly for regions where bandwidth is costly.”
The company also wanted a platform that would streamline the mobile application development process by giving developers more time to work on applications rather than debugging code. “For us the big issue was one of stability,” says Song. “If network infrastructure performance isn’t stable, a lot of applications will break. I can deal with low latency or long latency, but it’s hard to deal with latency that fluctuates.”
HTC Studio Engineering evaluated both Google Cloud Platform and Amazon Web Services, but found that Amazon’s latency fluctuations could affect the performance of HTC Studio Group’s mobile applications. As a result, the company chose Google Cloud Platform, launching its mobile app platform in December 2014. The company used a combination of tools — from Google Compute Engine and Google Cloud Storage to Google Cloud Datastore — to create a high performance, stable infrastructure that fosters a better user experience and lets developers devote their time to building better features instead of fixing performance issues. The platform primarily hinges on Cloud Datastore, although the company is also an early user of Google Cloud Bigtable and plans to expand that usage.
“We need a datastore that is very fast, accurate and instantly scalable, and both Datastore and Bigtable are the right fit,” says Song. “You don’t have worry about partitioning data or adding more databases — it scales by itself.”
HTC gets particular value from Cloud Datastore’s data synchronization and cross colo replication feature, which boosts reliability while also minimizing bandwidth. When data is updated, apps send only incremental changes, rather than the whole data packet. This means users can still access data that loaded prior to any interruptions in connectivity. For example, M9 Photo Editor One Gallery users who are adding double exposure and other visual effects to a photo can still edit photos when they’re disconnected from the network. Once they regain connectivity, the app will simply fetch the latest changes.
Google Cloud Platform’s rock-solid infrastructure has paid off for Song, both in terms of application performance and developer productivity. “Google offers the same infrastructure that they use internally, and that gives us a lot of confidence,” he says. "We have had no downtime or issues related to the back end since we’ve launched on Google Cloud Platform, and have had zero bugs reported from customers.”
Developers also report that Google Cloud Platform’s stable network lets them devote their energy to building better application features rather than fixing bugs due to low latency. “Designers have more freedom to choose designs that give the user a better experience, such as scrolling images rather than thumbnails,” says Song. For example, uploading 10,000 photos via the HTC One Gallery app won’t put the app “to sleep” or slow it down significantly.
Performance stability is not the only benefit, as Compute Engine’s scalability has helped HTC save money through better resource allocation. Traditionally, the company had to build an infrastructure to accommodate large usage spikes—up to 10 times difference between the low and high. “It meant a lot of waste, we had to over-provision to take care of temporary usage spikes,” says Song. “Now we can auto scale when user patterns spike, which has saved 40 percent in costs.” The company has also saved by using Google BigQuery for data analytics and Google Cloud Messaging for Android for update notifications. “Without Cloud Messaging for Android, we would have had to build our own push data networks,” says Song. “It has saved us a lot of work and money.”
Cloud Platform’s solid foundation has given Song’s team the freedom to concentrate on what it does best: give users the best experience possible. “We can design a feature and release it and we don’t have spend any more resources on it,” he says. “Google lets us focus on adding the features that our customers want.”