You are here

My New MacBook Pro and iPhone Development

Happy Holidays Everyone

I haven't made a blog post in a while, so I thought I would come back and give a quick update on what's been going on.

I did finally get a MacBook pro. I ordered it the day it came out and it was shipped to me and arrived in about 10 days. When it did finally arrive, I have to admit, it was the best computer related purchase I'd ever made! I am now a mac fanboy. It does everything I need it to do, and everything just makes so much sense. It was far more expensive than any laptop should be today, but I guess you pay a premium to have a premium machine. I run parallels on it and use it for Drupal, iPhone (I'll go into that later), and Android development. I kick in the horsepower when I do my photography stuff and some video editing stuff. I'm amazed how useful the system is right out of the box. Everything I've installed on it so far is for personal use. Eclipse, MAMP, Vuze (for downloading software), twhirl for twitter, and Adium for chat. Of course the software development utilities for iPhone include Xcode and Interface Builder. I just hope this laptop lasts longer than 3 years. Though, I'll probably want the newest version of the Macbook Pro once it comes out. I have to be strong and resist it! I'll hold on to this for at least 5 years before I get another one. But for now, I am a apple guy through and through.

[flickr-photo:id=2972124791,size=m]

[flickr-photo:id=2972973536,size=m]

[flickr-photo:id=2972125825,size=m]

[flickr-photo:id=2972975792,size=m]

Now as for iPhone stuff, I bought a couple of books that came out at about the same time. One book for iPhone development, and another book for Android development.

[flickr-photo:id=3061855680,size=m]

Before I got the MacBook Pro, I focused my attention on the Android platform simply because I knew Java, and I did not have a Mac system to build iPhone apps. Once I got my Mac, I still did some Android development, but it wasn't going so well. Basically what happened was the book I was using for Android reference quickly became out of date. There had been so much change in the API and the SDK of Android since the time of the books writing that it because obsolete by the time it got to me. So I went on to amazon and ordered the books you see above. Once book was for iPhone, and another book for Android. I made sure both books were as new as possible so that by the time I started reading them, there would not be any confusion about why the code from the book doesn't work.

In the end, I decided to focus on iPhone development. Why? Very simple. There are no Android jobs in Canada. Looking on Craigslist proves that there are a ton of iPhone jobs out there in the GTA and even south of the border. Android jobs are very few and far between. If I were to move to California, I could probably apply for an Android job at Motorola, but I have no plans on moving to the US right now.

But I have to admit, I do like iPhone development. The thing I did not like was that I had to learn Objective-C. The language is said to be easy to learn, but I haven't been able to wrap my head around it and I've been working with it for over a month now. I have C experience, and I have Java experience.... I just haven't been able to make the connection. I think it's because the Object Oriented syntax is so different from Java, and I'm expecting it to be the same. The C stuff is easy to understand, but then there are a few elements that were added to make it just a bit harder to grasp than C was. On top of all of that, I have to worry about memory management! I thought my days of allocating memory were over! Yarg! I did find a book that will help me get accustomed to Objective-C and how it interacts with Cocoa ( http://is.gd/dnTy ). I've used it to create regular Mac apps. The best part about this book is that it actually starts with knowing the reader has a background in C and Java. The Object Oriented stuff is translated to Java so Java people can understand, and C stuff is compared to the Objective-C syntax so you can see what is new and different. Here is an example of a Mac app I built using this book

[flickr-photo:id=3133909417,size=m]

Now you might be wondering why I would be focusing so much of my attention on iPhone development with respect to finding work. You thought I already had a job, right? Well I sort of do, but I definitely don't! The company I worked at basically ran out of money and can't pay for work that needs to be done. So I could keep working there, but if it doesn't result in a pay cheque, I'd rather focus my attention on doing something that will result in money. So I've been in job search mode for a couple of weeks now, and have found some disturbing facts about iPhone jobs. They are all contract work! No one wants to bring on an iPhone developer full time, and pay them a decent salary. I'm sick of working on contract. I hate it so much. I still want to learn iPhone development though, so I'll finish up with the book and then hopefully something will open up for me. The great thing about my mac is that it is so easy to take screen shots. So I've decided to take screen shots and document my learning process.

[flickr-photo:id=3065339873,size=m]

[flickr-photo:id=3069301770,size=m]

[flickr-photo:id=3071888306,size=m]

I did attend those iPhone tech talks when they came to Toronto and they inspired me to get more involved with the iPhone/Mac OS community. There is so much out there that I don't know and I should know. Those guys and girls knew their stuff and inspired me to know my stuff. This smart phone stuff isn't going away and I think I made the right career decision to go with Android and iPhone as my preferred platforms of development.

My next blog post will probably be about my car and/or job hunting :)

P.S. I finally got my Master of Science Diploma. It hangs on my wall.

[flickr-photo:id=2977332146,size=m]

Comments

Looking forward to seeing more posts. Hope the job hunt works out for you.

Jason,

2nd time i've found your blog via google when search for iPhone.

actually check out dice.com and search for iPhone. there are some full-time iPhone jobs on there.

i am also enamored with the iPhone and have been coding the iPhone SDK for 6 months.

i don't miss windows one bit ... in fact have not booted my high-end Dell XPS Laptop in about a month.

the Mac Book Pro is tight. peace.

Jerry

thanks for the article--i'm trying to figure out whether the new macbook rather than the macbook pro will suffice for iphone development (and also as a replacement for my old ppc 17 powerbook g4). now that you've read the beginning iphone development book, would you recommend that or something else?

how goes your iphone development?

congrats on the m.s.!

I'd known for some time now that I would not need another computer once I got my first mac. So I opted for the MacBook Pro instead of just the MacBook. It came with a ton of RAM and a pretty sweet video card. It's been 3 months and I haven't touched my Vista machine, so I made the right choice.

And I wanted to do more video and photo stuff. I just didn't want to take the chance of going with something with less horsepower, and then find out later that I'd need the horsepower for something later on. AND the 15" screen doesn't hurt either ;) The only thing I don't like is the glossy screen.. Now that the 17" has a matte finish option, that is a bit upsetting.

If you only want to do iPhone stuff, you could just go with a mac mini. I've been asked this question at least once a week by friends interested in iPhone dev, and I basically tell them that if they aren't planning on making the entire switch over to the mac world, a mac min is more than enough to do iPhone dev.

How's my iPhone dev going? Well I'm currently in the process of making a blog post about where it stands now, so stay tuned.

Thanks! :) I worked really hard to get the MSc, and I'm pretty proud of myself for getting it.

what are the spec on the macbook pro? did you get the good better or best?

Why do you hate contract work?

... when you invoice, the client sometimes acts like they're shocked at how much the work cost to do, or they just don't pay. In an employee/employer situation, they have to pay. I don't like chasing clients for my money.