– Paul Surette
Editor’s Note: This post was published in the third issue of the Appville magazine. This story is not about how a developer made millions on the App store. I am sure you see a lot of that elsewhere. This is about a Father, Husband who is also a cyclist, who had an idea for an app and how he went about developing it and getting it live on the App store.
I hope this inspires you to take your ideas and execute on them. Nothing will happen unless you do.
Paul: I’m an avid cyclist. That is, I try to get out on the road when I can, but I’m fair weathered as well. I don’t like the cold when riding. Living in Ontario, Canada, my riding season ends around October. I’m also a certified indoor cycle instructor. When I would teach my classes, I would use my iPhone and create a set list for each class. In the lyrics section, I would make notes of motivational cues, tips, etc. There they would be, when a song played, the information I entered was right in front of me.
However, I also needed a piece of paper that had my class profile. That is, a list of movements and intervals that I would instruct in my class. I was also never good at remembering my timing on the analog clock in the room. I would time certain interval’s using the second hand, but as soon as I looked elsewhere, I’d lose my spot and my time. I thought, there had to be a better way.
I searched the App Store and didn’t find much, the ones I saw didn’t fit my needs, and to be quite frank, they were ugly and very confusing to use. This began the birth of myCycleClass.
I never, ever, programmed an app for iOS, let alone anything in Objective-C. I didn’t even know what that was. I heard of C, C++, C#, etc. My background is a computer programmer, but it’s not what my real job entails. I worked on Visual Basic, Cobol and very little C. With a strong programming foundation, I set out to try and create this app.
Once I signed up, paid my $99 to Apple for a developer “license” I began and downloaded XCode. The intimidation level set in as soon as I opened XCode and began to wonder how to do something as simply and the obligatory “Hello World” program. It was clear I was in over my head, and that maybe this wasn’t a good idea. But I didn’t give up. I purchased a few books, beginners’ guides to iOS 5, and set out working through them. It wasn’t long for my love of programming to come back and the passion re-unite.
I read and read, watched as many tutorials as I could, and set out to begin this task of myCycleClass. It was clear that I needed a cool interface. I’m also a professional photographer, and know Photoshop pretty well when it comes to editing pictures, creating buttons, backgrounds, etc. The list of things that I needed to do kept piling up and I’m only one person. Principal programmer, graphic designer, and marketer were the roles that began to show themselves during this process.
I decided I would leave the graphics to the end. Worry about the code, was my mission. I created my app using the default Table Views and Buttons and I would work on one piece of the puzzle at a time. As I did more work, it was clear, I needed to store “things” so now I had to learn CoreData. Again graphics were pushed to the bottom of the pile.
Once I buttoned down CoreData, TableViews, ViewControllers, etc. I began to work on the graphics. I tried to use Photoshop to create something simple, but it was very frustrating, and off I went to research more. I found a few websites that offered “free” graphics, but they were often too small, or wasn’t the look I was looking for, and also felt like a compromise. I wanted this to be a professional looking app, I wanted it to stand out in the App Store as best as it could.
Especially for a single developer with limited time to code and do graphic design. As a father of two young boys, and a very supportive wife, my time spent coding was on my commute to work, and the odd time at home after the kiddies are in bed, for an hour or two. It’s hard to gain any momentum only working on your app a few hours a day, and not contiguous hours at that.
I would say myCycleClass was in development for close to a year from the time I signed up to the time it launched in the App Store. As the time piled up and more and more code was written, I would always stop and look into the graphics. I finally found App Design Vault. At first it appeared to be my savior, my saving grace, the final piece of the puzzle. I bought a template that I thought I wanted my app to look like.
Once I bought my first template, the level of intimidation rose again. What do I do now with these? Where do they go, how do I make my app pretty like the sample? More and more work went into figure this out. How hard can it be? Thankfully, there was sample code supplied, and this helped. Finally I have graphics. What a relief! Then it dawned on me; the code wasn’t working with the graphics. I was trying to program everything and I didn’t think how something can be accomplished with a proper flow and proper graphics.
I soon realized that “Problem A” can be resolved with the proper View Controller layout and graphics. It was amazing, like a light bulb went off. I can solve a lot of these little issues I’m having by re-designing my user interface. I finally got to the point of no return and finished my app. I liked it, I didn’t love it. I wanted to unleash it to the masses to see if there is any interest in it. Once the app hit the App Store, I always told my friends, I’ll be happy if I sell one copy, to a customer, not friends or family. And I did. I sold one, then ten, and retirement here I come.
Seriously, I was very happy to come from knowing nothing about developing apps for iOS to have an app for sale. It was a very long journey, and I learned a lot.
Here is the GUI for v1.0 of myCycleClass that hit the App Store.
This is the main screen. There are five “screens” on the bottom, that you swipe, left to right to get to them. However, in practice this proved to be a challenge, especially if your iPhone/iPod has drops of sweat on it, or your hands are sweaty. Touch screen doesn’t work very well when wet. So I had to re-design.
Like I said earlier, I like the above design, it’s clean and simple, but it’s not practical. I know I could do better. I needed to love the design to truly be proud of it. I also needed to rework the bottom “Swiping” section.
MyCycleClass v2 was born. At first I thought it would be a minor overhaul, but it wasn’t. Every piece of code was looked at again, and after doing a major re-design, a lot of code was no longer needed, as good design replaced code. App Design Vault kept releasing amazing templates that all seemed to work for me. But it wasn’t until Radiojive was released, that I finally found the missing piece. Since myCycleClass is primarily a music player, I needed amazing media controls. Radiojive finally had them. I began to re-work and re-think the UI. It had to be better.
Radiojive has truly opened up this app, makes it easier to us, it’s more fun to use, and it’s nice to look at.
When I designed my second app myGasTank, I did the GUI and layout first, before anything was written, and it made the process so much better.
The lesson I learned from a beginner are simple: Keep the UI simple, and clean. Resolving coding issues is possible with good UI. Never, ever use a UITableViewController in your app, using UITableView in a View Controller offers much better flexibility. Pay attention to your graphics to make your app stand out.