Engineering Life – Mike Lee

The day started with the opening keynote by Mike Lee which was called “Engineering Life”. To me this Keynote was a bit strange. It wasn’t really a technical speech and that felt a bit awkward to me. Mike did gain my respect though when he contacted me through twitter and started a discussion after he noticed my feedback on his session. His keynote did encourage me to make something of my life though, and to enjoy it.

Spelunking OS X – Jonathan “Wolf” Rentzsch

Well, I complained about the previous session not being to technical enough, but this time technical was an understatement :-)

I met Jonathan the day before in the dining room but I had no idea back then who I was talking to. I was quite impressed with the plethora of debugging tools, het editors and ways to inject your own code at runtime he presented during his session.

In all honesty I didn’t understand all of it, but since I complained about the previous session not being technical I thought it was a good idea to go hide in a little dark corner right now :-P

Clean Code – Dave Dribin

I’ve been a Delphi developer for about 10 years now and I’ve always been an advocate of writing clean, readable and maintainable code, so I was pretty anxious to hear how I should do it in XCode / Objective-C. I listened very carefully to what Dave Dribin, a.k.a. the best Cocoa Devleoper ever (according to his mum), had to say.

Quite a few things he mentioned were things I’ve been using in my Delphi development too. Choosing good names for Variables, Methods and Classes is one of my own personal rules, and so is writing clean, readable and especially short routines. My goal as a software developer has always been to write great apps, but my second goal has always been to write clean code, code which could be read and understand by other people.

On one of his slides I noticed the following quite, which I quickly scribbled down :

“programs must be written for people to read, and only incidentally for machines to execute”

I forgot to write down where the quote came from, but I found it quite intresting. The other thing he mentioned was that the Quality of the code can be measured in the number of WFT’s per minute. That made me laugh, but I have to admit that it is actually true.

Dave did teach me a few things and mentioned some other things I didn’t think about yet. At some point he mentioned it’s sometimes better to comment why you are doing something instead of commenting what you are actually doing. This is something I’ll have to remember myself.

All in all, I found this a great session. Would have loved seeing more practical examples and I surely hope I’ll be able to get hold of the actual slides or video of the session so I can have another look at it.

Data Presentation in Mac Apps – Drew McCormack

Next up was Drew McCormack who did a session on data presentation on the Mac. He started off by showing us different ways of showing the same data. This lead to the types of views you typically find in Mac applications.

What was quite interesting is the fact that most views used in a Mac application are actually single column type views. He also mentioned a few ways to do multiple column views, and quickly compared Table Views with Collection Views and Tabular Views, giving us the Pro and Cons of each type of view.

He ended with some advantages of using WebKit do display information (eg in iTunes) and gave a quick sneak peak at Core Plot wich is actually a 2D visualization library for the Mac an iPhone. The objectives of Core Plot is to get a complete plotting framework using the Cocoa API which runs both on the Mac and on iPhone. There is currently no official release yet, but it is usable and already has quite a lot of features (Scatter and Line plots, Bar Plots, Histograms, Financial Plots, Pie Chards, …)

Core Animation – Marcus Zarra

The last session of today was a session by Marcus Zarra on Core Animation. Core Animation can actually be use to do pretty much anything including state changes and transitions but also particle effects.
Marcus showed us the basics of CABasicAnimation and CAKeyframeAnimation and showed us the core principles of both.

Socializing at the Bar and Dinner

The great thing about NSConference is that you have plenty of time in between sessions to meet the other attendees and have a chat with them. That way you had the ability to meet people, share ideas and even code or even solve a problem using some help from others. During those breaks I’ve seen quite a lot of people show their ideas, iPhone and Mac applications and even pieces of source code to each-other.

After our ‘session’ at the bar we went to the other room where a nice Dinner was prepared for us. Spencer and myself sat down at a table and were joined by Jonathan “Wolf” Rentzsch and Victoria Wang from the USA, Stephan Burlot from Switzerland, our new met fried Jakob Dam Jensen the “knae hoej kaerse” guy from Danmark and someone from Argentina (sadly forgot his name). Dinner was fabulous and we had some very interesting discussions. You would think all of those would be about geeky stuff, but we actually had some great discussions on politics and other things as well.

Closing Words

This was the first day of the actual conference and it was great. There was a good mixture of quite technical sessions and some less technical ones, from which I learned quite a few things. The great thing with NSConference though is that you don’t stop learning when the sessions are done, you just step outside of the room, have a drink at the bar, go get some food and keep learning from fellow attendees.