Policy Manager

Summary

For: Carnegie Technologies

Request: Design a user interface for internal (Carnegie) administrators and Carnegie’s customers to customize network policies for their end-users.

My role: UX designer responsible for the Network Convergence Platform product line, which includes policy management.

Background

Carnegie’s NCP suite is sold to mobile network operators and large enterprises to help them improve their users’ mobile experience. One part of the platform is called Connection Management, where operators can fine-tune when an end-user connects to operator Wi-Fi. This helps maintain a consistent internet connection for the user, instead of being moved from fast cellular service to slow operator managed Wi-Fi hotspots.

Most operators have very specific requirements, so having a flexible policy engine helps Carnegie meet those requirements. However, the existing policy system was merged with another policy system when Carnegie acquired another business. The result was a patchwork system of a web UI and XML files to hold configurations.

The product team wanted to bring these policy systems together into one simplified system, with an easy-to-use web interface for our internal administrators and our customers (operators).

Low-Fidelity Prototype

After talking with product and engineering team members, I started brainstorming multiple ideas on paper. Then, I put together an InVision prototype to explore how a policy management interface could work.

Core concepts:

  • A customer can manage multiple policy sets
  • A policy set contains multiple policies, which together determines the behaviour of an end user’s device
  • A policy set is delivered to a end-user’s device, according to the delivery priority of a policy set
  • Policies can be grouped into arbitrary categories inside a policy set
  • Each policy has a priority number that comes into play if there are competing policies
  • A policy set has a delivery priority

The most challenging aspect of this interface was the individual policy editor, where the user can build an infinitely nested tree of AND and OR conditions. This was pretty simple to edit in XML code, but it would be much more difficult to allow the same level of functionality with a GUI.

Here is the intial prototype:

Web Prototype

At this point, I decided to build an HTML prototype to better communicate how the user interaction would work.

Notable changes

  • Have a separate All Policy Sets page, so they are not hard to find in the sidebar
  • Have a drag-and-drop interface for the condition tree, making it more intuitive to build and reorder the tree.
  • Include a subscriber management interface where an administrator could manage subscribers, groups, and their policy assignments

After several iterations and rounds of feedback, we settled on this prototype.

Other projects ended up becoming higher priority for the development team, and this effort to build this interface was shelved until a later date.