Rob Murray gave a great talk called “Developing for success on the iPhone”.
One piece of advice I took away from this talk was “practice finishing”. I am sure that we have all started a project and then immediately started thinking of new features before we have even accomplished the basics. This is definitely something that I suffer from, obviously there are times where changes occur on the fly with regards to agile development however I agree that it is important to finish the original spec then revisit and improve.
Rob briefly mentioned statistics with regards to users viewing screen shots and video demonstrations of products. If I understood it correctly, it appears that when given the choice, people generally take a quick look at screen shots first, followed by an average of 15 seconds or less of video demonstrations. With this in mind getting a graphic designer to make the application look as attractive as possible would certainly be money well spent.
This is one that I have been hanging out for. James Bekkema gave a great presentation on learning how to build Cocoa applications in Python. This track covered Cocoa-Python, Xcode and Interface Builder.
PyObjC is a Python and Objective-C bridge allowing interoperability between these two systems.
One example of an application built using this technology is the Checkout application, an affordable point of sale (POS) application written for the Mac.
I have not yet been privileged enough to write an application using Xcode and Interface Builder. The demonstration given by James showed how easy it is to create a new user interfaces by dragging user-interface elements from a palette. From here he demonstrated how quickly and easily a developer is able to link those elements to the code using simple drag and drop movements.
There were a few technical points raised like the fact that Cocoa-Python manages threads automatically in a native sense, however if you create your own threads manually in Python you must release the thread using pool.release() or similar command depending on the versions of languages that you are using. This will prevent memory leaks after your code has been executed. I think I might just start with the basics when I get time and see how it goes.
The conference dinner was so really entertaining, it included competitions including “trivia” and “last nerd standing”. Most of our table used the free Wi-Fi on our iPhones to get the answers but came up short; I guess the other tables were doing the same thing. There is no way that people could have answer questions about the periodic table or decipher obfuscated code in C without a little help from Google.
All in all this was a great conference. The icing on the cake was a live demonstration using the impromptu software. The presenter started out demonstrating a single piano note, ten minutes and 20 lines of code later we were listening to an incredible sound track containing double bass, drums and some synthetic sounds that soothed the ears.