Desktop Scheduler | Nava Yousef

Enterprise SaaS · 2025

Desktop Scheduler

One scheduling pattern for creating, watching and fixing data jobs, so admins can see what failed at a glance.

The final scheduler day view on a desktop display, with five features floating in front of it: the frequency settings, the priority card on the dashboard, failed and done task states, the Error, Add and Sort buttons, and a task's details
Role
UI/UX designer · one of the main designers. I worked on every screen from wireframes to final UI, and helped run the interviews and usability tests
Timeline
7 weeks · 2025
Team
Group of 5 · MSc Digital Design, University of York
Tools
Figma · Miro

Project overview

A global enterprise planning software company gave us a live brief. Their admins schedule hundreds of data imports and exports, and we designed one scheduling pattern for them that fits their design system, so admins can see what failed at a glance and builders can set up their own jobs.

UI/UX DesignInformation architectureUsability testing
  • 82.1usability score (SUS) from 6 testers. The industry average is 68.
  • 7 changesfrom testing

The brief

Scheduling was spread across the platform, and every part worked differently

Admins couldn't easily see what was running, what had failed or what was late, so they tracked jobs by hand. One failed run can break a forecast or a report. We had 7 weeks, no access to the live product, and the client's design system to work within.

Two kinds of user

Admin

Watches every job for errors and clashes.

Builder

Sets up and fixes their own jobs.

Each job carries 13 properties, from time zone and frequency to dependencies and retries. On top of that, the system spreads jobs booked for the same hour across that hour (jittering), so a job can run later than it was scheduled.

Research

We started from the tools people already know how to read

Research questions

  1. How do people who run scheduled jobs check on them today?
  2. What does an admin need to see straight away, and what can wait a click?
  3. Which layouts do people already know how to read?
InterviewsTwo people at the clientSomeone who runs scheduled jobs every day, and the product designer who owns scheduling.
CompetitorsAirtable and Monday.comAirtable showed how far colour and tags can go. Monday.com had a clean way to set triggers and link jobs that depend on each other.
Everyday patternsCalendars and flight gridsLayouts most people read without thinking.

What we took into the design

  • Use a calendar, because people already know how to read one.
  • Make "what broke?" one click away.
  • Give every status an icon and a border as well as a colour.
  • Build it from small parts that can drop into any part of the platform.

User flow

Everything starts on the dashboard and splits into four jobs: monitor, create, recover and change.

Start Log in HubDashboard
MonitorView active schedulesFilter or sortOpen a job's propertiesStatus checked
CreateNew scheduleFill in the task formSet time, zone and frequencyAdd triggers and remindersJob scheduled
RecoverError alertOpen the error logEdit and rerunDid it run?No: back to the error logYes: back on track
ChangeOpen a jobEdit or delete in the formConfirmJob updated

Explore

We tried a timeline first, then moved to a calendar

Horizontal timeline

Direction A

Good for long jobs, but crowded on a busy day.

Early horizontal timeline concept with weeks across the top and task bars linked by dependency lines

Good at

  • Linking jobs that depend on each other
  • Jobs that run for days

Struggled with

  • Lots of jobs in one hour
  • Comparing time zones

Vertical calendar

✓ Direction B · chosen

Reads like any calendar app.

Early vertical week calendar concept with status-coloured tasks and an Error button

Good at

  • A familiar layout
  • Time zones as columns
  • Jobs side by side in one hour

Struggled with

  • Dependencies are harder to see
Early task detail panel with assignee, due date, dependencies, time zones and activity

We chose the calendar because admins mostly check one busy day, and everyone already knows how to read one. The timeline’s dependency links moved into the job details.

Design decisions

Six decisions that shaped the final design

Properties card for Task 4: last run failed at 9am GMT, duration 2 hours, created and edited by Alice Jakobs
4Clicking a card opens its properties.
List of all Type 1 jobs with title, date, last run status, owner, frequency and status
3Clicking a type tag lists every job of that type.
  1. A job has 13 properties, but a card in a busy calendar only has room for three: status, priority and type. Clicking the card opens the rest, and clicking the type tag lists every job of that type.

    1. 1
      StatusBorder, fill and icon change together: ✕ failed, ✓ successful, ↻ in process, a clock for scheduled.
    2. 2
      Priority tagLow, Med or High. Just a label, to help people scan.
    3. 3
      Type tagClick it to see every job of the same type in one list.
    4. 4
      The cardClick it for last run, duration, owner, frequency and dependency.
    Properties card for Task 4: last run failed at 9am GMT, duration 2 hours, created and edited by Alice JakobsList of all Type 1 jobs with title, date, last run status, owner, frequency and status
  2. People need to tell failed, running, done and scheduled apart in a split second, including people who are colour blind. WCAG says colour can't be the only signal, so each state also has an icon that works in greyscale and a border that keeps it readable on a busy grid.

    Status legend: failed, successful, in process and scheduled cards, plus event with error and without
  3. Teams run jobs across the UK, China and the US. A time zone switcher would hide two of them at any time, so we fixed up to three columns next to the hours. Every tester said this helped. The limit is three zones.

    Close-up of the day view with UK, CHN and LA time columns beside status-coloured task cards
  4. On a busy day errors get lost. The Error button sits next to Add. When it's on, it turns red and every card shows "has an error" or "no error", so admins don't have to build a filter to find failures.

    Day view in error mode: cards with errors in red with an exclamation mark, the rest in grey
  5. Jittering puts lots of jobs in the same hour. Squeezing them made the names unreadable, so cards keep their width and arrows appear when an hour is full. You can't see every job in that hour at once, but you can read all of them.

    A busy hour row with left and right arrows to scroll through five task cards
  6. What and when first, then how often, then triggers and priority, with the month view and today's reminders beside it. The same form edits and deletes a job. Testers called it "very well structured".

    New Event form with title, description, date and time, recurring, triggers, priority, frequency, upload, Delete Task and Save

Built from parts

We used atomic design. Buttons, dropdowns and the main colour came from the client's system, and we added what the scheduler needed: event cards in every state, tags, the properties card and the filter menu. We tried a few versions of parts like the Sort button and the Add icon before settling.

Testing

Six people tested the prototype, and we made seven changes

  1. QuestionnaireTheir background. 5 of 6 had used planning software.
  2. TasksReal tasks in the prototype, thinking aloud.
  3. SUS surveyThe standard usability score.
  4. InterviewA short chat afterwards, recorded with consent.

SUS score per participant (0–100)

0 20 40 60 80 80 75 82.5 82.5 82.5 90 industryavg 68 P1P2P3P4P5P6

Average SUS

82.1

The testers were postgraduate students, so I treat it as an early sign.

What we changed

Some testers read red as "high priority" instead of "failed", and the time zone columns looked like random numbers. Others wanted to filter by more than status, asked for a warning before a job fails, and couldn't find how to delete a task. So we added a status legend, more filters, reminders, search and a delete button. We also labelled the time zones, switched to AM/PM and made important jobs stand out more.

Outcome

A tested pattern that works anywhere on the platform

See it working

Short clips from our clickable prototype, sped up.

Creating a task: title, category, date and time, then how often it repeats.

A tour of the final screens

Dashboard with priority events, the week ahead, latest files, error log list, notifications and activity

Dashboard

What needs attention before you open the calendar: priority jobs, the week ahead, latest files, the error list and notifications.

Status legend: failed, successful, in process, scheduled, event with error, event with no error

The legend, added after testing

It sits one click away and shows on first use, explaining the four statuses and the two error states.

What I learned

The biggest thing I learned is that a complex system doesn't need to be made simpler. It needs a clear order: what people see first, and what can wait a click. I also learned that accessibility is much easier to build in from the start than to fix later, and that even a small test shows you problems you've stopped noticing yourself.

What I'd improve

I'd give priority tags their own neutral style so they don't clash with status colours, show each job's scheduled window next to when it actually ran, and test with the client's own admins.

Next project

Boom landing page on a phone and the product page, framed by line-drawn Persian arches

E-commerce · 2023 · Solo concept

Boom Website

A shop for Persian handmade work, from the brand to a responsive, right-to-left landing page.

UI/UX designBrand identityView project