You're so excited. You have this great idea for an app, and you just know it's going to be big - the next TikTok, WhatsApp, or Facebook. So you find a developer and start designing a mobile app. You imagine creating an app that is purchased, downloaded, and used on a device like a phone or tablet (whether iOS or Android).
But wait. Have you considered that building a native app first is not the best approach? Are you working with a developer that will give you the real story and advise on best practices or stand by and let you make costly mistakes?
Before you hire a developer to build your million-dollar idea, you should have a grasp on the fundamentals of development. Specifically, what is the process to develop an app?
At the highest level, development cycles can be broken down into the following:
|Ideation||What problem are you trying to solve? How does your solution fill a gap in the market?||A detailed outline of the value proposition, intended audiences, and core features. Best practice: build out this information directly from your business case.|
|Scope||What is in scope for this project, and what's out of scope? What are the expected timelines, budget, and quality desired?||Budget and timeline with key milestones and a list of initial phases / functionality with stakeholder sign off.|
|Development||Execution - usually includes setting up hosting, in addition to front-end and back-end development.||Initial environment established.|
|Testing||Completion of manual and automated types of testing that include checking for both technical and user-generated bugs.||Testing logs and issues list. May also include an enhancement list for design issues.|
|Beta||Initial delivery of a fully tested application, typically to a defined set of users who agree to trial and help discover issues.||Beta environment.|
|Go Live||Full delivery of the application available for the intended consumers.||Live environment (sometimes called "gold" and usually given an official release version).|
|Phased or Planned Enhancements||What additional functionality needs to be added or modified? How do you address issues in a planned approach?||Budget and timeline for additional phases.|
Now, there are different methodologies used in development, such as agile that shorten the time to initial go-live and create more phases or iterations with enhancements. Refer to our article on agile development for more info.
The big takeaway here is that the ideation and scope phases are incredibly important to setting yourself up for success, as all downstream activity is guided by these two steps. If you make a bad decision in the scoping phase, you will have to sacrifice time, cost, and/or quality later on.
So you've defined the problem and designed an app with a clear value proposition. You're ready to move forward. What is the difference between building an app that's "native" versus "web-based", and does it really matter?
The short answer is, yes. The initial approach to developing your app will define how consumers can access and use your app.
A native-first approach means that you are asking your developer to work within the iOS and/or Android operating systems to create an app that can be downloaded directly on to a device (tablet or phone).
A web-first approach establishes a hosted web-based environment, with an app that is accessed via a website. It can be optimized for mobile use, meaning it recognizes and adjusts for differences in screen sizes. Essentially, you end up with an app that functions on a desktop, laptop, tablet, phone - any device with a web browser.
Why do we recommend a web-first approach?
1) Accessibility. Web apps are accessible by any device with a browser, therefore making it more accessible to consumers. Native apps limit access to specific mobile devices with that particular operating system (i.e. iPhone for iOS) and require the consumer to download to use. Starting with a native app only will automatically limit the audience. Likely, you will need both a web and a native app, so starting with web and expanding to native encompasses a larger audience from the start.
2) Portability. Web apps are more easily ported into native apps. First, it is easier to iterate upon a web app and make tweaks and updates before finalizing. Once the heavy lifting of initial development is done, it is relatively easy to create native versions with the web app always serving as the foundation.
3) Timeliness. It can take weeks if not months for an app on the iOS or Android platform to go through the approval cycle and be available in the store. Starting with a web app means that you can go live quicker, while waiting on the native app approvals.
Why is this a best practice?
Let's consider the top apps in 2020, as identified by Business of Apps. Of the top 10 most popular apps based on number of users, only 1 app is completely native (you have to access the content by downloading the app on a device), and all apps have a related website.
Snapchat is the only app that is completely native, and it is an example of an app that may make sense to be native-only. Snapchat requires video to work which is not enabled on all desktops or laptops. Similar apps, such as TikTok, do still have a web app version available through a browser, even if it does not have all of the capabilities of the native version.
You need a website anyway! It's important to note that whatever app you are building, it will likely operate in the context of a business which means you will want to have a related web presence (URL and website). If someone searches a web engine for your app, you will want your website to come up first. You will also likely want to link back to your website somewhere within your native app. If you need to build a web presence, why not start with a web app?
Remember why you started.
Developing and pursuing a new idea can be challenging, especially when it involves technology and transformation. The perfect image in your head will not translate directly and immediately into the app that you know will dazzle consumers and investors. The goal is not perfection, but rather useful function. When you get stuck, make decisions based on your why.
Measure twice, cut once.
Research in advance to understand the time, cost, and quality parameters and trade-offs for your business or project. Look for a development partner that will be transparent about your options and with enough experience to help you make the best decisions along the way.
A bend in the road is not the end of the road... unless you fail to make the turn.
Dreams are rarely realized overnight, and the most successful people worked very hard over a number of years and with multiple failures before getting it right. Understand what brings you back to center, and stay resilient on your path to success.
Are you launching a business that requires an app or custom software? Ready to get started on your next big idea? We are here to help.