So I have completed reading a book, cover-to-cover, on iOS development (as an aside, I highly recommend Head First iPhone & iPad Development) and now I am faced with the next big challenge: ideas. I have hit a dry spell in my efforts to develop apps and that is figuring out what I want to develop. I’ve thought about just developing random apps that don’t have a lot of functionality just to spark some ideas. Generally if I start on a small project I usually think of more features along the way.
My advice for anyone that is also just starting to develop iOS apps (or apps for any device) is while you are in the process of learning how to do it, start thinking about what you want to develop. I suggest this for a couple of reasons.
- You might find some neat trick or tool that could be very useful for the app you want to develop. Make sure you explore all the possibilities of that control or tool so you know its limits and how to implement it. Sometimes the best part of programming is extending a control to make it do things beyond its normal intended functionality.
- Its important to have some ideas to start building on immediately after you finish any kind of tutorial or technical manual. Unfortunately since I took such a long break between finishing the labs in the Head First book to trying to start my first app that I have forgotten a great many things to get me started. I will probably go back and revisit several chapters to refresh myself.
- It’s ok to re-invent the wheel. Just because there is an app out there that already does most of what you wanted your own app to do, create it anyway. I once had a professor that said to always re-invent the wheel because you might be able to do it better.
- Make a plan and set some deadlines for yourself. If you are already a programmer then you know what its like developing as a professional. You have a project manager (and perhaps a product owner) that is setting deadlines and expectations. Become your own project manager/product owner. Commit to a timeline and a set of features you want to have completed as your first iteration.
- I would think about setting up some kind of version control for yourself, especially if you plan on submitting any of your apps to the Apple Store. There are quite a few free version control solutions out on the Internet for you to use and XCode provides an option to use Git when you create a new project. If you want to read up on version control a bit, check out this website/book: Version Control by Example.
Hopefully my dry spell will end soon and I will be back in the zone writing iOS apps. You can be sure that once my app is approved to be on the Apple Store that I will be telling you all about it here. In fact I will probably create a new section on the site for each app I develop.
I hope someone finds the things I have said here to be useful and it helps you with your iOS development endeavors. Good luck!
Cheers!