We’ve built a lot of apps at UpShift, from small prototypes to complex systems involving multiple apps and services.

Creating apps - the common term for software that carries out tasks that can run on your phone, computer or server - is exciting, rewarding - and complicated!

We have regular conversations with people who have an idea for an app (or two).

So - what’s involved in making that idea into reality?


The Elephant (Apphant?) in the Room

Properly developing custom software requires the expertise, resources, and time of an experienced team, which equals money.

Most of the popular apps you have on your phone cost millions, or even billions, of dollars to create and operate.

Professional app development requires people with complementary skills, qualifications and talents. The UpShift team averages around 15 years of experience in our industry, we’re constantly upskilling, and we’re committed to using the best tools to do the best job.

While it’s possible to create a prototype or simple web app for under NZD$15k, a more involved product will most likely be upwards of $50k, and some of the more complex projects we’ve worked on have cost over $200k.


Elephants Also Require Feeding

Once an app is up and running it will normally require money to operate. This could be as little as a small hosting or service fee, or as much as employing people to manage the content and user community. As an example, our Park My Spaceship app is a passion project we made for fun, but when it goes viral (which happens occasionally) it can cost thousands of dollars a month to run due to the application programming interface (API) service fees for Google Maps and geolocation services.

There may also be ongoing development/ support costs as standards and services change over time. For example, Google regularly makes changes to its ecosystem, impacting the apps that connect with it (most of them).

If your app becomes wildly popular - do you have a way of funding the ongoing costs?


Does a Similar App Already Exist?

Many great ideas have already become apps. This results in two common scenarios:

  1. A company or organisation is looking for an app for their business systems, but haven’t found anything that exactly meets their requirements.
  2. A user believes they can create something better than an existing app, either in direct competition, or to cover a niche currently missed.

The first scenario is relatively straightforward, as the return on investment (ROI) for the app’s value to the business can at least be estimated. For example, if the app digitises a manual system and is expected to cut staff time by 50 hours per week, how much will the business save on that staff time? Compare that figure to the app costs.

The ROI for the second scenario is normally far more difficult to calculate. For commercial apps, it requires estimating a realistic audience size and how much each audience member is worth to you. For non-profit, educational (or passion project) apps the value is more complex again.

Fortunately, the online ecosystem allows multiple services and systems to be connected via APIs or intermediary services like Zapier to build an app-like experience, process or system that may meet enough of your requirements to work. The downside of this approach is complexity and reliability - relying on a web of interdependent third-party systems probably isn’t going to work well for business-critical applications or an experience you’d like to sell to others.


Sixteen Different Flavours of App

Did I say sixteen? Luckily we can categorise apps into three broad categories:


Web App

A web app is software that runs through a web browser. Over the past decade, the technology in modern browsers has enabled complex applications to be developed and delivered via the web - blurring the line between websites and apps.

Pros:

  • Easier to develop than other types of app.
  • Can run on any device with a modern web browser

Cons:

  • Cannot easily access some device hardware - i.e. camera, location services
  • Cannot easily access some device functionality - i.e. phone notifications
  • Cannot easily be installed on a mobile phone or desktop. 


Native Apps

A native app is software that is built for a specific device operating system. The most common for desktop are Windows, OSX for Apple computers, and Linux. For mobile, it’s generally Android or iOS for Apple devices.

The good news is that there are frameworks that allow for cross-platform development. The not-so-good news is additional custom work is normally required on every operating system to get it accepted to an app store, deployed and working correctly.

Pros:

  • Generally a better user experience than web apps
  • Access to device hardware - i.e. camera, location services
  • Access to device functionality - i.e. phone notifications
  • Can be installed directly onto devices


Cons:

  • Harder to develop than web apps
  • A separate app is needed for each operating system/ platform
  • Separate apps may need (some) separate development
  • Separate apps need separate testing and deployment


Hybrid Apps

A hybrid app can be installed on a device like a native app, but it contains web app functionality or web content (like web pages). The main advantage of this approach is content can be managed from a single website or web app but appear in multiple apps on multiple devices.

Pros:

  • Easier to develop than a full native app in some situations.
  • Rich content is often far easier to display via embedded web content.
  • Can use existing parts of web app.

Cons:

  • Still requires separate development for each platform.
  • Device hardware and functionality is still limited in the web components.
  • User experience can feel clunky as app switches between native and web content/functionality.

 

What Lies Beneath

Behind most mobile and desktop apps, there is a “back end” running on servers. This is a separate application (or applications) that takes care of any requirements to authenticate users, store data, or provide interactivity between users.

In some cases, apps may not need a back end, or can use a cheap or free service. However, this generally only applies to apps that use static data that is updated by the owner.

However, often the back end will require its own custom development, adding to the time and budget required to get your app off the ground.


People Are More Important Than Technology

You might by now be thinking that the development of tech is the biggest challenge facing an app. While it takes skills, time and money, software development is mostly relatively straightforward. As long as the scope is defined at the beginning, and any changes that occur during the project are managed well, getting to the finished product is a fairly smooth process.

Therefore, one of the main challenges for the success of an app is its audience. This may not be an issue if the app is an internal business tool, but if it relies on the public becoming users - especially engaged or active ones - now is a good time to plan how to achieve critical mass.

A simple way to gauge engagement is to look at the number of your social media contacts vs the number who’ve posted something recently. From observing behaviour in online communities I’ve got a theory called the 10% rule of community engagement where the depth of engagement drops off across an audience in roughly 10% steps.

If an audience is required and you’re starting from scratch then as much thought should be put into the branding, communication and marketing sides of the business as the development. Even with an existing smaller audience to build from, it may be a challenge to build the audience to a point where your business model becomes profitable or viable.


Fake It ‘til You Make It

All of this might feel a bit overwhelming, but there is a good way to take the first few steps to test your ideas, without the investment of a production-ready app.

Prototyping involves creating an experience that mimics important parts of your app. A prototype can act as the basis for future app development, or it can be completely standalone. Depending on complexity, a prototype can sometimes be built in a few days rather than the weeks or months required for a production-level app.

We highly recommend prototyping and I’ve written this post about taking a prototype through to an FDA approved medical app.


Collect Your Thoughts

So there you have it! Creating an app - and launching it - is exciting, rewarding, and involves many steps. It’s like a Transformer - from idea to app takes more than meets the eye!

If you’d like to talk further about turning your app idea into reality please drop us a line here

 

Photo by Airam Dato-on