Back to home

Diagnostics · Seamless troubleshooting experience

Whatfix authors couldn't debug their own content. Four preview modes existed; none told an author what was wrong. This is the tab I designed inside one of them, built around the constraint that different content types can't be diagnosed the same way.

Diagnostics panel in preview mode with toast explaining diagnose-while-previewing.
Pop-up diagnostics explaining precedence conflict, display order, and author-facing next steps.
Flow diagnostics with step-by-step pass, fail, and pending states plus element-not-found detail.

Diagnostics is a dedicated tab inside Whatfix Preview Mode. Enabling Preview Mode navigates the author to it. Content is categorized the same way as in creation, with a Not on this page section for content that belongs elsewhere. Underneath, three detection strategies run in parallel because Flows need to be played to fail, smart tips can be surfaced upfront, and pop-ups need care to avoid false positives. One UI. Three logics.

The team. A designer (me), a PM, an EM, a UX researcher on-call, and The Support team as a discovery partner. They classified every ticket into what an author could fix and what they couldn't, which shaped the whole panel. Cross-pod partners in Engineering and the Design System pod.

Whatfix Flow guiding a user step-by-step through an enterprise application.
FlowsStep-by-step walkthroughs that play on the target app when a user needs help completing a task.
Whatfix Beacon highlighting a page element to draw attention without blocking the UI.
BeaconsPulsing indicators on page elements that signal where guidance lives without interrupting the workflow.
Whatfix Pop-up surfacing a contextual message inside the host application.
Pop-upsContextual messages that appear inside the host app to announce changes, nudge behaviour, or surface help.

Context

What Whatfix does.

Whatfix is a digital adoption platform. Authors build in-product guidance inside their customers' enterprise applications (Salesforce, SAP, internal tools) and deploy it without engineering changes. Content creators work in a browser extension called Studio; end users see flows, tips, beacons, and pop-ups overlaid on the live product.

There was no tool for authors.

When authors' content stopped working, the only path was escalation. There wasn't a design problem yet. There was a missing product.

Problem statement: users can't identify failed content, lack explanations, and rely on Support.
The problem, as scopedAuthors couldn't identify failed content, had no explanation for failures, and leaned on Support for everything.
Users and business value: content creators and internal DAA; reducing support tickets and RCA time.
Users & business valueContent creators and the internal DAA team, with a measurable prize: fewer tickets, less RCA time.

When I picked up the brief in early 2024, Whatfix had no author-facing diagnostic tool. If a Smart Tip stopped firing or a Flow broke mid-step, the author had one option: file a Support ticket, wait for a screen-share, and watch a Whatfix engineer run a debug command in the developer tools of their own browser. Escalate, wait, watch.

4

Preview modes existed in Whatfix. All showed the pixels. None told an author what was wrong.

01
Preview Mode

In-Studio preview on the target URL, with editing enabled. The one authors reached for most.

02
See Live

Opens the customer's product with content overlaid in a Separate view, disconnected from Studio.

03
Preview

Modal from the content list. Fast, but No target-URL context, so URL-scoped diagnostics would be meaningless.

04
Launch Live Edit

For editing live production content. Wrong intent. This isn't the pre-publish check flow.

Why Preview Mode won. Not popularity: structural capability. Diagnosis, fix, and re-verify had to happen in one gesture, without leaving the surface. Preview Mode was the only mode that ran In Studio, on the target URL, with editing enabled. The criterion decided the surface: Never leave the surface to complete the loop.

Whatfix service blueprint showing sales pitching, customer onboarding, application analysis, content creation, and support touchpoints with failure gaps traced in red.
Service blueprint · End to endSales pitching through onboarding, content creation, and live maintenance in one map. The red dashed lines trace where failures left the author journey and became Support tickets downstream.

Before we framed a solution, we mapped the full service. The blueprint made the gaps legible: authors hit dead ends during creation, onboarding handoffs lost context, and maintenance had no self-serve path back to a fix. Support absorbed every break the product didn't surface.

Pain points mapped for two audiences: Customers and internal DAA.
Pain points, by audienceCustomers and internal DAA shared the same core frustrations: time-consuming, expertise-gated, and no clarity on When or How content broke.
How-might-we statements framing the design opportunity.
How-might-we framingFind the issue, notify on failure, resolve faster, and, most ambitiously, let authors troubleshoot by themselves.

Two personas anchored the "who." Both non-technical; both dependent on Support.

Muriel persona: L&D trainer at a large financial and insurance company.
Muriel · L&D TrainerNon-technical. Wants to Create and manage content. Anything more is friction she resents.
Efraim persona: tech transformation product manager in Oil & Gas.
Efraim · Information DeveloperAlso non-technical. Manages content across many pages. Frustration compounds when he has to rely on Support.

Who owns which issue?

Support knew the answer better than anyone. Their classification was the load-bearing part of discovery.

Bucket 01 · Author-fixable Surface with a fix path.
  • Display rule mismatch (segment, URL, device)
  • Wrong or missing element selector
  • Content in wrong workflow stage
  • Occurrence rules not set correctly
  • Content published to the wrong page
Bucket 02 · Technical Smooth the escalation.
  • Browser extension version mismatches
  • Customer-side DOM structure changes
  • Iframe and cross-origin failures
  • SPA route changes breaking anchors
  • CSP restrictions blocking Whatfix runtime
NPS verbatims Q1 2024, grouped by flow failure, smart detect, and other themes.
NPS verbatims · Q1 2024Clustered into flow-failure, smart-detect, and other themes: the raw material Support translated into the ownership buckets.
NPS verbatims Q3 2023, earlier signal on troubleshooting pain.
NPS verbatims · Q3 2023The earlier signal: authors asking for review mechanisms, clearer failure reasons, and less reliance on email.

Support wasn't a downstream stakeholder to inform; they were the discovery partner. They'd resolved every one of the 182 monthly tickets themselves and knew, ticket by ticket, whether the author could have fixed it if they'd been shown how, or whether it genuinely needed engineering. The design's whole audience question, Who is Diagnostics for?, was answered in their room, not mine.

The design principle: handle both buckets in the same panel. Show authors what they can fix, with the fix path visible. Show them what they can't, with a smooth escalation attached. Neither should feel like a dead end. Bucket 1 was the design job. Bucket 2 was the honesty job.

One panel. Three detection strategies.

Diagnostics can't work the same way for every content type. The five types don't behave the same way. That was the constraint that shaped the whole panel.

Play-based

Flows

A Flow is a sequence of steps. A broken step only reveals itself when the flow is triggered by an author or user action.

Upfront

Smart Tips + Beacons + Launchers

Render on page load based on display rules. Detection can happen the moment the tab opens.

With care

Pop-ups

A Pop-up with occurrence: once won't re-fire on re-visit. Flagging that as a "failure" would misdiagnose correct behaviour.

Upfront

Content on this URL

Whether content is scoped to the current URL is deterministic. Non-applicable content moves to Not on this page.

Two ideas we cut.

Design taste doesn't cut ideas. Engineering constraints do, when you name them out loud.

A global list of all content with issues attached.

Whatfix DAP Content view in Production with a failure report panel open for a selected flow.
Global list · DashboardContent management and failure analytics in the main product, not on the target URL where authors actually debug.

Content is contextual to a URL. An author needs to know Where the issue lives, not just that it exists. A global list without URL context turns diagnosis into a scavenger hunt.

Manage content reconfigured as preview mode.

Manage content panel comparing the default list view with preview mode toggled on, surfacing page-specific troubleshoot content.
Manage · Preview modeRepurposing the management list as a page-scoped troubleshoot view, before Diagnostics became a tab inside Preview Mode.

Collapses two jobs into one toggle. Authors still need a stable list for bulk moves and folder hygiene; Diagnosis belongs in Preview Mode, not by repurposing Manage.

A tab inside Preview Mode.

Preview Mode was the surface. The next question was the container shape: modal, overlay, route, or tab. Tab won on four criteria.

Crazy-8 ideation: eight quick directions for surfacing content failures.
Divergence · Crazy-8Eight fast directions before converging, from a passive preview widget to a dashboard notification panel. The winning idea: Show status while previewing.
01

Diagnostics is a tab, not a separate surface. Enabling Preview Mode auto-navigates the author there. If you're previewing, you might be checking for issues.

02

Categorized by content type, same as creation. Flows, Smart Tips, Beacons, Launchers, Pop-ups, using the same taxonomy authors already knew from building. No new mental model.

03

Applicable content shows on the page; the rest goes to Not on this page. Makes URL scoping explicit and answers Efraim's coverage question at the same time.

04

Search by content type and issue type. A power-user path for authors managing many pieces at once.

05

Notification banner for the minimized case. If Studio is minimized while previewing and a flow step fails, a banner surfaces at the top of the customer's browser. One click restores Studio to the Diagnostics tab.

Debugging panel design frames: import & test, search content, imported content, and step-level report.
Early wireframes · Key framesPre-ship exploration frames: Import & test, Search, imported content state, and step-level report, before the shipped UI above.
Diagnostics system design: Studio, Preview, and Dashboard entry points converging on one debugging surface.
System design · One debugging surfaceThree entry points (Studio, Preview, and the Dashboard) converge on a single debugging surface, with the author, support, and record-report paths mapped underneath. One surface, three ways in.

Two happy paths, one panel.

Different content, different entry. Same fix affordance underneath.

Fixing a Flow step

Play-based
  1. Create a flow.
  2. Enable Preview Mode.
  3. Play the flow.
  4. Step 3 fails.
  5. Open Diagnostics.
  6. Read the issue in creator language.
  7. Fix the step (if author-fixable).
  8. Save the flow.
  9. Re-preview to verify green.

Fixing a Smart Tip

Upfront
  1. Create Smart Tips.
  2. Open Diagnostics.
  3. Open the Smart Tips accordion.
  4. Failed ones surfaced upfront.
  5. Open one.
  6. Read the issue in creator language.
  7. Fix.
  8. Save.
  9. Re-preview to verify green.

Four shipped screens, in the order an author experiences them: onboarded into preview-mode diagnostics, scan the page inventory, then drill into a failure and a success on the same Pop-up category.

Diagnostics panel home with a green onboarding tooltip anchored to the Diagnostics tab, announcing diagnose-while-previewing.
Diagnostics panel home after dismissing the onboarding tooltip, with content-type status counts and no toast overlay.
Home · First visitEnabling Preview Mode for the first time surfaces a one-time tooltip on the Diagnostics tab: You can now diagnose content while preview mode is enabled. It anchors to the tab icon so authors connect the new capability to where they already look when previewing.

Dismiss the tooltip and the panel settles into the standard home. Content types match creation taxonomy (Flows, Smart Tips, Beacons, Launchers, Pop-ups) with pass/fail counts visible before an author opens a single accordion. No new mental model; just status at a glance.

Diagnostics panel listing Pop-ups on the current page: one displayed, two not displayed, with On this page and Not on this page tabs.
List of content · Pop-ups on this pageThe settled home expands into an inventory. On this page and Not on this page separate URL-scoped content from everything else. Inside Pop-ups: Release notes is displayed; Welcome and Holiday 2025 are not, each with a Diagnose affordance.
Two-step flow: Pop-up list with Welcome pop up marked Not displayed, then detail view showing visibility rules failed with reference code VR-001.
Failed Pop-up · Author-fixableFrom the list, Diagnose on Welcome pop up opens the failure detail: visibility rules failed (VR-001), with creator-language explanation and expandable sections for when, where, and who. Bucket 1: the author can fix this without Support.
Two-step flow: Pop-up list with Release notes pop up marked Displayed, then detail view confirming display order and count.
Displayed Pop-up · Working as intendedThe same list path for Release notes pop up, but the outcome is green: displayed three times, first in order. Pop-ups compete for precedence on a page, so authors need to see Why one fired and another didn't, not just that it did.

What made this hard.

Three constraints visible from week one. Each shaped a design decision downstream.

01

Enterprise-customer recruiting was slow. 5–7 users per method was the ceiling, not the target. Most testing went to Muriel-side. Efraim's coverage view, a Phase 2 candidate, stayed thin on validation.

02

Engineering was split across two projects. Not all engineers attended every design review. The content-type strategy constraint surfaced from engineers who joined late; if it had surfaced in week two instead of week six, we would have saved a full design cycle.

03

The design-system pod was mid-overhaul. They couldn't absorb a five-state status pill contribution on our timeline. The workaround was tactical; the DS pod shipped the proper primitive two months after launch.

What the first two quarters said.

−35%
Support tickets reduced in the first quarter after launch. Held through Q2.
−85%
Root cause analysis time reduced. Support spent a fraction of the time finding the problem after launch.
82
SUS score from pre-launch usability testing.
Slack cheers-mate message from the IDG team praising Whatfix Diagnostics for helping troubleshoot content without technical expertise.
Internal team · SlackAuthors could tell immediately whether an issue needed Support or could be fixed in place. Diagnostics became part of the daily content workflow.

Six weeks after launch, the internal content team posted this in Slack. No prompt. No survey. Just a cheers thread that named the workflow change out loud.

What I'd unship, and what I'd design instead today.

The 2025 product is a tab authors open. In 2026, that shape is no longer the right one.

01

Auto-navigation to Diagnostics on Preview Mode enable was right most of the time, wrong when the author is previewing routine changes. Should defer to a discoverable badge on first visit, auto-nav on second.

02

The pill workaround was the right tactical move, wrong long-term primitive. Co-design with DS earlier next time.

03

The Pop-up occurrence-once handling is currently silent. Better: surface an Occurrence-satisfied state so authors understand why the pop-up isn't firing without misdiagnosing it.

On-demandContinuous

Background watcher. The panel opens because the system invited it, not because the author suspected.

Navigate to tabConversational

Why isn't my onboarding showing for new sales reps? The tab becomes one surface for the agent, not the product.

Per-itemCross-content

Reason across the journey. This Flow fails because the Smart Tip before it stopped firing last week.

Bucket 2 escalatesDiagnosis is the ticket

Support reads the agent's analysis instead of running their own. Technical issues escalate With the RCA already done.

Diagnostics taught me one thing that travelled to every project after: Let the engineering constraint be the design brief. The three detection strategies weren't the enemy of the design. They were the shape of it.

Next case study Whatfix · 2025

Studio: reimagining Whatfix content creation

Create flows, pop-ups, tooltips, beacons and launchers from one guided surface.