Rich's Mad Rants
Powered by Squarespace

Entries in WWDC (3)


Post WWDC Wrapup

So, WWDC is finally behind us. There's so much I want to talk about, but I can't. Not until the NDA comes down. So it's kind of hard to write a post conference synopsis. Still, there are a few high-level concepts worth mentioning.

Thinking back on the conference, I feel like I'm finally seeing the end of several long-term efforts. As an end user and developer, Apple is often frustrating. There are always a few obvious problems or enhancements that we keep yelling about. Apple largely ignores us--or at least, they appear to ignore us, but behind the scene things are moving. Apple doesn't want to give us the quick and dirty solution. No, they'd rather take some time and fix things the Apple way--by providing a completely new technology that goes beyond a simple band-aid.

iCloud is probably the best example (of the things I can talk about). We've all been struggling to move documents too and from our iOS devices. iCloud gives us that and more. We now have seamless integration between iOS devices, Mac and PC. Sure, Apple could have given us a simpler "upload to iOS" API years ago--but they decided to wait until all the pieces came together, and then gave us the complete iCloud.

In a similar vein, I think Apple's laying the groundwork for the future. Look at Twitter integration. It's kind of interesting. I'm a big twitter user, so that's good for me. It's obviously good for Twitter. But, I'm not sure what Apple gets out of it.

However, this may be just the toe in the door. What happens if iOS expands the type of accounts it supports? Facebook is an obvious next step, though, personally I'd love to see Amazon integration. Now we're talking about something really cool and potentially really powerful. The iOS handles access to all our online accounts, and gives access to those accounts (with our permission, of course) to any number of 3rd party application.

I suspect other online companies will look at Twitter's inclusion in the OS, and will say to themselves, "Hey, I want to get some of that too." Apple may find itself besieged by companies asking to be included. I wouldn't be surprised if iOS 5.1 comes out with a whole slew of new account types baked right in.

Additionally, while many of the consumer-focused changes to iOS 5 are cool, I think the real strength of the OS will only become obvious once developers start building iOS 5 apps. Photo streams are cool. Integrating iWork apps across all my devices is even cooler, but having all my apps integrate seamlessly across all my devices--now that's a real step forward.

Similarly, Apple seems to have been watching what we--as developers--do with their SDK. And not in a creepy-bad way either. Apple's clearly keeping tabs on how the developers are using the SDK, and making notes on those cases where we are doing really, really bad things. Then they're acting to help make those steps unnecessary.

Let's say you want to do something that the SDK doesn't support. Objective-C and Cocoa Touch are both very flexible. There's probably a way to work around the limitations. Unfortunately, many of these approaches can be quite brittle. They work on the current OS, but may break if the underlying implementation changes. In other cases, they may extract a high performance cost. You can find a lot of tips and tricks of this nature online, and a lot of developers use them.

In many cases, Apple has responded by either expanding their SDK, giving us approved methods. In other cases, they discussed alternative (safer and less costly) solutions. Regardless, this seemed to be the second big theme of the conference. In almost every session, an Apple engineer would bring up a common anti-pattern, then present a better solution. Sure, most of the time their examples were so obviously wrong that we could all laugh about them--but there were a number of times when I had to sit back and say, "Oops, I've done that...I should probably rewrite that code...."

Last, but not least, I was a bit surprised that no one at WWDC talked about the whole Lodsys situation. Honestly, I expected Apple to say something at the conference to reassure its developers. Instead, they quietly filed a "motion to intervene." Even weirder, I didn't even think about it until after the conference was over. Apparently, I was completely hypnotized by all the new, shiny things Apple waived under my nose.

In truth, I guess this is all we can really expect. Apple's lawyers undoubtedly advised against saying anything in public, and they are taking an active roll in protecting the iOS app ecosystem. Still, some reassurance would have been nice.



WWDC 2011 Keynote

Just finished watching the WWDC keynote. As expected, most of the announcements focused on the consumer-facing features. After all, we have the rest of the week to cover the developer stuff. Of course, I won't be able to talk about any of that. Probably not until September (in unrelated news, looks like my book will probably come out sometime in September).

Others will probably cover the consumer-facing issues to death. So let's look at the developer side. Frankly, we don't know much yet, but we have some clues.

First, there were some exciting stats for iOS developers:

  • Over 200 million iOS devices sold

  • Almost half-a-billion apps in the app store, over 90,000 are specifically for the iPad

  • Over 14 billion apps downloaded from the app store

  • Over $2.5 billion paid to iOS developers in just 3 years

  • 225 Million potential customers just 1-click away

Lion has a huge number of new APIs (over 3,000), including the following:

  • Popovers

  • Media Device support

  • Cocoa regular expressions

  • Full Screen

  • Secure interprocess communication

  • Autosave

  • AV Foundation

  • GSS authentication

  • Gesture Tracking

  • Toolbar auto hiding

  • Sandboxing

  • Core Media

  • Cocoa auto layout

  • File coordination

  • View based tables and outlines

  • Momentum scrolling

  • Core Data incremental storage

  • Versions

  • OpenCL 1.1

  • iChat plugins

  • Document handling

  • (and a few I missed).

iOS 5 will include 1,500 new APIs including the following:

  • Location support in iOS Simulator

  • New developer tools

  • Backlight level setting

  • Dictionary popover

  • Newsstand Kit

  • Full page curl transition

  • OpenGL ES debugger

  • GL Kit

  • OpenGL ES game extensions

  • Access to LED flash

  • Storyboarding

  • Forward and reverse geocoding

  • Customize UI

  • Improved PDF support

  • Core Image

  • vForce and vImage libraries

  • Page View Controller

  • Fast forward and rewind streaming content

  • Data protection for Core Data

  • Turn-based game support in the iOS Game Center

  • Documents in the cloud API

Of these, I'm probably most excited by the documents in the cloud. That has an incredible amount of potential for building apps that sync across all iOS devices, as well as our desktop computers (both Mac and PC)!

Also, there's nothing that will require a drastic rewrite of my iOS book. There are definitely a few things I need to add (and I'm sure I'll discover even more as the week goes on), but no garbage collection, or other technologies that would radically change every aspect of iOS development.


If Lion doesn't come on disk, how do we perform a complete clean and reinstall of our OS? Is that a thing in the past?

How does the iTunes matching work? If I don't keep paying my $25 yearly fee, will they delete the upgraded files from my hard drive, or do I just lose the ability to download them from the cloud (forcing me to use sync)? Probably the latter.

If iCloud is available now, does that mean I can use the document syncing for pages? If not, when will that be available (soon, please)?

How do the iOS updates work. Are they op-in, or completely automatic. What does this mean as far as supporting older iOS versions goes?

That's it for now. Drop me a line and let me know what you thought about the keynote. What are you most excited about?



Books, Conferences and Classes...oh my.

Some of you may know this (or at least guessed at it, if you follow my twitter feed), but I'm currently working on a book about iOS development for Peachpit press. If there's anything you'd like to see (or not see) in a book, please let me know. I've added a few Book pages to this site where we can have discussions about the book, errata and source code.

The book is titled "Creating iOS Apps: Develop and Design." It was originally scheduled to be out in a month or so, but it looks like we may delay things to see what Apple announces at WWDC. I strongly suspect Apple will make some iOS 5.0 announcements, that we will want to include--and who knows when the NDA will lift on those. So, I'm kind of preparing myself for a September release.

In other news, I will be at WWDC this year--as tempting as it is to just cash out and sell my ticket on e-bay. I'm really excited. This is only my second time attending. My first was 2004, when I managed to score a student scholarship. Let me tell you, it's a lot different when you have to pony up your own money to go.

I still don't have all the logistics worked out. I think I'm going to fly my kids to Florida, where they'll spend the week vacationing with their grandparents. Then, I'll fly back to Columbus, OH and pick them up again. We may spend another week there. That way I don't have to pay for another week of summer camp. I figure that alone will pay for the extra flights.

Finally, as the book writing slows down, I'm starting to ramp up my plans to teach iOS classes. If you're in the Houston area, and you're at all interested, please fill out the form on my Classes page. I'm still in the planning stages, so your input could help shape how these classes are organized.

That's it for now,