What We’ve Learned about Mobile Development since the iPhone’s Launch

10 years ago, Steve Jobs introduced a new device that would revolutionize Apple’s revenue stream, and completely changed how developers thought about developing software. While it’s taken a while to truly mature that market, and for marketers and product managers to understand how to tailor experiences to mobile devices, it’s also taken just as long for developers to adapt the opportunities and limitations posed by smartphones and tablets.

What have we learned in Canadian digital agencies about building mobile apps in that time?

Android and iOS are THE Platforms

While Windows CE and BlackBerry OS were the operating systems of choice when the iPhone was introduced, since that time they have completely fallen by the wayside. BlackBerry has stopped designing its own hardware, licensing that task to TCL instead. Microsoft has also stepped back from the mobile market after taking multiple stabs with Windows Phone 7 and Windows Phone 8. Windows 10 is great for laptops and desktops now, but there’s no equivalent for mobile devices, and one of the renaissances to happen at Microsoft over the past three years was a realization that it’s better to develop cross-platform software rather than worry about being the platform of choice for users.

Multi-platform from Day One is Essential

A lot of startups can afford to target a specific segment, and within that segment only the dominant platform. They tend to think, or find, that it’s easier to build one app for one platform in order to help validate their idea, and then to go from there. We don’t necessarily agree with this approach, but we understand the thought process behind it. Test, iterate, test, iterate, perfect, then expand. Lather. Rinse. Repeat.

Businesses don’t typically have that luxury, especially in bring-your-own-device environments, which describes the majority in small and medium businesses in 2017. Even where mobile device management (MDM) tech is deployed, most people bring whatever smartphone they own to work and use that, instead of something issued by the business.

Building a multi-platform app is really critical from here on out. It’s the best way to maintain feature parity, ensuring each feature developed is built for both platforms right away. It also drastically reduces costs, building a single app for both Android and iOS rather than individual apps for each platform. And because you have cut your costs, time to develop, and you’re maintaining feature parity, you will have a much higher success of keeping your sanity in check! ;) Managing a mobile app development project can be overwhelming the first time, so everything you can do to reduce your stress should be taken into account.

Multi-Platform Tools are Robust, and Maturing

As recently as two years ago, the tools for building multi-platform apps were, in a word, unsatisfactory. You weren’t actually building mobile apps. You were really building mobile-first web apps, that were wrapped in a binary so that they could be distributed through the App Store and Play Store. Steve Jobs once thought this was the way things would be done, as did Facebook’s Mark Zuckerberg. For better or worse, we simply haven’t reached a point where web applications run as well as native apps do, so we continue to build native apps because they are better in every way.

Thankfully Facebook recognized this, and began to build a Javascript-based framework called React which, as they put it, lets you “compose a rich mobile UI from declarative components.” What does that mean? It means the days of having to build native apps for the two major mobile operating systems, Android and iOS, are over thanks to the mobile app implementation, called React Native.

With React, or specifically React Native, you’re not building a mobile web app, or an HTML5 app, or a hybrid app. You’re building a mobile app for both iOS and Android as if you had one team building an iOS app using Objective-C or Swift, and another team building an Android app using Java. But you don’t need two teams anymore, or wildly different skillsets for both platforms. We’re using React Native in a way that lets small teams of two or three build complex mobile apps in a fraction of the time it used to take.

The team at Xamarin has done something similar with C#. Their suite of tools, acquired by Microsoft a few years ago, compiles C# down to native apps as well.

Chances are you have an older app that’s not working all that well anymore. Maybe you had a team build v1 quickly, using Cordova/PhoneGap, but you want it to do more. React Native can do more. If you want to visualize data, collect and display data, integrate other systems, take photos, share to social media, geolocate, and so on, mobile development frameworks are capable of doing all that, and then some! Mobile app development has come a long way in just two years, and it continues to get better everyday.

Derek E. Silva is a consultant at Olio Digital Labs, where businesses go to get some of the best web and mobile apps planned, designed, and built.