Day 2. The day when developers get down to the nitty gritty of building software with the energy inspired by Day 1’s keynote messages (pseudo-sarcasm).
I began the morning talking with a networking expert who offered several opportunities to optimize my client/server interaction. The key was the program tcpdump that let me view all the interaction on the socket. I also learned something cool about the Core Foundation event run loop (which in hindsight I should have realized). Basically, it is completely event driven. What does this mean? It means that you can do cool things like sending a bunch of socket requests via the ‘async’ api and not have to mess around with threads.
Inspired by how neat the networking stack was on mac/iphone, I decided to go to the Bonjour session and see how good their service discovery model worked. Short answer: pretty awesome. In true Apple fashion, they have created a very simple and intuitive way to register, browse, and connect to servers anywhere. I haven’t thought of a great way to use this feature in Wine Tool…yet.
I had lunch by myself but managed to meet some garrulous folks from Kansas City (Missouri, not Kansas). They (and this other guy from Manhattan) were new to iPhone development, so I ended up talking more than listening: explaining objc, slamming xcode, and wondering what Apple would do next.
I had a very productive session talking with a user interface guy (not a coder, but a looks and feels expert). He provided a lot of good ideas about the interaction which I will be incorporating to the future release of the Wine Tool.
For some crazy reason, I decided to go and learn about the Core Audio architecture. After being a bit perplexed about the api (because I wanted to do simple record/play), I thought this session would be the answer. Unfortunately, the session didn’t really deliver. It seemed in violent opposition to the simplicity of a service like Bonjour. Ah well.
After going to an xcode session later in the day, my fears were realized as certain features that I thought were bog standard on an IDE would be coming soon. The long and short of it is that I don’t think xcode was designed with keyboard people in mind. And as far as I can tell, a lot of the engineers seem to be more ‘mousey’ than ‘keyboardy’.
I had enough sessions for the day, so I decided to spend the last ‘period’ in the iphone lab where I could ask more UIKit and xcode questions. Based upon some of the xcode engineers I will grudgingly admit that things weren’t as bad as I originally made them out to be. Not surprising, as learning is the whole point of this conference. I also got to work with the designer/implementor of UITableView which was great as I had a ton of questions for him. It’s pretty cool being able to talk to the designer and find out what they were thinking in terms of apis and how they would be used.
Going to try and incorporate everything I have learned tonight so that I can start a whole new set of questions tomorrow.