I want to stress at this point that the code is far from perfect.
As it turned out, writing the code is truthfully much less than half the battle. Consider this but maybe don't use it as a lesson in how to launch a mobile app :)
This was as much a learning exercise in Angular JS and Ionic in particular, as it was in launching a full blown modern mobile app using Symfony for the back end, and all the fun of listing in the Google Play Store, and Apple's App Store.
I blogged about a number of problems, challenges, and unexpected outcomes during the course of development. Sometimes you just have to slug it out, accept it is very, very unlikely to be perfect in its first, second, or even third iteration, and launch it anyway.
Perhaps nothing will ever come close to the goose bumps of listening to the Apollo 11 launch countdown, but I can tell you that launching your own product / app / service is pretty darn nerve wracking.
Ok, so if your launch fails, (hopefully) no one is going to be put in real danger, but it's still scary - putting what has been a labour of love out there onto the big, wide Internet for all to see, downloaded, and ultimately judge.
If you're doing this correctly, I would strongly suggest maintaining a mailing list of potential customers / leads ahead of time, priming the list with quality content, building anticipation for the launch of your new product or service. Because otherwise, things may... disappoint.
I did none of these things.
Frankly, I was spending so much time in the part I enjoy the most (the creation of software) that I completely neglected the business development side of things.
In 2015, let me tell you, simply building stuff just isn't enough.
I had no idea what kind of reception to expect. It was truly a blind launch.
I knew from the 2015 Apple WWDC conference that the App Store has done over 100 Billion total app downloads. That's apparently 850 apps downloaded every second. If I could just get a small slither of that, well, I'd be moving the Code Review offices to the Bahamas.
In truth however, the numbers were not the main reason I built Tweethours - much like everything I do, the technology / build stage fascinates and consumes me. Once it's built, I get a little bored and am usually itching to move on to the Next Big Thing.
I'm really rocketting home with this Apollo program metaphor, but stick with me because I'm nearly done.
The final cost of project Apollo was reported to Congress as $25.4 billion in 1973. Now, as we all know, $25.4 billion is a short term AdWords campaign in 2015.
I didn't try AdWords. Instead, I focussed on Twitter. After all, that's exactly who this app was built for.
I tweeted out at various times - predominantly to match the hours that were on the app. This yeiled a grand total of three sales.
Yes, three. 3. A thumb, and index, and a middle finger's worth.
Looking at TweetHours as a money making opportunity was never truly a goal of mine. Therefore, it's hardly surprising that it didn't make money.
Factor in the Apple developer license at $99 a year, the $25 Google Play Store license, the weeks of effort and bug fixing, oh, and the £1100 Macbook / OSX platform you must have if you want to release on Apple... and I'm a fair way off making my money back :)
However, the experience has been invaluable.
From a business perspective, it has opened up quite a number of new sales enquiries which I really hadn't expected.
And on a personal note, aside from the admin parts of adding my app to the respective stores, the development experience was new and enjoyable.
The big question for me is - well, was the whole exercise worthwhile?
I have to say yes, but with a big caveat.
I know from first hand experience that it's very easy for developers to fall in to "if you build it, they will come" trap.
Let me tell you - this is nonsense.
You have to market. In fact, I would say, marketing in a situation like this is 70% of the fight.
And let me give you an even more invaluable piece of advice I wish I had been given a number of years ago - and hey, maybe I was, but I just recognise it for what it was worth - identify a real problem with real paying customers BEFORE you build anything.
I don't want this to be entirely about business - but I did say back at the start of this series that I would be covering the business side of this app launch just as much as the code / software side.
It's a hard pill to swallow as a developer. In many ways, I reckon if I had outsourced the development, my time would have better spent (for the purposes of this app) in promotion, building a mailing list, and talking to customers, rather than simply building something and launching blindly.
But then I wouldn't have gained the skills or had the enjoyment of doing so.
Sometimes you have to shoot for the moon, even if there's a very big chance you aren't going to make it.
If you have found this video helpful, please consider sharing. I really appreciate it.
|1||Preview of The App||02:17|
|2||TweetHours Extended App Preview and Build Demo||08:56|
|3||Ionic Contact Form Demo with Behat 3 Testing the Back-End||13:51|
|4||Mobile App Front End Behaviour Driven Development (BDD) with Jasmine and Karma||21:36|
|5||From Fake To Real Data on Back End and Front||23:04|
|6||Ionic Contact Form with Symfony2 and Angular Validations||05:44|
|7||The Moon Shot (Or How Not To Launch A Mobile App in 2015)||12:04|
|8||Commangular and TweetHours - Part 1 - Updating our Chosen Hours||07:23|
|9||Preparing TweetHours for Native Local Notifications||11:47|
|10||Displaying Local Notifications in Ionic||11:20|