Creating an iPhone/iPad app is a long process. Even longer when your a garage/indie/hobbyist or whatever it is called nowadays. For me, developing ColorGenius started with an idea of trying to use the iPhones camera to a cool new use. I thought of using the iPhones camera to announce colors the users sees thru the iPhone. It sounded simple, interesting and more importantly, cool.
For those who are not familiar with programming, or more specifically here – programming for iPhones and iPads (programming for iOS devices) – you do all the design, programming and testing use an environment called Xcode. You can picture it as a powerpoint for apps. You design what your audience sees, the transition from slide to slide (it’s called views in Xcode) and what each ‘slide’ does. The thing is – you get to say a whole lot more about what each ‘slide’ does than in powerpoint it requires hard core computer programming.
Usually, people perceive programming as overly, technical, boring, dull, often exercised in small dark rooms. For me – it is one of the more imaginative processes ever. You basically start by creating a whole new world in your mind. You create entities and then start imagining what they do. The programming actually boils down to making these entities talk to each other constructively – for example – in the ColorGenius app I create a ‘camera’ entity and make it speak with another entity – ‘ColorCollection’ to ask it what is the name of the color that appears in the center of the screen. The ColorCollection entity responds with an entity of its own – ‘Color’. This Color entity is smart – it can not only write its name in many languages, but also speak it and create a balloon with a similar color!
Then come long iterations of producing a prototype, testing it on the simulator, trying it on actual iPhones and iPads and then sending it to friends (using the wonderful TestFlight service). It was during this phase that I recorded many good friends’ voices, it amazed me how many languages our friends and family here speak – I managed to record English, Hebrew, Spanish, French, Russian, Arabic and Hungarian quite easily. The Mandarin proved tougher so I had to pay a little (a Fiverr) to get it.
At the end of this process I was left with a working app for me and my friends to play with which was cool, but not the reason for doing all this. I needed to get the app to the appstore and start selling!
In Part II I’ll tell you all about the appstore (at least the parts that Apple allows me to tell you), about the interesting(!?) emails you get once you have an app on the appstore and more.
Got any questions about creating apps? drop me a line!