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.
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).
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.
- 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:
At this point, I decided to build an HTML prototype to better communicate how the user interaction would work.
- 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.