Yingying Zhang
From complexity to a user-centered culture

AWS IoT Greengrass V2

2020 · Design Lead · 50+ engineers

Leading UX with 50+ engineers under a six-month deadline. The hard part was not the UX. It was not becoming the bottleneck.

No researcher, no prior IoT knowledge. As design lead I had to make the platform rewrite usable, and leave behind a way for the team to keep making good UX calls after launch.

At a glance
Constraint6 months, 50+ engineers, hard deadline
Starting pointNo researcher, no prior research
Core moveDatabase model → task model (who, what, when)
LaunchDemoed by James Gosling, re:Invent 2020
OutcomeUX framework engineers still use
The project
The situation

The backend was defined. The product model and the console requirements were not, and I had to work them out from scratch.

The cold start

No researcher and no prior IoT knowledge, so I became the first user. I set up a device from scratch as a beginner and logged every error and dead end on the way to a first working build. That struggle became my research, and it showed me the core problem: the product mirrored the system's structure, not the way a person thinks about the task.

The move

I worked backward from the API to the likely user tasks, validated them in workshops, and turned them into a requirements framework engineering could build against. The core design move was a product model: Devices, Components, and Deployments, who, what, and when, instead of mirroring the database.

BACKEND MODEL Everything coupled Things Components Configurations Deployments TASK MODEL Devices who Components what Deployments when
From a coupled backend model to a clean task model: who, what, when.
The early full-UI wireframe that failed: a single browser page trying to configure local device operations.
Failed UI Wireframe: The early attempt to set up a device entirely in browser forms, which failed due to browser security restrictions.
The final AWS console showing the decoupled navigation sidebar (Core devices, Components, Deployments) and the hybrid script-based device setup flow.
Shipped Hybrid Console: The final solution using cloud UI for identity and a copyable CLI command to run a local setup script.
The stand

The terminology was locked, and a PM told me directly it was not up for discussion. But it was confusing customers, and I would not ship a navigation I believed people misread. So I moved the debate from opinion to evidence: I ran a card sort with nine solution architects, and 9 of 9 misread the locked terminology the same way. That evidence went to leadership, and the decision was reversed. The people who had pushed back became partners in the work.

A card-sort board of sticky notes grouping Greengrass terminology, where nine solution architects sorted the locked terms and all nine read the navigation differently than intended.
Card sort with nine solution architects: 9 of 9 misread the locked terminology.
The outcome

As the design lead partnering with fifty engineers, I launched on time, then ran a dogfooding study one day after launch that turned 100+ findings into 30+ roadmap items.

To avoid becoming the bottleneck, I built a self-service UX evaluation framework, scored on effectiveness, efficiency, and satisfaction, with office hours for the hard cases.

The framework was the means. The real outcome was a more user-centric culture: engineers began flagging UX issues themselves in architecture reviews, and the framework became a standing part of the IoT team's toolkit, not a one-time exercise.

100+ raw findings themed, prioritized 30+ roadmap items

Watch James Gosling demo it at re:Invent 2020 ↗