Envisioning the UI for automated driving programming

This case study covers the design phase of a two-part project, informed by prior research into automated driving programming.

Idea Generation

Building on insights from the automated driving research phase, we mapped key user pain points and opportunities, defined core use cases, and generated early concepts. These ideas were clustered, prioritised, and refined with stakeholders to shape a clear design direction.


Wireframes & User Stories

Early concepts were translated into wireframes and discussed in a cross-functional workshop to shortlist core IDE capabilities and define detailed user stories. This process helped align the team on scope and crystallise a shared vision for a complex, end-to-end system.


Design Concept

We envisioned a single, integrated platform supporting all stages of automated driving development—from Setup to Package—while remaining flexible enough to accommodate external plugins and interface with diverse hardware.

Design Language

The interface was designed to feel futuristic, reliable, and frictionless, reflecting the cutting-edge nature of the domain. A dark theme with deep blues and greys, accented by saturated highlights, reduced visual clutter while supporting focus. Flexible interactions and clear hierarchy enabled efficient use by both novice and expert users.

Use Case, Workflow & Ecosystem Overview

We envisioned a single, integrated platform supporting all stages of automated driving development—from Setup to Package—while remaining flexible enough to accommodate external plugins and interface with diverse hardware.

Beyond the IDE itself, we envisioned a broader ecosystem—including an app store, documentation, support, and maintenance—designed to support collaboration between programmers and OEMs while enabling a differentiated business offering.


Core Functions

Flexible in nature, the interface allows users to work across multiple functions simultaneously. Built-in safeguards ensure necessary safety standards are always met.

Setup: Parameters such as sensor positions, sensor ranges, and network architecture can be configured or validated before development begins.

Code: The editor supports both inline and block programming, while a customisable data visualiser enables more efficient testing. Real-time warnings flag non-compliance with coding guidelines and industry standards.

Simulate: For system-level testing, users can run programs across predefined scenarios and view vehicle states and data such as speed. A detailed report is generated at the end, making troubleshooting more efficient.

Document: An editable, auto-generated template supports documentation of workflows, ideas, and updates. The tool surfaces recently recorded screenshots and video clips with annotations.

Package: Security checks, export options, device transfers, and sharing capabilities support successful handoff and collaboration.


Concept Validation

A high-fidelity prototype was built to evaluate the concept with automated driving programmers across different roles, including participants from the initial research phase. Feedback was reviewed with stakeholders and used to refine interactions, scope, and feature prioritisation.

“I would like it if AD programming does become simplified, and this is a small step in that direction.”

By bringing development workflows, tools, and communities into a single platform, the concept outlines a more integrated and streamlined experience for automated driving programmers.


Outcome & Learnings

The work aligned stakeholders around a unified vision for automated driving development and clarified how an integrated, AD-specific IDE could support the full lifecycle—from setup and coding through simulation, documentation, and packaging. It reinforced the value of bringing coding, simulation, and validation into a single environment to reduce fragmentation and improve developer efficiency.