Overview
IT professionals think in business needs, goals, requirements, and questions they want answered. They want to state this in their own language and get a response back from the system in language they can understand.
IT management systems work contrary to what users want. They don't understand users needs and can not understand the questions the user wants answered. Due to this lack of knowledge they present every control and all of the data, requiring the user to do all of the heavy lifting.
Design Goals
Remove the need for users to translate their business needs, goals, and questions into a language that the system understands
Enable user to think in business needs, goals, and questions they want answered and give information back in a language meaningful to the user
Abstract away artificial boundaries set by products. Allow the user to ask a single question, the system should give a single complete answer even if the information came from multiple products.
system learns what is most useful for the user to see as well as the best way to present the information based on the users profile and behavior.
Meeting the needs of our users
For years we have been hearing feedback from our users about how complicated our products are to use. Users want the answers to the questions they have, they dont want to go on a treasure hunt to find it and they don't want to get training to decipher what the product is telling them.
- Information Overload: The datas all there I just don't know where to find it
- I want this to be simple enough for me to give to my help desk. It is a long way from that its just to complicated.
- You know whats wrong just tell me, don't make me figure it out.
The Questions and answers
Users have a question they want answered and IT management systems provides answers to questions. The problem is the answers IT management systems give can help to answer the users question but they are not the actual answer to the users actual question. Here are some examples.
User Question
What is the best place to deploy this workload?
Users desired answer
Deploy your workload here________ .
Answer IT management systems give
This cluster has X total memory and X memory consumed
- OR -
Here is a list of clusters with free memory
How it works
The user specifies the action they want to take as well as the scope through Phrasal templates . The different forms in the phrasal template specify different information that the system needs to return a meaningful answer to the user.(see structuring the phrase below)
Examples:
- I want to see a list of the top 50 virtual machines wasting any resources
- I want recommendations for workloads that can be migrated to AWS
Assuming the user is wanting to see a data set, Once the user has filled out the form and submitted it the system either retrieves a pre-existing view or dynamically builds one for the user(dynamic views would be a stretch goal)
Generally the user is asking to see some sort of data but this UI is not limited to that. With this user model it is also natural for users to perform other actions directly or in response to data presented to the user based on a question asked by the user.
Examples:
- I want to deploy 50 virtual machines from the template: "user Desktop123"
- I want to power off ALL virtual machines idle more than 30 days
Phrasal Template
The use of a phrasal template allows the user to feel like they are using natural language to specify what they want to do but the ridged format means we do not need to have complex natural language processing as part of our products.
Structuring the Phrase
Phrases can be structured so the system can easily understand what is being asked. For example:
- I want to see a Trend of the last 30 days of wasted storage for virtual machines in the Palo Alto datacenter
- to see = show me a report of some sort
- trend = I want time series data shown to me in the form of a trend line
- the last 30 days = The time span I want to see the data for
- Wasted storage = the type of information I want to see
- Virtual machines = The subject of the report
- Palo Alto datacenter = the scope of the subject
Going beyond the answer
Getting information from the system is not the end of the users workflow. Some times the information is not enough and the user wants to add more data. Other times they want to act on the information.
Once the system come back with a response to the users question, the user will often either need to take action or get further information.For example
user says:
- Show me the top VMs wasting storage
- The system would return a list of VMs with the space provisioned/ consumed / Free.
- The user might ask from this list to see the ones that are thick provisioned to refine the list.
- From there the user might pick some of them and convert them to thick provisioned disks.
Another case would be the user asked a basic question and gets back a list of objects but the user wants to see more information than is presented so the user can say from the list add a column for x metric
The system would add the column and make note that the information presented was not enough for this user. If other users ask for the same metric the system would just add it for other users in the future.
Inspirations
Here are a few different applications in other spaces that are employing similar methods to provide a better experience for users.
Beats
Beats mobile app has a feature where the user builds a sentence that describes how they feel and beats will build a sound track for the user. To do this they use a Mad Libs style UI that limits how the user can ask the questions while providing a very intuitive interface.
Facebook Search
Facebooks search gently guides the user into an answer with out requiring the user to understand a syntax. It also changes its recommendations as the user starts to type to give the user better matches