Private DNS is a new feature in Android P, which allows you to globally override the DNS settings (received from your carrier, hotspot provider etc.). This means that the said carrier’s or provider’s DNS servers will not be able to log your browsing habits.
After publishing my post regarding tightening the screws on non-GMS devices and gradual move towards all-GMS in the Enterprise, I have received a response, which was very representative of what I was thinking last year, when digesting all the Android Enterprise news [formatting and edit by me]:
AOSP was or still is the major [vendor] differentiator. With all these Android changes
1) it will be almost no matter what devices will be engaged
2) the role of 3rd party EMMs will go down. Google will be everywhere.
Do you feel it as a positive news?
Before looking any further, please pause and consider, how do you feel about that? Now, read on!
I’ve previously covered the BYOD experience in Android P, now let’s delve into corporate-owned scenarios. My attempt to cover everything in a single long post had failed, so I’m splitting this into a series. Today we’re covering lockdown.
Early Android ideology assumed that device lockdown should be impossible. After all, here’s how ransomware works 😊 User is King and should always be able to regain control of the device. Earlier versions of Compatibility Definition Document even mandated that Home button and Factory Reset were always available to the user. The closest one could get to a locked down (kiosk/single application mode) device was to write a custom launcher that would then auto-launch or provide access to a limited set of apps. But even then user could simply pull the notification share to access quick settings, use the Recents screen to switch between tasks etc. In general, lockdown was not possible unless one used undocumented APIs and hacks or had custom OS extensions and special tools such as Zebra MX combined with Zebra Enterprise Home Screen. Needless to say, such tools were vendor (and sometimes even OS build!) specific and had their limitations.
In Android 5 Google began addressing the issue by introducing two new modes.
Screen Pinning (Android L)
Screen Pinning (also sometimes called App Pinning in documentation) is a simpler “user-facing” and user-initiated scenario. This one enables you to give your phone to someone else, locked down to a single app (browser, game etc, but not your emails or phone book).
User enables screen pinning in settings, selects an app, performs a special gesture – voila! Similarly, to end the mode user performs a gesture, and there is an optional lock screen protection. There are countless tutorials in the Internet, and here’s a simple animated GIF I had created.
Note, however, this is 100% user-controlled. How about Enterprise Admin?
Lock Task mode (Android L,M)
Another mode introduced in Android L was called Lock Task. This one allowed the app itself to enter a lockdown mode and control what user can or cannot do. Sounds like the right thing to do? There were, however, complications:
- To avoid the ransomware threat, the app had to be first whitelisted by the Device Owner (i.e. your EMM agent). So the setup process was not that simple.
- And yes, if your device was not enrolled into Device Owner (work-managed) mode (using old Device Administration API etc) – you could not use that feature.
- The admin could not choose any app – the app had to be built with Lock Task support. Otherwise, you could not use that feature.
- The app itself had to provide mechanism to end the Lock Task mode. If the app got frozen, you had to reboot the device.
- Since Android L had very little in terms of UI control (Notifications, Recents, etc) the whole thing only made sense with Marshmallow or later.
There were of course good things – you (well, the app) could quite precisely (well, in Android M+) control which UI elements to hide (well, only combined with other DPC features). Anyway, most importantly, this at least allowed the EMM vendors to finally write reliable lockdown plugins as part of their EMM suites (provided uses had work-managed devices).
Android N and O added a few bits here and there, but overall, the flexibility and ease of use were still quite far away from the aforementioned Zebra MX+EHS combination, for instance.
Until Google NAILED it in Android P!
Android P Enhancements
Android P adds a few missing pieces that finally complete the puzzle:
- Admins can lock down any app to a device – no more the Admin depends on the Developer!
- The app still has to be whitelisted, as a security precaution
- Similarly, if the app is frozen or just has no “Exit” option, it can be terminated remotely (think kiosks)
- Admins can choose which UI features to display: again, no Developer dependency and those restrictions are only for the duration on the Lock Task mode (previously they were very much global). Here are the features available:
- LOCK_TASK_FEATURE_NONE (shortcut for “Disable everything”)
- Error dialogs may be suppressed as well (think kiosks again). Those are, of course, system error messages, not what the app shows within itself.
Below are a few screenshots of Lock Task mode in Android P preview. Since there are no official EMM agents supporting P yet, I have been using the TestDPC app from the Google Android Enterprise team. Note that the Play Store version (at the time of writing this post) is still old – you’d have to download and sign the APK from GitHub instead.
LockTask general demo:
- Simple and easy, no app support required
- No admin control
- Makes little sense w/o password
Lock Task (Android P)
- Admin/app controlled (requires EMM support, also app support pre-P)
- Much more flexible (especially in P)
- Makes full sense for COSU
So I think that Google did indeed NAIL it firmly and decisively!
As a bonus, lockdown solution developers can focus on providing value-add (SSO etc) vs fighting the OS, especially when combined with ephemeral user support in P!
What are your thoughts? How do you like my blurry videos?
Android P Developer Preview One has been released this week. Among many features, there are Enterprise enhancements in both UI/UX as well as under the hood. Seems to be a good time to try some of them out!
Today we will be discussing the BYOD user experience: device enrollment, work/personal separation, compliance etc. Later, I am planning to cover the COBO/COSU (fully Work-Managed device) use case as well as some more advanced features.
Warning, many pictures!
Android Enterprise evolves at a rapid pace. As an inevitable result, there is a trail of confusion with terms being introduced or changing meaning often. Can you tell the difference between the following: Device Policy Controller, Device Administration API, Device Owner, Device Policy Manager, User Manager, Android Management API, Profile Owner? Let’s sort it out (in a relatively chronological manner)!
Zebra devices have a cool set of extensions called MX. It can do tons of things. But, can we expect every EMM vendor to timely implement them natively in their consoles?
SOTI EMM/MDM is one such good example, as UI there is quite limited. However, SOTI has a very powerful tool called SOTIscript. I have already covered, for example, how SOTIscript allows changing virtually any standard Android OS setting.
Similarly, we can use SOTIscript to apply MX settings on Zebra devices, extending the level of control over the device.