Blog Archives
App Fixer beta now available! đ„
I’ve just released the first beta 0.1 version of App Fixer over on my software distribution site, Sqwarq.com.
App Fixer aims to help you remove corrupt preference files and window Saved States that can sometimes cause apps to crash on launch or during normal operation. Traditionally, we have to go hunting through the user library hoping to identify the correct files to remove. Now, App Fixer does it for you.
If you have an app that won’t launch or that’s behaving badly, or you just want to start with a clean slate by removing user defaults/preferences (I’m looking at you Photoshop!), App Fixer will do it for you in a click.
Grab a free copy of the beta from here: http://sqwarq.com/appfixer
đ
how to become an Apple app developer
Developing apps for iPhone, iPod, iPad, and Mac OS seems like the California gold-rush of the 21st century â the press are full of reports of the riches to be had in this amazing land, stories of âlittle peopleâ making âbig bucksâ. Anyone can be an app developer, they say, but whatâs the truth behind the hype, and how do you actually learn how to do it?
Last I heard, there were currently something like 600,000 apps on the Apple App store (for iPhone/iPad) and some 100,000 or so on the App store for Mac OS. Apple have paid out (i.e., passed on customer payments after taking their 30% cut) literally billions of dollars to developers. Thatâs a lot of cash! The question is, can you get a slice of it too?
In theory, thereâs no reason why not. As Iâll detail below, the route to becoming an app developer is not particularly hard, nor is it particularly costly. But that doesnât guarantee success. Anyone can write a book, but writing a killer book thatâll sell like Harry Potter is not so easy, and writing a killer app that will sell like Angry Birds is every bit as difficult.
The analogy holds for success in both cases: you need a great idea, you need to execute it well, and you need to market it properly. Did I mention those 600,000 apps on the App store? How, exactly, are you going to make your fortune if your app is buried in a pile like that? Well, Iâll save ideas and marketing for a future post. In this one, I want to focus on the things that we know we can achieve and only have to depend on ourselves for: developing the skills needed to turn that great idea into an actual piece of software that will run on Apple machines.
Learn the language
If you want to write a killer novel, the first thing you have to do is learn the language that you want to write the novel in, be it French, Chinese, or English. If you want to write a killer app, the same goes. Visual Basic? Visual C++? Java? Yes, that kind of thing except…if youâre developing for iOS (the iPhone/iPad operating system) or Mac OS (Mac computer operating system) you have to learn the Apple language, not any of those common ones associated with lesser machines!
So what is the Apple language? Itâs called âObjective-Câ, and it runs in a programming environment called âCocoaâ. Youâll need to learn âCocoaâ, but in order to learn that youâll need to learn âObjective-Câ, and to learn that, youâll need to learn the basics of the standard (Ansi) C programming language. Oh my!
And once youâve got a hold on all that, youâll then need to learn Xcode, which isnât a language or a programming environment at all, but a very sophisticated development tool (in fact, Xcode is itself an app!), in which you do all your Apple programming. Youâre probably now thinking that itâd be easier to write that next Harry Potter novel and are already hunting around for the back of an envelope to start scratching down your ideas, but wait…
I know it sounds disheartening, but there is some good news. After all, it canât be that hard if so many other people are doing it, right? (Well, actually, yeah it can, thereâs a lot of dedicated programming geeks out there!). But look, Iâve been down this road too, and while I havenât produced any killer apps (still waiting for that great idea…), I have gone from knowing next to nothing about programming to being able to put together an application that does what I tell it to and doesnât crash my system.
(OK, not entirely true that I didnât know anything about programming: in the 1980s, I once learned how to get a monochrome computer screen to print âHello Worldâ in BBC BASIC, which basically involved nothing other than typing >Print âHello Worldâ; it seemed so ridiculously pointless in 1982 that it turned me off programming for the next thirty years! Other than that, Iâm a newbie đ ).
And the good news gets better: most all of the documentation you need to learn how to be an app developer is available free from Apple. Truly, and I mean this with no trace of irony, it is hugely generous of Apple to put the amount of free material they have online for anyone to use. Want to be a Windows developer? Find your local bookstore and start shelling out one heck of a lot of $$$!! The cynical, of course, will say that Apple only do the giveaway to benefit themselves; others might say that giving away free training justifies their 30% cut.
I think of it as a symbiotic relationship: would-be developers who arenât in computer science departments or big companies could never afford to buy all the material. Likewise, Apple could never have built an App store with such a huge number and wide variety of programs to Wow! their users if they had only had universities and commercial software developers to rely on. This way, both the little people, thatâs me (and â Iâm assuming â you), and Apple get to win.
Iâll tell you how to get started in a minute, but before I do let me point out that the ride is not entirely free. Thereâs probably a point at the beginning and certainly one at the end where you will need to lay out some of your hard-earned. So letâs deal with that now.
What you need
Right off, youâre going to need a Mac computer. Sorry, if you donât already have one, youâre going to have to buy one; a low-range Macbook Air or Mac Mini will do, anything that can run OS X Lion. You canât develop Mac apps on your iPhone or iPad, Iâm afraid (but it does work the other way too: you donât need an iPad or iPhone to develop apps for these devices. More on this below).
And what about if you have a good-spec PC? Yes, you could get a Mac emulator (VMmare) or mess around with OSx86, but frankly, these options are likely to cause you more grief than theyâre worth; you could end up with apps that donât build properly, and/or which breach Appleâs licensing conditions.
Iâm not saying donât do it, thatâs your choice; I am saying your chances of successfully building an app, making it stable, and getting it accepted into the App store by Apple are significantly reduced if you go that route. Given the price of a basic Mac Mini on Ebay, you could well end up spending more money (as well as time) trying to avoid buying a Mac than just buying a cheap one.
The other expense you might need to lay out for is a basic âIntro to Câ book. Thereâs plenty of web offerings, but really a good âidiotsâ book like the Dummies or Absolute Beginners should be enough and has the benefit of being reasonably likely to get you to the level of proficiency you need in the shortest amount of time. After that, you learn the rest for free (Objective-C, Cocoa, Xcode) from Apple. At the end of the process, when your app is built and you want to submit your app to the App store, youâll have to register with Apple for a licence as an app developer and vendor; current cost $99.
Take the first step
âSign me upâ, you say, âwhere do I start?â The first thing to do is to sign up to Appleâs developer community: this is free (donât confuse it with the Developer Program or Licensing, which costs $99 and which you donât need till youâve built an app you want to upload to the App store).
Once youâre in the Developer Community, download Xcode 4, Appleâs development environment (a different thing from a programming environment, but don’t worry, you’ll get the hang of all this terminology easily enough once you start reading the docs). This is a 4GB monster of a program – bigger than your average operating system, so make sure you have the space – and it is also free. Xcode comes with free iPhone and iPad simulators and in itself, this is a piece of software thatâs probably worth a couple of thousand dollars. So smile: youâre already making a profit even though you bought that Mac Mini! This is also the reason why you donât need, and in fact canât use, your own iPad or iPhone to test your apps: everything has to be done in Xcode, and this monster app only runs on Mac OS X.
Once youâve downloaded Xcode, you can play around with it if you want, but unless youâve worked with an IDE (integrated development environment) before, itâs pretty complicated, so it’s best to wait till you work through the tutorials. Itâs not the kind of software you can learn through serendipitous exploration.
Instead, go to the documentation resources and start with the tutorial Your First Mac Application.
By the time you get through this, youâre going to realise why you need to learn Ansi C, Objective-C and Cocoa. So put Xcode away for now, and start on the path of learning to speak Appleâs language. When you get there, just add 1 great idea + 1 great marketing strategy, and youâre on your way to California!
The short guide:
1. Get a Mac
2. Learn C, learn Objective-C, learn Cocoa, learn Xcode
3. Come up with an idea for a great app and plan it out carefully
4. Build and test your app
5. Pay the licensing fee and submit your app to Apple
6. Once it’s been through the review process and accepted, implement your marketing strategy
7. Watch the millions role in and retire.
đ