User interface design for automated driving programming (Design)

Idea Generation

The analysis of the research helped us get a clearer picture of the entire AD process. Using this process map, use cases, and top findings we were able to start generating ideas which were then clustered, filtered and discussed with stakeholders and developers to further refine.

Wireframes & User Stories

Once initial ideas were wireframed, we designed a core team workshop to shortlist key IDE functions and form detailed user stories. The design concept for this complex system was then borne and visualized.

Design Concept

A comprehensive and robust single platform that supports all stages of the development process from “Setup” to “Package”, yet flexible enough to accommodate external plug-ins and allow interfaces to different hardware.

Design Language

A clean and sleek visual experience was designed to reflect a futuristic and cutting-edge environment that feels reliable and frictionless. The dark theme uses mainly deep blues and greys with accents of saturated colors to remain clutter-free. Flexible and seamless interactions provide an intuitive and well-designed experience to all types of users.

Use Case, Workflow & Ecosystem Overview

We highlighted a certain use case which showed the steps in the workflow for a ‘function developer’.  This helped us further shape the scope by showcasing how a particular user could interact with the system and the detailed flow of events.

A complete ecosystem was envisioned – starting from an app store to help, support and maintenance. This holistic approach would help the programmers and OEMs in a more comprehensive manner as well as create a unique business offering.

Main Functions

Flexible in nature, the interface gives users the ability to work with multiple functionalities simultaneously while ensuring that necessary safety standards are always in check.

Setup: Parameters such as sensor positions, sensor ranges, Network Architecture, etc. can be set up or checked before starting to code a function.

Code: The coding editor allows both inline and block programming and a customizable data visualizer helps test concepts more efficiently. Warnings about non-compliance with coding guidelines and industry standards ensure safety is never compromised.

Simulate: For system level testing users can simulate their program in one of the many prescribed test scenarios. They can also view vehicle states and data such as speed, etc. A detailed report of the test is generated at the end, making trouble shooting effortless.

Document: An editable auto-generated template helps thoroughly document workflow, ideas and any updates made through the development process. The tool suggests recently recorded screen shots and video clips along with annotations.

Package: To help successfully complete the development task, the packaging function has provisions for security checks, exporting to different formats, transferring to target devices, and sharing with team members.

User Testing

A working prototype was built in order to test the concept and features with more accuracy. This was tested with different types of programmers part of the overall development process (including ones that were initially interviewed). Many features were appreciated and the feedback was gathered and discussed with the stakeholders to further incorporate and improve the concept.

With a holistic set of functionalities and quick access to tools, stores, and communities like Github – this platform aims to provide AD programmers an integrated, streamlined and enjoyable development experience in the future.

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