CASE STUDY
Reimagining how to deploy robot parts to a fleet of robots
Fragments on Viam are a way of sharing and managing identical resource configuration files across multiple robots. If you have multiple robots with the same hardware, wired the same way, you can create and share a fragment and add it to any number of robots.
Currently, Viam can only provide public fragments but users can create fragments within their organization.
RESEARCH FINDINGS
Conducting heuristic analysis and finding problems with the existing design
I conducted a comprehensive evaluation of the current app platform interface, utilizing research-supported principles of accessibility and usability, which involved adding a fragment to my robot myself and navigating through user pain points that had been raised.
HEURISTIC NOTES ON MAIN FRAGMENT PAGE
PROBLEM
Lack of user control and freedom
Currently, after a user adds a fragment to their component, they can't edit parameters or attributes of a component, nor go to raw JSON to edit it either, as it shows up as a UUID.
Therefore, in order for a user to edit details of a fragment, they would have to copy the fragment code from the read only editor, and then paste it onto the JSON, which shows up as separate robot components.
solution
Provide users with the ability to easily edit and modify the added fragments’ parameters
Introduce a “unlink” option that splits the fragments into individual components that the user can then edit the attribute fields for.
PROBLEM
No design source of truth
The current read-only config experience has a lot of white space and bulky attribute fields that don’t provide any value.
solution
Condense attribute fields and prioritize essential information
Using collapsible sections for robot component parts to present additional information only when users actively want to explore it and in a read-only format to showcase that the information is uneditable.
additional opportunity areas
Users should be able to create a robot from a fragment
Users should be able to turn robot component parts into a fragment
When changes are made to the fragment, those changes should be automatically carried to all robots that include the fragment in their config.
laying the ground work
Taking a first pass at designing possible user workflows
Creating a robot from a fragment
Creating a fragment from robot parts
design ideation
Elevating the Fragments experience
For the design, I adhered to Viam’s design system including clear and consistent typography, their icon library, and a clear visual hierarchy to direct the user’s attention to the most important information.
Condense attribute fields and prioritize essential information
The design needed to bring important information to the forefront while removing unnecessary clutter.
Using collapsible sections for robot component parts to present additional information only when users actively want to explore it and in a read-only format to showcase that the information is uneditable.
Provide users with the ability to easily edit parameters
Enable users to effortlessly adjust and refine the parameters of the incorporated fragments.
Introduce a “unlink” option that splits the fragments into individual components that the user can then edit the attribute fields for.
Creating a robot from a fragment
Enable users to effortlessly create all of the robots in their fleet and be configured the same way.
Save robot component part(s) as a fragment
Enable users to effortlessly create a fragment from the components they create on the platform instead of through raw JSON code.
(scroll horizontally to see flow)
prototype
The Fragment experience from beginning to end
Condense attribute fields and prioritize essential information
Provide users with the ability to easily edit parameters
Save robot component part(s) as a fragment
Creating a robot from a fragment
Last updated on July 20, 2024, 5:46 PM EST