MathWorks · Simulink diagnostics · 2014–2017

Making Simulink diagnostics actionable.

I helped evolve an already-shipped diagnostic surface into a clearer resolution workflow, moving from readable messages to safe fixes and accountable suppression.

Core design principle Prevent it, explain it, or resolve it quickly. Every action needed a clear consequence and a recovery path.
Company
MathWorks
Role
UX designer and product-strategy contributor
Timeframe
2014–2017
Collaborators
Simulink developers, diagnostic authors, and product teams
Scope
Research, interaction design, requirements, usability, adoption support
Product state
Shipped viewer and Fix-It capability; broader management vision remained exploratory
Précis

Diagnostic Viewer already collected technical messages, but the path from explanation to resolution remained fragmented. I shaped message hierarchy, Fix-It requirements, safe failure behavior, and suppression strategy with engineering partners; together, we established a reusable interaction model and support system for diagnostic authors.

The design problem was the distance between an error message and a safe next step.

Context and stakes

A diagnostic is a workflow interruption.

Diagnostic Viewer had already shipped when I joined the work. MathWorks had re-engineered it in R2014a to collect messages from multiple simulations and make filtering easier. My work started from that real product state.

Diagnostics were dense, technical, and distributed across the model canvas, viewer, configuration settings, documentation, and command line. A message could describe several causes, suggest several remedies, or propose a change to the model itself.

Readability

Dense messages had to be scanned under pressure.

Discoverability

Important actions could not depend on hover or memory.

Safety

A fix might change model state or fail partway through.

Governance

Suppression needed context, ownership, and a way back.

Role and collaboration

Implementation-aware UX inside a shared product.

I researched comparable diagnostic systems, explored message hierarchy and action visibility, authored visual requirements, analyzed Fix-It use cases, helped drive functional requirements, supported usability testing, and contributed to suppression and diagnostics-management strategy.

I worked with developers and diagnostic-authoring teams on the mechanism behind automatic fixes. Engineering partners shaped callbacks, transaction behavior, and implementation. Product teams owned their diagnostics and the shipped product.

01 / SURFACE

Start with the shipped surface.

I began with message hierarchy, scanning, stages, toolbar behavior, and action visibility. The aim was practical: make the important content easier to find and remove interaction patterns that users could miss.

That work built trust with the development team and created room to address the larger product question: what should happen after a user understands the message?

02 / MECHANISM

Design a mechanism, not a button.

I evaluated 26 diagnostic scenarios to understand when the product should explain a remedy, offer one automatic fix, expose several alternatives, or avoid automation. The work covered success, failure, dependencies, deletion, and diagnostics with several linked causes.

The interaction needed an authoring contract behind it: a cause, a clear action label, a callback, feedback after execution, and a recovery path when the action failed.

Cross-functional work: I surfaced and helped resolve the automation-safety questions. Engineering partners shaped the mechanism and its implementation.
03 / CONTROL

Keep model-changing help under user control.

A useful Fix-It sometimes had to modify a model. The decision boundary was explicit: apply the model change in a controlled transaction, roll back partial work if the action failed, and leave saving to the user.

That same principle carried into suppression. Accepting an exception should record context and preserve the ability to review, restore, or govern it later.

A diagnostic lifecycle moves from prevention and detection through explanation, safe action, confirmation, resolution, or accountable suppression.
Diagnostic resolution lifecycleOriginal explanatory redraw synthesizing my direct research, visual requirements, and suppression strategy with shared Fix-It work; it does not reproduce a proprietary interface.
A safe automatic fix is offered only when appropriate, runs in a controlled transaction, rolls back on failure, and leaves saving to the user.
Safe action modelOriginal explanatory redraw of the recoverability boundary I explored with engineering partners: explain consequences, avoid partial changes, and preserve the user's decision to save.
Work in action

From interruption to informed action.

The resulting interaction model separated understanding, action, feedback, and governance.

  1. Read the message

    Make severity, cause, and the affected model context easy to scan.

  2. Inspect possible remedies

    Distinguish explanation, manual guidance, and automatic actions.

  3. Understand the consequence

    Tell the user what the product will change before execution.

  4. Run safely

    Apply a controlled transaction and report success or failure.

  5. Preserve agency

    Leave persistence to the user and provide recovery when needed.

  6. Govern exceptions

    Let teams suppress, justify, review, and restore accepted diagnostics.

Outcomes

A reusable path from message to resolution.

The durable outcome was a reusable interaction model, supported by guidance and review for the teams applying it.

Product
Standardized Fix-It capability

The interaction model covered suggestions, automatic actions, alternatives, success, failure, and recovery.

Adoption
Support for diagnostic authors

Guidelines, reviews, documentation, and internal forums helped product teams apply the pattern.

Continuity
Current public product context

MathWorks documentation still shows suggested fixes, success and failure states, suppression, justification, restore, and Suppression Manager.

Attribution: public documentation shows current product behavior. Dated design and review artifacts establish my contribution, while the current experience also reflects later team work.

Safe automation needs more than a callback.

It needs clear consequences, recoverable failure, and an explicit boundary around user control.

I would now test the mechanism earlier with lower-fidelity state models. That would expose safety and comprehension questions before visual details made them expensive to change.

Public product sources and evidence method

Official MathWorks sources establish the product state. Dated private artifacts establish my role and remain unpublished.

The diagrams abstract the internal work; confidential project and participant material is not reproduced.