/ 2024
A documentation of our AI design language for Opal.
With all the products constantly releasing new AI features, along with the great ideas collected from our design hackathon, divergence and inconsistency became evident. We are in need of refined guidelines for the product and design teams to follow.
Action:
We collected all existing patterns and designs, helped each guild member understand how each feature functions, and started brainstorming ways to categorize the interactions.

We began grouping the interaction patterns by their impact scopes, such as macro product level, page level, and inline/micro level. However, we quickly realized that we needed a more generic way to categorize our interactions. Similar to Microsoft’s Copilot design, we settled on three AI patterns: Side, Inside, and Takeover.

Initially, the team was eager to jump into high-fidelity designs. I asked the team to step back and start with wireframes to agree upon the flows first. This made team collaboration more efficient, and we actually saved time by leaving out the UI details.

Once we aligned on the flows and interactions, we started polishing the designs and built the design component library in Figma.
Interactive Islands & AI Agents:
Interactive islands enable users to interact with Opal (our AI) from the copilot experience (the side pattern) or in-place (the inside pattern) contextually and trigger actions directly within the products. This opens up great possibilities for AI to truly demonstrate its power.
One design challenge that we are still validating is how we support the use case of multi-agents. We landed on using the '@mention' pattern to allow users to interact with desired agents.
The team has aligned on 4 guiding principles to serve as a foundation for designing effective and ethical AI-driven experiences. These principles are intended to help the team understand best practices and apply them, make informed decisions, and foster creativity while maintaining the focus on user-centric design. Just like our design system, this is a living document that we anticipate will be updated and changed to reflect the new AI era.These principles are meant as guidance, not strict rules. The team should always use their best judgment to determine whether a principle applies to their particular use case.
Getting feedback & keeping iterating! How do we ensure that we are not just pushing out AI features for AI’s sake? How are we avoiding creating another Clippy? (No offense, Clippy!) Be bold, and stay humble; be creative, and stay responsible 🙂