This tweet from Tom Warren made me smile. So, it's 2012 and tablets are finally able to do what the Amiga did in 1985. Seems like a bit of a stretch to be excited about that, right? Sure, until I caught myself getting excited - only a bit, but still - by this piece of news. Update: removed me being an annoyed child.

I'd think you are right, I don't know enough about Android internals to tell you why It feels slow. I speak from an end user pov here.

I love the hardware of Android devices, they are way ahead of expensive Apple offerings... but when you actually use the devices they feel much slower than even vintage iOS devices. It's shocking.

And I fear that multi-user support will increase this slowness, actually... I'm pretty sure of that because I dealt with multiuser issues during my career.

I mean, the device will have to store the state of the session when you switch between users (running apps, configs, connections, ecc)... Android has to keep that state in memory somehow, in RAM or swap it to the flash memory... It's not a minor concern, It can be very resource hungry.

Then you have the file owner/permission issue. You don't want that your files can be modified by another user. Android will have to implement that too.

That's why I think adding multiuser support to a mobile OS is a big fat stupid idea. Good multiuser support is a complex thing. It's not trivial nor "free". KISS.

And I fear that multi-user support will increase this slowness, actually... I'm pretty sure of that because I dealt with multiuser issues during my career.

Does your Windows, Mac or Linux device slow down as you add more and more user accounts on it?

I mean, the device will have to store the state of the session when you switch between users (running apps, configs, connections, ecc)... Android has to keep that state in memory somehow, in RAM or swap it to the flash memory... It's not a minor concern, It can be very resource hungry.

Of course the state would be saved in the permanent storage, there would be no benefit from keeping it in RAM at all times except when you switch users, and well, that's not something you do every few minutes. It doesn't consume resources after it's been saved to storage.

Then you have the file owner/permission issue. You don't want that your files can be modified by another user. Android will have to implement that too.

ext2/3/4 filesystem already handles that, Google only needs to check that Android itself uses those. It's not as large an issue as you seem to believe.

That's why I think adding multiuser support to a mobile OS is a big fat stupid idea. Good multiuser support is a complex thing. It's not trivial nor "free".

Proper multi-user support is mostly a kernel - and filesystem - thing, the layers on top of that are merely an extension of kernel and filesystem functionality.

Proper multi-user support is mostly a kernel - and filesystem - thing, the layers on top of that are merely an extension of kernel and filesystem functionality.

Yeap, the problem is that you have to present it to the user in a friendly and mobile-like way. Use cases for Phone/tablets are totally different than a PC.

For example, every time you lock/unlock your device, you will have to authenticate with your passcode AND your user. It's minor detail yes, but there's lots of minor details with you go multiuser.

To name one big technical issue: Android allows user level apps to run as a daemon in the background. If you go multi-user you have to keep running their daemons in the background even if the active user don't use them. It impacts directly on performance and energy consumption.

As I said before, there's lots of "details". Multiuser isn't trivial at all.

Android already support file permissions, file ownership, and multiple user accounts and groups. Just drop to a shell and look at the output of 'ls -l'. Just about every app on Android runs under its own UID.

However, that's all below the GUI. Above the GUI, there's only 1 real user account, one 'home' directory, one set of settings, etc.

All it's really missing is the GUI layer, and splitting the 'home' directory into properly segregated directories with the appropriate permissions in place.

There are several add-on packages that do this, mostly from companies looking to add 'work' and 'play' profiles to a device. Now, Google is just incorporating similar features into the OS.