iMobile3 Developers Impressions of iOS 7 and Mac OS X from WWDC

 In iMobile3

A few of our developers share their take from Apple’s Worldwide Developers Conference in San Francisco yesterday. Greg Beaman and Austin Blackwood from the iMobile3 development team touch on some highlights and concerns of Apple’s latest announcements of iOS 7 and OS X, Mavericks operating systems.

The New Layout

Simplicity is nice but I feel iOS 7 takes it a bit too far. The interface looks better in motion than it does in stills, thanks to the slick effects Apple has added to everything.  The wide band of hues are still used for icons but the actual depth/shades of color are gone, so much of the interface looks like it was made for a cartoon rather than just looking simple. In many instances, overly bright solid colors are now used (such as the battery charging indicator for the lock screen) which tends to mesh badly with some of the backgrounds. There are a few icons (particularly Safari) that I’m not keen on and contrast is low between some elements due to the lack of borders and shadows but overall, it is a nice look.

The interface is very easy to get around in, but it’s not nearly as pleasing to the eyes. The concept of making everything transparent to provide the user context, but then blurring everything out to make the controls readable seems contradictory to me.

The upside to all this is it seems this new layout will push design efforts to new places. To match the look and feel, efforts will have to be placed more on interaction and layout, instead of on the graphical assets of an app. Platform specific layouts will probably become more common as each platform is deviating more and more from each other (while iOS may now appear to be a giant Android or WP8 ripoff, the core distinctions between the platforms and the UI will create issues.)

iOS 7 takes the physics effects to a new level, and makes them available to developers as simple relationships (View A pushes B. View B is anchored to C, with a little damping. C is affected by gravity, etc). I haven’t found much documentation available on this API at the moment, but it looks very simple to set up, and it’s something that competitors do not offer (and that would be prohibitively costly for devs to write from scratch), giving Apple’s platform another, albeit subtle, differentiator.

The New Features

There are some much needed iOS features finally implemented in 7. The ability to swipe up from any screen to get access to the camera light, wifi, bluetooth, and other options is very handy. There’s airdrop sharing now as well, which looks very convenient although I am somewhat concerned that image previews over airdrop might lend itself to some trolling. Multitasking has been drastically improved for apps, and the notification center looks like it’ll be far more useful/less confusing now. Notifications and passwords also now sync across devices. Generally the complaints I’ve seen about iOS so far have all been answered in 7. Some highlights:

Xcode 5 vastly improves performance over Xcode 4. After playing with the beta for a few hours, I can confirm that it handles large storyboards with auto layout just fine. Performance should be better still on OS X Mavericks.

Creating auto layout constraints is much easier in the new Interface Builder, due to the ability to connect views directly, and to leave auto layout disabled for certain views.

XCUnit brings standard unit testing features that were omitted from OCUnit.

Continuous integration is built in.

iCloud sync is supposedly fixed.

Automated project setup for push notifications, iCloud, Game Center, etc.

Intelligent handling of assets for different devices and screen resolutions.

From a Developer’s Perspective

There is a tremendous amount of flexibility coming with the new APIs. Apps have more opportunities to update in the background and provide the user more timely information. Developers have been given far more flexibility with transitions, and animations have been updated to have many components improving the fluidity and liveliness of apps. Whole new features are also opened up or dramatically improved, such as speech synthesis, air dropping, iCloud support, and peer to peer networking. Its too early to make a definitive analysis on any one feature, but suffice to say this year will be very exciting for app developers.

Apple is determined to remain the de facto platform for mobile gaming with SpriteKit (plus the game controller standard). It offers a decent toolkit with built-in physics, animations, particle effects, etc, that looks easier to learn than Unity or cocos2d + Chipmunk. The integration with Xcode alone will probably be enough to convince small or first-time indie game developers to use SpriteKit. The upside of this for Apple is that games written with SpriteKit are harder to port to other platforms, so little indie titles will stay exclusive to iOS.

The toolset has also been drastically improved, as XCode 5 is now launching with iOS 7. Many needed features such as command line unit tests and continuous integration are now built into XCode. Performance improvements and reliability updates have made the tools more stable and easier to work with. Many new debugging and testing features have been added to improve the quality of the apps produced. Companies may need to rethink their current workflow to fully take advantage of the new IDE, but the sheer ease of use will make it worth the trouble.

Overall impression of the keynote is that Apple is working to ensure developer satisfaction and loyalty. Nearly every feature addresses some shortcoming of the platform, or takes a decent piece of the development and advances it to a level that will be difficult for competitors to match. There’s still plenty Apple has not fully revealed about the update due to lack of time, so there will be much more to hear during this week. There’s also supposed to be some very exciting stuff about MDM and Passbook, not all of which seems to be immediately apparent or available on the developer site.