This is the beginning of something wonderful as I embark on the journey of writing my own apps, specifically iOS & MacOSX based. I have two apps(both games) in mind – a short term app for the iPad and a very ambitious long term project for Mac OSX(more details on these in the future). My plan along the way is to form my own LLC and spend some quality time giving myself a refresher on XCode, iOS and Objective-C. I would like to specifically focus on some APIs that I don’t currently have any experience using or perhaps just go over some advanced topics such as blocks and categories . After I feel that I am ready to write my first app, I will start the process of applying for an iOS developer license from Apple. Some people have told me it takes a while, while others have gotten approved in very little time so we will see how that goes.
The first goal, is to find out more about myself. How am I going to manage my projects with no supervision? How am I going to balance my personal life, my real job and other responsibilities around writing an app without experiencing burnout? I know that it is very important that I keep myself active, to eat brain foods and get as much sleep as possible so that I can deliver my best. How am I going to manage my projects working with an artist and musician – who, most likely, will not be local? Once I get my initial design what publish date should I give myself, if at all? I don’t have a manager to review my work or make sure that I am keeping up with my goals. So it is all up to me and only me to make this work.
The second goal, is to expand my knowledge of Cocoa and Cocoa Touch along with the development tools, focusing on breadth and depth and venturing off into the cool worlds of Core Graphics and Core Animation which will be focus topics in my upcoming apps mentioned above. When I say, “expand my knowledge” I don’t mean reading more books or articles or watching more Stanford iTunesU courses online. All those resources are great but as I have experienced with other languages, nothing beats rolling up your sleeves and actually writing your own applications and experiencing everything that goes along with it(fixing bugs, logic issues and even design changes). Fixing mistakes is one of the best learning experiences bar none.
However, the work and effort to make it through these issues doesn’t come without its rewards. I know that through this process, I will understand the core aspects of iOS at a deeper level and become better familiar with the Apple documentation(since I will be visiting the docs often). I will also become more familiar with the tools, libraries and frameworks or at least, at a minimum, understand them enough to know where to look to find an answer or fix a problem if I get stuck.
Since I have had experience with other object oriented languages(C++ & Java), stepping into Objective-C has been easier but there are concepts with Objective-C such as protocols/delegation that took a little time to get used to and understand but after grasping these concepts are extremely powerful and exciting to use. As a disclaimer, I have done some Cocoa/iOS programming before on my own time and I am writing iOS apps at work so I am fairly familiar with XCode and Objective-C but as stated earlier I am looking really to give myself a solid refresher on parts of the language that I really don’t use that often. I think this will be useful before I start designing out some details about the apps that I have in mind.
Obviously, it would be nice to generate some added income as an independent developer but I am going to need to market my app, generate hype/traffic/interest and make friends with app developer communities/websites that might write an article to generate extra traffic. Simply creating an app and putting it on the app store is probably not going to open the floodgates of users who have been waiting all their lives to play my creation. I will also have to keep in mind that there are rare first time/one-hit wonders out there on the app store. The obvious plug to this is Angry Birds from Rovio but I know that they almost went out of business before that smash hit. As a one-man show(I will be doing all the design and coding), who will be hiring people to work on any artwork or music/sound effects that I will need, I will need to keep positive and see it through but also be realistic that I am most likely not going to become a millionaire after my first app.
As I move forward, I will write about my progress, post updates with screenshots(without giving too much away 🙂 ) and provide some interesting insights to what I discover along the way so stay tuned!