Releasing My First App
February 15, 2016
Gone So Far
Well it feels pretty insane but I suppose that I can now call myself an iOS developer. Sure, it might just be independent work and sure I’ve been trying to get into this for a while now, but with an actual app to show for all my work, it feels a lot more real. Over the past month or so I’ve been burying my head in iOS development. It’s something that I’ve always wanted to do. Ever since the App Store launched, I wanted to be a part of it. I can finally say that I am.
My first ever app is called Gone So Far. It’s an app that allows you to quickly and easily view how far you’ve walked or ran on foot and compare that distance to other distance goals that you can set up.
The inspiration came when one day I wanted a better way to motivate myself to go on longer walks. I found that using the built in Health app on my iPhone was great because it allowed me to easily see how far I had gone in a given day. The problem was that just seeing a number wasn’t really making me feel like I had accomplished much. My solution to that was to do a little bit of math in my head. At the end of the day, I’d look at that number and say to myself, “Oh, I walked five and a half miles today. Cool! Well that’s like… walking one fifth of a marathon!” I found pretty quickly that comparing how far I had walked to other distances was a lot more motivating for me.
The issue with this system was that I had to always do the math in my head or pull out a calculator. Sure, with a distance like a marathon, not too bad. If I wanted to say, compare my distance for the year to the distance across the U.S. though, that was a bit harder to do. So that problem lead to the creation of this app.
With Gone So Far you can save multiple distances like a marathon or the distance across the U.S. and easily compare those to how far you’ve been walking. You can quickly switch between the distance you’ve travelled in that day, in the week, in the month, in the year, and even across all the data that’s stored on your iPhone. It’s also super easy to switch between using miles or kilometers as your distance unit.
I built in a feature that allows you to share your progress on any of your goals, based off the time frame you’re using. I’m hoping that the app itself, along with the share feature, helps to motivate other people to get out and walk just like it did for me. You can send it in an email, a text, or post it to social media. The post will say how far you’ve gone and include a picture of the progress you’ve made on your goal.
I’m really excited to put something that I made out there into the world and I hope that people enjoy it. I’m really looking forward to working on more projects like this in the future.
Notes on Swift
I read and followed along with an entire book on Objective-C iOS programming and sadly produced nothing from it. It just didn’t stick with me. Then came Swift. I remember watching the announcement of the language and thinking to myself, “Wait, they can just do that? They can just make a new language?” A lot of people were skeptical at first, myself included, but I think the language has grown massively, not only in popularity but in the trust that people have that it’s here to stay.
I had looked at a little bit of Swift in the past but I hadn’t had the time or the patience to dive in until now. I’m not sure what fueled me to jump on it, perhaps it was the new year urging me to make some changes. No matter the cause, I’m glad that I did. After searching around for tutorials in Swift I found a few good videos and a couple books and I slowly started to pick my way through them. Then, all of a sudden, I was reading one of the books like it was a good novel. I could hardly put the thing down. I was following along, connecting my previous programming knowledge with the new language, and following some tutorial projects along the way. Before I knew it, I had a working TableView based app.
It took me a little while but eventually I felt confident enough to take what I had learned and apply it to my own project. I adapted the same concepts I had been using, learned some new ones, and kept reading tutorials. I have found Swift to be so amazingly nice to work with so far. The readability is just wonderful and I think really played a big role in my ability to understand the language. I’m excited to see how it evolves over time.
To anyone who’s been wanting to try their hand at iOS development, including those who had trouble learning in the past, I encourage you to try learning now with Swift. I know first hand how hard it can be to learn a programming language. I still have a ton to learn myself. I also know how rewarding it feels to actually make something, though. I definitely want everyone to get the chance to feel that sort of pride.