In my opinion, the major tasks for Apple this year are all about software, especially in the iOS eco-system.
iOS has very solid Unix foundation and decent application framework. For a long time iOS had incontrovertible advantages over its rivals: performance, security, smooth user interaction, etc., most of which are still advantages today. But we all know that some incapabilities in iOS, especially compared to Android, are becoming more and more important aspects that Apple cannot ignore. Consider the following facts: Android may not be rendering the UI animation as smoothly as iOS always does, but it’s been getting better and better since Android 4.0, while iOS still doesn’t allow third-party apps customize the lock screen or put widgets on any part of the main UI. See the difference? Android’s problems are ‘not as good as iOS’ and iOS has some incapabilities. If Apple want more people to choose iOS it should persuade the swing people (not the fans) that iOS is better in all aspects. It’s a prerequisite to eliminate those incapabilities ASAP.
Ars Technica posted their staff wish list for iOS 7 last week. Most features in their list are good ones but not the critical ones. Base on the above eliminating incapabilities theory I’ll list mine below, divided to developer and user categories.
Wish List as a Developer
1. Inter-app Communication
Cocoa provides very powerful and elegant inter-process communication solution on Mac OS X:
NSPortNameServer, but none is available on iOS (for third-party apps at least). Inspired by the popular photography app Camera+, many apps use shared system clipboard and custom URL schemes to simulate a cross-app call with custom data. Following this approach Apple can easily develop a secure, simple but powerful solution.
The UIActivityViewController API introduced in iOS 6 is a high level interface for inter-app data sharing. It’s similar to Android’s “Share…via” interface, but not allow third-party apps to add system level services (app level services are allowed, see this StackOverflow question for details). This is another improvement opportunity for Apple.
2. Widget API
Widgets may bring trouble (drained battery, inconsistent user interaction, etc.) but still useful and sometimes very attractive. There are several parts of iOS’s system UI that are calling for custom widgets: the lock screen, the notification center, and the multitasking bar (actually we already have some impressive mockup for this one).
For now all these UI parts are running inside the Springboard process. Apple must move them into independent processes before allowing third-party widgets running within them. Then Apple should push some strict guideline for widget development (just like multitasking). Finally open a front page section in the App Store and Boom! Everybody will be happy with it.
3. Siri API
This one is easy to describe: open APIs of Siri, let us develop plugins for Siri and make her a real goddess. Third-party apps can facilitate Siri’s advanced voice recognition and text-to-speech engine, response to Siri commands and integrate content into Siri’s search result. It will bring a whole new world in.
4. A Better App Store
App Store is good, App Store changed the world, App Store brings money to the happy developers. But App Store desperately needs these (thank @GossipSama for insightful addition):
- Incremental update for apps. Enough said.
- Better IAP flow. The standard flow today is fragile: app connect to iTunes to let user purchase; app connect to its own server to log the purchased token; app server connect to Apple’s IAP server for verification; etc. If user quits app during some steps or app server fails on IAP server, the transaction will fail and may leave incomplete state in the system. A one step server-to-server workflow will be life changer for developers who highly rely on the IAP mechanism.
- Account statement. Developers need detail account statements for many reasons: fix failed payments, find cheating users, etc.
- App promoting policy. Developers need more transparency on app recommendation and sorting mechanism, and a clean policy for app promoting (can and cannot do, good and evil behaviors and so on).
Wish List as a User
First of all, most features listed in the previous part can extremely benefit all users. Users will get a shiny new iOS with powerful new features like:
- Bluetooth/WiFi/3G/Screen Rotation Lock toggles right in the multitasking bar.
- Event and weather display in the lock screen.
- Sending any link from any apps to Instapaper (even the apps without builtin support for Instapaper).
- Beautiful, secure, reliable widgets in App Store to customize iOS.
- Much more apps in the App Store with Siri integration.
- Faster app updating and more robust IAP purchase.
- More easily to find good apps.
Beside these we also have the following:
1. iTunes Account Merge
If you have more than one iTunes account (e.g. Japanese have many exclusive, excellent music and games!) you are in trouble. You have to manually log off and log on to each of your accounts to check app updates. And when you want to do some IAP you have to confirm (manually again) that you are currently logged on to the account from which you originally bought the app.
iOS and iTunes should make it better.
2. Better Arranged System Setting
Tell me where is the Auto-Lock setting in 5 seconds. Can you do that? Yes? And how to turn off iCloud sync for document and iTunes Match under cellular network, huh?
3. More Useful Gestures
Multitasking Gestures on iPad is good, please fine-tune and bring them to iPhone. Further more, Apple should seriously consider the jailbreak system add-on Activator and bring more useful gestures to iOS. So people can forget the ugly AssistiveTouch button.
4. Multiple User Profiles on a Device
Sharing iPad in a family is very common. By supporting multiple profile and user switch the children will have more chance to use the iDevice, and more likely buy their own sooner or later.
So what do you think? Share your wishes in the comment!