Wish list for WWDC 2016 Part 2

We have written our Wish list for WWDC 2016 from a developers’ perspective. This is part 2 that includes some more wish lists.

MapKit for the Web

MapKit is currently limited to iOS and OS X. It is spotted that Apple is using its own map data at the newly launched WWDC site. Lets hope Apple will open up their Map database for third party web apps. Opening web API for MapKit will allow iOS and Mac developers to reuse the same data for web and Android version of their app.

Keeping OS X Command Line Utilities Current

As with any Unix based operating system, OS X contains a large number of command line utilities and tools. Apparently Apple is not keeping these tools updated even if there are security vulnerabilities.

This post highlights one example with the git tool. The version that is in the latest OS X El Capitan 10.11.4 contains two bugs that allows remote code execution. Worst still, it is not easy to remove the git version installed in OS X due to the rootless protection by El Capitan. Lets wish Apple applies their security update practice to these command line tools.

Sample Android Java app

Apple has its own Android app. How about teaching its developers how to develop one that uses CloudKit? WWDC will shock Android developers if there is such a talk.

Mac Bootcamp for Linux

It is possible to install Linux operating system such as Ubuntu for dual boot usage on a Mac. But there is no official support and installation instructions are coming from the communities. There is always the concern of hardware compatibility. There are large number of developers using Linux for their work. There is definitely a market as evident by Dell’s Linux based XPS 13 notebook. It makes sense for Apple to target these segment with a bootcamp for Linux. Apple is in the hardware business and not the OS business.

Siri API

It is long overdue. Apple seems to be ok with Amazon Echo and Alexa taking over the market.

Migrating from Parse to CloudKit

To reduce the number of non functional apps in the App Store that uses Parse, it might be in Apple’s interest to guide developers on how to migrate from Parse to its platform.

Swift Playground for iOS

It will probably be a few more years before we see Xcode for iPad, but there is no reason why there is no standalone Swift Playground for iOS. 

Push Notifications Kit

Push notifications is basic requirements for many apps but it requires a third party server in order for app to send out notifications. It is straight forward to implement such server using open source push notification server, or developer could implement push notifications via a provider.

The wish list is for Apple to be a push notifications provider in order to simplify the interfaces for apps to use push notifications. This could be implemented as add-on services on top of CloudKit. Interface could be implemented using web API or using server-to-server key similar to CloudKit.

Safari Downloader for iOS

Have you ever try to download a large file via mobile Safari? Its time Apple implements a background downloader for Safari in iOS.

Print to PDF for iOS

Print to PDF is basic feature in OS X. It is curiously missing in iOS. It should be implement right within iOS system printer to allow saving PDF output to iCloud Drive.

News app for the Rest of the World

Apple News app is available only in U.S., UK, and Australia. It appears to be an experiment for Apple as it is not rolled out to more countries months after its debut last September.

“Login With Apple” Identity Kit

Games that uses iOS Game Centre API is able to obtain unique user identity. This allows games to bypass user account registration and signin process. Apple prohibits non-games app to use this API. For normal apps, CloudKit provides similar mechanism whereby apps are able to obtain unique identifier for each user. Thus it is possible to implement a “Login with iCloud” to provide seamless signing without password.

However “Login with iCloud” requires user to grant additional permission by switching on iCloud. Not all users have iCloud enabled. The wish is for Apple to implement a general purpose Identity Kit that allows apps to implement “Login with Apple” that ties to users’ Apple ID. 

API for Notes App

Many are using Notes app for note taking. Notes app has become a goto app to store all sorts of personal data. It would be ideal if there is an API that allows third party apps to use Notes as the base for user’s data collection, be it notes, links, snippets, quotes etc.

Core Data sync with CloudKit

It is possible to roll your own codes to enable Core Data sync using CloudKit as store. It is however a complex undertaking. An official reference implementation from Apple is most welcomed.

Siri: WWDC 2016 will be held June 13 through June 17

WWDC 2016 will be held June 13 through June 17

There is no announcement yet on Apple’s WWDC website but Siri is telling us that WWDC 2016 will be held June 13 through June 17. Based on past years, Apple will be announcing ticket sales for WWDC anytime now. Are you as excited as Siri?

Updated: Hours after Siri broke the news, Apple officially announced WWDC 2016. Similar to past years’ practice, tickets are sold to developers through a lottery system. Visit Apple developer website now till April 22 10am PDT to register your interest. Apple will then select attendee randomly. Ticket at $1,599 can not be transferred or resold.  

WWDC 2016

Apple releases Safari Technology Preview for developers

Apple releases Safari Technology Preview for Developers

Apple has released a version of Safari for OS X called Safari Technology Preview. The app contains bleeding edge browser features that is under development, and is meant for web developers to help them get ready.

Safari Technology Preview is a version of Safari for OS X, distributed by Apple, that includes a cutting-edge, in-development version of the WebKit browser engine. It’s a great way to test upcoming WebKit features and give feedback to the people building them when it’s most useful — early on in development.

Web engine technology is evolving at a fast pace, both Chrome and Firefox have had a preview version of their browsers for years. Apple has finally made an effort to be helpful to web developers. Safari Technology Preview is useful for developers targeting iOS as the same WebKit engine is used in both OS X and iOS.

Download is free without registration for anyone at Apple developer website. You can run the preview app side-by-side with Safari and other browsers. Updates to the app will be delivered via Mac App Store.

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.