Notes from Mac programming class guest lectureLast night I gave a guest lecture at Hal Mueller’s Mac programming class at the UW Extension. The idea behind the lecture was to talk about what makes a great Mac app. I took that as an excuse to talk about everything from work habits to UI to marketing. In other words, I threw in just about everything I know — which, it turns out, only takes about an hour to deliver. :) It goes chronologically — getting to 1.0, releasing 1.0 and the follow-through, on to working on 2.0. I don’t actually have time right now to write it up properly. But, at least, here are my notes: Road to 1.0More money to make in Mac software than in iPhone software Mission statement Work habitsstay in the chair motivation - gumption nearby small notebook works as short-term memory and to-do lists Designkeep 1.0 feature list very, very small Pretend you're a toy-maker - Kris Kringle Sketch out UI Shoot for ADAs and Eddys - by that I mean: don't pander, just aim high Codeunit tests Support latest OS, not OS minus one, on major releases Automate builds, etc. don't fight frameworks architecture is important Error checking -- with recovery when possible Use Sparkle Beta testingHallway UI testing -- wife, husband, kid, cat don't do public betas Have crash logs sent back to you Use Shark and Instruments Random testing Charge enough money for your app: $19.95 usually a minimum File bugs with Apple 1.0 Release and marketinglistening to users Give back to dev community if possible Let world know what you're working on in general - don't need details Take the long view 2.0 and upit's okay to have users wanting more Some great-seeming architectures are hard to remember and understand remove features Keep learning I will make mistakes, sometimes a series of them. You will make mistakes. And some of what I've said is wrong, or wrong for you or your app. Tue 17 Nov 2009 09:44 AM
© 1995-2010 Brent Simmons
|