Shipping Early
I have encountered a bucketload of shipping problems with my products, some didn’t even make it out, others didn’t work out, because I postponed my release date for too long. It was a mess that cost me two years of my life. So to prevent this from happening to other people, I’m going to teach you how to ship early and avoid delaying your chosen release date.
Write a Boilerplate
In actuality if you are good enough programmer, you can finish your app in less or about a week. You don’t even have to work on it 24/7, all you have to do is use boilerplates. When I mean a boilerplate I don’t mean the templates you can choose from your IDE’s (like in Xcode). I mean simple “layout” for your app. No huge design changes, just the absolute basics. For me, I was making a task manager for the iPhone, so beforehand, I prepared a boilerplate. The boilerplate was simple, all it had was UITableViewController with Core Data. You could add tasks with a title and a due date, then edit or view them in a DetailViewController. It was simple and all I needed. It took me about a couple of hours to make and fix incoming bugs. Technically, after this my product was finished, all I had to do was make it look pretty.
Design afterwards
This is important, when you are writing your boilerplate, you have to discipline yourself not to make any design changes, or any other changes for that matter. The boilerplate is your codebase, if you postpone the creation of the codebase by injecting all sorts of design code, then you are essentially postponing your product. Only apply your design after the code is done, because that’s the most important component of your app.
Tip: To apply your design code faster, use DB5. It stores all your colors, numbers, fonts and more in a plist, so if your designer has to make quick changes, all he/she has to do is edit the plist. It’s simple and saves a lot of time. I strongly advise it.
Don’t Iterate!
To drive the point through, do not iterate. If you come by a cool new feature or a cool new design for your app near the last stages of development, write them down for later. Don’t iterate at such a vital stage. Your priority is to ship your app, make the changes in the second version of your app if you are serious. In the software business everything changes rapidly, if you want to keep up then you have to show what you got now, not after two years. Now.
I wrote a simple quick note app boilerplate. Take a look. https://github.com/yshchan/Nemo