When taking a Web app to the mobile space, it’s important for a startup to realize the tools and best practices available to make the transition smooth and easy. Earlier this week, social check-in startup GetGlue launched its mobile app on the Android platform after seeing unexpected growth from its iPhone app. Today I spoke with company CEO Alex Iskold about the ways in which GetGlue both did and did not prepare for the explosive growth it has seen from its mobile efforts.
Platform Agnostic Flexibility
One of the smartest decisions the company made in preparing their mobile applications, says Iskold, was to build the apps using Appcelerator’s Titanium – open-source software for developing mobile and desktop apps using common Web languages. The company was able to quickly build its iPhone app using Javascript, which the Titanium software then took and built into the native app.
“We had initial concerns, like ‘will it perform well,’ or ‘what if it’s unstable,’ but it works very well,” Iskold told ReadWriteWeb. “It is a fantastic tool and they are an amazing team. We built the iPhone app in about one month using it, and it really saved a lot of time.”
GetGlue is just one of several notable clients using Titanium, including eBay, Yahoo!, MTV and Budweiser. Appcelerator’s VP of marketing Scott Schwarzhoff says GetGlue is a great example of how a young startup in a booming market can cover as much ground as possible with a strong mobile strategy.
“They are on the web and on the major devices that users care about with an application that offers an engaging, social, and fully native user experience,” Schwarzoff told ReadWriteWeb. “They are also innovating incredibly fast to respond to user feedback and to stay ahead in this hot space.”
Preparing for Unexpected Downtime
But as Iskold reiterates, the company was certainly caught off-guard by the explosive growth it saw following the launch of its iPhone app. GetGlue has been very pleased, he says, running an “end-to-end Amazon shop,” for its infrastructure. When the company’s iPhone app launched, it was running on 12 small-sized machines which were soon overwhelmed with traffic.
“We were able to swap the 12 small machines for 16 medium-sized ones in about 45 minutes, and that was absolutely critical,” he says. “You need to be ready to roll out more instances to scale your growth, because people are not as forgivable as they are with Twitter when you have downtime. It’s critical to respond to scaling quickly, and Amazon is a pretty excellent solution.”
It would seem obvious, but it is also imperative that startups have a clear picture of their traffic and usage metrics. This helps you gauge and measure load during specific times and perhaps make predictions about when a server upgrade is in order. As Iskold puts it, “if you fly blind, you’re gonna be burned.”
Scalability from the Start
He also suggest running several copies of database information simultaneously to ease the flow of data between your servers.
“Part of scalability is not just rolling out more machines. It’s also about how you patition your data. With SimpleDB we partition user data with heavy replication, making copies to optimize queries,” he says. “You can roll out more computers that support your service, site and queries, but eventually they are all querying your database, and if that’s not designed right it becomes a bottleneck.”
Whether it’s how you choose to build your database or how you develop your apps, it’s clear that preparing for the unexpected is a critical step for any startup. What precautions has your startup taken to prepare for the otherwise unexpected? Let us know in the comments below!