Making the transition from web development to mobile app development is a tricky one. There are a number of challenges, some of which are discussed below, associated with mobile development that may come as a surprise to those from a web background. Let's look at how to work around them:
- Web is a more mature platform. There's no getting around it: the libraries available to mobile app developers are not as standardized or robust as their web counterparts. For example, there is nothing nearly as mature as JQuery on mobile. When you want to deviate from very standard iOS/Android patterns, you'll end up running into a lot of bugs, and you'll do that without as large a community to fall back on for help. Additionally, whilst almost all webpages involve the standard HTML, Javascript, DOM, etc, there is no equivalent for mobile apps. This results in a much greater ramp-up time. Most developers can become competent web programmers in a few weeks. The process of bringing an app to life will take months to learn and years to master, and even those “masters” are still learning and establishing new patterns. This means that any changes to the app code can cause headaches. Freeing up developer time by allowing marketers and/or product managers the ability to run their various messaging campaigns or A/B tests through a dashboard is even more valuable in the mobile app space.
- In mobile you must consider your offline users. It's pretty simple really: you can't assume your users are online. Mobile connections are unreliable, so it is important that your entire framework works in the presence of bad network connections e.g. 3G, GPRS, offline in tunnel, offline on planes, etc. Swrve helps with this particular issue by caching events, A/B testing, and user data to send when the user gets back a reliable connection. Making sure the app works and reports on offline user behavior is essential to understanding usage patterns and optimizing conversion. How are you going to make sure the offline experience is consistent with the online? If you are running an A/B test its important to make sure the user is always getting the treatment they are part of.
- Users interact with apps differently. First-time user experience is significantly more important with an app than with web. Our latest report showed that (for freemium apps) 19% of users only open an app once. You have to make sure your first time user experience is as optimized as possible, and you are utilizing a smart re-engagement strategy with the right resources (for example, push notifications). Optimizing the user’s first time experience is essential to raising retention rates as well as engagement, which ultimately, leads to monetization. Some things we recommend that our customers A/B test include the number of screens within a specific process, calls to action, the number and level of barriers to entry - pretty much anything that could get in the way of engaging with the app. If the initial experience isn't sticky enough, on the web there are a number different ways of getting users back to your webpage (think re-targeting etc). In mobile apps, push notifications are pretty much the only game in town. Understanding the power and limitations of this medium is important in shaping your push notification strategy. Personalize the message as much as possible. And send segmented messages to the right users at the right time: mindlessly blasting out a push to everyone at once feels spammy and has diminishing returns.
- App developers have to deal with a much longer release cycle. Web teams are used to making small fast iterations, but mobile makes that challenging. Every release needs to be resubmitted to the iTunes/Google Play stores, resulting in many apps (understandably) executing changes in bulk. At Swrve our team spends lots of time convincing our customers to be brave and make changes - some will work, some will fail, but you'll be able to learn more about your user base and ultimately give them a better experience. Once an app build has been integrated with Swrve, you can run A/B tests, in-app messages, and push campaigns without needing to resubmit. On web you can push anything you like live to 100% of your user base in seconds. We aim to re-create that situation on mobile - rather than spending weeks to get a release approved and then waiting for that release to roll out to all users’ devices.
Swrve has helped some of the world’s leading mobile app companies understand the intricacies of creating and maintaining successful apps. If you'd like to join them, get in touch!