Wish List for WWDC: iOS
As I mentioned in my OS X wish list Apple has held their early 2016 event and the next event is likely to be Apple's World Wide Developer Conference (WWDC). The most successful product in Apple's history is the iPhone. The iPhone managed to come about at the right time to allow Apple to propel itself to become one of the most valued companies in the world. Besides the design of the hardware, the other crucial aspect of the package is the software, iOS. Let us look at some new features of iOS that some would like to see this year.
iOS
iOS has come a long way since the initial version, iPhone OS 1.0. The feature set within iOS has definitely grown over the years. One of the biggest changes that was introduced iOS 4 was multitasking. Multitasking allows users to have applications run in the background while they are performing other tasks with their iOS devices. While multitasking has made progress, the biggest change to multitasking came last year with iOS 9. That feature is the ability to have side-by-side applications. This recent feature has made tremendous progress in productivity gains for users. While at WWDC 2015, when Apple unveiled the ability has to do side-by-side applications, as well as slide over, no one could predict that Apple would unveil the 12.9-inch iPad Pro in a few short months.
The 12.9-inch iPad Pro is the product that the side-by-side applications was designed for. While side-by-side also works on the iPad Air 2, iPad Mini 4, and 9.7-inch iPad Pro, the 12.9-inch iPad is the device that can demonstrate the utility of the feature the most. On the 12.9-inch iPad Pro, you are able to run two applications in portrait mode, and will only be missing a minimal number of pixels. This means that you effectively have two iPad Air 2's side by side.
Many have indicated that the iPad has not had the best marketing message over its six short years. This includes the initial message that the iPad was for consumption. Over the past few years Apple has attempted to change the prejudice towards the iPad by providing features that make the iPad a productivity device. Regardless of the message and what one may choose the believe, there is one thing that people cannot deny; the word "Pro" in "iPad Pro" is meant to indicate the it is professional device. There are a few applications that could cement the iPad Pro as a truly professional device. The biggest one that come stop mine is absolutely a "Pro" application. That app is Xcode.
Xcode
The ability to run applications side-by-side, as well as the sheer horsepower that the 12.9-inch iPad Pro has under its hood, has lead many developers to wonder "Where is Xcode for iOS". While there are many tricky areas that would need to be flushed out in order to make Xcode on iOS a reality, it is possible. One of the limitations of any development environment is memory. The 12.9-inch iPad Pro has 4GB of memory, while the 9.7-inch iPad Pro has 2GB of memory. This would be enough to do some development directly on the device. This is one of the reasons why the iPad Pro would be the preferred platform. The iPad Air 2 also has 2GB of memory, but it may not be ideal given the reasons below.
One of the downsides of Xcode, as it stands right now, is that to be able to develop an iOS application you need a Mac. Imagine, if you will, the ability to build an application, its assets, and test an application all on iOS device. There are a couple of justifications for this. With Xcode 7, you are now able to run your own applications on your own iOS devices, without paying for an Apple Developer account. Now imagine being able to build an application that only you will use, and doing it all on your iOS device. Even better, doing so with Xcode and your application running side-by-side. Talk about live debugging.
One of the possible issues with Xcode on iOS is building interfaces. One of the best tools for this would be the Apple Pencil. Given the iPad Pro has the ability to use the Apple Pencil, the ability to create smaller touch-targets would make this easier to do. The ideal would be to require an Apple Pencil, so that the touch targets would be smaller. Even without an Apple Pencil, it would be possible to do some basic interface building. Being able to snap the interface to a grid, could be an option when not using an Apple Pencil.
The last possible reason for Xcode on iOS to exist only on the iPad Pro is to give the iPad Pro a truly professional-level application. One of the possible issues with this idea is that it would require the ability to be able to target specific devices, or limit installation and options based upon device capabilities. Apple could use some private APIs that would allow them to limit applications to specific devices, if they chose to do so.
Limit based upon device
Many developers have requested a feature that would allow them to target specific devices. This would be a significant benefit for game developers. It would allow developers to build assets tailored specifically for devices. This is already doable, to an extent, using asset slicing and on-demand resources.
To fully implement this, it would take some work not just within iOS but also on the iTunes Store. One of the requirements would be the ability to indicate on the store what devices the application is compatible with. Besides this, it would also require some work on the developer's part to verify compatibility as well as indicating which devices are compatible. This last aspect would be the least of the concerns, since it would behove the developer to provide the best experience possible for their applications.
Apple knows all of the devices that a user has attached to their iTunes account, so Apple would be able to alert users that an application is not compatible with any of their devices and would allow them to confirm they want to purchase the application regardless of their inability to actually use the application.
One of the possible downsides to adding the limit would be that some developers would only allow the latest and greatest devices. Alternatively, Apple could allow developers to just set minimums for applications that they submit. It is not likely to be a feature that comes about, but one that could add some appeal for both users and developers.
A side benefit for this could be personalized application curation. A section on the iTunes store that would show users applications that would work best on their devices. Again, this would take some integration between the iTunes Store and iOS, but it could be feasible.
Final Thoughts
iOS has seen its share of new features in the last 9 years. Just as one might begin to think that the new features that will be added will begin to wane, Apple surprises users and developers and keeps adding new features. It will be exciting to see what Apple has in store for this year's World Wide Developer Conference.