Weather to ride — An Ionic app retrospective

Earlier this year (2017 for any future people) I designed, built and released my first application onto the Appstore. It’s been something I’ve been wanting to do for years but between work commitments and lacking drive to really learn Swift or Objective C I’ve never quite got around to it. There’s been many ideas in that time, all million dollar ideas of course, but most have been quite daunting and not knowing where to start has been a real blocker. I felt that 10 years of Frontend Development hadn’t quite prepared me to tackle a full application on my own.

This year though something clicked. I was not having a particularly good experience at work but in that time I’d started to realise that maybe I could do more. Instead of looking at the things I couldn’t do or wasn’t as good at, I should look at what I could do. For too long I had started projects and not finished them. Now was the time to commit. I decided to take the smallest of my ideas, one that would actually make a difference to my daily life and build a prototype.

Weather to ride was born from my daily commutes to work on my bike. I rode along a river and sometimes the commute home would be horrific. The wind would driving directly into my face and it would feel like I was getting nowhere. I just needed an app to quickly let me know what the conditions would be when I heading home so I could decide to cycle in. With the goal of the app now sorted and of course the best name ever (who doesn’t love a good pun) I was ready to design and build a prototype.

The app

I converted those early wireframes straight into a design. This had to be one of the hardest parts. Years ago I classed myself as a designer but since then I’ve been conditioned to only do development and let the designers do their stuff. Breaking out of that cycle and getting confidence to put my own work out there again was difficult. I decided to again keep the design quick and simple. It was under a days work to wireframe and design one main page for the app. Time to build a prototype.

Hybrid app frameworks had been getting increasingly getting more buzz and these felt like a good fit for the skills I already possessed. I’d had a few days worth of experience of Ionic 1 previous to Weather to ride and at the time realised it was perfect for a Frontend Developer with desires of grander things. Ionic 2 Beta had since been released and with it came an avalanche of guides from developers such as Josh Morony. These guides and the documentation helped immensely but my primary goal was to stick with stuff I could do and release on iOS quick.

I chose the Dark Sky API as that was free and straightforward to use and focused on getting data relevant to me displayed in the app. As soon as that worked I was on a roll. I was making small increments to add new features and designing in the browser as I went. Working with Ionic meant that I could debug, design and build in the same ways that I do on the web. I was at home and flying. It only took a few days (albeit scattered across a few weeks) to get the app feature complete. There were a few stumbling blocks such as trying and failing to get Local Notifications working but these were either skipped or overcome quickly. Features such as saving your location were easily solved with local storage and accessing the google maps api.

Ionic also made getting a demo sent out to people easy with their Ionic View app. However as soon as I started using some Cordova plugins I needed to step it up. This is where Ionic steps away and we enter the world of iOS deployments. I spent a full day trying to wrap my head around provisioning profiles, certifications and getting a dev license but eventually I was able to send my app out to people through Hockey. Hockey is a great tool for distributing beta apps. It doesn’t have the same approval process as apple so it’s hours quicker to release updates. However you still need to make sure your app is built correctly through Xcode which I found tricky the first few times I did it.

After stumbling through the Apple submission process, I’d finally got there. My app was ready for release. I set a low price and sent out a few emails and tweets to cyclists and friends I thought may be interested. I built a website (http://weathertoride.io) and submitted my app and website to a few sites and galleries. I felt extremely proud to finally have something out there which was completely my own.

Afterthoughts

I’ve really enjoyed working on Weather to ride and I’m still proud that it’s on the App Store. I got a new job shortly after releasing it and the app certainly helped me in getting that job. The new job has definitely meant that I’ve slowed down work on Weather to ride and put features on the back burner.

Over the past couple of months my interest in the app had waned slightly. Sales were only trickling in and I’d stopped marketing it, then out of the blue I received a tweet. A random guy was asking about an Android version of the app. Suddenly I felt revitalised. People are interested, even if it’s only one or two. People want something I’ve made. That Android version should be coming soon and thank you to @willforsyth on Twitter for giving me a kick up the arse I needed to get it sorted.

In the pipeline

  • Android release
  • Routes
  • Notifications

Some lessons I have learnt

  • Prototype fast and get to an MVP asap
  • Without the correct marketing you will find it very hard to get users
  • Reach out to people — the Ionic community is awesome (special thanks to David Frahm for advice)
  • Redefine what success means to you — instead of awards and becoming a best seller, I chose “releasing a product that works”. (I still want those things but I’m happy at the moment)
  • Finishing a project is hard but totally worth it

You can find more info about the app on the Weather to ride website, twitter, or head to the Weather to ride app store page

A Frontend Developer and Product Designer living on Earth

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store