To Top

Android Jellybeans to provide multi-user support: Hidden feature

Wouldn’t it be awesome to have different phone-profiles for work and home, or perhaps, different one for different people, so that you can provide limited access to certain people, while you enjoy unbounded access to all your personal data and underlying features? The concept which has been widely applied in operating systems like Windows, Linux, Mac and almost every other computer OS has silently paved its way into Google’s Android OS too.

Many are curious if it is possible to make Android a real-time desktop operating system. While some question its feasibility, many believe in the portability and the compatibility of Android OS. The code for Jellybeans has been released over a month ago and according to developers, the makers of Android have laid hints all over the Jellybeans code.  Android Police were the first to dig into this story and reported about this remote possibility, way back in April 14th, 2011.

Commands (using ADB shell) incorporate two managers- PackageManager (pm) and ActivityManager (am) which provide the hidden functionality to add/create users.

For instance, a code like: pm create-user user1 would create a user with id: user1. When you want to switch to a different user, you would have to use the ActivityManager (am).

For instance, to switch control to the above created user, a code like: am switch-user 1 would need to be implemented, which would shift the control from root-> all-access to customized access (user1). You can also list users and remove users using commands pm list-users and pm remove user1.

How would this alter the dynamics? Some important points to note here are:

  • Visual detection of the current active user is impossible, which means just by looking at the phone, you cannot spot if you’re given restricted access or full access.
  • Notifications and recent apps do not clear autonomously and often create a lot of confusion when the users are switched. (Hope Google can fix this, soon)
  • Live Wallpapers switch from user to user, while static remain static.
  • If a user installs an app and chooses to encrypt it, thereby restricting the access from other users, then anyone apart from him trying to invoke the app would be bumped with an error message, stating “Access denied” or in Java Language, ClassNotFound Exception)
  • The settings of each app would differ from user to user.

The users would be able to switch from one user to another using a certain pin-unlock code, unlock pattern, password or even Face Unlock (just like you switch users on Windows). Just like Windows, users would be able to have customized layouts, settings, preferences and much more. Parental control could also be applied to Android devices then, thereby giving it an edge over monotonic iOS devices.

With Google laying hints in the Jellybeans code, the multi-user environment is soon going to pave its way into next-gen tablets and smartphones as well. This would potentially unlock a whole new set of possibilities and revolutionize the mobile OS concept as well.

More in Android