Как «Мониторинг системы», только больше.

Чтобы увидеть итог одного приложения, теперь нужна 1 строка вместо 17 (Brave Browser), и это примерно 3 секунды вместо 60. Все 3 коллеги, которые попробовали Observatory, пользуются им и спустя два месяца.

Продуктовый дизайн, исследование, айдентика и ролик к запуску. Писал спецификации и руководил разработкой с AI
2026
Релиз 0.1.1 для macOS 14 и новее, им около двух месяцев пользуются 3 коллеги.

Финальный экран «Now» в Observatory с живыми данными приложений и графиком.

Коротко

Ситуация. «Мониторинг системы» показывает процессы, а не приложения. Один браузер может занять 17 строк, и как только момент прошёл, ничего не остаётся.

Задача. Дать увидеть приложение целиком, а потом записать прогон и сравнить его со следующим.

Действия. Провёл 5 CustDev-интервью в логике Jobs to be Done, чтобы проверить, что проблема не только у меня. Потом скетчи, черновой прототип и три изменения после разбора сценариев.

Результат. Чтобы увидеть итог одного приложения, теперь нужна 1 строка вместо 17 (Brave Browser), и это примерно 3 секунды вместо 60. Все 3 коллеги, которые попробовали Observatory, пользуются им и спустя два месяца.

Оценка времени получена при проходе по обоим приложениям, а не в формальном исследовании.

Проблема

Во время тяжёлой работы я открывал «Мониторинг системы», чтобы найти приложение, которым пользуюсь. Его активность была раскидана по множеству процессов: найди их, сложи в уме и следи, пока цифры меняются. Не самый спокойный способ проверить память. А когда задача заканчивалась, вернуться было не к чему.

Мониторинг системы

17 строк, которые нужно найти и сложить

Observatory

1 строка, уже сложено

Одно и то же приложение в обоих инструментах. Названия процессов такие, как их показывает macOS, итог взят из живого просмотра Observatory.

Если записать это как job story (Jobs to be Done):

Когда я делаю тяжёлую работу, я хочу видеть, что потребляет приложение, и сохранять запись, чтобы вернуться к ней и сравнить.

Цель

Это был личный проект, и я сравнивал его с «Мониторингом системы», ведь его люди и так открывают.

Цель была отвечать на вопрос «что потребляет это приложение?» с одного взгляда и сравнивать прогоны между собой. Понять, получилось ли, я собирался по тому, сколько времени нужно, чтобы увидеть итог по приложению, могут ли люди сравнить прогоны без скриншотов и продолжают ли им пользоваться.

Исследование

Сначала я проверил, что проблема не только у меня. Прежде чем что-то делать, я провёл CustDev-интервью в логике Jobs to be Done. Пять человек рассказали, как в последний раз разбирались с производительностью: что хотели узнать, куда смотрели и чего не смогли найти. По их ответам стало ясно, что это стоит делать.

Нарисованный от руки портрет персоны «самостоятельный диагност»: человек в очках показывает жест «ОК».
Самостоятельный диагност

Проверяет свой Mac.

Job story. Когда я смотрю, что происходит с Mac, я хочу видеть приложение целиком и замечать пики, чтобы не собирать картину по меняющемуся списку.

Нарисованный от руки портрет персоны «проверяющий производительность»: человек делает записи на планшете для бумаг.
Проверяющий производительность

Разработчик, который сравнивает прогоны.

Job story. Когда я меняю приложение, я хочу записи до и после с понятным контекстом, чтобы сравнение действительно что-то значило.

Оба начинали с приложения или задачи, а не с процесса. Поэтому интерфейс, а с ним и мои первые скетчи, начинаются с приложения.

Ранний скетч: разрозненные процессы против процессов, сгруппированных по приложениям.
От россыпи процессов к группам по приложениям.
Ранний скетч: таблицы ресурсов на уровне приложения и на уровне процесса.
Сначала итог по приложению, детали процессов уровнем ниже.
Ранний скетч: два приложения под наблюдением в течение одних и тех же десяти секунд.
Общее окно записи делает прогоны сравнимыми.
Ранний скетч: выбор приложений, запись каждого и просмотр результатов.
Первый набросок теста и его результата.

По скетчам я собрал первый прототип с тремя разделами: «Now», «Tests» и «History».

Первый черновой экран «Now» с карточками приложений.
«Now»: быстрый взгляд
Первый черновой экран настройки теста.
«Tests»: записать прогон
Первый черновой экран «History» с сохранёнными записями.
«History»: вернуться к результатам

Решение 1 выросло прямо из интервью и скетчей. Решения со 2 по 4 появились после прохода по этому прототипу: из разбора сценариев и дизайн-критики, а не из формального юзабилити-исследования.

Решения

1. Процессы под своим приложением

Одно приложение занимало много строк, и его реальная нагрузка терялась.

Раскрытые детали процессов в финальном живом просмотре Observatory.
  1. Одна строка с итогами приложения
  2. Процессы уровнем ниже
Сначала итоги, процессы по запросу.

Поэтому каждое приложение стало одной строкой с итогами. Процессы лежат уровнем ниже и раскрываются, только когда нужно.

Обе задачи начинались с приложения. А то, что связано, должно и выглядеть вместе: это гештальт-принцип общей области.

Другим вариантом был плоский список процессов с поиском, как в «Мониторинге системы», но складывать строки всё равно пришлось бы самому.

Brave Browser занимает 1 строку вместо 17.

измерено в живом просмотре

2. Выровненный список вместо карточек

Карточки группировали процессы, но чтобы сравнить приложения, взгляд прыгал между блоками.

Я перешёл на компактный список с цифрами в выровненных колонках и живым графиком под ним.

В выровненных колонках одну метрику можно сравнить одним взглядом сверху вниз.

Сетка карточек из первого прототипа хорошо показывала группы, но сравнивать в ней было медленно.

3. Сначала приложения, потом режим записи

Настройка теста спрашивала про ручной или автоматический режим ещё до выбора приложения.

Теперь сначала выбираешь приложения, потом режим записи, а настройка и идущая запись стали отдельными экранами.

Люди начинают с того, за чем хотят наблюдать. Как инструмент это записывает, для них вторично.

4. Результаты внутри «Tests»

Тест заканчивался в «Tests», а результат жил в «History», отдельном разделе.

Я перенёс результаты в «Tests» как «Saved Results», со списком в боковой панели, пока результат открыт.

Информационная архитектура должна идти за задачей, чтобы следующий шаг всегда был сразу после предыдущего.

Разделов верхнего уровня стало 2 вместо 3.

посчитано по прототипам

Результаты

Observatory 0.1.1 работает на macOS 14 и новее. Живой просмотр держит перед глазами последние 60 секунд. «Tests» записывает от одного до четырёх приложений, с прогревом и повторными раундами по желанию, а записи остаются на Mac.

Время, чтобы ответить «сколько памяти ест Brave?»
«Мониторинг системы»: найти и сложить 17 строк
≈60 с
Observatory: прочитать одну строку
≈3 с

Одна отметка: 3 секунды. Оценка по проходу через оба приложения. К тому же «Мониторинг системы» обновляет цифры, пока ты складываешь.

Все 3 коллеги, которые попробовали Observatory, пользуются им и спустя два месяца. Чаще всего они берут «Tests», и для двух вещей: записать приложение до и после изменения и сравнить приложения одного типа, например терминалы Ghostty, kitty и Alacritty.

Финальный экран «Now» в Observatory с живыми данными приложений и графиком.
Каждое приложение одной строкой. Живой график хранит последние 60 секунд.
  1. Финальный экран настройки контролируемого теста в Observatory.
    Выбрать приложения, затем режим, затем прогон.
  2. Финальный экран записи с подсказками в Observatory.
    Ручной режим ведёт по одному приложению за раз.
  3. Финальный экран «Saved Results» в Observatory.
    Сохранённые результаты хранят контекст.
  4. Финальный экран сравнения в Observatory с синхронизированными таймлайнами метрик.
    Синхронизированные таймлайны делают прогоны сравнимыми.
Смотреть презентацию Observatory на YouTube
Презентация продукта. Кроме самого приложения, я сделал иллюстрацию с телескопом, айдентику и ролик к запуску.

Что дальше

Я бы сгруппировал приложения по назначению. Коллеги уже сравнивали приложения одного типа и выбирали их по одному. Группировка по категориям применяет ту же идею уровнем выше: похожее рядом с похожим.

Терминалы3

  • Ghostty
  • kitty
  • Alacritty

Редакторы кода2

  • Xcode
  • VS Code

AI-приложения2

  • ChatGPT
  • Claude
Концепция: один выбор добавляет в тест всю категорию.
Настроить сравнение терминалов

Сейчас, 4 шага

  1. Выбрать Ghostty
  2. Выбрать kitty
  3. Выбрать Alacritty
  4. Запустить

С категориями, 2 шага

  1. Выбрать «Терминалы»
  2. Запустить

Предложение, пока не сделано.

Дальше хочу проверить на людях вне моей команды: понимают ли они, что произошло в прогоне, и какие записи стоит сравнивать?