With the release of the Apple iPad and the associated iPhone SDK 3.2 there are a number of new features of the SDK. This article provides a high level overview of those features. At the current time, iPhone OS 3.2 is only available on the iPad, iPhone developers will have to wait for these features..

Split Views

Split views were most prominately demonstrated in the new mail app for the iPad. It consists of a list of items on the left, called the master view, and a larger content view on the right, called the detail view. If the iPad is rotated from landscape to portrait mode the left list disappears and the content view consumes the entire screen. The UISplitViewController provides this ability. Out of the box the SDK has this controller class and an app template for this application. It is possible to replace the left table view with a view of your choosing. The UISplitViewController manages the hiding and revealing of the master view automatically.

File Sharing Support

The app developer can indicate that the files belonging to an application can be shared. When this is true, any file that the iPad app places into it's Documents/Shared directory will be visible in a file share when the device is plugged into the PC or Mac. This capability eliminates the need for many weird hacks developers had to use to share files with the user's PC.

PDF Generation

The app can now easily generate PDF documents. This capability brings the iPad close to normal PC status, almost verging on the ability to print documents.

Popovers

These are not the tasty pastries your mother used to make. These are views that are analogous to dialog boxes in OS X or Windows. They are views that do not occupy the entire screen and do not obscure the information behind them. The popovers automatically go away when the user taps outside of them. In prior iPhone SDK versions it was difficult to create a view that didn't obscure the content beneath it. Given the large screen real estate of the iPad, this functionality will be very useful.

Custom Input Views

This appears to be a way for apps to define custom keyboards, as seen in the spreadsheet specific keyboard for iLife. The documentation is sketchy at this time. This feature will be handy for data entry where the possible data set is limited, but still too variable for a picker.

Gesture Recognizers

The gesture recognizer functionality gives the developers a consistent way to recognize gestures, such as panning, pinching, rotating, or long touching. Any view can use gesture recognizers to easily detect these common gestures. Before, each app had to have it's own code to interpolate multiple touches into these gestures, making behavior across apps inconsistent. A common gesture library will make it easier for iPad apps to behave in a familiar fashion.

External Display Support

The SDK now allows applications to display their windows on external displays. In addition to enabling gaming on larger monitors and presentations on projectors, this feature can also solve the age-old problem of how to demonstrate your app to a large audience without having to stand uncomfortably close to one another.