Category Archives: WWDC

WWDC keynote upcoming thoughts

Well, the keynote will take place in a couple hours and though I find myself in California, I’m not at the Moscone Center standing in line. Though I think the keynote and the whole conference is a fun event, I’m happy to not have the stress of working on a must-do side project.

All that being said, I think I will write down my predictions and see how I do. To be fair, I have read a lot of the web sites and it is only 3 hours before the keynote, but better late than never.

I think we will see the following bits related to an iPhone:

  • 32GB storage
  • Increased RAM: 256M total with half available for developer usage
  • Video features (video recording and perhaps a second/swivel camera for chat)
  • Faster Processor
  • Magnetometer
  • Some preview of background processes
  • New app organizer (either via iTunes or actively on the device) — Personally I’m hoping for a ‘today’ screen when the device is locked.  I really think that would be quite useful.
  • More APIs to in the SDK: iCal event programming, address book features, etc.

Do I think that Steve Jobs will show up?  I tend to doubt it, but it might make an appearance and show something if Phil Schiller does a ‘One More Thing’.  It would be a strong ending into what might otherwise be a lame keynote.

WWDC 08 — all wrapped up

So I’m writing this final blog about WWDC 08 sitting comfortably in my NYC apartment.  Things were a bit too busy yesterday and I was trying to maximize time with my program and the Apple engineers.  After that, I unfortunately had no wifi access to do blog posting.

Due to the excessive partying that occurred on Thursday night, I unfortunately missed out on the two really interesting sessions (Master Table Views, Tips and Tricks). Ah well. I should be able to catch the videos in a day or two.

I had one more session with Apple User Interface engineers which (though not as productive as the first session) added some new ideas.

The rest of the day was spent in the iPhone lab implementing those and other ideas.

So…final thoughts:

  • Developer conferences are exhausting. Aside from the Thursday night debacle, there is a lot of work keeping up with all the sessions. Though there is a lot of energy in this environment, it also takes a lot of energy to get the full value add. This was a similar experience to the Java One conferences I attended several years ago
  • Don’t wait until the last day to buy apparel at the Apple store. They don’t have much selection and all the sizes that make sense
  • iPhone platform development is big. There are a lot of people trying to get in it because they see the vast potential.
  • This has to be the only event I have attended that included an usually large number of men with pony-tail hair cuts

That’s all for WWDC 08. Later.

WWDC 08 — Day 4 wrap up

I started the day with a session looking at the address book api. No big surprises, but I was excited to learn that I could leverage the ‘viewers/editors’ without actually saving the data to the database. I think that the ‘contact’ viewer/editor is actually a great ad-hoc widget which has applications outside of the address book space.

Next, I went to yet another session about debugging and profiling iphone programs with xcode and the associated tools. Session didn’t teach me too much, but occasionally you see some feature and go ‘yeah, that’s cool’. I left early so that I could ask all of my address book questions in the lab.

While in the lab, I met some guys that were doing professional iphone development(Kyle, Oskar). We talked a lot and their experiences and advice were very useful. Conversation went through most of lunch, so I ate quickly and headed to the next session.

Probably one of the first ‘not a beginner’ sessions was ‘Mastering View Controllers’. It wasn’t really mastering, but it was a refreshing change of pace from the ‘here is a view controller’ session.

I spent the rest of the day in the lab trying to improve the Wine Tool program. Well, until about 6:15 pm when the lab was closed for the party.

The party was at Yerba Buena gardens. It was crazy filled with people, which isn’t really surprising when you consider 5000+ attendees and associated apple engineers and related staff. I drank some crappy red wine and listened to the Bare Naked Ladies. They claimed to be Apple afficianados and were cracking jokes about Apple stuff all night. I liked their music and had a pretty good time (with the one exception of being really cold–San Francisco has crazy weather). I even got interviewed for some company in Santa Monica(I won’t be moving there any time soon). I bumped into Aaron and Curtis (and new guy Danny) at the end of party and we hit a bar (Dave’s). Let’s just say that I was over-served, but there were some good times.

WWDC 08 — D3 wrap up

Day 3. The day when you take all the lessons from Tuesday and try to put them to good use.

I began the day getting an overview and detail of Core Graphics and Core Animation. In proper Apple style, these frameworks are slick and easy to use. I don’t think that some people appreciate the difficulty of designing a framework. You have to balance power (ie leverage) with flexibility. You have to put everyone else’s shoes on and make sure that you haven’t limited some cool innovative idea because of some arbitrary design decision. But as I said, Apple has passed with flying colors on both counts.
The only downside of the presentation was that we couldn’t get the demo code for how they do the photo ‘house of cards’ demo. If you have an Apple TV, you know what I’m talking about. That shows the power and slickness of Core Animation.
In terms of what I learned, the most useful piece of information was about rendering and how the coordinate system is used to do everything. What does this mean? It means that the renderer always understands how much ‘space’ or ‘resolution’ there is to draw something. So, it always draws it in the best way possible. For example, take an iphone and run either safari or the maps application. When you zoom in, the screen is fuzzy for a moment and then gets really clear. That is the renderer + coordinate system magic in action. What is the take away from this? All displayed graphics (especially text) will look good on any sort of device.

The next session was about controls, views and animation. This was a great walk-through of building a cool looking app from the ground up. What do I mean by ‘cool’? Basically, how to leverage all the built-in animation capabilities of Cocoa Touch as well as the low-level apis of Core Animation. I think the example code for this session will be a great blueprint for custom animation of any iphone/ipod touch application.
What really blew me away was how easy it was to do what I would have considered extremely complex. For example, you can define a path (straight line, circle, random, etc.) and have the animated item follow it. You can change acceleration and apply all manner of transformations too. Very cool.

Lunch was sort of lame today. I unfortunately sat at a table of mostly Apple Engineers and they didn’t seem to want to talk too much. On the plus side, the lunches have had great food (pretty much sandwiches with a side + dessert).

After lunch, I got in the know about the new Push Notification Service. I can’t talk too much about it, but I will say that it will give an well thought out application additional polish.

The next session was about multi-touch events and gestures. Again, very interesting. At the moment, nothing pops into mind about how to use them more effectively in the application.
The funny moment at Q&A was a developer who wanted 6+ concurrent touches but wouldn’t explain what his program was trying to do. I have trouble with 2 touches. I can’t imagine using 6.

I finished up the day with with a lot(4+ hours) of programming trying to incorporate everything I have learned so far into the now infamous Wine Tool. I’m pretty happy with the result and I think the user experience (which was my theme of the day) has vastly improved.

WWDC 08 — Apparel

Here are shirts/fleec that are available at the store. Let me know if anyone wants anything. Store closes on Friday at 2pm local time. Note that there is only one women’s shirt (the white one) and I didn’t photograph the kid shirts, but they are there too.

WWDC 08 — D2 wrap up

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.

WWDC 08 — D1 wrap up

I didn’t get to post this until this morning as my hotel wireless doesn’t work and I chose to go out last night.

Anyway, the first day was pretty good.

There was lunch following the keynote. I didn’t know for sure if there was going to be food, but it appears that the high-priced entry ticket includes all you can eat/drink throughout the day. I ate with several guys(Aaron and Curtis) that I meant standing in line all morning. They were both here for the IT track and worked for educational institutions.

After lunch, there were several more ‘state of the union’ speeches. The first was for Max OSX. There was a lot of information there, but I have to admit that I nodded off in a couple sections (probably due to a mix of the jet lag and food coma). Things of note:

  • Apple thinks multiple threads are bad and that you should use GCD(Grand Central Distribution) along with this block concept. Perhaps they read the Knuth essay that says parallelism is bad because it makes algorithms hard (paraphrasing).
  • Snow leopard will be out in a year. No new features and will incorporate all the slimmed down QuickTime stack that has already been used for the iphone/ipod
  • System apps will be 64-bit compatible
  • etc. I didn’t take notes, but I’m sure there were a couple other items

The second was for the development tool set. There was a lot of rah-rah about how xcode was the best IDE because it was so integrated. I might start to sing the same song if I can find keyboard equivalents for all the things that I can do so effortlessly in Intellij (eg goto a class). The one thing of note I will say is that developing web apps that look native on the iphone appears to now be effortless.

The third was for graphics and media; however, I skipped it to check out the open labs session to see ‘how it all worked’. And it was a good thing, too. I learned that I was actually supposed to sign up for certain labs so that I could have 1:1 time. So, I have an ‘Interface Design’ session today and an ‘App Store’ session tomorrow. Should be educational.

At 6:15, security came through the lab and said in not so many words: “get out and go to the party so that we can close out this area”. So, off to the ‘party’. It was a bit of a mess: extremely crowded, everybody waiting for the food line, and the food was very appetizer-ish. I met some other people(Heidi, Jake, Mike, John) and we went to a ‘real party’. It was a bar called Gallery 111 which contained paintings, some sculptures and drinks. Apparently, this was agreed upon ‘after party’ so there were Apple faithful in abundance. It always amazes me to see a crowded bar on a Monday night. I suspect that the place expects this kind of thing with all the conventions that happen around here.

WWDC 08 — Keynote thoughts

So, the keynote happened and some of the rumors came true.

What do I like?

  • $199 8GB 3G iphone
  • push notification for the sdk
  • GPS (tracking was very cool)
  • full calendar, contact sync over-the-air (about time!)

What do I wish had happened?

  • video conferencing
  • 32GB iPhone
  • Jobs didn’t look well

WWDC 08 — D1 — More waiting

We got some basic snacks (eg water, coffee, bread stuffs). Apple really does like making people wait.

Looks like the rumor sites are in fine form. Could there be a new fusion, new iphone, upgraded hw? All will be revealed soon enough.

More photos of the masses snaking through the convention center, and up the escalator to my current location.