Client: Carnegie Technologies (Internal Tool)
Request: Design a user interface for internal (Carnegie) administrators and our customers (mobile network operators and large enterprises) to customize network policies for their end-users.
My role: UX lead for the Network Convergence Platform product line, with assistance from UX team lead, Thomas Brady, for design reviews and stakeholder meetings.
Activities: Wireframing, prototyping (using HTML/CSS/JS), and design reviews
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, which helps users avoid slow or unstable Wi-Fi, but operators have the ability to fine-tune how and when to connect to operator Wi-Fi, when to disconnect, etc.
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 meeting with stakeholders to understand the requirements of this complex system. I started brainstorming ideas on paper.
After brainstorming multiple ideas on paper, I decided to throw together a quick prototype to see how policy management could work.
The most challenging aspect of this interface was be 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 build a GUI for this feature.
Here are three options I came up with for the condition tree:
Here is the InVision prototype.
At this point, it was becoming difficult to communicate to stakeholders how the web application would work in certain scenarios, so I decided it would be best to build an HTML prototype to explicitly show how things would work.
After many 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.