Micro Focus is now part of OpenText. Learn more >

You are here

You are here

Lessons learned: 3 leading companies share mobile app success stories

public://pictures/Christopher-Null-CEO-Null-Media.png
Christopher Null Freelance writer
 

Today's mobile app development teams are responsive, deep-in-the-weeds technical, and seriously innovative. They have to be if they want to stay competitive. With a smart approach to development, even non-technical companies can transform their cultures for mobile app success, while traditionally technical enterprises can operate like The Borg.

Of course, it's not all caped crusaders and digital dance hall days. Mobile app development challenges can take the form of a variety of mundane or complex problems, including:

  • Coding issues
  • Data-scaling obstacles
  • Problems assembling the right team
  • Financial challenges
  • Lack of optimized APIs

Consumers get the best end of the deal when teams overcome these kinds of challenges with creative solutions. Here are three companies that did just that.

1. Opera

Problem: Challenges in scaling development to manage disparate device standards

Solution: Dove way below the surface into Android's base-level code and expanded its capability to handle all types of traffic

The Opera Mini mobile web browser grew up into Opera Max after a nine-month birthing process that began in 2013. By February 2014, developers were in Barcelona, proudly cutting the cord on their new baby. Their biggest challenge was to overcome the limitations of the Android operating system they were hoping to interact with.

"In order to scale, you need a technical way of accessing data to reroute it from the app on a user's device to the operations center and back to the phone," says Opera Max Head of Product, Sergey Lossev. "Using VPN technology baked into the Android OS, our biggest challenge was to create a data path that was consumer grade."

Opera Max's superpower is to save smartphone users bandwidth (and money) on their data plans by compressing the data their apps use—particularly image- and video-based apps like Instagram, Vine, and YouTube—when going about their normal business. One of the hurdles Lossev's team had to get past was the technical warning users get when apps access third-party services. Android's VPN technology made it easier to crack the code and make the app more accessible to a broader consumer base.

But the natural progress of the Internet's primary communications protocol created another barrier. "Most cost-conscious smartphone users are in emerging markets," Lossev says. "A lot of carriers in US-shipped phones had started using IPv6, but Android only worked with IPv4 traffic, so it would break." To solve that problem, the Opera development team created a selector switch that allows the user to tell their carrier to use IPv4 or IPv6, or whether or not a hybrid is acceptable.

The Opera team also encountered a big post-development hurdle. "When users go to the data usage settings on their Android devices, they get a list of apps and a statement of how much data each one uses," Lossev explains. But Android gets confused and attributes all usage of other apps that route through the VPN to Opera Max. In other words, the user sees that, for example, the other apps used 1 MB of data and the VPN app used 1 GB of data. Since Opera's value proposition is to save app users money on their data plans, it looks as if they aren't delivering on that promise.

"We actually did save you 450 MB, it's just that Android is mislabeling usage of Max to show total usage on the device," he says.

To fix the issue, Opera Max developers jacked into Android's VPN subsystem code at the Linux level with KitKat and Lollipop and tweaked the code, then integrated that into the OS for each OEM along with a second binary of complementary improvements. This package works at the gut level of Android, using Linux IP tables and modified TUN/TAP drivers.

With all that done, the Opera Max team was able to bring its app to market. Lossev says he was surprised by how easy it was to partner with OEMs for Opera's distribution, even though standing out as an Android app maker is a real challenge in 2015. To differentiate itself from the competition, the Opera team partnered with its OEMs to create an OS Data Saver feature for Android and packaged its own technical improvements into Android's VPN functionality. This now loads with the Google Play version of Opera Max and allows companies such as Samsung and Xiaomi to offer the combination as a core feature.

2. Expedia

Problem: Maintaining a competitive development velocity

Solution: Started with a ground-level development of APIs to facilitate the speed of future development, then created a coding system allowing all teams worldwide to work from a single code base

Expedia pioneered a mobile app for the travel industry in 2011. A typical early adopter, the company first had to build the tools it was going to use to design its app.

"People were just starting to book travel on their phones," says Jerald Singh, head of mobile product and design at Expedia, "but none of the APIs were optimized for mobile. It's an inherent part of mobile development and one of the key optimizations we had to make." Step one involved building a new stack of APIs for use by internal teams, as well as by partners. Doing this has allowed the Expedia team to develop an app that delivers results with the speed required in the mobile world.

Of course, not all app development hurdles are external. Dev teams can often create their own challenges internally.

Last year, while updating its tablet app, Expedia encountered a new user experience challenge when it decided to incorporate a single search box for all the bookings a user might want access to. The Expedia development team wanted to beef up design on the tablet because it had found that tablet owners tend to log in for fewer sessions of longer duration, whereas smartphone users log in frequently in short bursts.

"We wanted to build an experience that was simple to use but engaging," Singh says. "The search box would allow you to type in your destination, then in the background we would trigger hotel and flight search at the same time based on the user's location and show them the results."

The app tested well, Singh says, but the search box confused users. Accustomed to years of using the web for travel needs, they still wanted to select their own travel products in a piecemeal fashion. So the Expedia team ultimately changed the design to look more like a traditional search box. The improvement was noticeable in the number of positive reviews that followed.

For Expedia, the smoothest part of the operation was how well Singh's teams—located in San Francisco, Minneapolis, and India—were able to work from a single code base. Were it not for the ubiquity of the cloud, there would have been quite a few more rocky paths to travel down.

"We had multiple people touching similar parts of the code and we got really good at communication," he says. As a result, it kept development velocity going full throttle.

3. Capital One

Problem: Providing a human-like user experience at scale

Solution: Migrated from a SOAP-based architecture to a REST-based architecture to enable dynamic content delivery

Capital One started development on its flagship mobile app in March 2014 and quickly redefined how people relate to their money at the financial institution.

Toby Russell, managing vice president of digital at Capital One, says, "You might not imagine someone in the financial services industry building an agile development shop, but that's essentially what we did."

Capital One managed to overcome three separate but severe challenges:

  • Authentication: Ensuring security in electronic banking is paramount
  • Humanizing information: Using dynamic animation, the Capital One app tries to deliver information in such a way that the user's experience is as close to interacting with real human beings as possible
  • Architecture restructuring: The company moved from a web-based, server-side information-delivery system to an app-based, client-side system

"How do you bring to the foreground actionable knowledge while keeping the app functional and humanizing the experience?" Russell asks. He says it was important for the app to deliver information to the user in such a way that it was like interacting with a real person.

The answer came in the form of dynamic animation (both text and graphics) to greet users when they log into the app. Then developers went one step further by showing the user a customized message related to their accounts, such as a clickable message at the top of the design interface that might read, "It looks like your credit card bill is due. Want to pay it now?" "Humanization was something we thought was important, so we're trying to help technology stay true to that critical, human aspect of managing your money," Russell says.

To make this happen, Capital One found it needed to move from a SOAP-based architecture to a REST-based system to facilitate the type of humanized experience it was going after. That included building out a stack of APIs and creating middleware that acted as a data path for the information consumers were most interested in regarding their financial accounts.

"We had to re-architect ourselves," Russell says, as Capital One moved toward the cloud. The challenge was to make the app service-oriented, not just information rich.

For Russell, the surprise was how swiftly Capital One was able to roll out its first generation of code to reach millions of personal finance app users. Essentially, the Capital One dev team was able to go from standing in a bank lobby doing research to delivering a near-human experience through a digital drive-through window, all at scale.

Final thoughts

Mobile app success isn't all about design. To scale functionality in order to keep users engaged, dev teams must rely on smart architecture, create sustainable data pathways, and keep internal communication systems to a minimum. What happens behind the scenes, in the shadows, and around corners is just as important to an app's success as anything on the face of a user's device.

Keep learning

Read more articles about: App Dev & TestingApp Dev