Work / Connection Flow

Mobile Device Connection Flow

A single modal tried to cover every connection scenario — so we rebuilt it into a guided, platform-aware flow.

Industry

Enterprise SaaS

Year

2023

Role

Sole Product Designer

Type

UX / Product Design

Click to enlarge

The Problem

Users reported consistent difficulty connecting iOS devices. The existing UI was a single modal with two tabs — one for Android, one for iOS — that attempted to handle all device types, technical preconditions, connection options and edge cases simultaneously. The modal could not support the required validations, debugging information and error descriptions — instead redirecting users to an external resource, breaking the flow entirely.

Context

Role: Sole Product Designer

Product: Enterprise SaaS desktop application for mobile testing

Environment: No direct user access, NDA constraints, close collaboration with engineering team

Constraints That Shaped the Design

  • Direct user access was not available — developer interviews served as the primary research input.
  • As an enterprise SaaS product, the tool serves users with varying technical backgrounds, from QA engineers to developers.
  • No direct competitor references existed for this specific feature, requiring decisions to be grounded in first principles and platform documentation.
  • iOS platform security requirements — Xcode installation, version compatibility, Developer Mode, Apple Dev Team ID — were non-negotiable technical preconditions that the UX had to accommodate, not simplify away.

Research & Discovery

Without direct user access, research was conducted through informal interviews with engineers who worked closely with the connection process. Additionally, support tickets gathered by the sales team provided real-world user pain points, giving direct insight into where the flow was failing in practice. The goal was to map the full technical process end-to-end — understanding every precondition, failure point and platform difference — in order to decide what complexity to surface in the UI and what to abstract away.

This revealed that iOS and Android connection processes were fundamentally different in nature, and that existing error states were undifferentiated and unhelpful to the end user.

Exploration & Decisions

Early exploration focused on the core structural question: should the flow remain a single screen, adopt a stepper, or become a full wizard? Multiple options were considered and tested internally. A single screen was rejected — the variable complexity across platforms made it impossible to present all required information without overwhelming the user. A static stepper was problematic due to the unequal number of steps across different paths — iOS requires more steps than Android by nature of its security requirements. The wizard pattern was chosen as it allowed each path to have its own focused sequence, with the user making one decision at a time. The OS selection step was deliberately excluded from the step count to avoid implying a fixed linear journey before the user had chosen their path.

Original connection modal

Click to enlarge

Before — original two-tab modal

Flow exploration with A11y annotations

Click to enlarge

Exploration — flow options with A11y annotations

Key Design Decisions

01

Branching by platform and device type

Rather than forcing a unified flow, the experience splits at two levels — first by OS (iOS or Android), then by device type (real device or simulator). Each branch has its own focused sequence, reflecting the genuine technical difference between paths rather than imposing artificial consistency.

02

In-flow error recovery

Where technically feasible, error states were designed with recovery actions that kept the user within the flow — Retry options, guided troubleshooting suggestions, and where possible, actions the user could confirm without leaving the current step. This reduced the risk of drop-off at critical moments.

03

Automatic precondition checks

Rather than instructing users to manually verify technical requirements, the flow performs automatic checks where feasible — Xcode installation, version compatibility, network availability — surfacing issues only when they require user action.

We didn't standardize the flows artificially — we let the technical reality of each platform dictate the depth.

Final iOS flow — real device and simulator

Click to enlarge

After — iOS flow (real device + simulator)

Final Android flow — real device and emulator

Click to enlarge

After — Android flow (real device + emulator)

Engineering Alignment

Close collaboration with the engineering team was essential throughout the process. Technical constraints directly shaped UX decisions — the feasibility of automatic precondition checks was determined together with engineers, as was the scope of in-flow recovery actions. Understanding which error states could be resolved without leaving the flow, and which required external action, required ongoing back-and-forth with the development team. The connection flow improvement remained an ongoing collaboration — edge cases and error states continued to be identified and addressed after initial release.

Accessibility

Accessibility was considered throughout the design process, in collaboration with dedicated A11y experts. The wizard structure naturally supported accessibility by reducing cognitive load — presenting one decision at a time rather than overwhelming the user with all options simultaneously. Focus management across steps, error state announcements and keyboard navigation were reviewed and aligned with WCAG standards.

Outcome

Single modal 4 focused flows

Structured by platform and device type

Manual precondition checks automatic verification

Xcode, network and compatibility checked in-flow

External troubleshooting in-flow error recovery

Users guided to resolution without leaving the wizard