While mobility has permeated the enterprise, we are just beginning to fully tap its potential to drive business value, both externally with customers and other stakeholders, as well as internally for employee engagement and productivity. Despite business-level industry dialogue about the strategic importance of going mobile, many enterprise developers struggle to deliver mobile apps fast enough.
Today’s fragmented device landscape, with multiple operating systems and form factors (not to mention the constant stream of updates from the device platform vendors as they compete for market share), makes releasing up-to-date apps across all platforms in today’s BYOD landscape a constant challenge.
(Related: The mobile app development debate)
In addition, while many developers struggle to find a scalable development solution for tablets and phones, the industry is quickly moving to new device categories such as wearables, in-car apps and in-home devices. How do developers keep up and stay relevant?
We are fortunate to be working with hundreds of thousands of mobile developers. Looking across our developer community, it is clear that with the right approach, developers can easily and efficiently deliver on the business-changing promise of mobility, truly transforming customer relationships and business processes through the unique capabilities of these always-with-us, highly contextual devices.
Here’s how the best enterprise app developers approach the mobile challenge:
1. Don’t settle for anything less than a native app experience
Delivering a fast, stable, native user experience matters more on mobile. Users are less forgiving of a mediocre mobile app experience than they are on a desktop. Tech analysts at Compuware discovered that up to 90% of users will delete an app after using it once if they don’t find immediate value.
Many enterprises opt for getting an app out fast and cutting corners on the user experience, especially for employee apps. They’ll employ write once, run anywhere frameworks that deliver sluggish apps that are inconsistent with each platform’s human interface guidelines. Employees and consumers expect apps to work well on their device, so developers should not settle for non-native experiences. If you don’t deliver an engaging and beautiful app that your customers or employees love to use, your app will wind up in the app graveyard.
2. Reuse, reuse, reuse (your code)
Seek out efficiencies in code writing, but don’t sacrifice the user experience. It is possible for your developer teams to share app UIs, data access layers and business logic and still deliver native user experiences. As you move to a multi-app strategy, you should create reusable components that can be consumed in multiple apps. This will help ensure a consistent user experience (i.e., authentication on one app behaves the same on another app) and significantly increase development velocity.
3. Develop with mobile-first in mind
A mobile-first development strategy sounds like a no-brainer. But there are still droves of developers who’ve spent their entire lives in PC-mode who, even today, disregard the unique, contextually rich capabilities of mobile devices, like sensors, cameras or GPS. By doing so, you miss an incredible opportunity to not just mobilize your customer relationships and business processes but to transform them.
Amazon, for example, takes advantage of smartphone features really well with its Price Check app. The app lets you scan the barcodes of items you find at brick-and-mortar stores, and then performs an instant price check against Amazon’s inventory. It’s incredibly convenient for consumers, but it’s even better for Amazon. Now, Amazon can essentially crowdsource pricing intelligence with location-specific granularity, since they know where you are.
4. Test early, and often
Mobile is highly fragmented: In the United States alone, a business needs to test on 134 devices to ensure 80% market-share coverage, and according to Open Signal’s latest report, there are more than 18,000 unique Android devices in use.
With the proliferation of mobile form factors and frequent OS updates, many mobile teams feel overwhelmed at the prospect of testing all features on all devices before each release. These developers then resort to manually testing on a handful of devices and hope for the best. In a recent survey, 71% of our customers said that mobile quality was very important or mission-critical to the success of their app, yet the majority only tested 20 or fewer devices. An automated cross-platform testing process—one that makes it easy to test apps on hundreds of devices—is essential to any mobile development work.
Building the app is just the first step. Ensuring that the app looks, performs and behaves well on the devices your users use will determine the app’s success.
5. Don’t work in a silo
When you’re trying to launch a mobile product, what’s the first thing you should do? Too often I see customers begin by hiring an iOS developer to build an iPhone app, then hire an Android developer, and eventually they find themselves with siloed mobile teams that don’t talk to each other. This means multiple codebases, duplicate assets, and extra teams to manage. With an efficient approach that considers your objectives holistically, all of your mobile developers can work together to create a cohesive experience across all platforms.
As mobile becomes strategic, developers often hold their company’s future in their code. Highly effective mobile app developers focus on user experience, think uniformly about the all the factors that go into the success of an app, and build now with an eye toward the future.
Steve Hall is Xamarin’s Director of Enterprise Mobility, and provides guidance and best practices for implementing mission-critical mobile solutions in the enterprise. He has more than 15 years of mobile experience that covers enterprise mobile architecture, security and development.