Topology Builder

Desktop diagramming app for designing and creating functional cloud hosted Cisco network maps and solutions

Watch the Presentation

Background

Design and configure cloud hosted computer network diagrams

The current version of Topology Builder was built ad hoc by Programmers and Demo Developers with no UX or further use cases involved. As such, the goal was to make a tool for Demo Developers, but the rapid move towards remote work and the increasing reliance on remotely designed solutions meant we had to quickly redesign Topology builder and include new features for new types of users.  

Redesign Topology Builder  

  1. Get to feature parity with V1
  2. Make it more user friendly by solving common user problems
  3. Make complex diagrams easy to visualise
  4. Enable full picture visibility including external entities
  5. Draw non-functioning objects for complete diagram
  6. On board new user types

Users & Audience

dCloud Operations, Admins, Demo Developers, Lab Builders, System Engineers

Design and build computer topologies, networks, solutions and showcase them to customers

Team and Tools

Role
Lead UX Designer - logical diagram/drawing view

Delivery
Remote

Team
Antony - Lead UX Design - Table config view
Fadzie - Product Mangement
Barry - Project Mangement

Tools
Figma - Wireframe + UI Design
Miro - User flows, Requirements Analysis
Ipad Adobe Sketch - Rapid Prototyping

Collaboration Style

Daily UX check-ins - Reviewing previous days’ work, giving and receiving feedback, discussing problems and working on insights.

Bi-weekly project check-ins- Product Owner, Software Engineers, Software Team Lead, Project Manager and UX Designers. Presenting work in progress, asking tough questions and getting approval of designed solutions.

Kick off meetings - All stakeholders working remotely, Product Managers, Project Managers, Demo Developers, Programme Leads, Software Engineers, Multi-Disciplinary teams consisting of Tech Leads, UX designers.  

Scope & Constraints

To design a system for future users without access to them.

A huge project with a small budget (two Designers).

Constantly and rapidly changing requirements

Process

Research

Analysis

Talk to Users

Having gained a background understanding of networking and the current app, we interviewed the users to find out pain points and potential new features.

Interviews

Organised calls for 5 different users to walk us through how they used the app and to discuss their job role, why and how they used topology builder, what pain points they had, and any features that would make things easier for them.

Survey

Carried out a two-question survey. Kept it brief to maximise participation, and open-ended to avoid pushing participants into thought corners.

  • What do you like about it?
  • What do you dislike about it?

Findings

A small selection of findings

  • VPOD gateway not visible
  • External entities cannot be depicted
  • Current version does not show full picture of the solution
  • All items must be configured
  • No accompanying settings with VM templates – only name of the server
  • Fluctuations in demo size not visible
  • Storage size
  • Excessive RAM use while running demo
  • Better fitting alternate icon desirable
  • Large diagrams create screening issues
  • No facility for collaboration on building the diagram
  • Diagrams are static and it cannot be used as a diagramming tool
  • No way to find items

Define Requirements

Assessed the business requirements, listed user problems and proposed solutions.

Problem
Solution Idea

Hard to find items

Some kind of map search

Can't see how things connect

Make lines clearer

Screen too cluttered for complex topologies

Pan + Zoom, Navigator

Can't display external entities for a full diagram

Find way to show external entities

Diagram requires non-functioning items

Enable drawing and adding images

Hey, this project is pretty big!

I'm sure you don't want to read a dissertation, so rather than show everything, I've selected some UI parts for each type of problem.

Design

Information Architecture

In order to keep track and have a reference whilst prototyping, the flow diagram was redrawn with changes in place. After analysing user movement through the app, I redrew the flow diagram with improvements to the flow of forms/tasks.

The flow diagrams adapted as the design and information architecture changed through prototyping.

Example user flow diagrams

Add a VLAN

Add and Configure Virtual Machines

Delete Hardware

Search Diagram

Rapid Prototyping

Used iPad and Adobe Sketch to mock-up and draw some areas. Helped visualise ideas on hard sections and make easy to wireframe prototype later.

Toolbars

Sidebar
Pros / Cons
  • + Room for text
  • + Easy to understand meaning
  • + Easy to add sub items
  • - Takes up a lot of diagram space
  • - A lot of empty space below
Floating Pill
Pros / Cons
  • + Can float over diagram
  • + Takes up small amount of screen space
  • - Might take time to learn icon meaning

Diagram Layout

Tabbed like excel sheets
Pros / Cons
  • + Clear tabs to show what is what
  • + People are used to tabs for diffeerent sections from other software
  • - Can't visualise how internal elements link outside
  • - Might get confusing which tab you're on
Boundaries on diagram
Pros / Cons
  • + Everything is on one view
  • + Boundaries will be clear with distinct visual design

Support large diagrams

Some ideas so the diagram can be as large as required whilst having complete control of position.

Navigator Zoom Tool
Pros / Cons
  • + Able to zoom in and out of diagram so user can keep adding
  • + Box around area shows what part of the diagram is on screen
  • - Takes up extra real estate on view

Trackpad integration

Pan
Zoom In / Zoom Out
Pros / Cons
  • + These interactions are found in other desktop apps that support drawing and are quite intuitive
  • + Box around area on the navigator shows what part of the diagram is on screen
  • - Users who never have used design apps may take some time getting used to it
Pros / Cons
  • + These interactions are found in other desktop apps that support drawing and are quite intuative
  • + Box around area on the navigator shows what part of the diagram is on screen
  • - Users who never have used design apps may take some time getting used to it

Search

Idea 1

User types in term, result is highlighted and zoomed in on the diagram with the setting open

Pros / Cons
  • + Shows the result exactly
  • + Nice that the setting panel is opened
  • - Doesn't support other potential results
Idea 2

Like above but highlights all potential results with settings opened on side panel with each device on a tab

Pros / Cons
  • + Everything is on one view
  • + Boundaries will be clear with distinct visual design
  • - Might open too many unecessary tabs on side panel
Idea 3

Fades incorrect results and leaves the matches normal. Added a clear button to remove search state.

Pros / Con
    ==
  • - Having a search state that needs clearing probably adds another layer of complexity
  • - Greying out will confuse with hidden items
Idea 4

Search model which shows results with info > user selects a single result which is highlighted and setting opened

Pros / Cons
  • + Gives user a list choice with info
  • + Leads them to pick the likely correct result
  • + One side panel open rather than multiple potential panels

Wireframes

Wireframes being discussed include UI parts from above pen prototypes.

General screen layouts

Putting it all together

First Iteration

Layout with fixed left full menu, search on page, curvy connections

Thoughts & discussion
  • + Nice overall layout, everything the user needs to see is on screen
  • + Side panels are contextual and useful, tabs enable good categorisation of information
  • - Left menu and search bar takes up a lot of space resulting in the actual diagram to be very small
  • - Aesthetics of curvy lines questionable

Second Iteration

Used floating pill menu nav with search and zoom panel to give more space to the diagram

Side panel shows multiple opened items as tabs

Thoughts & discussion
  • + Floating items definitely save a lot of space
  • + Tabbing side panels also makes use of space and users loved the idea of being able to open multiple devices they want configuring

Search

When presenting the search ideas, we decided as a team the modal search was probably the most effective. Search is opened by clicking the search icon on the pill menu.

Flow

Mocked up flow diagram for how search would work

Search Popup UI

Matched items show up with detailed info to help user make right choice

Thoughts & discussion
  • + Info on the items very useful
  • + Opening of selected device in a side panel so user can configure generated positive feedback from users and business stakeholders

Visuals

Some problems needed to be solved using UI design

Connections

On complex diagrams it was hard to tell which device connected to which VLAN as they were all the same

Solution

After some discussion we were inspired by the London Tube map and its use of colour and pattern to clearly present the different tube lines. Adopting a similar approach vis-à-vis the diagram led to improved distinctions between connections.


By alternating line colours there is clarity of how devices and VLANS connect.For line types dashes and dots were introduced:

States

Device icons have different visual states for errors, connections, configuration types etc. I developed several types of states that can be used.

Final Design

Visuals designed in Figma using Cisco UI design language as a base

Interactions

A selection of various UI interactions.

Tabbed Right Column

Menu Function

Search

Change Icon

Show/Hide Details

Outcomes

Thoughts

This project was very complex and required many cycles of iterations, feedback and user testing. The end result was a well thought out and designed product.

The team worked well together in designing this remotely. The collaboration cycles and daily UX discussions provided a great deal of value. Users were very happy with our design which was very rewarding for the team.

Given more time and better circumstances (this project took place during Covid 19 lockdown), it would have been useful to see the topology configurations work in real life. Had this been the case, the team would have better understood how such a product translates into real world use.

Future

As this product is released to new user groups, we will process the user feedback and add new designs and features accordingly.

Overall, I am very excited to launch this.