Skip to main content
Business LibreTexts

7.5: Creating an app

  • Page ID
    41680
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Do you REALLY need one?

    We’ve already looked at why you might not want to use an app and what kind of value you need to be able to offer your consumer. Before you decide to make one, ignore all the people telling you that an app is a basic necessity. Think about the following:

    • Can you define in one sentence what you want your app to accomplish?
    • What problem does your app solve? How can your app make things better for your user?
    • What can you give your consumer that they can’t get from another app?
    • Does your target market download and use apps? Will they use your app?
    • Do you have enough engaging content to keep them coming back?
    Note

    Read more about responsive websites in the Web development and design chapter.

    • Will it help you sell a lot more products/services?
    • How much are you willing to invest? Remember, apps are expensive. Could you get by with just a responsive website?

    Planning

    Once you’ve decided that you really do need an app, it’s time to get into the process of planning it.

    Choosing a platform

    Before you even choose an app developer, you need to know what operating system you’ll be developing for. Developing for multiple operating systems (OS) at a time can get expensive; so many companies start with one and then expand if the app is a success. Generally, this involves doing market research to find out what kind of OS your users are most likely to use. The most common, of course, are Android and iOS.

    This research is important, if you build your app for the wrong OS, you’re failing before you even start. For example, the iPhone is very common in developed markets like the USA, but Android is far more popular in developing markets and is in fact gaining market share from Apple.

    These days, Android has the largest market share, but there is an argument to be made for developing for iOS first. Take a look at these pros and cons (Savvy Apps Blog, 2016).

    Table 7.5.1
      Android iOS
    Audience demographics Large platform share, common in developing nations and areas with lower income Tend to have a higher income and spend more per app. Can show more engagement
    Revenue More ad-supported apps More paid-for apps
    OS version U Users don’t adopt new OS releases quickly Users adopt new versions quickly
    Features Similar to iOS, but can involve more features Similar, but fewer features

    Start by finding out which platform your target users are most likely to be on. After that, consider the other elements.

    User stories

    Before you hire an app developer, you should have a one-sentence description of what you want your app to accomplish. From that, you will consider what kind of features your app will include. However, that alone is not enough to let your developers know what you want the end product to look like. The solution: User stories. A user story is a brief, simple description of one of the features of your app. This should be told by the point of view of your user, the person who wants to use that feature. They look like this:

    As a [user type/customer persona], I want to [goal/objective – what they want to do] so that [reason/benefit/value].

    This will cover who you are building the feature for, what the feature is, and why you’re building it. For example:

    As a food lover, I want to pull up restaurant reviews so that I can choose the best place to eat.

    As a hungry person, I want to find directions to the nearest restaurant so that I can eat right now.

    Note

    For mobile, you may also want to consider where and when your users are using the app. Your user story would then include a where/ when element.

    As someone who loves cooking, I want to find recipes for my favourite restaurant food so I can make it myself at home.

    Write as many user stories for your app as you can and give them to your app developer. This will help them create exactly the app you want.

    Timing

    Developing an app can take at least three tosix months, depending on the complexities involved. The back end tends to take longer than the front end to develop (see below). Timing can be impacted by, among other things:

    • budget
    • intention (is this a long-term or a small campaign-specific app?)
    • number of features
    • size of the team.

    Android apps can take longer to develop than iOS apps. Make sure you keep this in mind when you decide on a desired completion date for your app.

    Front-and back-end

    Think about the UX process and what the app (front-end) will look like before development starts. After you have working prototypes, you can think about what kind of information you need from your users (back-end).

    Front-end development involves:

    • Mock ups and wireframing
    • Prototyping
    • Designing and developing the user interface
    • Remote data access
    • Data caching (storing data locally)
    • App data synchronisation so that the app can be accessed offline
    • Testing
    • Deployment.
    clipboard_e9995d3618034aa4b074530d2d9adda14.png
    Figure \(\PageIndex{1}\): A low fidelity wireframe for an iPhone App for Harvest Adapted From Design Reviver, 2010
    clipboard_ee17e584d4f7b89d9253786f070c9b052.png
    Figure \(\PageIndex{2}\): The actual Harvest App Adapted From Anthony Armendariz, n.d.

    Back-end development involves:

    • Secure data access over network.
    • Database management (including user data and other types of data), user accounts and authentication.
    • Scaling your database to handle increasing numbers of users and avoid crashing from overload.
    • Customising the user experience and how the user goes through the application (relevant to UX design).
    • Data integration, how users share information to third-party websites.
    • Sending data to front-end devices (push notifications).

    Front- and back-end developers need to collaborate because they need to interface with the servers to send and receive data to and from the servers, which happens when they begin implementing the app’s functionality.

    Testing

    App creation should be an iterative process. As the app is being developed, each element should be evaluated and improved as far as possible meaning you prototype something, test it, get feedback, and send it back to the developers to implement improvements. Even after the app is released, the process continues as feedback from users comes in. Remember, your app is a product or at the very least a consumer touchpoint that needs to be managed.

    clipboard_ee0d9f7fa9ddf7580ef8f20032eca68ce.png
    Figure \(\PageIndex{3}\): The iterative app development process

    Before launch, you will need to run usability tests, quality assurance testing, and beta testing when a sample of your intended audience tries out the app.


    This page titled 7.5: Creating an app is shared under a CC BY-NC-SA 3.0 license and was authored, remixed, and/or curated by Rob Stokes via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.