How to be a Mobile-First Startup: Adopting an API-First Approach for Developing Apps
You’d think that a pizza company wouldn’t be a poster child for digital transformation, but that’s exactly what Domino’s Pizza is - one of the first to debut an app that lets you order through your smartwatch or Tweet and track your order on your mobile device.
But 20 years ago, it was the butt of jokes and biting customer reviews on social media, with its stock dropping by almost 90%. If necessity is the mother of invention, their laggard state and bad rep in the early 2000s forced the company to rewrite its 60-year-old recipes and rethink the way it does business.
Domino’s “Oh yes we did” was more than just an ad tagline - it was a public mea culpa, one that made them meet innovation with optimism rather than cynicism. Today, Domino’s prides itself as the largest pizza company based on global retail sales, and at one time even carving a bigger piece of the stock market pie than Google, Facebook, Apple and Amazon.
Its secret sauce? Going mobile-first.
A mobile-first strategy isn’t just for enterprises
Domino’s story was a model for many enterprises, but in today’s era of the cloud and tech-savvy, privacy-aware customers, it now applies to businesses of any size. Any startup and scaleup worth its salt understand that being mobile-friendly is now the default. Users across the world are spending an average of 4 hours per day on mobile apps. Among companies that develop at least three kinds of applications, 91% of them are mobile apps. By 2024, there will be 3.6 billion digital banking users.
Startup founders, entrepreneurs, and creators can carve a niche from the opportunities that the mobile space brings. The rule of a successful thumb is to be where your customers are and deliver value upfront - wherever and whenever they want.
A 'mobile-first' strategy - whether as a SaaS B2B startup or a customer-facing brand - is an opportunity to employ digital- and cloud-native approaches across the startup’s technology portfolio. As a startup, that means using mobile-enabled technologies to provide your products and services and deliver compelling digital customer experiences. Adopting a mobile-driven approach also transforms the level of abstraction in technologies so you can recalibrate them outside their traditional silos.
It’s also way to future-proof your startup. This means treating the mobile platform as a distinct channel that paves the way to modernize or upgrade your technological capabilities as you scale or grow your customer base. By looking at your 'mobile readiness', for example, you can identify which parts of the underlying architecture, back-end components, or Application Programming Interfaces (APIs) need to be revamped or updated.
A mobile-first strategy also creates opportunities by addressing new or rapidly changing business needs. COVID-19 forced many companies across the world to rethink its strategies when dealing with unknowns, and compelled them to use more mobile devices and expand their touchpoints.
Implementing a mobile-first strategy requires aligning your business goals with technologies
A mobile-first approach involves key technical considerations, each of which have their own pros and cons. Here are major approaches you can consider for development:
- Native apps. Native mobile apps are purpose-built for specific OSs, using native programming languages and tools (i.e., Java and Kotlin for Android, Objective-C and Swift for iOS). They’re made to function on specific environments and access device-native APIs. Native apps are all optimised for specific platforms. Developers can take advantage of built-in features and directly access the device’s hardware (e.g., camera, Bluetooth, GPS, etc.). This results in faster and more responsive performance.
- Hybrid-Native Apps. Hybrid-native apps are built over cross-platform codebases and frameworks (e.g., Flutter, React Native). This framework can customize the app to multiple OSs, and the app logic would be similar across all platforms. This helps save time and resources, as this significantly reduces the need to create new or unique UI/UX elements for each device.
- Hybrid-Web Apps. These are websites embedded in a mobile app. They are developed through web technologies but hosted in app shells (e.g., Apache Cordova, Ionic, PhoneGap). These apps are embedded with fullscreen browsers and use plugins to access APIs. Hybrid-web frameworks also enable you to build apps for multiple platforms (Android, iOS, web, desktop) from a single codebase.
- Progressive web apps (PWAs). Progressive Web Apps (PWAs) are also built using web technologies - they’re essentially websites that deliver a 'native' mobile app experience. They also use web or browser APIs to access hardware. PWAs relies on web frameworks (e.g., Angular, React); service workers (to enable the app to be available offline); and WebAPK (so it can be installed on Android and iOS devices).
Mobile apps have also unique architectural considerations. Implementing these will vary, depending on the development approach:
- App patterns (this will depend on development stack and community standards or best practices)
- Device runtime
- Application and UI frameworks
- API, plugin and Software Development Kit (SDK) management
- Deployment
Startups can also employ various approaches depending on business requirements needed to bring an app’s functionality to life. For example, adopting a service-oriented architecture - where software components become reusable through interfaces that use communication protocols - helps simplify the connection between legacy systems. Conversely, API-based infrastructure enables mobile apps to integrate with legacy systems.
When choosing the development approach and tech stack, take these into account:
- Business need. This also affects the app requirements - what devices it’ll run on, the network connections, user experience (UX), and your go-to-market plan.
- Scalability and compatibility. Ensure the compatibility of the tools and technologies with ones that are already used (or plan to use in the future).
- Scope and complexity. This includes the amount of UI elements; how the app connects to the device, front end, and back end; and how to implement the app’s features.
- Security and privacy. You can set up your own, but there are also built-in security features and third-party solutions you can use to securely handle or process sensitive data.
- Timeline. There are different programming languages and development frameworks that bring similar results but may require more tools to implement and time to learn.
- Maintenance. Some technologies require long-term maintenance and investment. Some frameworks may not keep up with the company’s time to market. Others will have cheaper costs as you can work on a single codebase for multiple platforms.
Mobile-first also means API-first, multiplatform, and cloud-native
Supporting a mobile-enabled and multiplatform experience entails microservices and an API-first infrastructure. These address the need to extend your services beyond websites and apps and into other platforms and devices like HomePod, Alexa, or other mobile and Internet of Things (IoT) devices.
An API-based architecture decouples the front and back ends. Systems are designed around APIs, and the front and back ends communicate via APIs. This means the digital product (the
front end) communicates to the same endpoint that the website and other platforms connect to (if they would need the same back end). This helps ensure a consistent cross-platform experience.
Why do you need to be API-first? You don’t have to reinvent the wheel. Plugging your services to another platform (whether a mobile app, an Alexa device, chatbot, or any 'as-a-service' model) is fairly easy, as the logic can be deployed via APIs.
Maintenance costs are also significantly lower, as you only have to maintain the same set of APIs. Even if you already have systems that are up and running (and not multiplatform-ready), you can still use an API-based architecture to deliver a cross-platform experience.
To successfully adopt an API-first approach, however, you need to be cloud-native. This involves implementing a microservices-based architecture and Kubernetes (K8s) deployment. This is especially true for apps with many functional elements and complex business logic.
An efficient way to move to microservices is to put them into containers. A microservice’s dependencies, libraries, components, and logic are encapsulated in a container, and then deployed. Docker is the most popular platform for containerizing apps.
The app also needs resources to run and connect to other cloud-based services. You need to consistently monitor, test, and manage them. Kubernetes automates these tasks. Kubernetes is an open-source container orchestrator that manages the functionalities needed to deploy, operate, and maintain or update the containerised apps.
Containers and Kubernetes gives your app scalability. Each service can be scaled up or down depending on business need, and without significant impact to the entire app. They also free you from vendor lock-ins. Developers can use any tech stack they see fit. Each service can use its own language, framework, and toolkits while still communicating via APIs. You can add features or upgrades without overhauling the entire app, so development and deployment life cycles are shorter. This results to faster time to market.
Being mobile-first isn’t just about technology
Strategic ambitions can run headlong against a reality for most startups: that the pace of idea and technology unfolds too fast for a startup’s structure, processes, and people to keep up. A startup’s ability and willingness - or lack thereof - to find balance between them will determine the success, failure, or abandonment of those ambitions.
A mobile-first approach is a practical starting point for startups to embark on their journey to be a disruptive innovation. Today’s market is more competitive than ever: Customers are challenging businesses to deliver more value upfront, wherever and whenever they want to. Likewise, new technologies are testing the capacity and capability of companies to deliver these values. Their synergy requires startup founders and their team to have a deep understanding of the organisation’s ecosystem to be able to adopt suitable technologies and development approaches.
If you want to learn more about how startups and enterprises can implement a mobile-first strategy for their digital product, read our practical playbook on developing and modernising mobile apps. We cover mobile app development technologies, architectures, and platforms, ensuring security and privacy, and case studies for Wilson Parking and HL Insurance.