iOS Architecture Patterns for Large-Scale Development, part 3: UI architecture approach
Oct 07, 2020 • 10 min read
Oct 07, 2020 • 10 min read
Many retailers face a tough decision: should their mobile retail shopping app support Android or iOS? They feel their limited resources cannot be stretched to build and support both platforms, so they often pick just one. Some retailers may have already committed to one platform, but are unsure if they made the right choice. Others have not yet developed on either platform, and are exploring options for their first mobile shopping app. Using our past experience working with large retailers, we believe that to maximize revenue from mobile, companies need a presence on both Android and iOS in order to avoid losing the opportunities that each platform provides.
This article will explore the options available for retailers with only one app or no native mobile app at all. We will show you why supporting both platforms is the only choice, and how using a cross-platform development tool like Flutter, provides the resources to support both platforms at 55% of the cost.
Our research shows that any retailer interested in keeping up in the current, competitive omnichannel environment needs a mobile presence. The number of retailer mobile apps actively used by consumers has doubled in 2018, from an average of two apps per phone to four. According to studies:
What about relying on a mobile website instead of a native app? Let's look at the data:
Users no longer consider the mobile web as a viable alternative as 90% of mobile usage time is spent in apps. The mobile web does not seem as responsive to user inputs as a native app. For the user, a native app is a much more immersive experience. For the retailer, a native app offers a superior branding opportunity. Clearly, not having a mobile retail presence is a costly mistake for any retailer. Your customer expects the convenience of mobile shopping, and the responsive performance of a native app.
Both platforms have plenty to offer. Internally, there may be discussions about whether marketers should target heavy spenders among iOS users, or whether they should cater to Android users, who continue to outnumber iOS users 7-1?
The decision will depend on many factors, such as your app category or your target audience. In some regions and demographics, Android dominates, while in other areas, iOS dominates. It is important to prioritize your targets and tactics based on the audience you want to engage.
According to IDC, Android phones have 86% of the global market share as of 2017, while Apple iOS has only 12%. The other 2% is split amongst all other mobile operating systems.
Statistics show that Android users spend slightly more time interacting in the app than iOS users do. In the case of retail shopping apps, Android users spend an average of 6.6 minutes vs. the 5.6 minutes iOS users spend.
So, given the high lead in market share, Android seems like the logical choice for your first app, right? Not so fast...
It is generally accepted that iOS users are more profitable for retailers than Android users. Figures released by Google and compiled by Benedict Evans provide some hard data on just how big that gap is.
“Google Android users in total are spending around half as much on apps on more than twice the user base, and hence app ARPU (Average revenue per user) on Android is roughly a quarter of iOS.”
A study in 2014 shows that the median iPhone app user earns $85,000 per year, which is 40% more than the median Android phone user, with an annual income of $61,000. Even though Android has far more downloads than iOS, iPhone users spend twice as much on their phone than their Android counterparts. Another study of small retail purchases found that on average, Android users spent $11.54 per transaction. iPhone users, on the other hand, spent $32.94. Independent research indicates that the perception that iOS users are the “Big Spender” platform is more than a stereotype -- It’s an observation supported by facts.
Impressive engagement rates suggest that iOS users offer better value for money than their Android counterparts. So obviously iOS development is more cost effective than Android, right? Well, there is still more to consider...
The physical location of your target audience can make a large difference in the type of platform used. The figure below concentrates on one app, Facebook, showing the popularity (monthly active users) of the platforms in various regions. On the far right is the global user base. Note that iOS is favored in regions with large amounts of disposable income. Android sees high usage in lower income areas of developed markets. In emerging markets, Android extends its lead even further.
The demographics and income profiles of the target region can also have a significant impact on the choice of platform the retailer chooses to concentrate. User age, gender, education and other factors not covered here may also impact the platform choice. The decision process can become quite complex with no conclusive answer.
To maximize revenue from mobile, companies need a presence on both Android and iOS to avoid losing the opportunities that each platform provides. We have seen that Android downloads far exceed iOS downloads. We have also seen that the iOS purchase value exceeds that of Android. To further complicate matters, target regions and other demographics matter. Even the type of purchase may favor one platform over the other, so the most ideal solution is to develop apps for both platforms.
Recall that the reason we were forced to choose between the two platforms in the first place was to control development and support costs. Two apps, one for each platform, will cost twice as much as developing one app, says conventional thinking. We are glad to report that this is no longer the case. Cross-platform development tools, specifically Google’s Flutter, have come of age.
Flutter is an excellent cross-platform development framework. The initial investment in app development using the Flutter framework will yield applications for both platforms with native app performance.
Flutter offers the strong support and backing of Google with a highly-attractive UI and excellent native performance. Once the developer is up-to-speed using the Dart programming environment, development time is faster than any alternatives.
To learn more about Flutter and its advantages over other cross-platform development tools like Iconic or React Native, check out our blogpost Why Flutter should be your next mobile development framework
Developing in Flutter will yield an app for both platforms with the same resource cost as building for a single platform. We estimate that it is 55% cheaper to use Flutter as your development platform than using Swift and Kotlin. Code is only written once for both apps. Also, from our experience developing in native and cross-platform applications, we estimate developing with Flutter is about 10% more resource efficient than the native languages.
Already have one platform app developed? Using a cross-platform tool still makes sense. Using Flutter for developing your second app will incur the same development resources as developing using a native language, possibly slightly less. However, both applications will now use common code, saving future costs for maintenance and upgrades. Consistency of look and feel between the two apps will also have a positive effect on corporate branding.
The days of choosing between Android or iOS has long past. It is now a requirement to support both platforms. Ignoring either platform has direct negative consequences on your revenue stream. Fortunately, the days of having to choose platforms based on development costs are behind us. The Flutter development tool can build a cross-platform application for both Android and iOS with the same performance as development based on native application language for the same cost as a single platform. The cost savings extends to app maintenance as well. Contact Grid Dynamics for further information or a quote for us to build out or update your mobile application portfolio.