Case Studies

Conveying Openpilot's Driving Confidence States and Limitations to The Driver to Improve Safety and Autonomous Driving Communication

About comma.ai

About comma.ai

About comma.ai

Openpilot running on the comma 3X device.

Openpilot running on the comma 3X device.

Openpilot running on the comma 3X device.

Openpilot running on the comma 3X device.

Openpilot running on the comma 3X device.

Openpilot running on the comma 3X device.

Comma.ai is a tech company specializing in developing advanced driver-assistance systems (ADAS) and openiplot an open-source software for autonomous vehicles. Its main product, the comma 3X, is a hardware device that attaches to compatible cars to provide lane-keeping, adaptive cruise control, and other self-driving features, effectively upgrading vehicles with autonomy capabilities.

Comma.ai is a tech company specializing in developing advanced driver-assistance systems (ADAS) and openiplot an open-source software for autonomous vehicles. Its main product, the comma 3X, is a hardware device that attaches to compatible cars to provide lane-keeping, adaptive cruise control, and other self-driving features, effectively upgrading vehicles with autonomy capabilities.

Comma.ai is a tech company specializing in developing advanced driver-assistance systems (ADAS) and openiplot an open-source software for autonomous vehicles. Its main product, the comma 3X, is a hardware device that attaches to compatible cars to provide lane-keeping, adaptive cruise control, and other self-driving features, effectively upgrading vehicles with autonomy capabilities.

TLDR: Project Summary and Outcome

TLDR: Project Summary and Outcome

TLDR: Project Summary and Outcome

Situation

Openpilot is a level 2 autonomous driving software that cannot handle all driving situations but is aware of its likelihood of making mistakes. The challenge is to improve the UI/UX to communicate openpilot's autonomous driving confidence states and proximity to system limits in a non-intrusive way so drivers are better informed in the event they may need to take control. Current audible alerts for system limitations are often distracting and need to be more proactive.

Situation

Openpilot is a level 2 autonomous driving software that cannot handle all driving situations but is aware of its likelihood of making mistakes. The challenge is to improve the UI/UX to communicate openpilot's autonomous driving confidence states and proximity to system limits in a non-intrusive way so drivers are better informed in the event they may need to take control. Current audible alerts for system limitations are often distracting and need to be more proactive.

Situation

Openpilot is a level 2 autonomous driving software that cannot handle all driving situations but is aware of its likelihood of making mistakes. The challenge is to improve the UI/UX to communicate openpilot's autonomous driving confidence states and proximity to system limits in a non-intrusive way so drivers are better informed in the event they may need to take control. Current audible alerts for system limitations are often distracting and need to be more proactive.

I expected this device to brake for me when there was a stopped vehicle in front of me and it did not and I had to take control immediately

I expected this device to brake for me when there was a stopped vehicle in front of me and it did not and I had to take control immediately

I expected this device to brake for me when there was a stopped vehicle in front of me and it did not and I had to take control immediately

Gary Cantrell's first impressions and thoughts on using the Comma 3x on a 2021 Toyota RAV4 Hybrid.

How AI is Making My Toyota RAV4 Fully Autonomous! (ALMOST!)

Gary Cantrell's first impressions and thoughts on using the Comma 3x on a 2021 Toyota RAV4 Hybrid.

How AI is Making My Toyota RAV4 Fully Autonomous! (ALMOST!)

Gary Cantrell's first impressions and thoughts on using the Comma 3x on a 2021 Toyota RAV4 Hybrid.

How AI is Making My Toyota RAV4 Fully Autonomous! (ALMOST!)

Task

My goal was to design a UI to clearly and non-intrusively communicate openpilot’s driving confidence and proximity to system limitations in steering, braking, and acceleration. The solution should enhance driver engagement and situational awareness while minimizing distractions, using visual and auditory elements where appropriate.


Action

  1. Research: Conducted secondary research, gathering 108 data points to understand openpilot’s functionality and identify design challenges.


  2. Sketching: Brainstormed and developed six UI concepts, selecting a split gauge design that communicates system confidence and limits through clear visual indicators.


  3. High-Fidelity Design: Created 40 polished UI components using a design system to ensure consistency and accessibility. Incorporated user feedback from the comma.ai community to refine the design, addressing issues like UI clutter and readability.


  4. Prototyping: Developed five conceptual prototypes using Adobe After Effects to simulate real-world scenarios, demonstrating how the system communicates changes in confidence and system limits. Added auditory alerts to improve accessibility and reduce driver distraction.

Task

My goal was to design a UI to clearly and non-intrusively communicate openpilot’s driving confidence and proximity to system limitations in steering, braking, and acceleration. The solution should enhance driver engagement and situational awareness while minimizing distractions, using visual and auditory elements where appropriate.


Action

  1. Research: Conducted secondary research, gathering 108 data points to understand openpilot’s functionality and identify design challenges.


  2. Sketching: Brainstormed and developed six UI concepts, selecting a split gauge design that communicates system confidence and limits through clear visual indicators.


  3. High-Fidelity Design: Created 40 polished UI components using a design system to ensure consistency and accessibility. Incorporated user feedback from the comma.ai community to refine the design, addressing issues like UI clutter and readability.


  4. Prototyping: Developed five conceptual prototypes using Adobe After Effects to simulate real-world scenarios, demonstrating how the system communicates changes in confidence and system limits. Added auditory alerts to improve accessibility and reduce driver distraction.

Task

My goal was to design a UI to clearly and non-intrusively communicate openpilot’s driving confidence and proximity to system limitations in steering, braking, and acceleration. The solution should enhance driver engagement and situational awareness while minimizing distractions, using visual and auditory elements where appropriate.


Action

  1. Research: Conducted secondary research, gathering 108 data points to understand openpilot’s functionality and identify design challenges.


  2. Sketching: Brainstormed and developed six UI concepts, selecting a split gauge design that communicates system confidence and limits through clear visual indicators.


  3. High-Fidelity Design: Created 40 polished UI components using a design system to ensure consistency and accessibility. Incorporated user feedback from the comma.ai community to refine the design, addressing issues like UI clutter and readability.


  4. Prototyping: Developed five conceptual prototypes using Adobe After Effects to simulate real-world scenarios, demonstrating how the system communicates changes in confidence and system limits. Added auditory alerts to improve accessibility and reduce driver distraction.

Final design showcasing multiple scenarios of openpilot communicating it’s state.

Final design showcasing multiple scenarios of openpilot communicating it’s state.

Final design showcasing multiple scenarios of openpilot communicating it’s state.

Final design showcasing multiple scenarios of openpilot communicating it’s state.

Final design showcasing multiple scenarios of openpilot communicating it’s state.

Final design showcasing multiple scenarios of openpilot communicating it’s state.

Result

The redesigned UI effectively communicates openpilot’s confidence and system limits through visual and auditory cues, addressing user needs for communication and safety. Community feedback improved the design, and inspired the creation of a simplified UI layout. Although technical constraints prevented usability testing, the project provides a solid foundation for future development, with clear next steps for prototyping and user testing.

Result

The redesigned UI effectively communicates openpilot’s confidence and system limits through visual and auditory cues, addressing user needs for communication and safety. Community feedback improved the design, and inspired the creation of a simplified UI layout. Although technical constraints prevented usability testing, the project provides a solid foundation for future development, with clear next steps for prototyping and user testing.

Result

The redesigned UI effectively communicates openpilot’s confidence and system limits through visual and auditory cues, addressing user needs for communication and safety. Community feedback improved the design, and inspired the creation of a simplified UI layout. Although technical constraints prevented usability testing, the project provides a solid foundation for future development, with clear next steps for prototyping and user testing.

Problem Statement


Comma.ai’s openpilot software needs a method of communicating uncertainty and driving system limits to keep the driver safe and informed about autonomous driving. Currently, openpilot’s UI does not communicate all autonomous driving confidence states and driving limitations to the user while the system is engaged. This includes information about how confident openpilot is when it encounters a driving situation in which it has to brake, steer, or accelerate.

Problem Statement


Comma.ai’s openpilot software needs a method of communicating uncertainty and driving system limits to keep the driver safe and informed about autonomous driving. Currently, openpilot’s UI does not communicate all autonomous driving confidence states and driving limitations to the user while the system is engaged. This includes information about how confident openpilot is when it encounters a driving situation in which it has to brake, steer, or accelerate.

Problem Statement


Comma.ai’s openpilot software needs a method of communicating uncertainty and driving system limits to keep the driver safe and informed about autonomous driving. Currently, openpilot’s UI does not communicate all autonomous driving confidence states and driving limitations to the user while the system is engaged. This includes information about how confident openpilot is when it encounters a driving situation in which it has to brake, steer, or accelerate.

We are making a right turn here so let's see if we can do this right turn I would prefer if it slowed down a little more okay yeah it's not gonna make that one

We are making a right turn here so let's see if we can do this right turn I would prefer if it slowed down a little more okay yeah it's not gonna make that one

We are making a right turn here so let's see if we can do this right turn I would prefer if it slowed down a little more okay yeah it's not gonna make that one

Video timestamp(12:45-12:52) shows openpilot warning the driver that the turn exceeds the steering torque which up until the warning, openpilot did not communicate the potential disengagement to the driver.

Navigate on openpilot vol2 - comma three full drive

Video timestamp(12:45-12:52) shows openpilot warning the driver that the turn exceeds the steering torque which up until the warning, openpilot did not communicate the potential disengagement to the driver.

Navigate on openpilot vol2 - comma three full drive

Video timestamp(12:45-12:52) shows openpilot warning the driver that the turn exceeds the steering torque which up until the warning, openpilot did not communicate the potential disengagement to the driver.

Navigate on openpilot vol2 - comma three full drive

limitations, and challenges

  1. Confidence State Communication: Openpilot's driving confidence exists on a continuous spectrum but is currently not effectively conveyed to users, leaving them unable to anticipate autonomous driving disengagements


  2. System Limitation Awareness: Users are not adequately informed about the car’s proximity to critical limits (e.g., steering torque, brake pressure, acceleration) until these limits are exceeded, often resulting in abrupt audible alerts that can be more distracting than helpful


  3. User Interface Constraints: The design must account for the constraints of a windshield-mounted device approximately 12 inches from the driver with a flat UI enforced by Qt(a C++ cross-platform application development framework), ensuring clarity and non-intrusiveness within limited-screen real estate. Openpilots UI has to be designed within the bounds of the comma 3X device which is 2160 px wide and 1080 px tall and about 1058 px wide when navigation is enabled this imposes UI design challenges


  4. Technical Prototype Constraints: Technical limitations for generating a testable prototype on a comma 3X device limited the ability to conduct a usability test with targeted users


  5. Lack of User Research: Conducting generative user research was not possible due to budget and time constraints, which led to resorting to secondary research and designs based on assumptions.

limitations, and challenges

  1. Confidence State Communication: Openpilot's driving confidence exists on a continuous spectrum but is currently not effectively conveyed to users, leaving them unable to anticipate autonomous driving disengagements


  2. System Limitation Awareness: Users are not adequately informed about the car’s proximity to critical limits (e.g., steering torque, brake pressure, acceleration) until these limits are exceeded, often resulting in abrupt audible alerts that can be more distracting than helpful


  3. User Interface Constraints: The design must account for the constraints of a windshield-mounted device approximately 12 inches from the driver with a flat UI enforced by Qt(a C++ cross-platform application development framework), ensuring clarity and non-intrusiveness within limited-screen real estate. Openpilots UI has to be designed within the bounds of the comma 3X device which is 2160 px wide and 1080 px tall and about 1058 px wide when navigation is enabled this imposes UI design challenges


  4. Technical Prototype Constraints: Technical limitations for generating a testable prototype on a comma 3X device limited the ability to conduct a usability test with targeted users


  5. Lack of User Research: Conducting generative user research was not possible due to budget and time constraints, which led to resorting to secondary research and designs based on assumptions.

limitations, and challenges

  1. Confidence State Communication: Openpilot's driving confidence exists on a continuous spectrum but is currently not effectively conveyed to users, leaving them unable to anticipate autonomous driving disengagements


  2. System Limitation Awareness: Users are not adequately informed about the car’s proximity to critical limits (e.g., steering torque, brake pressure, acceleration) until these limits are exceeded, often resulting in abrupt audible alerts that can be more distracting than helpful


  3. User Interface Constraints: The design must account for the constraints of a windshield-mounted device approximately 12 inches from the driver with a flat UI enforced by Qt(a C++ cross-platform application development framework), ensuring clarity and non-intrusiveness within limited-screen real estate. Openpilots UI has to be designed within the bounds of the comma 3X device which is 2160 px wide and 1080 px tall and about 1058 px wide when navigation is enabled this imposes UI design challenges


  4. Technical Prototype Constraints: Technical limitations for generating a testable prototype on a comma 3X device limited the ability to conduct a usability test with targeted users


  5. Lack of User Research: Conducting generative user research was not possible due to budget and time constraints, which led to resorting to secondary research and designs based on assumptions.

Communicating uncertainty

Communicating uncertainty

Communicating uncertainty

comma ai | comma ai team | COMMA_CON 2023 | new comma 3X hardware | San Diego | live stream video

Video timestamp(2:18:04) showing the different uncertainty states of openpilot

comma ai | comma ai team | COMMA_CON 2023 | new comma 3X hardware | San Diego | live stream video

comma ai | comma ai team | COMMA_CON 2023 | new comma 3X hardware | San Diego | live stream video

Video timestamp(2:18:04) showing the different uncertainty states of openpilot

comma ai | comma ai team | COMMA_CON 2023 | new comma 3X hardware | San Diego | live stream video

comma ai | comma ai team | COMMA_CON 2023 | new comma 3X hardware | San Diego | live stream video

Video timestamp(2:18:04) showing the different uncertainty states of openpilot

comma ai | comma ai team | COMMA_CON 2023 | new comma 3X hardware | San Diego | live stream video

Currently, openpilot communicates uncertainty by changing the border color from green(confident of the driving situation), to yellow(uncertain of the situation, may need to be disengaged) and red(the system will not respond accordingly and will need to be disengaged immediately) When openpilot reaches its limits and is uncertain of a driving situation, the UI border turns red and throws an audible alert. Due to the instant feedback of the driving situation, the driver doesn't know there is a problem until the alert, which is frequently more annoying than useful. Furthermore, the driver doesn’t know why openpilot is showing an alert which can be for the following reasons:


Driving alert causes

The limits of the following driving systems vary from car model

  • Steering: Openpilot’s confidence is low due to circumstantial driving predicaments or Steering torque has reached its limit and may not steer in the desired direction


  • Braking: Braking pressure has reached its limits and may not respond accordingly


  • Acceleration: Acceleration has reached its limits and may not accelerate at the desired pace

Currently, openpilot communicates uncertainty by changing the border color from green(confident of the driving situation), to yellow(uncertain of the situation, may need to be disengaged) and red(the system will not respond accordingly and will need to be disengaged immediately) When openpilot reaches its limits and is uncertain of a driving situation, the UI border turns red and throws an audible alert. Due to the instant feedback of the driving situation, the driver doesn't know there is a problem until the alert, which is frequently more annoying than useful. Furthermore, the driver doesn’t know why openpilot is showing an alert which can be for the following reasons:


Driving alert causes

The limits of the following driving systems vary from car model

  • Steering: Openpilot’s confidence is low due to circumstantial driving predicaments or Steering torque has reached its limit and may not steer in the desired direction


  • Braking: Braking pressure has reached its limits and may not respond accordingly


  • Acceleration: Acceleration has reached its limits and may not accelerate at the desired pace

Currently, openpilot communicates uncertainty by changing the border color from green(confident of the driving situation), to yellow(uncertain of the situation, may need to be disengaged) and red(the system will not respond accordingly and will need to be disengaged immediately) When openpilot reaches its limits and is uncertain of a driving situation, the UI border turns red and throws an audible alert. Due to the instant feedback of the driving situation, the driver doesn't know there is a problem until the alert, which is frequently more annoying than useful. Furthermore, the driver doesn’t know why openpilot is showing an alert which can be for the following reasons:


Driving alert causes

The limits of the following driving systems vary from car model

  • Steering: Openpilot’s confidence is low due to circumstantial driving predicaments or Steering torque has reached its limit and may not steer in the desired direction


  • Braking: Braking pressure has reached its limits and may not respond accordingly


  • Acceleration: Acceleration has reached its limits and may not accelerate at the desired pace

Goal

Goal

Goal

An illustration of the design challenge goal is to communicate openpilot’s driving systems to the driver.

The design challenge goal is to communicate openpilot’s driving systems to the driver.

An illustration of the design challenge goal is to communicate openpilot’s driving systems to the driver.

The design challenge goal is to communicate openpilot’s driving systems to the driver.

An illustration of the design challenge goal is to communicate openpilot’s driving systems to the driver.

The design challenge goal is to communicate openpilot’s driving systems to the driver.

The goal is to improve communication between the driver and openpilot. By informing the driver of what openpilot is doing and thinking, the driver will be better informed to intervene when necessary. To accomplish this, I need to design a UI to communicate all openpilot’s driving states and system limits clearly and non-intrusively. This includes defining the UI for the following states:

The goal is to improve communication between the driver and openpilot. By informing the driver of what openpilot is doing and thinking, the driver will be better informed to intervene when necessary. To accomplish this, I need to design a UI to communicate all openpilot’s driving states and system limits clearly and non-intrusively. This includes defining the UI for the following states:

The goal is to improve communication between the driver and openpilot. By informing the driver of what openpilot is doing and thinking, the driver will be better informed to intervene when necessary. To accomplish this, I need to design a UI to communicate all openpilot’s driving states and system limits clearly and non-intrusively. This includes defining the UI for the following states:

Driving output confident states

Driving output confident states

Driving output confident states

Illustration of the three potential openpilot driving output states.

Illustration of the three potential openpilot driving output states.

Illustration of the three potential openpilot driving output states.

Illustration of the three potential openpilot driving output states.

Illustration of the three potential openpilot driving output states.

Illustration of the three potential openpilot driving output states.

The three main classes of driving output are the following:

  • Reliable: Pretty stable and may need disengagement less than once every 10 min


  • Unreliable: May or may not work and may need disengagement every few minutes or more


  • Non-Functional: Expected not to work and will likely need disengagement within seconds



Communicate car input feedback

Openpilot’s UI should communicate the following driving systems:

  • The steering torque limit and uncertainty


  • The brake pressure limit and uncertainty


  • The acceleration limits and uncertainty


The solution should enhance driver engagement and situational awareness while minimizing distractions, and leveraging visual and auditory elements where appropriate.

The three main classes of driving output are the following:

  • Reliable: Pretty stable and may need disengagement less than once every 10 min


  • Unreliable: May or may not work and may need disengagement every few minutes or more


  • Non-Functional: Expected not to work and will likely need disengagement within seconds



Communicate car input feedback

Openpilot’s UI should communicate the following driving systems:

  • The steering torque limit and uncertainty


  • The brake pressure limit and uncertainty


  • The acceleration limits and uncertainty


The solution should enhance driver engagement and situational awareness while minimizing distractions, and leveraging visual and auditory elements where appropriate.

The three main classes of driving output are the following:

  • Reliable: Pretty stable and may need disengagement less than once every 10 min


  • Unreliable: May or may not work and may need disengagement every few minutes or more


  • Non-Functional: Expected not to work and will likely need disengagement within seconds



Communicate car input feedback

Openpilot’s UI should communicate the following driving systems:

  • The steering torque limit and uncertainty


  • The brake pressure limit and uncertainty


  • The acceleration limits and uncertainty


The solution should enhance driver engagement and situational awareness while minimizing distractions, and leveraging visual and auditory elements where appropriate.

Platform

Platform

Platform

Comma 3X device running openpilot.

Comma 3X device running openpilot.

Comma 3X device running openpilot.

Comma 3X device running openpilot.

Comma 3X device running openpilot.

Comma 3X device running openpilot.

Comma 3X

Comma 3X

Comma 3X

Tools

  • Figma: UI design, design system


  • Illustrator: Icons and logos


  • After Effects: Conceptual prototypes


  • Rive: Animation and testing early design concepts


  • Notion: Secondary research and note-taking

Tools

  • Figma: UI design, design system


  • Illustrator: Icons and logos


  • After Effects: Conceptual prototypes


  • Rive: Animation and testing early design concepts


  • Notion: Secondary research and note-taking

Tools

  • Figma: UI design, design system


  • Illustrator: Icons and logos


  • After Effects: Conceptual prototypes


  • Rive: Animation and testing early design concepts


  • Notion: Secondary research and note-taking

Targeted demographic

Targeted demographic

Targeted demographic

An illustration of the three different types of users.

An illustration of the three different types of users.

An illustration of the three different types of users.

An illustration of the three different types of users.

An illustration of the three different types of users.

An illustration of the three different types of users.

The targeted demographic of openpilot falls within 3 user bucket groups.

  • Highly technical: These users are comprised of software engineers who are open-source contributors to openpilot. They mainly focus on lower-level technical aspects of openpilot


  • Experienced: Hobbyists and technical individuals who have owned a comma device for years. They know the ins and outs of openpilot, use the comma 3X device regularly, and are not afraid of troubleshooting openpilot if necessary. They may also be a part of an openpilot online community


  • Non-technical: First-time plug-and-play users who would ideally like to use the comma 3X device with little effort or troubleshooting. They are unfamiliar with openpilot and are looking for a beginner-friendly non-technical user experience


The redesign of openpilots UI is mainly for experienced and non-technical first-time users.

The targeted demographic of openpilot falls within 3 user bucket groups.

  • Highly technical: These users are comprised of software engineers who are open-source contributors to openpilot. They mainly focus on lower-level technical aspects of openpilot


  • Experienced: Hobbyists and technical individuals who have owned a comma device for years. They know the ins and outs of openpilot, use the comma 3X device regularly, and are not afraid of troubleshooting openpilot if necessary. They may also be a part of an openpilot online community


  • Non-technical: First-time plug-and-play users who would ideally like to use the comma 3X device with little effort or troubleshooting. They are unfamiliar with openpilot and are looking for a beginner-friendly non-technical user experience


The redesign of openpilots UI is mainly for experienced and non-technical first-time users.

The targeted demographic of openpilot falls within 3 user bucket groups.

  • Highly technical: These users are comprised of software engineers who are open-source contributors to openpilot. They mainly focus on lower-level technical aspects of openpilot


  • Experienced: Hobbyists and technical individuals who have owned a comma device for years. They know the ins and outs of openpilot, use the comma 3X device regularly, and are not afraid of troubleshooting openpilot if necessary. They may also be a part of an openpilot online community


  • Non-technical: First-time plug-and-play users who would ideally like to use the comma 3X device with little effort or troubleshooting. They are unfamiliar with openpilot and are looking for a beginner-friendly non-technical user experience


The redesign of openpilots UI is mainly for experienced and non-technical first-time users.

My Roles and Process

My Roles and Process

My Roles and Process

An illustration of the design process.

An illustration of the design process.

An illustration of the design process.

An illustration of the design process.

An illustration of the design process.

An illustration of the design process.

Research

  • Knowledge Quadrant: Generated questions and assumptions about openpilot to gain a better understanding of the company and software leading to over 39 research questions used as the foundation for the existing research analysis


  • Existing Research Analysis: Conducted secondary research to validate or invalidate the research questions and assumptions leading to generating over 108 data points of information regarding openpilot functionality and user experience aiding the design of the 3 main driving systems


User Interface Design (UI)

  • Sketches: Utilized the existing research analysis insights to brainstorm and sketch UI systems for conveying openpilot’s driving confidence and limits to the driver


  • High-Fidelity Design: Refined the sketches to create over 40 polished high-fidelity user interface design components emphasizing accessibility and car infotainment UI best practices to gather user feedback and prepare the UI for the conceptual prototype


  • Design System: Created a design system consisting of a color scheme, UI component library, and a type scale and spacing system for design consistency and convenience when creating the high-fidelity design and UI components, improving design efficiency by more than 20 percent


Prototyping

  • Conceptual Prototype: Developed 5 conceptual prototypes to showcase the functionality of the 3 driving systems to convey the driving confidence and limits of openpilot

Research

  • Knowledge Quadrant: Generated questions and assumptions about openpilot to gain a better understanding of the company and software leading to over 39 research questions used as the foundation for the existing research analysis


  • Existing Research Analysis: Conducted secondary research to validate or invalidate the research questions and assumptions leading to generating over 108 data points of information regarding openpilot functionality and user experience aiding the design of the 3 main driving systems


User Interface Design (UI)

  • Sketches: Utilized the existing research analysis insights to brainstorm and sketch UI systems for conveying openpilot’s driving confidence and limits to the driver


  • High-Fidelity Design: Refined the sketches to create over 40 polished high-fidelity user interface design components emphasizing accessibility and car infotainment UI best practices to gather user feedback and prepare the UI for the conceptual prototype


  • Design System: Created a design system consisting of a color scheme, UI component library, and a type scale and spacing system for design consistency and convenience when creating the high-fidelity design and UI components, improving design efficiency by more than 20 percent


Prototyping

  • Conceptual Prototype: Developed 5 conceptual prototypes to showcase the functionality of the 3 driving systems to convey the driving confidence and limits of openpilot

Research

  • Knowledge Quadrant: Generated questions and assumptions about openpilot to gain a better understanding of the company and software leading to over 39 research questions used as the foundation for the existing research analysis


  • Existing Research Analysis: Conducted secondary research to validate or invalidate the research questions and assumptions leading to generating over 108 data points of information regarding openpilot functionality and user experience aiding the design of the 3 main driving systems


User Interface Design (UI)

  • Sketches: Utilized the existing research analysis insights to brainstorm and sketch UI systems for conveying openpilot’s driving confidence and limits to the driver


  • High-Fidelity Design: Refined the sketches to create over 40 polished high-fidelity user interface design components emphasizing accessibility and car infotainment UI best practices to gather user feedback and prepare the UI for the conceptual prototype


  • Design System: Created a design system consisting of a color scheme, UI component library, and a type scale and spacing system for design consistency and convenience when creating the high-fidelity design and UI components, improving design efficiency by more than 20 percent


Prototyping

  • Conceptual Prototype: Developed 5 conceptual prototypes to showcase the functionality of the 3 driving systems to convey the driving confidence and limits of openpilot

Research


Knowledge Quadrant


Generated questions and assumptions about openpilot to better understand the company and software, leading to over 39 research questions used as the foundation for the existing research analysis.

Research


Knowledge Quadrant


Generated questions and assumptions about openpilot to better understand the company and software, leading to over 39 research questions used as the foundation for the existing research analysis.

Research


Knowledge Quadrant


Generated questions and assumptions about openpilot to better understand the company and software, leading to over 39 research questions used as the foundation for the existing research analysis.

The knowledge quadrant database created in Notion listing the questions, opinions, and assumptions of openpilot.

The knowledge quadrant database created in Notion listing the questions, opinions, and assumptions of openpilot.

The knowledge quadrant database created in Notion listing the questions, opinions, and assumptions of openpilot.

The knowledge quadrant database created in Notion listing the questions, opinions, and assumptions of openpilot.

The knowledge quadrant database created in Notion listing the questions, opinions, and assumptions of openpilot.

The knowledge quadrant database created in Notion listing the questions, opinions, and assumptions of openpilot.

Approaching the project, I did not know much about openpilot, for this reason, it was important for me to know more about the functionality and features of the software before approaching solutions for designing the UI. This became more apparent after reading the comma.ai design challenge document which made me realize I had a lot of questions that needed to be addressed. I decided to generate questions, opinions, and assumptions for the knowledge quadrant exercise that would later be validated/invalidated via the existing research analysis. I generated over 39 research questions that were the foundation for leading the research analysis and goals.

Approaching the project, I did not know much about openpilot, for this reason, it was important for me to know more about the functionality and features of the software before approaching solutions for designing the UI. This became more apparent after reading the comma.ai design challenge document which made me realize I had a lot of questions that needed to be addressed. I decided to generate questions, opinions, and assumptions for the knowledge quadrant exercise that would later be validated/invalidated via the existing research analysis. I generated over 39 research questions that were the foundation for leading the research analysis and goals.

Approaching the project, I did not know much about openpilot, for this reason, it was important for me to know more about the functionality and features of the software before approaching solutions for designing the UI. This became more apparent after reading the comma.ai design challenge document which made me realize I had a lot of questions that needed to be addressed. I decided to generate questions, opinions, and assumptions for the knowledge quadrant exercise that would later be validated/invalidated via the existing research analysis. I generated over 39 research questions that were the foundation for leading the research analysis and goals.

Questions

Questions

Questions

Knowledge quadrant 4 key questions.

Knowledge quadrant 4 key questions.

Knowledge quadrant 4 key questions.

Knowledge quadrant 4 key questions.

Knowledge quadrant 4 key questions.

Knowledge quadrant 4 key questions.

Some key questions for the openpilot UI redesign included the following:

  • How should the "driving confidence states" be visually represented so that they are easy for the driver to understand at a glance without being distracting?


  • How can the design communicate changes in driving confidence effectively without overwhelming the user, especially when transitions between states are frequent?


  • What visual cues could communicate proximity to the system’s torque, brake pressure, and acceleration limits in a non-intrusive but still noticeable way?


  • Would additional sound cues help improve the alert system without being too annoying or intrusive? How might sounds convey urgency or varying levels of confidence?


The questions and assumptions must be accounted for before beginning the research analysis.

Some key questions for the openpilot UI redesign included the following:

  • How should the "driving confidence states" be visually represented so that they are easy for the driver to understand at a glance without being distracting?


  • How can the design communicate changes in driving confidence effectively without overwhelming the user, especially when transitions between states are frequent?


  • What visual cues could communicate proximity to the system’s torque, brake pressure, and acceleration limits in a non-intrusive but still noticeable way?


  • Would additional sound cues help improve the alert system without being too annoying or intrusive? How might sounds convey urgency or varying levels of confidence?


The questions and assumptions must be accounted for before beginning the research analysis.

Some key questions for the openpilot UI redesign included the following:

  • How should the "driving confidence states" be visually represented so that they are easy for the driver to understand at a glance without being distracting?


  • How can the design communicate changes in driving confidence effectively without overwhelming the user, especially when transitions between states are frequent?


  • What visual cues could communicate proximity to the system’s torque, brake pressure, and acceleration limits in a non-intrusive but still noticeable way?


  • Would additional sound cues help improve the alert system without being too annoying or intrusive? How might sounds convey urgency or varying levels of confidence?


The questions and assumptions must be accounted for before beginning the research analysis.

Existing Research Analysis


Conducted secondary research to validate/invalidate the research questions and assumptions leading to generating over 108 data points of information regarding openpilot UI functionality and user experience aiding the design of the 3 main driving systems.

Existing Research Analysis


Conducted secondary research to validate/invalidate the research questions and assumptions leading to generating over 108 data points of information regarding openpilot UI functionality and user experience aiding the design of the 3 main driving systems.

Existing Research Analysis


Conducted secondary research to validate/invalidate the research questions and assumptions leading to generating over 108 data points of information regarding openpilot UI functionality and user experience aiding the design of the 3 main driving systems.

An illustration of the existing research analysis process.

An illustration of the existing research analysis process.

An illustration of the existing research analysis process.

An illustration of the existing research analysis process.

An illustration of the existing research analysis process.

An illustration of the existing research analysis process.

After gathering the questions and assumptions from the knowledge quadrant I began to generate research goals for the existing research analysis. The purpose of the existing research analysis is to answer the main questions and assumptions in the knowledge quadrant exercise by researching existing information regarding the functionality and features of openpilot.


Research Challenges

Conducting the existing research analysis was not my first choice. I had to resort to secondary research because I did not have the resources, budget, and time to execute evaluative user research. Ideally, I would have preferred doing contextual inquiry research with the target demographic; however, due to circumstances, that was not possible.


Research Goals

The research goals included the following:

  • Understand how openpilot’s UI currently communicates its driving states to figure out improvements and alternative solutions


  • Research the different types of visual indicators I can use to showcase the visual granularity of openpilot’s driving states


  • Determine non-intrusive visual cues that effectively communicate how close the system is to reaching its torque, brake pressure, and acceleration limits so that the driver is subtly informed without being distracted


  • Explore the potential for additional sound cues to enhance the alert system by conveying urgency or levels of confidence in a way that is informative without being intrusive or annoying


  • Identify any unique design challenges in visually representing confidence states on the 3X device due to its windshield-mounted position and the limitations of Qt's flat UI constraint


  • identify specific design elements that can effectively set user expectations and prepare them for potential disengagements when the system is in the “may or may not work” state


  • Understand the standard best practices for designing car infotainment systems to ensure that the openpilot UI aligns with industry standards, enhances user experience, and prioritizes safety


Considering the research goals, I began to conduct secondary research, which included reading blogs, articles, and videos about openpilot to gather as many insights as possible. Using the online resource materials, I generated over 108 data points of information answering as many questions and assumptions from the knowledge quadrant as possible while keeping the research goals in mind.

After gathering the questions and assumptions from the knowledge quadrant I began to generate research goals for the existing research analysis. The purpose of the existing research analysis is to answer the main questions and assumptions in the knowledge quadrant exercise by researching existing information regarding the functionality and features of openpilot.


Research Challenges

Conducting the existing research analysis was not my first choice. I had to resort to secondary research because I did not have the resources, budget, and time to execute evaluative user research. Ideally, I would have preferred doing contextual inquiry research with the target demographic; however, due to circumstances, that was not possible.


Research Goals

The research goals included the following:

  • Understand how openpilot’s UI currently communicates its driving states to figure out improvements and alternative solutions


  • Research the different types of visual indicators I can use to showcase the visual granularity of openpilot’s driving states


  • Determine non-intrusive visual cues that effectively communicate how close the system is to reaching its torque, brake pressure, and acceleration limits so that the driver is subtly informed without being distracted


  • Explore the potential for additional sound cues to enhance the alert system by conveying urgency or levels of confidence in a way that is informative without being intrusive or annoying


  • Identify any unique design challenges in visually representing confidence states on the 3X device due to its windshield-mounted position and the limitations of Qt's flat UI constraint


  • identify specific design elements that can effectively set user expectations and prepare them for potential disengagements when the system is in the “may or may not work” state


  • Understand the standard best practices for designing car infotainment systems to ensure that the openpilot UI aligns with industry standards, enhances user experience, and prioritizes safety


Considering the research goals, I began to conduct secondary research, which included reading blogs, articles, and videos about openpilot to gather as many insights as possible. Using the online resource materials, I generated over 108 data points of information answering as many questions and assumptions from the knowledge quadrant as possible while keeping the research goals in mind.

After gathering the questions and assumptions from the knowledge quadrant I began to generate research goals for the existing research analysis. The purpose of the existing research analysis is to answer the main questions and assumptions in the knowledge quadrant exercise by researching existing information regarding the functionality and features of openpilot.


Research Challenges

Conducting the existing research analysis was not my first choice. I had to resort to secondary research because I did not have the resources, budget, and time to execute evaluative user research. Ideally, I would have preferred doing contextual inquiry research with the target demographic; however, due to circumstances, that was not possible.


Research Goals

The research goals included the following:

  • Understand how openpilot’s UI currently communicates its driving states to figure out improvements and alternative solutions


  • Research the different types of visual indicators I can use to showcase the visual granularity of openpilot’s driving states


  • Determine non-intrusive visual cues that effectively communicate how close the system is to reaching its torque, brake pressure, and acceleration limits so that the driver is subtly informed without being distracted


  • Explore the potential for additional sound cues to enhance the alert system by conveying urgency or levels of confidence in a way that is informative without being intrusive or annoying


  • Identify any unique design challenges in visually representing confidence states on the 3X device due to its windshield-mounted position and the limitations of Qt's flat UI constraint


  • identify specific design elements that can effectively set user expectations and prepare them for potential disengagements when the system is in the “may or may not work” state


  • Understand the standard best practices for designing car infotainment systems to ensure that the openpilot UI aligns with industry standards, enhances user experience, and prioritizes safety


Considering the research goals, I began to conduct secondary research, which included reading blogs, articles, and videos about openpilot to gather as many insights as possible. Using the online resource materials, I generated over 108 data points of information answering as many questions and assumptions from the knowledge quadrant as possible while keeping the research goals in mind.

Insights Summary

Some of the key insights gathered from the data points include the following:

Insights Summary

Some of the key insights gathered from the data points include the following:

Insights Summary

Some of the key insights gathered from the data points include the following:

  • Google Design for Driving, Android Auto Illustration.

    Google Design for Driving, Android Auto Illustration.

    Design for Driving Guidelines

    • The Google Design for Driving guidelines emphasize using adaptive color palettes, consistent layouts, smooth motion, appropriate sizing, and clear typography to ensure safe, distraction-free usability and readability for drivers


    • Designing for drivers requires prioritizing safety by minimizing distractions, enhancing the driving experience, simplifying the interface, displaying only relevant information, and promoting voice or minimal-touch interactions to keep the driver's focus on the road

  • Joco comma.ai Brand Refresh and Product Re-Skin

    Joco comma.ai Brand Refresh and Product Re-Skin

    Openpilot UI Redesign

    • Analyzed the designer’s approach to overhauling the openpilot UI, focusing on accessibility, simplicity, and functionality to create an interface that enables effortless driver interaction


    • Designing for the Comma 3 involved practical typography choices, multi-functional iconography, bold UI adjustments for a small screen, and thoughtful visual updates that enhanced branding and usability without altering core functions

  • Audible Alert Callouts

    Airbus A350 XWB alarms,alerts and GPWS Callouts.

    Audible Alert Callouts

    Repeatedly conveying critical information through clear language, urgency cues, context-specific alerts, consistent voice, and escalating intensity can improve driver awareness and responsiveness. Audible alert calls can help users with accessibility needs and impairments i.e. drivers who are color blind and have a hard time perceiving certain colors.

  • Comma 3X and openpilot Driving

    Openpilot’s drive to Taco Bell video demonstration.

    Comma 3X and openpilot Driving

    The comma 3X, a windshield-mounted device using open-source software, extends standard driver-assist features with flexible, hands-free control, tracking road edges and turns even without clear lane markings. Over 200 miles, it performed smoothly with minimal interruptions. It is equipped with a front-facing camera for driver monitoring and disengagement if inattentive. Openpilot by comma.ai is an open-source driver assistance system that offers advanced features like adaptive cruise control, lane-keeping, and a laneless model for smoother turns, with the Comma 3 device providing 360-degree vision and driver monitoring as a Level 2 system. Though it handles intersections, roundabouts, and complex roads effectively, occasional manual input is needed for obstacles.

  • Google Design for Driving, Android Auto Illustration.

    Google Design for Driving, Android Auto Illustration.

    Design for Driving Guidelines

    • The Google Design for Driving guidelines emphasize using adaptive color palettes, consistent layouts, smooth motion, appropriate sizing, and clear typography to ensure safe, distraction-free usability and readability for drivers


    • Designing for drivers requires prioritizing safety by minimizing distractions, enhancing the driving experience, simplifying the interface, displaying only relevant information, and promoting voice or minimal-touch interactions to keep the driver's focus on the road

  • Joco comma.ai Brand Refresh and Product Re-Skin

    Joco comma.ai Brand Refresh and Product Re-Skin

    Openpilot UI Redesign

    • Analyzed the designer’s approach to overhauling the openpilot UI, focusing on accessibility, simplicity, and functionality to create an interface that enables effortless driver interaction


    • Designing for the Comma 3 involved practical typography choices, multi-functional iconography, bold UI adjustments for a small screen, and thoughtful visual updates that enhanced branding and usability without altering core functions

  • Audible Alert Callouts

    Airbus A350 XWB alarms,alerts and GPWS Callouts.

    Audible Alert Callouts

    Repeatedly conveying critical information through clear language, urgency cues, context-specific alerts, consistent voice, and escalating intensity can improve driver awareness and responsiveness. Audible alert calls can help users with accessibility needs and impairments i.e. drivers who are color blind and have a hard time perceiving certain colors.

  • Comma 3X and openpilot Driving

    Openpilot’s drive to Taco Bell video demonstration.

    Comma 3X and openpilot Driving

    The comma 3X, a windshield-mounted device using open-source software, extends standard driver-assist features with flexible, hands-free control, tracking road edges and turns even without clear lane markings. Over 200 miles, it performed smoothly with minimal interruptions. It is equipped with a front-facing camera for driver monitoring and disengagement if inattentive. Openpilot by comma.ai is an open-source driver assistance system that offers advanced features like adaptive cruise control, lane-keeping, and a laneless model for smoother turns, with the Comma 3 device providing 360-degree vision and driver monitoring as a Level 2 system. Though it handles intersections, roundabouts, and complex roads effectively, occasional manual input is needed for obstacles.

  • Google Design for Driving, Android Auto Illustration.

    Google Design for Driving, Android Auto Illustration.

    Design for Driving Guidelines

    • The Google Design for Driving guidelines emphasize using adaptive color palettes, consistent layouts, smooth motion, appropriate sizing, and clear typography to ensure safe, distraction-free usability and readability for drivers


    • Designing for drivers requires prioritizing safety by minimizing distractions, enhancing the driving experience, simplifying the interface, displaying only relevant information, and promoting voice or minimal-touch interactions to keep the driver's focus on the road

  • Joco comma.ai Brand Refresh and Product Re-Skin

    Joco comma.ai Brand Refresh and Product Re-Skin

    Openpilot UI Redesign

    • Analyzed the designer’s approach to overhauling the openpilot UI, focusing on accessibility, simplicity, and functionality to create an interface that enables effortless driver interaction


    • Designing for the Comma 3 involved practical typography choices, multi-functional iconography, bold UI adjustments for a small screen, and thoughtful visual updates that enhanced branding and usability without altering core functions

  • Audible Alert Callouts

    Airbus A350 XWB alarms,alerts and GPWS Callouts.

    Audible Alert Callouts

    Repeatedly conveying critical information through clear language, urgency cues, context-specific alerts, consistent voice, and escalating intensity can improve driver awareness and responsiveness. Audible alert calls can help users with accessibility needs and impairments i.e. drivers who are color blind and have a hard time perceiving certain colors.

  • Comma 3X and openpilot Driving

    Openpilot’s drive to Taco Bell video demonstration.

    Comma 3X and openpilot Driving

    The comma 3X, a windshield-mounted device using open-source software, extends standard driver-assist features with flexible, hands-free control, tracking road edges and turns even without clear lane markings. Over 200 miles, it performed smoothly with minimal interruptions. It is equipped with a front-facing camera for driver monitoring and disengagement if inattentive. Openpilot by comma.ai is an open-source driver assistance system that offers advanced features like adaptive cruise control, lane-keeping, and a laneless model for smoother turns, with the Comma 3 device providing 360-degree vision and driver monitoring as a Level 2 system. Though it handles intersections, roundabouts, and complex roads effectively, occasional manual input is needed for obstacles.

To keep the case study short, I did not include all of my insights. However, I can assure you that I thoroughly explored multiple sources of information, with comma.ai’s blog being one of the most extensively utilized resources.

To keep the case study short, I did not include all of my insights. However, I can assure you that I thoroughly explored multiple sources of information, with comma.ai’s blog being one of the most extensively utilized resources.

To keep the case study short, I did not include all of my insights. However, I can assure you that I thoroughly explored multiple sources of information, with comma.ai’s blog being one of the most extensively utilized resources.

User Interface Design (UI)


Sketching


Utilized the existing research analysis insights to brainstorm and sketch UI systems for conveying openpilot’s driving confidence and limits to the driver

User Interface Design (UI)


Sketching


Utilized the existing research analysis insights to brainstorm and sketch UI systems for conveying openpilot’s driving confidence and limits to the driver

User Interface Design (UI)


Sketching


Utilized the existing research analysis insights to brainstorm and sketch UI systems for conveying openpilot’s driving confidence and limits to the driver

Sketch collage of the different gauge designs.

Sketch collage of the different gauge designs.

Sketch collage of the different gauge designs.

Sketch collage of the different gauge designs.

Sketch collage of the different gauge designs.

Sketch collage of the different gauge designs.

After accumulating enough information in the existing research analysis, I brainstormed and sketched multiple ideas. Per the project requirements and research analysis, the sketches were created keeping the following goals into account:


Sketch Brainstorming Goals

  • Explore creative ideas for conveying openpilot’s confidence and limits of the steering, braking, and acceleration driving systems


  • Demonstrate the functionality of the 3 driving systems in a simple non-intrusive manner


  • Convey the progression(reliable, unreliable, non-functional) of the confidence and limits of each of the 3 driving states


  • Focus on simplicity and keep accessibility needs and design best practices regarding car infotainment systems into account


According to the goals, I sketched over 6 ideas that demonstrated the form and functionality of each of the three systems, emphasizing using a gauge to present the three states of openpilots’ driving states. From the sketches I brainstormed, I ended up choosing the split gauge design for the following reasons:

After accumulating enough information in the existing research analysis, I brainstormed and sketched multiple ideas. Per the project requirements and research analysis, the sketches were created keeping the following goals into account:


Sketch Brainstorming Goals

  • Explore creative ideas for conveying openpilot’s confidence and limits of the steering, braking, and acceleration driving systems


  • Demonstrate the functionality of the 3 driving systems in a simple non-intrusive manner


  • Convey the progression(reliable, unreliable, non-functional) of the confidence and limits of each of the 3 driving states


  • Focus on simplicity and keep accessibility needs and design best practices regarding car infotainment systems into account


According to the goals, I sketched over 6 ideas that demonstrated the form and functionality of each of the three systems, emphasizing using a gauge to present the three states of openpilots’ driving states. From the sketches I brainstormed, I ended up choosing the split gauge design for the following reasons:

After accumulating enough information in the existing research analysis, I brainstormed and sketched multiple ideas. Per the project requirements and research analysis, the sketches were created keeping the following goals into account:


Sketch Brainstorming Goals

  • Explore creative ideas for conveying openpilot’s confidence and limits of the steering, braking, and acceleration driving systems


  • Demonstrate the functionality of the 3 driving systems in a simple non-intrusive manner


  • Convey the progression(reliable, unreliable, non-functional) of the confidence and limits of each of the 3 driving states


  • Focus on simplicity and keep accessibility needs and design best practices regarding car infotainment systems into account


According to the goals, I sketched over 6 ideas that demonstrated the form and functionality of each of the three systems, emphasizing using a gauge to present the three states of openpilots’ driving states. From the sketches I brainstormed, I ended up choosing the split gauge design for the following reasons:

Split gauge design sketches.
Split gauge design sketches annotated.

Split gauge design sketch.

Annotations

Split Gauge Design

1.

Gauge design: The two gauges respectively communicate the confidence(left) and limit(right) progress to the driver

2.

Gauge color states: The limit and confidence gauge is split between 3 states(low, medium, and high) to communicate the limits and confidence progression to the driver. Each state is going to be color-coded to demonstrate the severity of the situation. Green and blue are neutral, yellow means caution, and red represents a critical warning

3.

Icons: Icons are used to easily identify each driving system

4.

Percentage values: The confidence and limit values are displayed as percentages to simplify conveying the gauge progression instead of showing torque values. In other words, it is a lot easier to see that a system is 90% of its maximum limit vs seeing the steering between 0 and 220 radian

5.

Title: Titles help give users context of the associated UI component

Split gauge design sketches.
Split gauge design sketches annotated.

Split gauge design sketch.

Annotations

Split Gauge Design

1.

Gauge design: The two gauges respectively communicate the confidence(left) and limit(right) progress to the driver

2.

Gauge color states: The limit and confidence gauge is split between 3 states(low, medium, and high) to communicate the limits and confidence progression to the driver. Each state is going to be color-coded to demonstrate the severity of the situation. Green and blue are neutral, yellow means caution, and red represents a critical warning

3.

Icons: Icons are used to easily identify each driving system

4.

Percentage values: The confidence and limit values are displayed as percentages to simplify conveying the gauge progression instead of showing torque values. In other words, it is a lot easier to see that a system is 90% of its maximum limit vs seeing the steering between 0 and 220 radian

5.

Title: Titles help give users context of the associated UI component

Split gauge design sketches.
Split gauge design sketches annotated.

Split gauge design sketch.

Annotations

Split Gauge Design

1.

Gauge design: The two gauges respectively communicate the confidence(left) and limit(right) progress to the driver

2.

Gauge color states: The limit and confidence gauge is split between 3 states(low, medium, and high) to communicate the limits and confidence progression to the driver. Each state is going to be color-coded to demonstrate the severity of the situation. Green and blue are neutral, yellow means caution, and red represents a critical warning

3.

Icons: Icons are used to easily identify each driving system

4.

Percentage values: The confidence and limit values are displayed as percentages to simplify conveying the gauge progression instead of showing torque values. In other words, it is a lot easier to see that a system is 90% of its maximum limit vs seeing the steering between 0 and 220 radian

5.

Title: Titles help give users context of the associated UI component

Design System


Created a design system consisting of a color scheme, UI component library, and a type scale and spacing system for design consistency and convenience when creating the high-fidelity design and UI components, improving design efficiency by more than 20 percent


After sketching and brainstorming solutions I started to work on the high-fidelity split gauge design. To start, I began creating the foundation of the design system which consisted of creating a typographic scale, the color scheme, and UI components like icons, and buttons. The components were designed according to the best practices of design systems like Material Design and The Google Design for Driving Guidelines. Creating a design system early on helps maintain visual cohesion and consistency, furthermore, it drastically improves design efficiency by providing reusable components which allows for a faster design revision process ultimately increasing productivity by approximately 20%.


Designing for Accessibility in Mind

When designing the UI, I made sure to make the UI components accessible. This included the following:

Design System


Created a design system consisting of a color scheme, UI component library, and a type scale and spacing system for design consistency and convenience when creating the high-fidelity design and UI components, improving design efficiency by more than 20 percent


After sketching and brainstorming solutions I started to work on the high-fidelity split gauge design. To start, I began creating the foundation of the design system which consisted of creating a typographic scale, the color scheme, and UI components like icons, and buttons. The components were designed according to the best practices of design systems like Material Design and The Google Design for Driving Guidelines. Creating a design system early on helps maintain visual cohesion and consistency, furthermore, it drastically improves design efficiency by providing reusable components which allows for a faster design revision process ultimately increasing productivity by approximately 20%.


Designing for Accessibility in Mind

When designing the UI, I made sure to make the UI components accessible. This included the following:

Design System


Created a design system consisting of a color scheme, UI component library, and a type scale and spacing system for design consistency and convenience when creating the high-fidelity design and UI components, improving design efficiency by more than 20 percent


After sketching and brainstorming solutions I started to work on the high-fidelity split gauge design. To start, I began creating the foundation of the design system which consisted of creating a typographic scale, the color scheme, and UI components like icons, and buttons. The components were designed according to the best practices of design systems like Material Design and The Google Design for Driving Guidelines. Creating a design system early on helps maintain visual cohesion and consistency, furthermore, it drastically improves design efficiency by providing reusable components which allows for a faster design revision process ultimately increasing productivity by approximately 20%.


Designing for Accessibility in Mind

When designing the UI, I made sure to make the UI components accessible. This included the following:

  • The design systems color scheme including color blind friendly alternative palettes.

    Color Scheme

    Effective color usage, with color-blind friendly palettes and contrast suited for day and night driving, ensures visibility and minimizes distractions.

  • Spacing system

    The design systems color scheme including color blind friendly alternative palettes.

    Spacing System

    Consistent layouts, and padding, enhance usability across varying car layout sizes.

  • The design system type scale based on Googles Android Driving Guidelines.

    The design system type scale based on Googles Android Driving Guidelines.

    Typography

    A clear typographic scale and sizes support readability, essential for quick information processing.

  • The design systems color scheme including color blind friendly alternative palettes.

    Color Scheme

    Effective color usage, with color-blind friendly palettes and contrast suited for day and night driving, ensures visibility and minimizes distractions.

  • Spacing system

    The design systems color scheme including color blind friendly alternative palettes.

    Spacing System

    Consistent layouts, and padding, enhance usability across varying car layout sizes.

  • The design system type scale based on Googles Android Driving Guidelines.

    The design system type scale based on Googles Android Driving Guidelines.

    Typography

    A clear typographic scale and sizes support readability, essential for quick information processing.

  • The design systems color scheme including color blind friendly alternative palettes.

    Color Scheme

    Effective color usage, with color-blind friendly palettes and contrast suited for day and night driving, ensures visibility and minimizes distractions.

  • Spacing system

    The design systems color scheme including color blind friendly alternative palettes.

    Spacing System

    Consistent layouts, and padding, enhance usability across varying car layout sizes.

  • The design system type scale based on Googles Android Driving Guidelines.

    The design system type scale based on Googles Android Driving Guidelines.

    Typography

    A clear typographic scale and sizes support readability, essential for quick information processing.

This design system also accounted for the following:

  • Sizing: Appropriately sized icons and touch targets ensure ease of interaction while driving


  • Audible Alert Callouts: Design voice alert callouts to minimize driver distraction ensuring the drivers maintain their eyes on the road as much as possible

This design system also accounted for the following:

  • Sizing: Appropriately sized icons and touch targets ensure ease of interaction while driving


  • Audible Alert Callouts: Design voice alert callouts to minimize driver distraction ensuring the drivers maintain their eyes on the road as much as possible

This design system also accounted for the following:

  • Sizing: Appropriately sized icons and touch targets ensure ease of interaction while driving


  • Audible Alert Callouts: Design voice alert callouts to minimize driver distraction ensuring the drivers maintain their eyes on the road as much as possible

High Fidelity Design


Refined the sketches to create over 40 polished high-fidelity user interface design components emphasizing accessibility and car infotainment UI best practices to gather user feedback and prepare the UI for the conceptual prototype

High Fidelity Design


Refined the sketches to create over 40 polished high-fidelity user interface design components emphasizing accessibility and car infotainment UI best practices to gather user feedback and prepare the UI for the conceptual prototype

High Fidelity Design


Refined the sketches to create over 40 polished high-fidelity user interface design components emphasizing accessibility and car infotainment UI best practices to gather user feedback and prepare the UI for the conceptual prototype

High fidelity design of the driving system components and the 4 different states.

High fidelity design of the driving system components and the 4 different states.

High fidelity design of the driving system components and the 4 different states.

High fidelity design of the driving system components and the 4 different states.

High fidelity design of the driving system components and the 4 different states.

High fidelity design of the driving system components and the 4 different states.

With the design system finished, I used the UI components to refine and polish the sketches into a high-fidelity visual representation of the split gauge design. The purpose of designing the high-fidelity design is to prepare the UI for the conceptual prototype and analyze the form and function of the design.


High-Fidelity Design Goals

When designing the high-fidelity design, I kept the following goals in mind.

  • Driving Safety: The driver’s main focus is on driving safely and the UI should reflect the UI driving safety standards


  • Minimizing Distraction: The UI must be simplified to prevent drivers from needing to take their eyes off the road and hands off the wheel


  • Simplicity and Efficiency: The interface should be straightforward, avoiding complex layouts, long text, and intricate actions


  • Contextual Relevance: Only show information that is immediately useful to the driver, avoiding any irrelevant or non-essential data


UI Designs

With these goals in mind, I designed the following 3 high-fidelity designs. Each design slightly varies from the other. The main difference between the three is the emphasis on either the icon or the gauges. The following explains the details of each design.

With the design system finished, I used the UI components to refine and polish the sketches into a high-fidelity visual representation of the split gauge design. The purpose of designing the high-fidelity design is to prepare the UI for the conceptual prototype and analyze the form and function of the design.


High-Fidelity Design Goals

When designing the high-fidelity design, I kept the following goals in mind.

  • Driving Safety: The driver’s main focus is on driving safely and the UI should reflect the UI driving safety standards


  • Minimizing Distraction: The UI must be simplified to prevent drivers from needing to take their eyes off the road and hands off the wheel


  • Simplicity and Efficiency: The interface should be straightforward, avoiding complex layouts, long text, and intricate actions


  • Contextual Relevance: Only show information that is immediately useful to the driver, avoiding any irrelevant or non-essential data


UI Designs

With these goals in mind, I designed the following 3 high-fidelity designs. Each design slightly varies from the other. The main difference between the three is the emphasis on either the icon or the gauges. The following explains the details of each design.

With the design system finished, I used the UI components to refine and polish the sketches into a high-fidelity visual representation of the split gauge design. The purpose of designing the high-fidelity design is to prepare the UI for the conceptual prototype and analyze the form and function of the design.


High-Fidelity Design Goals

When designing the high-fidelity design, I kept the following goals in mind.

  • Driving Safety: The driver’s main focus is on driving safely and the UI should reflect the UI driving safety standards


  • Minimizing Distraction: The UI must be simplified to prevent drivers from needing to take their eyes off the road and hands off the wheel


  • Simplicity and Efficiency: The interface should be straightforward, avoiding complex layouts, long text, and intricate actions


  • Contextual Relevance: Only show information that is immediately useful to the driver, avoiding any irrelevant or non-essential data


UI Designs

With these goals in mind, I designed the following 3 high-fidelity designs. Each design slightly varies from the other. The main difference between the three is the emphasis on either the icon or the gauges. The following explains the details of each design.

Design 1: Large split gauge design.

Design 1: Large split gauge design.

Design 1: Large split gauge design.

Design 1: Large split gauge design.

Design 1: Large split gauge design.

Design 1: Large split gauge design.

Design 1: Large Split Gauge Design

  1. The percentage values reflecting openpilot’s driving system limits


  2. The icon is used as a visual indicator to identify the driving system at a glance


  3. The gauges communicate the progress and status of the confidence(green gauge) and limit(blue gauge)


  4. The background helps improve contrast and allows the UI component to exist anywhere on the screen regardless of the content it is overlayed on top of

Design 1: Large Split Gauge Design

  1. The percentage values reflecting openpilot’s driving system limits


  2. The icon is used as a visual indicator to identify the driving system at a glance


  3. The gauges communicate the progress and status of the confidence(green gauge) and limit(blue gauge)


  4. The background helps improve contrast and allows the UI component to exist anywhere on the screen regardless of the content it is overlayed on top of

Design 1: Large Split Gauge Design

  1. The percentage values reflecting openpilot’s driving system limits


  2. The icon is used as a visual indicator to identify the driving system at a glance


  3. The gauges communicate the progress and status of the confidence(green gauge) and limit(blue gauge)


  4. The background helps improve contrast and allows the UI component to exist anywhere on the screen regardless of the content it is overlayed on top of

Design 2: Small split gauge design.

Design 2: Small split gauge design.

Design 2: Small split gauge design.

Design 2: Small split gauge design.

Design 2: Small split gauge design.

Design 2: Small split gauge design.

Design 2: Small Split Gauge Design

  1. Smaller Gauge: Same concept as design 1 with the exception that the gauge is less pronounced and the icon is bigger


  2. Progress number values: The numbers were removed to simplify the design

Design 2: Small Split Gauge Design

  1. Smaller Gauge: Same concept as design 1 with the exception that the gauge is less pronounced and the icon is bigger


  2. Progress number values: The numbers were removed to simplify the design

Design 2: Small Split Gauge Design

  1. Smaller Gauge: Same concept as design 1 with the exception that the gauge is less pronounced and the icon is bigger


  2. Progress number values: The numbers were removed to simplify the design

Design 3: Icon design.

Design 3: Icon design.

Design 3: Icon design.

Design 3: Icon design.

Design 3: Icon design.

Design 3: Icon design.

Design 3: Icon Design

  1. Icon emphasis: The design's main emphasis is the icons. The percentage number values and color communicate the driving limits and confidence states


  2. Animation states: Because the icons are the main emphasis, I decided to animate the transition between the three states of every system. For example, the drive monitor icon closes its eye the closer the attention percentage value reaches 0%. However, I will likely discard the concept of animating the icons because I feel it can be distracting.

Design 3: Icon Design

  1. Icon emphasis: The design's main emphasis is the icons. The percentage number values and color communicate the driving limits and confidence states


  2. Animation states: Because the icons are the main emphasis, I decided to animate the transition between the three states of every system. For example, the drive monitor icon closes its eye the closer the attention percentage value reaches 0%. However, I will likely discard the concept of animating the icons because I feel it can be distracting.

Design 3: Icon Design

  1. Icon emphasis: The design's main emphasis is the icons. The percentage number values and color communicate the driving limits and confidence states


  2. Animation states: Because the icons are the main emphasis, I decided to animate the transition between the three states of every system. For example, the drive monitor icon closes its eye the closer the attention percentage value reaches 0%. However, I will likely discard the concept of animating the icons because I feel it can be distracting.

Comma.ai Community Feedback

With the 3 designs finished, I wanted to gather user feedback, therefore I created a thread on the comma.ai Discord server and shared my designs with the community. I asked the members to vote for one of the 3 designs and share their thoughts. Approximately 7 members contributed useful feedback to the Discord thread and 4 people voted, most favoring Design 1 due to its balance of information.

Comma.ai Community Feedback

With the 3 designs finished, I wanted to gather user feedback, therefore I created a thread on the comma.ai Discord server and shared my designs with the community. I asked the members to vote for one of the 3 designs and share their thoughts. Approximately 7 members contributed useful feedback to the Discord thread and 4 people voted, most favoring Design 1 due to its balance of information.

Comma.ai Community Feedback

With the 3 designs finished, I wanted to gather user feedback, therefore I created a thread on the comma.ai Discord server and shared my designs with the community. I asked the members to vote for one of the 3 designs and share their thoughts. Approximately 7 members contributed useful feedback to the Discord thread and 4 people voted, most favoring Design 1 due to its balance of information.

You did a beautiful job with all of the concepts you made!

You did a beautiful job with all of the concepts you made!

You did a beautiful job with all of the concepts you made!

Beautiful concept!

Beautiful concept!

Beautiful concept!

They all look good

They all look good

They all look good

While most feedback was positive, I did get some interesting insights regarding the layout of the UI components that ended me changing the design.

While most feedback was positive, I did get some interesting insights regarding the layout of the UI components that ended me changing the design.

While most feedback was positive, I did get some interesting insights regarding the layout of the UI components that ended me changing the design.

All the icons aligned to the top together look very cluttered and would be overall hard to perceive. The text indicator used alongside the icons is too small to read

All the icons aligned to the top together look very cluttered and would be overall hard to perceive. The text indicator used alongside the icons is too small to read

All the icons aligned to the top together look very cluttered and would be overall hard to perceive. The text indicator used alongside the icons is too small to read

Issue: Gauge clusters are too cluttered and information is hard to perceive.

Issue: Gauge clusters are too cluttered and information is hard to perceive.

Issue: Gauge clusters are too cluttered and information is hard to perceive.

Old split gauge design.
Old split gauge design with annotations.

Old split gauge design.

Annotations

1.

Gauges are too cluttered

2.

Text information is too small to read

3.

The navigation toggle bar touch target is too small and hard to see

Old split gauge design.
Old split gauge design with annotations.

Old split gauge design.

Annotations

1.

Gauges are too cluttered

2.

Text information is too small to read

3.

The navigation toggle bar touch target is too small and hard to see

Old split gauge design.
Old split gauge design with annotations.

Old split gauge design.

Annotations

1.

Gauges are too cluttered

2.

Text information is too small to read

3.

The navigation toggle bar touch target is too small and hard to see

The feedback from Atharv was correct, these details were overlooked because I was too concerned about trying to fit all of the main UI components at the top of the screen instead of being carefully placed around the screen. To fit all 5 components horizontally in a small 1024 square frame, I had to compromise the icon, gauge, and text size, making it harder to perceive key information.

The feedback from Atharv was correct, these details were overlooked because I was too concerned about trying to fit all of the main UI components at the top of the screen instead of being carefully placed around the screen. To fit all 5 components horizontally in a small 1024 square frame, I had to compromise the icon, gauge, and text size, making it harder to perceive key information.

The feedback from Atharv was correct, these details were overlooked because I was too concerned about trying to fit all of the main UI components at the top of the screen instead of being carefully placed around the screen. To fit all 5 components horizontally in a small 1024 square frame, I had to compromise the icon, gauge, and text size, making it harder to perceive key information.

Solution: Re-structure the UI and Increase the size of the gauge clusters.

Solution: Re-structure the UI and Increase the size of the gauge clusters.

Solution: Re-structure the UI and Increase the size of the gauge clusters.

Improved split gauge design according to user feedback.
Improved split gauge design according to user feedback annotated.

Improved split gauge design according to user feedback.

Annotations

1.

Restructured UI components to reduce UI clutter

2.

Increased the size of the gauges by 41.56% improving text readability and clarity

3.

Used the smaller gauge design to emphasize the icon and create more balance

4.

Changed the navigation toggle bar to a button to increase the touch target size to simplify interaction

Improved split gauge design according to user feedback.
Improved split gauge design according to user feedback annotated.

Improved split gauge design according to user feedback.

Annotations

1.

Restructured UI components to reduce UI clutter

2.

Increased the size of the gauges by 41.56% improving text readability and clarity

3.

Used the smaller gauge design to emphasize the icon and create more balance

4.

Changed the navigation toggle bar to a button to increase the touch target size to simplify interaction

Improved split gauge design according to user feedback.
Improved split gauge design according to user feedback annotated.

Improved split gauge design according to user feedback.

Annotations

1.

Restructured UI components to reduce UI clutter

2.

Increased the size of the gauges by 41.56% improving text readability and clarity

3.

Used the smaller gauge design to emphasize the icon and create more balance

4.

Changed the navigation toggle bar to a button to increase the touch target size to simplify interaction

To solve the issue I moved the drive monitor icon down to the bottom left of the screen and kept the main components at the top for easy access. This allowed me to increase the size of the gauges to approximately 41.56% thus increasing the size of the icons and text making it easier to see.

To solve the issue I moved the drive monitor icon down to the bottom left of the screen and kept the main components at the top for easy access. This allowed me to increase the size of the gauges to approximately 41.56% thus increasing the size of the icons and text making it easier to see.

To solve the issue I moved the drive monitor icon down to the bottom left of the screen and kept the main components at the top for easy access. This allowed me to increase the size of the gauges to approximately 41.56% thus increasing the size of the icons and text making it easier to see.

Prototyping


Developed 5 conceptual prototypes to showcase the functionality of the 3 driving systems to convey the driving confidence and limits of openpilot


With the high-fidelity designs finished I decided to work on the conceptual prototype. One of the project's requirements was to showcase the functionality of the UI design. The conceptual prototype helped me communicate my designs by showcasing their functionality in a simulated environment. I created 5 examples showcasing various edge cases on how openpilot would communicate its status to the user. The audio alerts used in the concepts were made by comma.ai community member Jens who was gracious enough to let me use them.

Prototyping


Developed 5 conceptual prototypes to showcase the functionality of the 3 driving systems to convey the driving confidence and limits of openpilot


With the high-fidelity designs finished I decided to work on the conceptual prototype. One of the project's requirements was to showcase the functionality of the UI design. The conceptual prototype helped me communicate my designs by showcasing their functionality in a simulated environment. I created 5 examples showcasing various edge cases on how openpilot would communicate its status to the user. The audio alerts used in the concepts were made by comma.ai community member Jens who was gracious enough to let me use them.

Prototyping


Developed 5 conceptual prototypes to showcase the functionality of the 3 driving systems to convey the driving confidence and limits of openpilot


With the high-fidelity designs finished I decided to work on the conceptual prototype. One of the project's requirements was to showcase the functionality of the UI design. The conceptual prototype helped me communicate my designs by showcasing their functionality in a simulated environment. I created 5 examples showcasing various edge cases on how openpilot would communicate its status to the user. The audio alerts used in the concepts were made by comma.ai community member Jens who was gracious enough to let me use them.

Legend of the split gauge design in full screen.

Legend of the split gauge design in full screen.

Legend of the split gauge design in full screen.

Legend of the split gauge design in full screen.

Legend of the split gauge design in full screen.

Legend of the split gauge design in full screen.

Legend

  1. Openpilot: Button to enable/disable openpilot


  2. Drive Monitor Gauge: Keeps track if the driver is paying attention


  3. Speedometer: Keeps track of the current speed and informs the driver of openpilot’s max speed and the speed limit


  4. Steering Gauge: Communicates openpilot’s steering confidence(green gauge) and limits(blue gauge) state


  5. Acceleration Gauge: Communicates openpilot’s acceleration confidence(green gauge) and limits(blue gauge) state


  6. Braking Gauge: Communicates openpilot’s braking confidence(green gauge) and limits(blue gauge) state


  7. Trajectory Path: Shows openpilot’s intended trajectory path


  8. Openpilot Status Border: Is green if openpilot is enabled, and white if disabled. The border also reflects the status of the steering, braking, and acceleration systems

Legend

  1. Openpilot: Button to enable/disable openpilot


  2. Drive Monitor Gauge: Keeps track if the driver is paying attention


  3. Speedometer: Keeps track of the current speed and informs the driver of openpilot’s max speed and the speed limit


  4. Steering Gauge: Communicates openpilot’s steering confidence(green gauge) and limits(blue gauge) state


  5. Acceleration Gauge: Communicates openpilot’s acceleration confidence(green gauge) and limits(blue gauge) state


  6. Braking Gauge: Communicates openpilot’s braking confidence(green gauge) and limits(blue gauge) state


  7. Trajectory Path: Shows openpilot’s intended trajectory path


  8. Openpilot Status Border: Is green if openpilot is enabled, and white if disabled. The border also reflects the status of the steering, braking, and acceleration systems

Legend

  1. Openpilot: Button to enable/disable openpilot


  2. Drive Monitor Gauge: Keeps track if the driver is paying attention


  3. Speedometer: Keeps track of the current speed and informs the driver of openpilot’s max speed and the speed limit


  4. Steering Gauge: Communicates openpilot’s steering confidence(green gauge) and limits(blue gauge) state


  5. Acceleration Gauge: Communicates openpilot’s acceleration confidence(green gauge) and limits(blue gauge) state


  6. Braking Gauge: Communicates openpilot’s braking confidence(green gauge) and limits(blue gauge) state


  7. Trajectory Path: Shows openpilot’s intended trajectory path


  8. Openpilot Status Border: Is green if openpilot is enabled, and white if disabled. The border also reflects the status of the steering, braking, and acceleration systems

Conceptual Prototypes

Conceptual Prototypes

Conceptual Prototypes

  • Openpilot’s braking conceptual prototype example.

    Openpilot’s braking conceptual prototype example.

    Braking

    At timestamp(0:02–0:04), openpilot's confidence decreases upon detecting a pedestrian crossing sign. As the car approaches the crosswalk, the confidence level decreases even further, signaling uncertainty to the driver about whether braking may be required at the intersection. At timestamp 0:06–0:07, upon observing a pedestrian attempting to cross, the confidence level drops to 20%, triggering an audible alert to warn the driver to take control, as openpilot may not respond effectively. By timestamp 0:07–0:09, openpilot engages the brakes, as indicated by the blue gauge limit. However, the driver intervenes, disengaging openpilot.

  • Openpilot’s steering conceptual prototype example.

    Openpilot’s steering conceptual prototype example.

    Steering

    At timestamp(0:00–0:02), as the car approaches the turn, openpilot's confidence levels decrease while the steering limit increases as the system applies more steering torque. By timestamp(0:03–0:05), openpilot's confidence and limits turn yellow, warning the driver that intervention may be required. Once the car successfully navigates the turn, openpilot's steering confidence and limits return to normal.

  • Openpilot’s acceleration conceptual prototype example.

    Openpilot’s acceleration conceptual prototype example.

    Acceleration

    Timestamp(0:00-0:03) shows how openpilot is somewhat confident accelerating at the current pace, however as the car progresses up the road, the confidence level decreases, and the acceleration limit increases. Openpilot is communicating to the driver that as the vehicle progresses up the hill it has to accelerate closer to its limits which decreases its confidence to accelerate at the pace of the surrounding cars.

  • Openpilot’s braking conceptual prototype example.

    Openpilot’s braking conceptual prototype example.

    Braking

    At timestamp(0:02–0:04), openpilot's confidence decreases upon detecting a pedestrian crossing sign. As the car approaches the crosswalk, the confidence level decreases even further, signaling uncertainty to the driver about whether braking may be required at the intersection. At timestamp 0:06–0:07, upon observing a pedestrian attempting to cross, the confidence level drops to 20%, triggering an audible alert to warn the driver to take control, as openpilot may not respond effectively. By timestamp 0:07–0:09, openpilot engages the brakes, as indicated by the blue gauge limit. However, the driver intervenes, disengaging openpilot.

  • Openpilot’s steering conceptual prototype example.

    Openpilot’s steering conceptual prototype example.

    Steering

    At timestamp(0:00–0:02), as the car approaches the turn, openpilot's confidence levels decrease while the steering limit increases as the system applies more steering torque. By timestamp(0:03–0:05), openpilot's confidence and limits turn yellow, warning the driver that intervention may be required. Once the car successfully navigates the turn, openpilot's steering confidence and limits return to normal.

  • Openpilot’s acceleration conceptual prototype example.

    Openpilot’s acceleration conceptual prototype example.

    Acceleration

    Timestamp(0:00-0:03) shows how openpilot is somewhat confident accelerating at the current pace, however as the car progresses up the road, the confidence level decreases, and the acceleration limit increases. Openpilot is communicating to the driver that as the vehicle progresses up the hill it has to accelerate closer to its limits which decreases its confidence to accelerate at the pace of the surrounding cars.

  • Openpilot’s braking conceptual prototype example.

    Openpilot’s braking conceptual prototype example.

    Braking

    At timestamp(0:02–0:04), openpilot's confidence decreases upon detecting a pedestrian crossing sign. As the car approaches the crosswalk, the confidence level decreases even further, signaling uncertainty to the driver about whether braking may be required at the intersection. At timestamp 0:06–0:07, upon observing a pedestrian attempting to cross, the confidence level drops to 20%, triggering an audible alert to warn the driver to take control, as openpilot may not respond effectively. By timestamp 0:07–0:09, openpilot engages the brakes, as indicated by the blue gauge limit. However, the driver intervenes, disengaging openpilot.

  • Openpilot’s steering conceptual prototype example.

    Openpilot’s steering conceptual prototype example.

    Steering

    At timestamp(0:00–0:02), as the car approaches the turn, openpilot's confidence levels decrease while the steering limit increases as the system applies more steering torque. By timestamp(0:03–0:05), openpilot's confidence and limits turn yellow, warning the driver that intervention may be required. Once the car successfully navigates the turn, openpilot's steering confidence and limits return to normal.

  • Openpilot’s acceleration conceptual prototype example.

    Openpilot’s acceleration conceptual prototype example.

    Acceleration

    Timestamp(0:00-0:03) shows how openpilot is somewhat confident accelerating at the current pace, however as the car progresses up the road, the confidence level decreases, and the acceleration limit increases. Openpilot is communicating to the driver that as the vehicle progresses up the hill it has to accelerate closer to its limits which decreases its confidence to accelerate at the pace of the surrounding cars.

Alert Warning Callouts

The last two concepts explore alert callouts so the driver does not have to look at the comma 3X device minimizing driver distraction and ensuring the drivers maintain their eyes on the road as much as possible. Having the option for alert callouts can help drivers who have visual impairments such as being color blind which might make it hard to perceive information.

Alert Warning Callouts

The last two concepts explore alert callouts so the driver does not have to look at the comma 3X device minimizing driver distraction and ensuring the drivers maintain their eyes on the road as much as possible. Having the option for alert callouts can help drivers who have visual impairments such as being color blind which might make it hard to perceive information.

Alert Warning Callouts

The last two concepts explore alert callouts so the driver does not have to look at the comma 3X device minimizing driver distraction and ensuring the drivers maintain their eyes on the road as much as possible. Having the option for alert callouts can help drivers who have visual impairments such as being color blind which might make it hard to perceive information.

  • Openpilot’s disengagement alert callout conceptual prototype example.

    Openpilot’s disengagement alert callout conceptual prototype example.

    Disengaging and Engaging openpilot Alert Callout

    Timestamp(0:02-0:05) shows the driver disengaging openpilot which triggers the disengaged audio alert followed by the disengaged alert callout. When the driver engages openpilot, the system instantly communicates the action thus keeping the user informed without staring at the UI.

  • Openpilot’s brake alert callout conceptual prototype example.

    Openpilot’s brake alert callout conceptual prototype example.

    Braking Alert Callout

    The timestamp (0:04-0:07) demonstrates a braking alert callout triggered by openpilot’s confidence reaching below 20%. The alert callout is short and to the point, ensuring the driver is given immediately useful information and avoiding irrelevant or non-essential data in the event the driver needs to intervene.

  • Openpilot’s disengagement alert callout conceptual prototype example.

    Openpilot’s disengagement alert callout conceptual prototype example.

    Disengaging and Engaging openpilot Alert Callout

    Timestamp(0:02-0:05) shows the driver disengaging openpilot which triggers the disengaged audio alert followed by the disengaged alert callout. When the driver engages openpilot, the system instantly communicates the action thus keeping the user informed without staring at the UI.

  • Openpilot’s brake alert callout conceptual prototype example.

    Openpilot’s brake alert callout conceptual prototype example.

    Braking Alert Callout

    The timestamp (0:04-0:07) demonstrates a braking alert callout triggered by openpilot’s confidence reaching below 20%. The alert callout is short and to the point, ensuring the driver is given immediately useful information and avoiding irrelevant or non-essential data in the event the driver needs to intervene.

  • Openpilot’s disengagement alert callout conceptual prototype example.

    Openpilot’s disengagement alert callout conceptual prototype example.

    Disengaging and Engaging openpilot Alert Callout

    Timestamp(0:02-0:05) shows the driver disengaging openpilot which triggers the disengaged audio alert followed by the disengaged alert callout. When the driver engages openpilot, the system instantly communicates the action thus keeping the user informed without staring at the UI.

  • Openpilot’s brake alert callout conceptual prototype example.

    Openpilot’s brake alert callout conceptual prototype example.

    Braking Alert Callout

    The timestamp (0:04-0:07) demonstrates a braking alert callout triggered by openpilot’s confidence reaching below 20%. The alert callout is short and to the point, ensuring the driver is given immediately useful information and avoiding irrelevant or non-essential data in the event the driver needs to intervene.

Prototyping Challenges

Because openpilot UI is technical and only works within the context of using the comma 3X; using rudimentary tools like Figma for prototyping was off the table, therefore, I had to use Adobe After Effects to create a conceptual prototype to simulate the functionality of the steering, acceleration, and braking UI driving systems.

Prototyping Challenges

Because openpilot UI is technical and only works within the context of using the comma 3X; using rudimentary tools like Figma for prototyping was off the table, therefore, I had to use Adobe After Effects to create a conceptual prototype to simulate the functionality of the steering, acceleration, and braking UI driving systems.

Prototyping Challenges

Because openpilot UI is technical and only works within the context of using the comma 3X; using rudimentary tools like Figma for prototyping was off the table, therefore, I had to use Adobe After Effects to create a conceptual prototype to simulate the functionality of the steering, acceleration, and braking UI driving systems.

Layers of Abstraction: Simplifying the design

Layers of Abstraction: Simplifying the design

Layers of Abstraction: Simplifying the design

Legend of the split gauge design in full screen.

The top image is the high abstraction example which has the least information. The bottom image is the very low abstraction example which has more information.

Legend of the split gauge design in full screen.

The top image is the high abstraction example which has the least information. The bottom image is the very low abstraction example which has more information.

Legend of the split gauge design in full screen.

The top image is the high abstraction example which has the least information. The bottom image is the very low abstraction example which has more information.

The primary purpose of the main split gauge design is to convey specific driving information according to the requirements of the design challenge however, despite the redesign, the abundance of details clutters the design, making it overly complex. Although the design challenge requires the UI to communicate both the confidence level and the limits of openpilot, I began to question whether presenting all this information is truly necessary. If openpilot’s confidence inherently reflects the system’s limitations, is it essential to display both? Perhaps, as community member Jens suggested, drivers may not be particularly concerned with the intricate details of openpilot’s driving systems, therefore making it the default option is overkill.

The primary purpose of the main split gauge design is to convey specific driving information according to the requirements of the design challenge however, despite the redesign, the abundance of details clutters the design, making it overly complex. Although the design challenge requires the UI to communicate both the confidence level and the limits of openpilot, I began to question whether presenting all this information is truly necessary. If openpilot’s confidence inherently reflects the system’s limitations, is it essential to display both? Perhaps, as community member Jens suggested, drivers may not be particularly concerned with the intricate details of openpilot’s driving systems, therefore making it the default option is overkill.

The primary purpose of the main split gauge design is to convey specific driving information according to the requirements of the design challenge however, despite the redesign, the abundance of details clutters the design, making it overly complex. Although the design challenge requires the UI to communicate both the confidence level and the limits of openpilot, I began to question whether presenting all this information is truly necessary. If openpilot’s confidence inherently reflects the system’s limitations, is it essential to display both? Perhaps, as community member Jens suggested, drivers may not be particularly concerned with the intricate details of openpilot’s driving systems, therefore making it the default option is overkill.

Since Comma has removed the "devkit" phrase from their naming since comma 3x, they are aiming towards a product that can be used on an end-to-end basis. They want it to be like a smartphone, where you can immediately start using it after taking it out of the box with minimal setup… it essentially means that it isn't overwhelming to process all the unessential data (unless they require it)

Since Comma has removed the "devkit" phrase from their naming since comma 3x, they are aiming towards a product that can be used on an end-to-end basis. They want it to be like a smartphone, where you can immediately start using it after taking it out of the box with minimal setup… it essentially means that it isn't overwhelming to process all the unessential data (unless they require it)

Since Comma has removed the "devkit" phrase from their naming since comma 3x, they are aiming towards a product that can be used on an end-to-end basis. They want it to be like a smartphone, where you can immediately start using it after taking it out of the box with minimal setup… it essentially means that it isn't overwhelming to process all the unessential data (unless they require it)

Maybe drivers are ok with knowing the bare minimum or users may want more information to be better informed to disengage openpilot if necessary. Nevertheless, it's worth exploring the different levels of UI abstractions to figure out what's best for the end user.

Maybe drivers are ok with knowing the bare minimum or users may want more information to be better informed to disengage openpilot if necessary. Nevertheless, it's worth exploring the different levels of UI abstractions to figure out what's best for the end user.

Maybe drivers are ok with knowing the bare minimum or users may want more information to be better informed to disengage openpilot if necessary. Nevertheless, it's worth exploring the different levels of UI abstractions to figure out what's best for the end user.

 Tesla FSD Autosteer feature.

Timestamp 2:16 shows Tesla FSD Autosteer feature.

Tesla Autosteer Icon

Observing Tesla's FSD UI provides a real-world example of simple UI design. Tesla FSD uses a minimalistic approach to communicating its “Autosteer” feature via a steering wheel icon. The steering wheel icon animates left or right based on the steering angle and changes color based on the system's state.

 Tesla FSD Autosteer feature.

Timestamp 2:16 shows Tesla FSD Autosteer feature.

Tesla Autosteer Icon

Observing Tesla's FSD UI provides a real-world example of simple UI design. Tesla FSD uses a minimalistic approach to communicating its “Autosteer” feature via a steering wheel icon. The steering wheel icon animates left or right based on the steering angle and changes color based on the system's state.

 Tesla FSD Autosteer feature.

Timestamp 2:16 shows Tesla FSD Autosteer feature.

Tesla Autosteer Icon

Observing Tesla's FSD UI provides a real-world example of simple UI design. Tesla FSD uses a minimalistic approach to communicating its “Autosteer” feature via a steering wheel icon. The steering wheel icon animates left or right based on the steering angle and changes color based on the system's state.

The following are examples of the different layers of abstraction of openpilot’s UI indicators labeled accordingly from high to very low.

The following are examples of the different layers of abstraction of openpilot’s UI indicators labeled accordingly from high to very low.

The following are examples of the different layers of abstraction of openpilot’s UI indicators labeled accordingly from high to very low.

Levels of abstraction highest to lowest starting from top to bottom.

Levels of abstraction highest to lowest starting from top to bottom.

Levels of abstraction highest to lowest starting from top to bottom.

Levels of abstraction highest to lowest starting from top to bottom.

Levels of abstraction highest to lowest starting from top to bottom.

Levels of abstraction highest to lowest starting from top to bottom.

Levels of abstractions(high: less information, low: more information )


  • High: The driving UI indicators are icons that change color based on openpilot's confidence and limits. This is the simplest gauge


  • Medium: The driving UI indicator has an icon and uses a gauge to communicate OP's confidence and proximity to failure


  • Low: The driving UI indicator has an icon and uses a gauge and percentage value to communicate OP's confidence


  • Very Low: The driving UI indicator has an icon, two separate gauges, and number percentage values, one for confidence and another for the limit. This is the most detailed gauge

Levels of abstractions(high: less information, low: more information )


  • High: The driving UI indicators are icons that change color based on openpilot's confidence and limits. This is the simplest gauge


  • Medium: The driving UI indicator has an icon and uses a gauge to communicate OP's confidence and proximity to failure


  • Low: The driving UI indicator has an icon and uses a gauge and percentage value to communicate OP's confidence


  • Very Low: The driving UI indicator has an icon, two separate gauges, and number percentage values, one for confidence and another for the limit. This is the most detailed gauge

Levels of abstractions(high: less information, low: more information )


  • High: The driving UI indicators are icons that change color based on openpilot's confidence and limits. This is the simplest gauge


  • Medium: The driving UI indicator has an icon and uses a gauge to communicate OP's confidence and proximity to failure


  • Low: The driving UI indicator has an icon and uses a gauge and percentage value to communicate OP's confidence


  • Very Low: The driving UI indicator has an icon, two separate gauges, and number percentage values, one for confidence and another for the limit. This is the most detailed gauge

our different examples of the different levels of abstractions with navigation enabled.

Four different examples of the different levels of abstractions with navigation enabled.

our different examples of the different levels of abstractions with navigation enabled.

Four different examples of the different levels of abstractions with navigation enabled.

our different examples of the different levels of abstractions with navigation enabled.

Four different examples of the different levels of abstractions with navigation enabled.

Given the options, the driver can select to have more or less information. As for the default design, I lean towards the “Medium” level design because it provides a balance of information without being too overwhelming. However, to know whether or not a design is effective, I would need to conduct a usability test.

Given the options, the driver can select to have more or less information. As for the default design, I lean towards the “Medium” level design because it provides a balance of information without being too overwhelming. However, to know whether or not a design is effective, I would need to conduct a usability test.

Given the options, the driver can select to have more or less information. As for the default design, I lean towards the “Medium” level design because it provides a balance of information without being too overwhelming. However, to know whether or not a design is effective, I would need to conduct a usability test.

Final Design: Medium fidelity design, a balance of information.

Final Design: Medium fidelity design, a balance of information.

Final Design: Medium fidelity design, a balance of information.

Medium fidelity design.

Medium fidelity design.

Medium fidelity design.

Medium fidelity design.

Medium fidelity design.

Medium fidelity design.

Given the options, the driver can select to have more or less information. As for the default design, I lean towards the “Medium” level design because it provides a balance of information without being too overwhelming. However, to know whether or not a design is effective, I would need to conduct a usability test.

Given the options, the driver can select to have more or less information. As for the default design, I lean towards the “Medium” level design because it provides a balance of information without being too overwhelming. However, to know whether or not a design is effective, I would need to conduct a usability test.

Given the options, the driver can select to have more or less information. As for the default design, I lean towards the “Medium” level design because it provides a balance of information without being too overwhelming. However, to know whether or not a design is effective, I would need to conduct a usability test.

Next Steps


The next steps of this project include the following:


  1. Qt UI Build: Build a technical prototype of openpilot’s new UI redesign on the comma 3X device using the Qt application development framework and make the build available for testing


  2. Recruiting: Recruit at least 8 targeted users for the usability test


  3. In-Person Usability Test: Conduct the usability test and gather user feedback and insights


  4. Refine: Improve the design according to user feedback

Next Steps


The next steps of this project include the following:


  1. Qt UI Build: Build a technical prototype of openpilot’s new UI redesign on the comma 3X device using the Qt application development framework and make the build available for testing


  2. Recruiting: Recruit at least 8 targeted users for the usability test


  3. In-Person Usability Test: Conduct the usability test and gather user feedback and insights


  4. Refine: Improve the design according to user feedback

Next Steps


The next steps of this project include the following:


  1. Qt UI Build: Build a technical prototype of openpilot’s new UI redesign on the comma 3X device using the Qt application development framework and make the build available for testing


  2. Recruiting: Recruit at least 8 targeted users for the usability test


  3. In-Person Usability Test: Conduct the usability test and gather user feedback and insights


  4. Refine: Improve the design according to user feedback

Qt UI Development & Integration workflow.

Qt UI Development & Integration workflow.

Qt UI Development & Integration workflow.

Qt UI Development & Integration workflow.

Qt UI Development & Integration workflow.

Qt UI Development & Integration workflow.

Technical Challenges

While I would enjoy conducting a usability test with the targeted demographic, currently it is not possible because the UI would need to be built using the Qt development framework requiring C++ programming, which is beyond my abilities. It is worth noting that, I wouldn’t mind teaming up with a developer from the openpilot community to develop the UI redesign or maybe one day give it a shot myself, until then testing the UI redesign is currently not possible.

Technical Challenges

While I would enjoy conducting a usability test with the targeted demographic, currently it is not possible because the UI would need to be built using the Qt development framework requiring C++ programming, which is beyond my abilities. It is worth noting that, I wouldn’t mind teaming up with a developer from the openpilot community to develop the UI redesign or maybe one day give it a shot myself, until then testing the UI redesign is currently not possible.

Technical Challenges

While I would enjoy conducting a usability test with the targeted demographic, currently it is not possible because the UI would need to be built using the Qt development framework requiring C++ programming, which is beyond my abilities. It is worth noting that, I wouldn’t mind teaming up with a developer from the openpilot community to develop the UI redesign or maybe one day give it a shot myself, until then testing the UI redesign is currently not possible.

Conclusion

This project demonstrates my design process to improve the user interface for openpilot’s autonomous driving systems, balancing technical requirements with user-centered principles. By leveraging secondary research, community feedback, and best practices in infotainment design, I developed a set of high-fidelity UI designs that prioritize driving safety, minimize distractions, and maintain simplicity. The three design variations provided flexibility for testing different levels of information detail, addressing the diverse needs of drivers.


Through prototyping, I explored how the UI communicates critical information such as steering, acceleration, and braking confidence and limits to the driver. The conceptual prototypes illustrated realistic edge cases, ensuring the designs effectively addressed diverse driving scenarios. Challenges, such as the limitations of prototyping tools and the technical complexity of openpilot’s UI, were overcome through creative solutions like using Adobe After Effects for prototyping.


The user feedback adjustments, such as restructuring and resizing the gauge clusters for improved clarity, demonstrate the importance of adaptability in the design process. Additionally, adding auditory alert callouts shows a commitment to improving accessibility and reducing driver distraction.


Moving forward, the next steps involve building a functional prototype using the Qt framework, conducting usability tests with targeted users, and refining the design according to user insights. While technical challenges currently limit the scope of usability testing, this case study lays a strong foundation for future collaboration and development, ultimately contributing to a safer and more chill autonomous driving experience.

Conclusion

This project demonstrates my design process to improve the user interface for openpilot’s autonomous driving systems, balancing technical requirements with user-centered principles. By leveraging secondary research, community feedback, and best practices in infotainment design, I developed a set of high-fidelity UI designs that prioritize driving safety, minimize distractions, and maintain simplicity. The three design variations provided flexibility for testing different levels of information detail, addressing the diverse needs of drivers.


Through prototyping, I explored how the UI communicates critical information such as steering, acceleration, and braking confidence and limits to the driver. The conceptual prototypes illustrated realistic edge cases, ensuring the designs effectively addressed diverse driving scenarios. Challenges, such as the limitations of prototyping tools and the technical complexity of openpilot’s UI, were overcome through creative solutions like using Adobe After Effects for prototyping.


The user feedback adjustments, such as restructuring and resizing the gauge clusters for improved clarity, demonstrate the importance of adaptability in the design process. Additionally, adding auditory alert callouts shows a commitment to improving accessibility and reducing driver distraction.


Moving forward, the next steps involve building a functional prototype using the Qt framework, conducting usability tests with targeted users, and refining the design according to user insights. While technical challenges currently limit the scope of usability testing, this case study lays a strong foundation for future collaboration and development, ultimately contributing to a safer and more chill autonomous driving experience.

Conclusion

This project demonstrates my design process to improve the user interface for openpilot’s autonomous driving systems, balancing technical requirements with user-centered principles. By leveraging secondary research, community feedback, and best practices in infotainment design, I developed a set of high-fidelity UI designs that prioritize driving safety, minimize distractions, and maintain simplicity. The three design variations provided flexibility for testing different levels of information detail, addressing the diverse needs of drivers.


Through prototyping, I explored how the UI communicates critical information such as steering, acceleration, and braking confidence and limits to the driver. The conceptual prototypes illustrated realistic edge cases, ensuring the designs effectively addressed diverse driving scenarios. Challenges, such as the limitations of prototyping tools and the technical complexity of openpilot’s UI, were overcome through creative solutions like using Adobe After Effects for prototyping.


The user feedback adjustments, such as restructuring and resizing the gauge clusters for improved clarity, demonstrate the importance of adaptability in the design process. Additionally, adding auditory alert callouts shows a commitment to improving accessibility and reducing driver distraction.


Moving forward, the next steps involve building a functional prototype using the Qt framework, conducting usability tests with targeted users, and refining the design according to user insights. While technical challenges currently limit the scope of usability testing, this case study lays a strong foundation for future collaboration and development, ultimately contributing to a safer and more chill autonomous driving experience.