work     about    archive    research

Enterprise Control Room

how to design a central platform for multi-layer companies

Overview - why do this project

Automation Anywhere Inc. provides multiple solutions in the Robotic Process Automation (RPA) realm, which helps companies automate their repeatable business process, reduce the error rate, saving human resources, and improving productivity. When a client purchases our multiple solutions regarding different aspects of RPA, they need a place where they can make senses of how different aspects connect, see the big picture and also be able to control every single detail. Thus we devote time to the Enterprise Control Room, the central control platform that monitors system activities, manage users, distributes resources, and configure settings.

 

  • A PC-only application needs to be made available across different OS.

  • The information structural issues have been laid aside for more than 10 years.

  • New features and requirements keep coming in, while we transforming existing functions.

Biggest challenges

when I took over the project

Goal of 1st year

when I was the only designer

 

  • Clarify the target users and identify their needs

  • Clean up information clusters, build up a robust info-architecture

  • Transform all basic features to the web smoothly, while gradually adding new features ​

sample screenshots of original application

Who are the target users?

When I first joined this company, we didn't have a persona system. If you ask 10 co-workers who are the users of our control room, you would probably get 9 different answers, and 1 unsure. People all describe some aspects of a user, and their descriptions highly related to whom they communicated with. For example, a sales might closer to the account manager of our clients, support team might know more pain points from the IT department of our clients. Since control room serves multi-layer companies, the user segmentation is complicated.

 

  • I interviewed stakeholders from the different departments and noted down their understanding of users, including the typical job titles, main functionality in an organization, and the key metrics to differentiate them.

  • Last but not least, I asked people the question, "what if you need to describe the users in one sentence?". This can help remind the whole team thinking from users' perspectives with a simple common metaphor.

Define the users

with a comprehensive persona system

The persona system

What are the user needs?

After knowing the users. I need to gather their needs, and then prioritize them with the PMs with the considerations of both emergency and feasibility. This is an ongoing process since the new features will keep coming in and the priority might change during our development. The following examples will showcase a snapshot of some user requirements and system structure we once had during the process.

 

  • We started with the persona in mind and users' feedback in hand, defined the tasks they need to finish, and then zoom in to think about features and stories.

  • When new needs come in, we need to zoom out to see the big picture and think about how the new stuff can fit in.

Find the users needs

with role and task in mind

Sample user needs list

How to connect user needs to design?

I was the only designer of the first version webfication project, and have to do end-to-end product design, from the user research to the final UI.

 

Due to the nature of this project, I develop the Control Room in steps:

​​

  1. Compare the existing information map with a comprehensive list of user needs.

  2. Conduct an overall review of the existing product to see problems.

  3. Brainstorm on possible alternative solutions while maintaining the overall information structure.

  4. Compare and pick design alternatives from the previous step to fulfill user needs.

  5. Sketch out ideas and wireframe function units.

  6. Produce high-fidelity UI.

  7. Iterate.

System structure iterations

selected sample, not include all versions

A complicated original structure

A well organized recent structure

Brainstorming notes

selected sample, not include all versions

Examples of connecting user needs to feature design

The solution was picked from brainstorming alternatives

"As an admin, I want to be able to know the health of my overall process."

Strategy explorations

Design details (widget) exploration

Sketches

selected sample, not include all versions

Wireframes

selected sample, not include all versions

First version deliverables

Below are the first version sitemap and selected UI specifications. Some confidential information is omitted and obfuscated. The information in the deliverables does not necessarily reflect the views of this project.

Changing constraints, conflicts handling, and constant iterations

Changing constraints

With our company's growth (from a handful of employees in the US office to more than 650 worldwide in 3 years), the project scope grows rapidly. This project faced many challenges as we encountered rapidly changing constraints, but also gained new opportunities:

 

  • We introduce new products and features to our clients and need to add the access portals of these new products in the Control Room. These new items affect the overall structure. 

  • We changed the overall brand color scheme, thus need to redesign the UI of the Control Room.

  • We hired more designers to the team, including those who have a specialty in Information Structure, and who primarily work on visuals.

Conflicts handling

The biggest challenge of a bigger team is to align opinions & handling conflicts. For example:

 

During the redesign process, a PM of one function might want a perfect table which not only able to be sorted and filtered, but can also have bulk actions, detailed view, and multiple actions to one instance, etc. However, as system designers, we have to push back and deliver MVPs as planned, and then come back to improve specific features. As a designer, knowing when to say no, and set up correct expectation across partner functions are critical skills.

Constant iterations

I will use one component, Table, as an example to demonstrate how we iterate based on the ever-changing requirements, and ultimately improve the versatility of a widget. The images below are used for demonstrating the concept and might be different from the final design.

Confidential information is omitted and obfuscated, the content and order in the table are not the same as the real product.

Version 4. Users want to get more details on a task.

                -- provide more columns to show more details

                But different users will focus on different aspects

                -- allow users to show, hide, re-ordering and re-sizing columns

Version 1. Users want to see all the tasks and their details

               -- List tasks in a sortable table

Detailed considerations in ​version 1

  • What to show when the list is empty?

  • What is the order of columns?

  • How to show the progress?

  • How to show more details?

  • How to sort the data? Default sort? Multiple sort?

Version 2. Users need an efficient way to find the target tasks among a long list.

                -- add filtering capability to the table

Detailed considerations in ​version 2

  • How to search across columns?

  • How to search on one column?

  • How to search on multiple columns?

  • "And" or "Or" logic, and its future?

  • How to delete one keyword?

  • How to clear all keywords?

Version 3. Users want to be able to do bulk action on multiple tasks.

                -- add checkboxes; differentiate table-level action vs. row-level action

Detailed considerations in ​version 3

  • Differentiate "Checked" and "Selected"

  • Differentiate table and row level action

  • What if one action not available for all the checked items? Disable or warn?

Side-effects consideration - Error handling of bulk action:

When a user checked multiple tasks for one action, but that action not available for all.

For example, a user attempts to delete multiple tasks, but some of them are currently running (cannot be deleted) while some others are stopped (ok to delete).

Detailed considerations in ​version 4:

  • What to show at default?

  • How to add/remove columns?

  • How user can customize the information based on their own preference?

  • How to deal with outliers (e.g. cell with extremely long name

On going discussion in version 5:

  • How we want to define the default column width for different content for best reading experience?

  • Do we want to add pagination to tables, and how we want to handle it.

Through iterations, we not only solved changing and growing user needs, but also build up a more robust component with considerations of corner cases and complex flow. The table component can be used in other pages or products, for example, displaying all the users, roles, or groups in the system. Based on the actual needs in different stories, a designer can pick the add-on features of a table, if not necessarily to use all of them.

Recent version collection

With countless iterations and teamwork from a larger design team, we now have a much better Enterprise Control Room

Look back

Over the last two and a half years, we experienced a fast, even overwhelming speed of change. We improved usability in many ways, such as:

  • Provide a more expectable UX pattern:

    • Users can expect four levels of help - global help center, page-level message, control level embedded help, error-preventive modal window.

    • Users know where to find actions - page level tool, table level tool, and item level tools are located at the consistent positions and in curated orders.

    • Users can learn to know the standard life-cycle of an item; from creation, view, use, edit, and delete, all the steps have a unique look and pattern

  • Provide an easier navigation system:

    • We add primary navigation that will always be accessible to users

    • We break up sub-tasks to secondary navigation and put them under proper primary navigation based on the logic relationship

    • We provide breadcrumbs to track the further levels of navigation

  • Improved the effectiveness of using our system:

    • We developed much powerful filtering and sorting functionalities

    • We allowed users to customize their workspace, the order of columns and rows

    • We let users have multiple ways to start a task to suit their most comfortable workflow

 

There are many details on how we designed this product, and how we build up the design system. If you are interested, please read my another related project: Company Style Guide