The new shiny is here. At the annual WWDC recently, Apple unveiled three widely-anticipated new products. This year it was all about software, so hardware announcements will have to come later. In the keynote Steve Jobs mentioned OS X Lion, iOS 5, and iCloud. If you’re an iOS or Mac developer these changes will have a huge impact on you in the next few months. I’m not going to go into much detail about the announcements, but you should definitely check out the keynote if you haven’t seen it yet.

The changes in Lion are impressive; I consider it the most significant update since OS X was first released 10 years ago. Developers will want to rev their desktop apps to take advantage of the many new features, like Autosave, Resume, Versions, and Fullscreen. Some of the features we’ve long had on iOS are coming to the desktop in a big way, and this really does fulfill the “Back to the Mac” promise. If you don’t have a trackpad yet, you’ll want one for Lion. Lion’s on the immediate horizon with a scheduled July release.

Similar in scope is the iOS 5 update. Even if you don’t appreciate each of the 200 listed new features, you are going to be impressed with the new Notification Center, Reminders, and, hold the applause, wireless syncing. Billed as PC Free, Apple doesn’t even call this syncing, but it’s supposed to allow for wireless activation, backup, and updating. Although they’ve had some of this functionality on Android for a while, Apple’s superior user experience really shines here.

The game-changer of the three is of course iCloud, long speculated as Apple’s sync service “in the cloud.” But it’s much much more than that. By seamlessly storing data in a central wireless repository and automatically syncing it to all your devices (desktop & mobile), the problem of syncing multiple devices should be eliminated. Like many, I’ve suffered though the pain of MobileMe duplicating and removing contacts, calendar entries, and email settings. With six iOS devices and three Macs sitting in front of me right now, this solution can’t come soon enough. I expect some new breeds of apps designed to take collaboration (with self & others) to the next level. In addition, even for casual games like reMovem it will be easy to save game state so you can start it on your iPod touch and finish the same game later on your iPad.

If iCloud is the glue that holds apps together, then Xcode 4 is the all-in-one tool needed to build them. In order to work with any of the newer SDKs you should already be using a version of Xcode 4. I hesitated for quite some time, mostly because my experience with the early pre-release versions was less than satisfactory. Around the time of the VTM Seattle conference (early April) I made a conscious effort to switch from Xcode 3.2.6 to Xcode 4. Honestly I haven’t regretted it one bit. I know there are some things that don’t work right, but luckily I’m not using the Core Data modeling which is broken. If you do, then I can understand the hesitation.

I’ve been using Xcode 4 exclusively now for 3 months and it’s really a nice improvement in many ways over the previous versions. I’ve used it for a couple of client projects and submitted three of my own apps with it during that time. Once you get over the learning curve, and it is steep, you’ll be happy you made the switch. We’re often asked by new developers, “Where do I start?” Although all of the beginning iPhone development books reference Xcode 3, you’d be better suited to dive into Xcode 4 right away and avoid any uncomfortable transition.

After seeing some of the presentations at WWDC when the Apple folks made Xcode do the almost-unthinkable, it’s clear that its capabilities (now, and planned for the near future) were carefully thought out. Yes it’s a beast, but one you can customize to fit your workflow if that’s your preference. If you’re still on the fence about Xcode 4, I recommend you give it a try soon so you can get on with the new shiny bits. Lion is nearly upon us, and iOS 5 awaits your exploration!


This post is part of iDevBlogADay, a group of indie iOS development blogs featuring two new posts per day. You can keep up with iDevBlogADay through the web site,RSS feed, or Twitter.