12 KiB
12 KiB
UI/UX Roadmap
Цель
Сделать RMM-интерфейс удобным для оператора, который обслуживает роутеры, но не обязан знать OpenWrt, UCI и внутренние команды агента.
Главный экран должен за несколько секунд отвечать на три вопроса:
- Какие роутеры требуют внимания?
- Что именно не работает?
- Какое безопасное действие можно выполнить?
Скриншоты Netcraze используются как ориентир по плотности, навигации и представлению данных, без копирования бренда и интерфейса один в один.
Роли
Оператор
- Видит состояние объектов, клиентов, сети и предупреждений.
- Запускает готовые диагностики и безопасные операции.
- Открывает удаленный доступ и LuCI.
- Не работает с raw JSON, UCI-командами и техническими параметрами туннеля.
Эксперт
- Имеет доступ ко всем существующим низкоуровневым функциям.
- Просматривает raw inventory, историю команд и аудит.
- Выполняет произвольные команды, UCI-операции и управление пакетами.
На первом этапе экспертный режим будет отдельным разделом интерфейса. Разграничение прав можно добавить позже.
Принципы интерфейса
- Плотный рабочий интерфейс без маркетинговых блоков и декоративных карточек.
- Единая навигация и предсказуемые вкладки.
- Статусы читаются по тексту и цвету: норма, внимание, ошибка, недоступен.
- Основные действия доступны сразу, редкие и опасные спрятаны в меню.
- Одна глобальная кнопка обновления вместо кнопок обновления в каждом блоке.
- Автообновление данных с понятным временем последнего контакта.
- Русские операторские названия; технические термины остаются в экспертном режиме.
- Любая опасная операция требует подтверждения и объясняет последствия.
- Ошибки показывают понятное описание; request ID доступен в раскрываемых деталях.
Целевая структура
1. Объекты
Первый экран после входа: полноширинная таблица всех роутеров.
Основные колонки:
- Статус.
- Имя объекта.
- Модель и группа.
- WAN / интернет.
- Клиенты.
- Проблемы.
- Последний контакт.
Доступные действия:
- Поиск.
- Фильтры по статусу, группе и проблемам.
- Открытие объекта кликом по строке.
- Массовые действия появляются только после выбора объектов.
2. Карточка объекта
Верхняя часть содержит имя, статус, последний контакт и основные действия.
Вкладки:
- Обзор — здоровье роутера, предупреждения, основные метрики и графики.
- Клиенты — единый список DHCP- и Wi-Fi-клиентов.
- Сеть — WAN, интерфейсы, Wi-Fi, маршруты и счетчики.
- Операции — диагностика, удаленный доступ, обновления и безопасные настройки.
- Сведения — модель, прошивка, группа, теги и идентификаторы.
- Эксперт — raw inventory, команды, UCI, пакеты, история и аудит.
Что меняем в текущем UI
| Сейчас | После редизайна |
|---|---|
| Список устройств в узкой боковой панели | Полноширинная таблица объектов |
| Длинная страница со всеми функциями | Карточка объекта с вкладками |
| Много кнопок Reload / Refresh | Автообновление и одна глобальная кнопка |
| Raw Inventory на обзорной странице | Раздел «Эксперт» |
| Выбор произвольной команды на обзорной странице | Раздел «Эксперт» |
| Пять отдельных кнопок диагностики | Единый сценарий «Запустить диагностику» |
| Raw UCI и множество кнопок | Пошаговое применение безопасных настроек; raw UCI в «Эксперт» |
| Preview и Stage как отдельные действия | Сценарий «Проверить изменения → Применить» |
| Технические поля SSH-туннеля | Выбор длительности и кнопки «Открыть LuCI» / «Скопировать SSH» |
| Редактирование группы и тегов в обзоре | Вкладка «Сведения» |
| Все статусы истории команд отдельными кнопками | Основные фильтры и меню дополнительных фильтров |
| Опасные действия рядом с обычными | Отдельное меню с подтверждением |
Этапы реализации
Этап 0. UX-аудит и фундамент
- Сопоставить каждый текущий элемент с действием: оставить, перенести, объединить или скрыть.
- Зафиксировать операторские названия и статусы.
- Подготовить общий layout, компоненты статусов, кнопок, таблиц и уведомлений.
- Определить адаптивное поведение для desktop и mobile.
Этап 1. Навигация и список объектов
- Добавить постоянную навигацию по основным разделам.
- Перенести список роутеров в плотную таблицу.
- Добавить поиск, фильтры и сортировку.
- Показывать проблемы и последний контакт непосредственно в строке объекта.
- Показывать массовые действия только после выбора строк.
Этап 2. Обзор объекта
- Добавить верхнюю панель объекта и вкладки.
- Собрать компактную строку состояния.
- Показать WAN, загрузку, память, uptime, клиентов и предупреждения.
- Добавить основные графики за выбранный период.
- Оставить только главные действия: LuCI, диагностика и меню операций.
Этап 3. Клиенты и сеть
- Объединить DHCP leases и Wi-Fi stations в таблицу клиентов.
- Добавить поиск и фильтры клиентов.
- Создать отдельный экран интерфейсов и подключений.
- Показать понятные состояния WAN, LAN и Wi-Fi.
Этап 4. Операторские операции
- Сделать пошаговую диагностику с прогрессом и итогом.
- Упростить создание удаленной сессии.
- Добавить безопасные формы настроек вместо raw UCI.
- Представить обновления и пакеты как понятные операции.
- Показывать ход, результат и рекомендации после операции.
Этап 5. Экспертный режим
- Перенести существующие технические возможности без потери функциональности.
- Разместить raw inventory, команды, UCI, пакеты, историю и аудит.
- Отделить опасные операции и добавить явные подтверждения.
- Подготовить интерфейс к будущему разграничению прав.
Этап 6. Состояния и полировка
- Добавить skeleton, empty, loading, offline и error states.
- Добавить toast-уведомления и единый стиль подтверждений.
- Проверить навигацию клавиатурой и фокус.
- Проверить таблицы, переносы текста и отсутствие наложений.
- Проверить desktop, tablet и mobile.
Этап 7. Недостающие данные API
- Нормализовать запись клиента из DHCP и Wi-Fi.
- Нормализовать состояние интерфейсов и подключений.
- Подготовить временные ряды для графиков.
- Добавить операторские операции поверх сырых команд.
- При необходимости добавить серверную пагинацию, поиск и сортировку.
Приоритет первой итерации
- Новый layout и полноширинный список объектов.
- Карточка объекта с вкладками.
- Новый обзор объекта.
- Упрощенный удаленный доступ и LuCI.
- Перенос технических функций в «Эксперт».
Критерии готовности
- Оператор за 10 секунд понимает, какие объекты требуют внимания.
- Состояние объекта понятно без просмотра JSON и истории команд.
- LuCI открывается не более чем за два клика.
- Диагностика запускается не более чем за три клика.
- В обычном режиме нет raw UCI, произвольных команд и параметров туннеля.
- Опасные операции всегда требуют явного подтверждения.
- Интерфейс корректно работает на ширине 1366, 1920 и на мобильном экране.
- Нет случайного горизонтального скролла, наложений и обрезанного текста.
- Ошибки API отображаются понятно и позволяют раскрыть технические детали.