A few thoughts about the Cocoa Bootcamp

This fall I attended Aaron Hillegass' Cocoa Bootcamp at Big Nerd Ranch. I had planned to write up my thoughts about the experience earlier, but life (and work) interrupted.

After being confirmed for the class I made travel arrangements to arrive in Atlanta one day early to adjust to the time difference, and also to get a chance to see a little of Atlanta itself. I ended up having time to both visit the Apple Store at Lenox Square Mall and visiting the Georgia Dome for a taste of the NFL (the Broncos visiting the Falcons). I'm really happy I made the decision to fly in early, as I had a very good time in town.

 NFL action

NFL action

On Sunday I ventured back to the airport via the subway to be picked up by the Big Nerd Ranch shuttle. While waiting at the baggage claim area I met a few other attendees and then the shuttle came by to pick us all up for transport to The Historic Banning Mills, where dinner was waiting for us. We were provided with a nice room each, overlooking a beautiful valley.

 The Historic Banning Mills

The Historic Banning Mills

 Spectacular views all around

Spectacular views all around

The next morning the Bootcamp got going, and within minutes Aaron had us coding our first app. The class followed Aaron's book Cocoa Programming for Mac OS X, with Aaron explaining some concept from each chapter and then having us using the learned concepts in code. There were also a couple of things covered which aren't in the book, for example an iPhone project. The frequent coding assignments and the opportunity to raise any questions with Aaron or any of the other students was a very efficient way of learning.

The pace in the classroom was intense, but every afternoon also provided the chance for a brief walk around the beautiful scenery, with Aaron himself as guide. This was a good opportunity to catch your breath, think about what you had just learned in a broader perspective, and to take a few photos.

 Aaron goes for a walk

Aaron goes for a walk

Every day we were provided with no less than three huge and delicious meals, I think I ate more good food during the Cocoa Bootcamp than I will during Christmas, which says a lot. There were also snacks and soft drinks provided in the classroom, so no risk of going without energy. A good thing, since it did take quite a bit of energy keeping up with the learning tempo.

I think it would probably have been possible to learn pretty much what the class teaches by yourself by spending a couple of weeks or months with the book. I tried to go down that route this summer, but kept getting side tracked. Nevertheless I must reiterate - the book is a must buy for any newcomer to the platform. 

I'm really glad I took the class since it propelled me right past the first plateau in the learning curve and I now feel comfortable using Xcode and the Interface Builder. The opportunity to ask questions and have Aaron and others help debugging problems encountered during the assignments totally eliminated the frustrations encountered when trying to learn from reading a book on your own. The distraction free surroundings also helped me focus my mind on the task at hand.

I would say the Cocoa Bootcamp is probably the perfect way to get started with Cocoa development for the Mac. I'm happy, though, that I asked my employer to cover the costs when negotiating my contract for employment, as it is not exactly cheap. Nevertheless, if you can afford it I think that the Cocoa Bootcamp provides good value for the money spent.

A further advantage was that I got to meet a great, and diverse, group of people dedicated to software development and the Mac platform. The attendants were from all over the US, even some local to the area, as well as a couple of us Europeans.

If you attend the Cocoa Bootcamp, you'll leave having the confidence and understanding necessary to take on true Cocoa development projects. Let's hope something like that comes my way eventually, even though my day job is currently strictly .NET.

I'll make good use of my newfound knowledge in my spare time either way. Stay tuned...

En route to Atlanta for the Cocoa Bootcamp

I'm just now at the airport, waiting to board the plane which will take me to Atlanta and the Cocoa Bootcamp. This is a trip I've been looking forward to for over a year.

I have prepared for the course by reading most of Aaron Hilegass' book Cocoa Programming for Mac OS X, and of course by meddling with iPhone development. But I have always found it easier to learn by interacting with knowledgeable people, so this will be my big chance to really get to grips with the parts of the Cocoa framework which I haven't been able to grasp. 

The Interface Builder has been my biggest stumbling block so far, leading to me writing all interfaces in my iPhone applications in code. So I hope to come away from this week with new insights into how it's supposed to be used. Interface Builder is a very different beast compared to the .NET Visual Studio experience I'm used to. However, I fully expect it to be superior once I can wrap my mind around it. It is an Apple product after all.

Judging by his book, Aaron has a knack for systematically introducing progressively more complex concepts in a very clear and easy to follow manner. I thoroughly recommend his book to anyone new to Objective-C and Cocoa. I think I may be able to finish it during the flight.

I'll summarize my experience at the Big Nerd Ranch in an upcoming post.

Japanese navy flag and the App Store reviewer backlash, an apology

As you may remember from my previous post Analyzing App Store sales data, the vast majority of sales I've seen for my iPhone applications have been in the US market. 

My applications have been available for well over a month now and I had been wondering why I barely saw any reviews in the store. As it turns out, reviews are not combined worldwide but instead tied to the store the reviewer is in. This makes sense I suppose, avoiding any language problems. Sadly there is no way for a developer, as far as I can see, to get a summary of the reviews left worldwide. Instead you have to go into each and every store to see if any reviews have been written for the specific markets.

I just realized this fact the other day when I switched over to the US iTunes store to see what movies are available for rental there. I then did a search for my app Hiragana and noticed that all of a sudden there were a couple of reviews that I hadn't seen before. Almost none of them positive!

My applications are marketed towards students of the Japanese language, and apparently people were taking offense with the Japanese navy flag that I was using both for my icon graphics and as a background image for the flash cards in my applications.

 Version 1.0 look

Version 1.0 look

Some review excerpts:

"I don't know if you know what it means but it is like using Nazi flag for learning German application icon."
"Are you even aware of the gross political incorrectness of that imperial military flag you're using as an icon and background? People don't even dare fly that thing in Japan anymore."

Read more reviews here (App Store link, make sure you are in the US iTunes store)

The second review above hits it on the spot. I was not at all aware that the flag I was using is considered politically incorrect. In my eyes it is a very neat design, I even bought a jacket featuring it as a design element when visiting China last year. I guess now I know not to bring that jacket when going across the Atlantic to Aaron Hillegass' Cocoa Bootcamp at the Big Nerd Ranch this winter (more about this in a later blog post). 

I did know the flag was/is used by the Japanese navy and i know that the Japanese committed a bunch load of horrible war crimes during WWII, but it never crossed my mind that people may equate it to the nazi flag. Is this really true? Wouldn't the App Store staff have considered this before clearing the applications for release? Feel free to leave your thoughts in the comments section, I would really appreciate it.

Measures taken

Of course I could not let the current state stand, so here are the measures I have taken to try to rectify the situation.

  • Redesigned icon
  • Removed card background
  • Half price during the full month of November!

Also I would like to express my apologies here to everyone offended by my using that flag in my applications.

Shameless plug

Introducing version 1.1 of my Hiragana and Katakana apps.

Now containing:

  • 100% less Japanese navy flags
  • Refined transition animations
  • Other minor fixes
 Version 1.1 look

Version 1.1 look

These have already been available for a couple of days, and a few more positive reviews have trickled in. If you own the previous versions i recommend getting them updated via the App Store, unless you really want to hang on to that navy flag of course.

If you have avoided purchasing these applications for any reason, now is your chance to get them at a discount; $1.99 as opposed to the regular price of $3.99. Get them at the App Store.

Oh, and don't forget to leave a review in the store if you feel like it. Thanks!