The first thing you need to do when building an app, is knowing what app you’re going to build! There are a few questions you need to ask yourself when thinking about what to build, and from those you should come out with a very rough idea of what your app is going to do. So this weeks post is talking through those questions I asked myself and how I came to my answer.
What problem am I trying to solve?
Firstly, an app is generally trying to improve an experience for a user and enable them to do things they couldn’t previously do before without putting in more effort. Think of ride hail apps, we could always get a taxi, but finding one wasn’t as convenient previously and there are a number of advantages introduced through the use of apps.
For me, I am trying to solve a problem not totally related to an end user, but to myself. By creating this app I am aiming to improve my knowledge of iOS development, and also improve my writing and presentation skills.
What can I do to fix this problem?
Once you’ve identified a problem or something you’d like to improve, you need to come up with a solution on how to resolve this. For me, my problem was I wanted to improve my knowledge of iOS development, so I therefor have decided that I will attempt to build an app from scratch, and document that process by writing this blog and posting videos about my experiences on TikTok. By building the application, hopefully I’ll be exposed to new technologies, tools and processes that I wasn’t previously familiar with, and will give me a good end-to-end experience of app delivery.
That means for me the app functionality itself is not too important, because I am totally focused on learning for myself, and so therefor I’m not looking to come up with a world-changing idea that will earn me my millions so I can retire early and live on a private island. Simply learning and improving my knowledge will be my end goal (although a private island does sound nice!).
What extra constraints are there to the app?
Before undertaking a project, it’s important to think about constraints that will either influence the way you build the project, or things that you specifically want to get out of building the app. When I was considering starting a side project, my main goal was actually to improve my knowledge so that I feel more confident in my professional career. That means that for me to improve, I need to challenge myself. Therefor the app I’m going to build has to be something that will technically challenge me, and force me to learn new things. Relating to this point, I feel it’s important for me to have a personal interest in the app that I will build. If I myself would be an end user, it’s much easier for me to think about what features I want to see in the application. It also gives me another end goal when building the application, which is that it will eventually become useful to me and so I want to see that it is built!
Formulating the idea
So the main question has then come. What experience have I had recently that I wish could have been easier? For me, at the beginning of the year, I like to start planning my upcoming travel. This involves me liaising with friends and family about suitable dates, searching online for suitable destinations, take into account how many vacation days I have from my company, and all sorts of other constraints. When I was just trying to chat about it with friends in a bunch of different WhatsApp group chats, I realised I wish I had a place where I could more easily keep track of these things. That has then lead me to the answer that I want to build an app that will help me plan my travel for the year!
What features and considerations will help make this app useful?
After you’ve got a general idea of what overall experience you are trying to improve, I find it’s good to then just list out a bunch of questions that will lead you to thinking of features to include in your app. For me, I jotted down a really quick list of questions I’d ask myself when planning a holiday.
- How many days holiday have I got?
- What is the cost?
- Who can go when?
- Where have I been before?
- How to spread the holiday evenly throughout the year?
- Making the most of cheaper travel times
Until next week
After simply asking the previous questions, you should have some small idea of what you want to build, even if you yet can’t visualise how that would look for a user. In next weeks post, we will start to visualise how we can answer some of the questions I’ve listed above, and then then begin to create a basic application that will start to tackle those requirements!