Privacy Manager is an App similar to system preferences nowadays. It's where users can manage their privacy settings.
In the "privacy overview" section of the homepage, users can review how their data is accessed. They can also quickly improve their settings by adopting recommendations, which are based on other people's settings and their previous behavior. (See demo video)
From the homepage, they can also access global settings to configure for all Apps, app settings to configure for individual App, or privacy modes to adopt a set of pre-defined configurations.
We designed privacy mode mainly to help organizations prevent data leakage from its employees or visitors. Employees can easily switch to different mode under different circumstances, and apply the set of configurations. For instance, DARPA’s military people may need to hide their location from all apps when they are out on a mission.
We designed more privacy-related options in the quick setting view, which can help those in sensitive situations temporarily protect specific data from all Apps. But it's still under control of the privacy mode, as shown in the demo here.
Right after users installed an app, the App Settings page will show up. The default settings are based on your previous behavior or the majority of our users. We especially designed an "uncommon requests" section to make the configuration process more manageable.
If permission is set to “Ask,” a pop-up will appear when users are using the App. We showed the purpose, the requester, and a detailed explanation from the App to help users make decisions more knowledgeably.
4 levels of settings make the system complicated. It can be hard to identify why certain request is blocked. We used the notification center to explain why the request is blocked, and provide quick actions to modify the setting.
Since the project already started when I joined. We did a little generative research, then mainly focused on evaluative research.
We used card sorting to figure out the right information hierarchy. We printed out permission cards with "what data this is for", "why it was requested", and "who'll be using it" on each one. Then we asked users to organize them. The result shows 80% of users sorted them in a “what-why-where” sequence.
I worked together with the developer to simplify the control logic of our complicated system. We considered as many edge cases as possible to make the decision. I also transformed our decision into the flow model to help development.
Designing for such a complicated system and various user types means testing again and again. The most often used method is the simplest A/B testing combined with think-alouds. For each design decision, we usually develop multiple designs to test. Asking users to perform a task and thinking aloud helped us better understand the mindset of users, thus informed us how to proceed.
Figuring out exactly what and how much data will be shown on each page helped us refine the design. For instance, we applied a progressive disclosure fashion for global setting. This is because after checking the log data, we realized that there could too long a list. We also walked through the design with developers to make sure all our designs are feasible under the current Android framework.
Besides user testing, we also conduct designer walkthroughs once in a while to make sure: 1. our design is consistent. 2. it aligns with Material Design. 3. it covered as much edge cases as possible. These are all key metrics for the success of this project.