Wish list for WWDC 2016

Apple’s developer conference WWDC 2016 is expected in early June. Here’s a developer’s wish list of things hopefully Apple will announce this year. This list is in no particular order.

Unified UIKit and AppKit

Developers are presented with two different UI kit when developing for both iOS and OS X. It is high time Apple support targeting both iOS and OS X using one unified kit. At the minimum, Apple should make it easy for developers to use the same iOS UI code to develop for OS X. 

It is speculated that Apple’s own Photos app is using the same ‘UXKit’ framework in both iOS and OS X version of the app. There is hope that Apple will release this framework to the public. It is an opportunity for Apple to revive the Mac platform. Nobody wants OS X to remain a dead native platform forever. 

Xcode for iPad

If we do not see Xcode for iPad soon, maybe Apple should strip the ‘Pro’ labelling for its iPad Pro. How about partnering with IBM for a “Visual Swift” tool for building enterprise iPad apps?

Scripting for iOS

With the success of Workflow, expect to see this popular automation app sherlocked by Apple soon. Where is Automator and AppleScript for iOS when you need them?

iOS as bots platform

Bots are taking over the programming world. Most bots are found in messaging and chat apps. Apple should make its platform the bots platform of choice. Ideally there should be an SDK for developers to add app specific bots and make them available as system utilities. Not sure technically how it should be accomplished. A bot app for a unified bots interface? Or a bot SDK for app to integrate with Siri?

Apple might just build a bot platform on top of iMessages. But the app does require some innovative features to be in competition with the likes of Facebook Messenger, WhatsApp and WeChat. Just an iMessages for Android might not save the day.

Split screen version 2

Split screen is a great addition in iOS 9. But two features are missing. The first is the ability to drag and drop between split apps. Touchscreen interface without drag-and-drop is like the first version of iOS without copy-and-paste. The second missing feature is the ability to run the same app side by side on split screen. 

App Store and Mac App Store

Developers like to blame Apple when they’re not able to generate enough earning for their livelihood on the iOS and Mac App Store. It’s a debate if the race to $0 dollar app is largely Apple’s fault. But there is so much more Apple can do to help out developers. Some might say it is not in Apple’s interest to care for all developers, since the majority of earnings are from but a few. Developers that are struggling to survive can either choose another way out or hope that at least some help is on its way. Whatever App Store changes Apple put in place, it is doubtful if it will have any impact on the dire situation smaller developers are facing today.  

Many developers have asked for a way to charge for upgrade for years. This is especially true for high price premium apps on the Mac App Store. Apple does not get it. Developer can release a new SKU for the new version of its app, but it is different from a paid upgrade. Without paid upgrade, no discount can be given to existing users. Many premium apps rely on upgrade from existing users, without such the business is just not sustainable. It is painful to see Apple just choose to ignore this feature request.

Apple supports auto-renewable subscription as an In-app purchase option but it has its quirks. First of all, it is not open to all apps and is under Apple’s discretion whether your app can use it or not. Imagine spending the time implementing auto-renewable subscription and then end up not being approved by Apple.

Then there is no option to allow developer to offer an “Unsubscribe” button from within the app. The subscription management is buried within App Store settings page.Then there is the issue of the app not knowing if the user has turn off renew automatically before the subscription actually ends. Developer can’t have the last attempt to prompt user to continue their subscription.

App Store team should seriously review how other subscription services are implemented. The current implementation is just not friendly to the app business.

Apple TV

There are a number of ways Apple can spruce up the current Apple TV. Apple TV is not the best general purpose media player due to its lack of 4K video. It is not the ideal game platform due to the limitation of its default controller. Third party gamepad is supported, but unless Apple release its own gamepad, not many will view Apple TV as a serious game platform. We don’t even get the most powerful A-series processor on Apple TV.

As an app platform, Apple TV is lacking in few departments. Where’s the camera and microphone when you want to develop a chat or video conference app? What is the best practice payment flow like for a shopping app? Where’s the SDK for Siri to develop an Amazon Echo like app? And there is no options for developers to use Apple TV as a HomeKit hub.

Developer News

Apple developers will likely shake their heads after visiting developers.googleblog.com. It is disheartening when you visit developer.apple.com/news/ and read those one sentence news such as “OS X El Capitan 10.11.4 beta 7 (15E64a) Now Available”, “iOS 9.3 beta 7 (13E5233a | 13E5234a) Now Available”. It appears that the news site is run by the App Store team. Need news on the latest development of Swift? Then it is on another site. Need to know the latest developer sample apps released by Apple, then you have to dig elsewhere. Looking for some tutorials on how to use Swift 2.2, head over to IBM blog. 

The news site is build more for managers of developers, with a total lack of articles and insight on how to build better apps for Apple platform. It is in Apple’s best interests to teach and train its developers all year round, not just during WWDC. Is it too much to ask Apple to dedicate some such resource? 

Multi-user support for iPad

One common use case for iPad is as an entertainment and reading device for family members. Multi-user support is ideal to enable such sharing. Apple might think multi-user support will impact iPad’s sale. The lack of this feature will not propel a family to buy more iPad. It will only give them inconveniences.

Apple might want to consider a brand new padOS for its iPad, with multi-user support, terminal command prompt, file management access and full USB support. This will make choosing an iPad Pro over MS Surface a no brainer exercise.

iPad sales is not growing. Maybe its not because of the hardware.

User login for tvOS

It is strange that when you switch on an AppleTV and see the photos, music, apps of one family member. tvOS requires a user account login for its App Store, Photos, Music, Podcasts etc. There is clearly a mismatch. A TV is a communal device shared by many. Hopefully Apple is working on a solution for the next version of tvOS.

Native Docker support for OS X

Docker container technology is storming into cloud computing, and is becoming the tool of choice for many developers, especially for backend app development. OS X is currently not compatible with the container tech used by Docker. Using Docker on OS X is clunky, as it relies on a virtual machine running a compatible Linux instance. It is no surprise to see that OS X is running out of flavour with some developers who choose to run Ubuntu or Debian on their Mac.

Apple TV Tech Talks Videos

Apple TV Tech Talk Videos

Apple has released the videos for the Apple TV Tech Talk, a conference that it held across 10 cities around the world to teach developers how to make tvOS apps for the Apple TV. There are a total of 11 different videos covering topics from designing for tvOS, focus-driven interfaces, Siri Remote controller, on-demand resources, TVMLKit, the Top Shelf and App Store distribution and marketing. This is the first online video resources from Apple to learn about Apple TV programming as tvOS was not covered in WWDC 2015.