Apple just wrapped up its yearly WWDC keynote. Jokes about Craig Federighi's hair aside, the company introduced new versions of OS X and iOS, and it announced some pretty big changes aimed at developers.
First off is OS X 10.10, which Apple has code-named Yosemite. 10.10 will feature a major user interface-overhaul with plenty of cues from iOS 7, including a new system font, abundant translucency, and a flatter visual style. A number of built-in apps have received incremental upgrades, too. Users can expect a more prominent, Internet-aware Spotlight, a more extensible Notification Center, and a faster, prettier Safari.
iOS 8 looks much the same as iOS 7, with most of the major changes lying under the hood. Notification Center is now extensible—developers can write widgets to add to the pull-down panel. Like OS X dashboard widgets of yore, these can update in real time and allow interactivity. Federighi showed how one can monitor an item on eBay and place a bid without leaving Notification Center. This interactivity extends to regular notifications, as well. You can now reply to a text message or "like" a Facebook post you're tagged in, for example, by acknowledging the notification without leaving the current app. iOS 8 also adds extensive group messaging features, a list of recent contacts in the multitasking pane, and QuickType, a predictive typing system that suggests tailored responses based on your typing habits and the contact being messaged.
A major cross-platform enhancement for both OS X and iOS is Continuity, a software layer that allows a user's various iDevices to share information. Thanks to Continuity, folks should be able to switch devices and seamlessly pick up their work wherever they left off. For example, if you're writing an e-mail on your iPhone and suddenly need to switch to your iMac, you can simply lock the iPhone, and a reminder flag will appear on your desktop about the draft in progress. If your iPhone is out of reach, Continuity even lets you make calls and send messages from your Mac without leaving your desk. In a similar vein, Apple has now made it possible to use the AirDrop service between iOS devices and OS X, addressing a major user complaint.
On the developer front, several new APIs were introduced today. Those include HomeKit, which opens the door to home automation apps, and HealthKit, which allows health and fitness apps to contribute to a unified picture of one's well-being through the new Health app. HealthKit can also send healthcare providers real-time updates about parameters like blood pressure, which could indicate a need for immediate intervention. Apple is allowing iOS applications to become "service providers" for other apps, as well, by providing secure methods of app-to-app communication. For example, a user with Pinterest installed on their phone could share an item from Safari simply by bringing up the iOS sharing menu and selecting the Pinterest app. Another demonstration showed third-party photo filter apps being used to modify pictures in the native Photos app.
Perhaps the biggest bombshell of the keynote was also addressed to developers. In a surprise move, Apple introduced a new programming language, Swift, that's meant to replace Objective-C as the language of choice for developing iOS and OS X applications. Swift is designed to support more modern programming paradigms and to make programming easier for developers, Apple claims. The company described Swift as "a programming language without the baggage of C," and judging by developer response on Twitter, the change is a welcome one.
In addition to Swift, Apple announced Metal, a graphics API that's meant to give developers more direct control over iDevices' graphics hardware than OpenGL. Metal seems to follow in the same vein as Direct3D 12 and AMD's Mantle.
The OS X 10.10 beta is available to developers today. A public beta will follow this summer, and Apple will deliver OS X 10.10 to the general public as a free update this fall. iOS 8 is available to developers today and will be released in the fall, also free of charge.