Tuesday, July 31, 2012

Android Getting User Accounts; How the iPad Should Follow

Ron Amadeo from Android Police has done some heavy research inside the publicly available, open-source Android code.

This revealed some very interesting things. Android already has code to support a multi-user environment, much like desktop operating-systems. This includes a multi-user folder structure among other things. What’s more, a lot of this code is already on devices in use right now (devices running Ice Cream Sandwich and Jelly Bean). Google employees are even working on this code.

While the UI needs a lot of reworking and stuff needs to be opened up for end-users in order for mobile devices to get user switching, it is certainly on the map at some point.

If Android devices get user-switching and these features get widely adopted, Apple will certainly think about getting into this. Here’s how I think Apple should implement such features into iOS and at what level.

Why does iOS need user accounts?

User accounts are commonplace in desktop operating systems. They allow every user of the computer to enjoy their own cosy little ‘sub-computers’. Every user has their own settings, desktop background, files and personalizations.

Mobile phones are truly personal devices. iOS on iPhone certainly won’t need these features. Most people don’t share an iPhone. Implementing user accounts on a phone will make things very messy for everyone and these complications will sway away from Apple’s goal of making very clean and simple products.

The iPad however, is in dire need for these complications. The device is large and families buy it together. While the iPhone is a product individuals may walk into the store to buy for themselves, the iPad is something families expect to share and use together. However, these families later find out that the device is meant to be used as a personal device (but they share them anyway). It’s hard to make the iPad a couch or coffee table device that everyone can use.

The Internet is filled with guides on how to optimize an iPad for sharing with family members. But things still don’t quite work. Safari customizations will have to be shared with others or cleared after each use. The Mail app is really not secure. People criticize Apple for not making the iPad a shareable device.

In May 2012, Apple responded to a developer who asked about this. They said “After further investigation it has been determined that this is a known issue, which is currently being investigated by engineering.” Therefore, Apple may be looking into user accounts as a feature at some point.

How iPad user accounts should work

Setting up iPad

I believe user-switching should be an optional feature from the get-go. When the iPad is set up, the user should be asked if the device will be shared with other people. If the user responds with “no”, the device should be set up as it works today. However, the user should be able to change this later on without restoring the iPad.

The iPad should still work on a single Apple ID for three reasons:
  1. An Apple ID is meant to be shared across a household. 
  2. Multiple Apple IDs on the same device will make app purchases very messy. 
  3. Most families use one bank account or credit card to make online purchases.
Accounts should have distinction between administrator users and standard users, similar to desktop operating systems.

Switching accounts

When the iPad is woken from sleep, the screen should show a list of users with user accounts. Perhaps there can be a list of usernames with their photos. The photos can be slid across the name to unlock (or prompt a password box).

A user should be logged out only after the device sleeps for a set amount of minutes or when manually logged out.

When the device is in use, the header bar may have a button with the name of the current user that can be tapped to switch to another user or to log out. For full screen apps (like games), this functionality can be integrated into the pull-down Notification Center interface.

When a user locks their account or when someone else switches to theirs, the former user’s session should be stored in memory and later in the regular storage space similar to the hibernation feature on laptops. When the user logs back in, any app they were previously running should be ready to continue.


A multi-user environment on iPad should let users have their own custom Home Screens. Apps should be installable for “everyone” or “just the current user”. The administrator (or others with administrator permission) should be able to install apps that will appear on everyones’ Home Screens.

Standard users, however, should have the ability to install apps for themselves only. I make this point because considering the possibility of malicious apps, iOS is very secure. Apps can only be installed from the Apple-controlled App Store. Hence, kids, elders and less-techie people should be able to get apps for themselves without any issue from a security standpoint. However, administrators should be able to block and manage real money purchases for other users.

The user data and documents of apps can be divided into that for all users. Every app will have separate settings for all users. However, some developers may still want to make certain apps that remain constant across all user accounts. Apple should allow this.

Some built-in apps, such as Photos and Video should be shared across user accounts. Different users in a family will very rarely want to have their own individual photo or video libraries. Music, however, should be in sync with separate music libraries if the users desire to use it that way.

iCloud and Messages

All users should be able to use their own accounts for their personal iCloud and iMessage accounts. Using IDs separate from the Apple ID the device is registered to is already possible, so it won’t make sense to remove that feature. iCloud backup should still work through the main Apple ID that the device is registered with and purchases are made from.

Problems and other issues to be considered

Obviously, such functionality is a complex departure from how iOS currently works and will require a lot of work and testing before it can be released. There are still some issues that need to be worked out.

Storage space needed

For each user to have their own data and customizations, a lot of storage space will be required. Even more demanding will be the space required to keep all the user sessions saved and ready to continue when they log in.

Apple will gradually need to move away from the 16 GB model of the iPad that is currently available and push in a 128 GB offering. Also, in order to keep the prices the same, this user-switching implementation will only be possible when the cost of memory chips is low enough. Even if all this is possible today at the same price levels, Apple will not be bidding goodbye to its healthy profit margins.

iTunes sync

With iOS 5, Apple technically moved away from the need to sync iOS devices with an iTunes library on a desktop computer (although there were some problems). iOS devices could still be synced normally with iTunes.

If Apple is to implement such functionality into the iPad, it will not make sense for them to keep the current iTunes sync system in iOS. The current syncing is too conducive to a personal-use device.

The iPad should have a standalone set-up, like it does now. Photos and videos should be manually managed. It will make things easy for everyone. Music and books should be ‘syncable’ per user from their own iTunes libraries. Since app installs are complex in my system (per-user plus administrator-installed), there should be no app syncing in iTunes. It is simply not needed anymore, since apps can simply be redownloaded and data can be backed up to iCloud.