I’m deep into NaNoWriMo for the 2nd year at present. It’s designed to get you to forget about reasons why you can’t write a novel length piece of fiction (well 50,000 words anyway, a short novel!) and just get you writing with abandon for the month of November. It’s great fun, and it works. Seeing that relentless slope add 1667 words to where you should be every day is a great motivator. No one expects the 50,000, or more, words that you will have in Scrivener on the 1st December will be something that can be published. No, what you will have will be a chunk of a story that you can add to, edit like blazes, and maybe at some point in the future, have something good. NaNoWriMo is a kick-starter.
I was thinking recently that it would be useful to have a month to focus on doing an app from start to finish. I’ve dabbled with development for ages, without knuckling down and getting something done. I’ve decided to do it in December. Take 31 days and use my spare time to do an iPhone app that I want for myself. I floated the idea on Twitter and a few people seemed interested in doing something themselves. Of course I’m doing an iPhone app, but there is no reason that any other sort of app couldn’t be done. A Macintosh app, a Windows Phone 7 app, an Android app, a web app, or an app for whatever platform you like.
I know what my App will be. I want it for when I’m travelling. None of the iPhone travel apps do this one task the way I want it to work. Or if they do, they link to web services where you need to have an account etc. And all the other features of the web service and app, that I just don’t want, get in the way. Keep it simple! So the goal of NaAppDevMo for me is to provide a rigid timeframe and a structure within which I can get this basic app done.
Like in NaNoWriMo you are not going to produce an app that will make you a fortune, or maybe even make it to the App Store. But what it might give you is the confidence that you can take a concept for an App from design, through to running on your device (or in a simulator). This will hopefully show you that it is possible for you to do App development. Even if it’s just as a hobby and for fun. And if your App is useful you can spend time over the next few months maybe refining it and releasing it for others to use.
To do NaNoWriMo successfully most people need to do some planning up front, so that they have scenes and ideas ready to write about at the start of November. The same would be true for NaAppDevMo. Some planning would be useful. Outlining what the App you are going to design and produce should do would be a good start. I’d say keep it simple and do an app that performs one task really well. I’d make it a real task though. One that you would find useful yourself.
There is a Twitter hashtag #NaAppDevMo that you can use to post status updates if you are going to participate, or just follow it to see how others are getting on. There won’t be a website like the one there is for NaNoWriMo. Post blog posts on your own site, updates on Twitter, or on FaceBook about your progress.
Here are some pointers to resources for iOS development that you may find useful if just starting out. These are just a small sample of the resources out on the web for new iOS programmers. Post others you think would be useful on Twitter using the #NaAppDevMo tag. Post any you think would be useful for other platforms as well if you are targeting them.
Beginner iOS Development Tutorials
There are some great looking new iOS 5 development tutorials on the iOS Apprentice site. These are epic length tutorials that take you from start to a finished app. So a great resource if you are just starting out with iOS development. The 1st tutorial in the series is free. It’d be well worth doing the 3 that are available now before doing your own app in December. The tutorials cover the new iOS 5 additions that you will want to use. Like ARC, so you don’t have to do manual memory management, and Storyboards to allow you to design the workflow of your app.
Stanford University have a complete series of lectures on iTunesU for their course CS 193P iPhone Application Development. The current series of lectures is being posted as they are available. They cover iOS 5.
For iPhone app design the book Tapworthy by Josh Clark is a very good resource. Apple have some great user interface design sessions available on iTunesU. You have to be a member of the Apple Developer Program to access these. I’m not sure if they are available to people with the free membership. If you are doing iOS dev then the paid option is useful if you want to run your apps on physical devices to test. It’s $99 (£69 in UK). You can run your apps in the Xcode simulator if you are not a paid member of the iOS developer program.
Some essential videos to watch:
WWDC 2009 Session 100 – iPhone Interface Design – Basic iPhone design. Might be a bit dated now, but good foundation.
WWDC 2010 Session 103 – iPad and iPhone User Interface Design – The 6 stage app design process outlined in this session is great.
WWDC 2011 Session 110 – Designing User Interfaces for iOS and Mac OS X Apps – The latest update on how to design apps. Based on last few years of actual use and experience of Apps out in the world.
There are lots of good beginner level books out there for iOS development. For NaAppDevMo I’d go with the iOS Apprentice tutorials as a start. You might want a book on Objective-C so here are 2 very new ones. One is a new edition that covers ARC etc. and is due on 15th December.