So I was hoping to be done last week (before I got back to work) however, I wasn’t. Its started and I’m really far along though! Just starting and blogging about it was definitely a motivator, so I’m blogging about its progress again to keep myself on track.
TLDR: I learned to use a prototyping tool for iOS development. I’m hoping to have a working prototype next week.
What challenges did I run into building the app that quickly?
Surprisingly, at least to me, it was design! The reason I say that is because as a long time web developer I am used to prototyping web application ideas by simply throwing a backend together and then pages that basically have the functionality I need, but no real layout. Since its a web app. I usually have content and links. Making updates to it to eventually bring the design and user experience in – isn’t very difficult.
However, this way of working fell apart very quickly with iOS.
I couldn’t just throw data on the page and create a link to the next page. I had to consider how the data was being presented. I also had to consider how the transition from one page to another occurred. With a webpage, its a link. That’s it. With iOS, I could be in a navigation controller like Mail, I could bring up a modal window, or I could even animate and flip the screen like a Weather app. These decisions had to be made up front otherwise it was going to be harder and harder to change later – harder = time = expensive.
So I stepped back and started laying out the application in a prototyping tool. I started using Storyboards right in iOS. They were ok, but the process wasn’t creative enough. It wasn’t free flowing and building and running seemed time consuming.
I eventually settled on AppCooker.
AppCooker worked really well for me. Its an iPad app that lets you build out an entire iOS application and run through it. I can create clickable zones, choose transitions and I can try navigational constructs cheaply and throw them away if they don’t work. The best part is I can send the tappable prototype to someone. All they have to do is download AppTaster from the app store and try it out.
Once I had a working tappable prototype it made it much easier to build it out in Xcode. This was a big lesson learned for me for iOS development. I’ve used prototyping before on web development projects, but I haven’t always had to start there. I feel like its a mandatory starting point for iOS.
When am I going to show this thing off?
Soon! As soon as I have a working prototype I will make a video and walk through it – posting that here for you to see.