So I had spent some time thinking about my product vision and assessing my product idea, but I now had to work out how to best a develop a basic mobile app. I’d been dreading this moment since I don’t have a a development background. Where to start? Which operating system to start off with? Best to do the development myself or to hire a developer instead? All these questions (and more) raced through my head as I starting think about actually developing an app.
Once I had calmed down, I started breaking it down as follows:
- What’s the operating system I want to start off with? – Thinking about whether to go for an iOS (Apple) operating system or Android, or both, I decided on concentrating on iOS first. The key reason for this decision was purely because of my familiarity with Apple and its operating system. My simple thinking was that I could always add an Android app further down the line.
- What’s the device to start off with? Also, I briefly thought about doing a tablet version but then decided against this. The main rationale for this decision was twofold. Firstly, my gut feeling was that the smartphone as a device lends itself really well to HipHopListings’ central proposition; a comprehensive list of all Hip Hop gigs and releases accessible wherever you are. Users can check their app or receive concert alerts on the go. Secondly, FOCUS. I really had to force myself to keep it as simple as possible. Starting with a ‘channel’ that seems a good fit (i.e. the iPhone) and not wanting to try and do too much at once were key lessons that I learned at an early stage of this process.
- How can I release the app within a short space of time (and a limited budget) – One thing I was certain about: I didn’t want to spend 6 months developing an app and then spend another month submitting the app with Apple’s App Store. My goal was to create something simple, launch and get real-time feedback. The question was whether it would make sense to either develop a basic myself or to hire a dev / use an existing app generation platform. I looked at the pros and cons of developing something myself (see Fig. 1 below) and I asked experienced developers on Quora for their thoughts and advice. Also, I looked at courses on app development that I could do as well as at existing app generation platforms that I could utilise.
- What “smart steps” can I take? – Well, the first step I decided on was to create a basic app through an app building platform called “AppMakr”. Through this platform I could convert my HipHopListings Tumblr feed into an iOS app, without having to design and develop too much functionality. This step was be free and relatively easy to do. Taking that first step of deciding on a tool and starting to play with it was a big and important step for me. I reckoned that, if anything, it would give me more insight into what I realistically could develop and launch within a short space of time (see Fig. 2 below).
Main learning point: I have to admit, starting to think about development felt like a slightly scary step. Of course, this is something that I do most days as part of my job. However, as this concerned my own app, it felt different. Thinking about actually implementing my product vision, creating a ‘MVP’ really helped in getting me to start considering constraints, key features and – most importantly- forced me to focus.
Fig. 1 – Pros and cons of developing a basic iPhone app myself
- It would be good to learn a programming language, even at the most basic level
- Learning a bit about coding might help me more in understanding more about the ‘pain’ that developers sometimes feel and the day-to-day challenges they encounter
- Developing an app myself will give me more control going forward over possible design changes or functionality improvements
- It’s probably cheaper to develop something myself
- I can imagine that I’d derive great personal satisfaction from developing my own app
- It could take me while to master the basics of the programming language required to build an iPhone app (i.e. Objective-C)
- Is it necessary to spend the time learning the language to create what is in fact a very basic app (my ‘MVP’ would effectively consist of two lists)
- If I were to develop beyond my initial ‘MVP’ (e.g. by adding more features), I’d most probably have to turn to a professional developer anyway
- Knowing myself, there’s a great risk of getting incredibly frustrated (with myself) when my app development is not going ‘according to plan’
Fig. 2 – What do I want?
- Being able to publish the app under the HipHopListings ‘brand’
- Offer the app as a free download in the App Store
- Create an ad-free app
- Having mobile analytics set up to monitor performance
- Be able to send push notifications (alerts) through my app
- Be able to add functionality over time (e.g. the ability to filter concert info by location)
- A flexible design that I can change or add to, based on real-time user feedback
Related links for further learning: