The other day I was playing on my aging Powerbook and thought I’d investigate writing applications on Mac OS X using XCode. I tried several years ago but honestly after reading some documentation on Apple’s web site I wasn’t any better off than when I started. Instead of going the documentation route which didn’t work I thought I would try a different approach. Today we have something we didn’t have years ago that is a lot better than documentation and that is called videos. They say a picture is worth a 1,000 words. Well a video is worth that times 1,000. I jumped over to http://www.youtube.com hoping someone had put up a simple tutorial on how to build a sample application using Objective-C/Cocoa and XCode (Apple’s IDE). My first search hit the jackpot.
The video I found created a sample Mac OS X application with a button on it that when pressed made a noise. I expected the video to be a few minutes long but it was close to six minutes long. Hmm, could it take that long to create a button and make the computer beep? I watched the video and while I was watching it, my jaw was on the floor at the number of steps the developer had to go through for something as simple as creating a form and making the computer beep when the button on the form was pressed. There were windows here, windows there, jumping around here and then to there, dragging lines from one window to another and more. No WONDER I couldn’t figure this out by reading documentation! For the record, XCode is developed by the same company that everyone praises for being the poster child of usability.
After I watched the video I was like, man, this is horrible and I am really glad I don’t write OS X applications. I also thought to myself that I could do that same tutorial using .Net and Visual Studio and with A LOT less steps. I decided to put up or shut up so here is what I did. I created a video that does the same thing the XCode video does and uploaded it to YouTube. You can watch both videos below. I’ve been saying for years Apple doesn’t do anything to provide developers, especially those in the enterprise, a rich programming environment and I think the comparison in these videos drives this point home. Enjoy!