Привет, Хабр! Сразу расставлю точки над «i»: я не программист. По образованию я компьютерщик (первый диплом «Компьютерные сети») и специалист по прикладной информатике (диплом в вузе вообще был по автоматизации на 1С).
Работаю системным администратором: начинала в небольшой провинциальной компании, где ты многорукий Шива, сейчас администрирую в компании покрупнее, и нас таких многоруких уже двое. Как устроены компьютеры, сети, операционные системы и железо — я понимаю в теории и на практике. Но мобильные приложения (да и десктопные) на Flutter и Dart никогда раньше не делала. Максимум — скрипты на Python и PowerShell для решения прикладных задач.
Этот пост — история о наболевшей сисадминской рутине, долгой упорной сборке по вечерам и тренажёре‑симуляторе «Проводник», который на днях вышел в RuStore. Сразу предупрежу: описание получилось подробным. За полгода работы над проектом мне стало казаться важным буквально всё, поэтому выделить главное оказалось неожиданно сложно.
В офисе сисадмин ближе всего к людям. Ты можешь бесконечно настраивать отказоустойчивые бэкапы, связь между офисами и права доступа на серверах, но для коллег твоя работа выглядит иначе: когда у кого‑то «пропал интернет», отошел кабель от системника или «исчез документ», бегут лично к тебе. С годами вырабатывается профессиональное наблюдение: техника сама по себе сбоит не так уж часто. Намного чаще людей охватывает ступор.
Ступор перед словом «Ошибка»: Посреди экрана выскакивает стандартное предупреждение: «Введите дату в формате ДД.ММ.ГГГГ». Человек даже не пытается прочитать текст. Мозг блокируется незнакомым окном, руки опускаются: «Оно сломалось, сделайте что‑нибудь!».
Архивный бермудский треугольник: Человек получает по почте
.zip, дважды кликает по вложенному файлу, полдня вносит правки в таблицу, жмет «Сохранить», закрывает… а назавтра в слезах: «Куда пропал отчет?!». А документ остался во временной системной папке Temp, которую Windows благополучно вычистила. Объяснить на словах, почему архив — это сжатая коробка, а не обычная папка, получается далеко не с первого раза.Страх нажать «не туда»: На рабочем компьютере крутятся важные файлы, 1С, клиент‑банки. Пользователь панически боится тыкать в кнопки: «А вдруг я сейчас нажму правой кнопкой мыши и всё сломаю?».
Главная идея проекта очень простая: большинство людей учатся работать за компьютером либо методом проб и ошибок на рабочем месте, либо по видеоурокам. Симулятор позволяет ошибаться безопасно и сразу видеть последствия своих действий, не рискуя реальными файлами, настройками системы и рабочими документами.

Как устроен симулятор изнутри: честная виртуальная система
Чтобы симулятор действительно учил, а не водил пользователя «по рельсам», пришлось с нуля воссоздать в памяти логику операционной системы:
Компонент |
Что внутри |
Оболочка обучения |
Курсы, квесты ситуаций, квизы, профиль, магазин тем |
Ядро симулятора |
Виртуальная файловая система, системные события, оконный менеджер (перетаскивание, фокус), подсказки |
Окружения рабочего стола |
Эмуляция интерфейсов Windows 11, Windows 10 и Astra Linux |
Экосистема программ |
20+ утилит: проводник, браузер со сценариями, диспетчер задач, параметры, терминал, офис, антивирус, периферия |
Интерактивные мини‑игры |
Детектор фишинга, кабели ПК, сортировка файлов, спринт горячих клавиш |

Честная файловая система в памяти
В оперативной памяти крутится реальная структура файлов:
Диски и пути: Для Windows поддерживаются диски
C:\,D:\, папки «Рабочий стол», «Документы», «Загрузки». Для Astra Linux — домашний каталог/home/user.Файлы и расширения: У каждого файла есть имя, размер и расширение (
.docx,.xlsx,.zip,.exe,.pdf,.txt,.mp3). Если стереть расширение.docx, файл честно теряет привязку к программе, а симулятор наглядно показывает, почему он перестал открываться.Полноценная Корзина: При удалении файлы перемещаются в Корзину с сохранением исходного пути. Их можно восстановить на прежнее место или очистить Корзину насовсем.
Архивация ZIP: Можно нажать правой кнопкой по папке, выбрать «Сжать в ZIP‑архив», а затем реально распаковать его в обычную директорию.
Окна и рабочий стол
Любое окно свободно перетаскивается пальцем за заголовок, сворачивается в панель задач, разворачивается и закрывается.
Нажатие на фоновое окно выдвигает его на передний план.
Полноценная панель задач с запущенными приложениями, часами, регулятором громкости, переключением языка (RU/EN) и меню «Пуск».
Окна подтверждения прав администратора (UAC) с затемнением экрана — чтобы приучить человека читать, что именно пытается запуститься в системе.

Программы: здесь не только проводник
В симуляторе воссоздано более 20 утилит, с которыми офисный сотрудник сталкивается каждый день:
Проводник (File Explorer): Настоящий файловый менеджер. Хлебные крошки в адресной строке (
Этот компьютер > Диск C > Документы), смена вида (плитка или таблица со свойствами), контекстное меню («Создать папку», «Переименовать», «Копировать», «Вставить», «Свойства»), поиск файлов по названию. Поддерживает также сетевые папки.Диспетчер задач: Разделен на вкладки «Процессы» и «Автозагрузка». Процессы симулируют нагрузку на процессор и память. В уроках нужно найти зависшую программу со статусом «Не отвечает» и снять задачу (не задев системные службы), а также отключить лишнее из автозагрузки для ускорения старта ПК.
-
Параметры Windows / Панель управления Astra Linux:
Вкладка «Память» — поиск временных файлов и штатная очистка диска вместо опасного ручного удаления системных папок.
Вкладка «Приложения» — корректное удаление программ через деинсталлятор вместо перетаскивания ярлыка в корзину.
«Центр обновления» — проверка обновлений, загрузка KB‑пакетов и штатный перезапуск системы.
-
Офисный пакет и просмотрщики:
Блокнот: редактирование текста, меню «Файл > Сохранить как...», выбор кодировок и ассоциации файлов.
Office Writer: симулятор текстового редактора для документов
.doc,.docxи.odt.Таблицы: просмотр и проверка табличных файлов
.xlsxи.csv.Просмотр PDF: открытие договоров, счетов и официальных бланков.
Графика: просмотр фото и редактор Paint.
Антивирус («Антивирус РФ»): Программа с кнопкой полного сканирования, бегущей полосой проверки файлов виртуального диска, отчетом о найденных подозрительных
.exeи возможностью отправить их в карантин или удалить.-
Офисная периферия:
Очередь печати: окно принтера, где зависает поврежденный документ и блокирует печать всей компании (учимся очищать очередь).
Сканирование: интерфейс сканера с предпросмотром документа и сохранением в систему.
Командная строка и Linux‑терминал: Для уроков по отечественной Astra Linux. Поддерживает ввод консольных команд:
ls,cd,dir,cat,mkdir,rm,ping, вызов справки и запуск черезsudo.Установщики программ: Пошаговые мастера установки (
.exe, пакеты.msiи.debдля Linux) с лицензионными соглашениями, выбором папки и окнами контроля учетных записей (UAC).Калькулятор и медиаплеер: Для воспроизведения звуковых файлов и базовых расчетов.
Виртуальный браузер со сценариями из жизни
Браузер — главная точка входа для мошенников и вирусов, поэтому ему уделено особое внимание. Это изолированный эмулятор со всей привычной начинкой:
Интерфейс: Вкладки (открытие, закрытие, переключение), адресная строка с индикатором безопасности (замочек HTTPS), кнопки навигации («Назад / Вперед / Обновить»), закладки и режим «Инкогнито».
Служебные разделы: История просмотров (с кнопкой очистки), менеджер сохраненных паролей, список загрузок и настройки.
Встроенный поисковик: Учебный поиск, который процедурно генерирует списки сайтов и краткие ответы под запросы.
-
Интерактивные учебные сайты и сервисы:
Почтовый клиент: Письма от коллег, спам‑рассылки о «выигрышах 500 000 рублей», фальшивые акты сверки со вложенными вирусами
Счет_на_оплату.exe. Учимся распознавать подвох и отправлять письма в Спам.Портал Госуслуг.
Энциклопедия (Википедия) и социальная сеть «ВОбщении».
Фейковые интернет‑магазины.
Ловушки с подписками.
Симуляция работы сетевой карты и сетевых возможностей ОС
В симуляторе реализована полноценная модель сетевой карты и сетевого адаптера, позволяющая гибко управлять параметрами подключения виртуального ПК: вручную задавать IP‑адрес, маску подсети, основной шлюз и предпочитаемый DNS‑сервер.
Система поддерживает реалистичную модель сетевой адресации как по прямым IP‑адресам, так и по доменным именам и именам хостов. Благодаря этому пользователи могут на практике отрабатывать диагностику и настройку сети, разрешение имен через DNS, подключение к сетевым папкам и взаимодействие с другими узлами точно так же, как в настоящей операционной системе.
«Сценарии реальных ситуаций»: спасаем коллег от паники
В приложении есть режим «Практические ситуации» — сюжетные квесты с жизненными офисными героями, например:
«Порядок на столе» (Менеджер Олег): На рабочем столе каша из отчетов за разные месяцы и картинок с котиками. Создаем структуру папок, наводим порядок и удаляем мусор.
«Случайное удаление» (Стажёр Алексей): Паника: «Шеф меня убьет, я стёр договор!». Задача — зайти в Корзину, спасти нужный документ и очистить Корзину от остального мусора (а если случайно очистить Корзину вместе с договором — симулятор вовремя остановит).
«Файлы для налоговой» (Главбух Марина): Подключить флешку, упаковать отчетность в ZIP‑архив, скопировать на накопитель и безопасно извлечь флешку.
«Странный рецепт» (Дедушка Иван): Прислали файл без расширения (
.abc). Учимся смотреть свойства файла и открывать его через «Открыть с помощью...» в Блокноте.«Завис фотоальбом» (Архивариус Анна): Программа зависла со статусом «Не отвечает». Задача — открыть Диспетчер задач и снять только зависшее приложение, не уронив систему.
Магазин обоев и тем оформления
За прохождение уроков и квестов начисляются внутриигровые монеты. Их можно потратить во встроенном Магазине оформления:
Темы оформления окон: Полностью меняют внешний вид системы (шапки окон, цвет панелей, скругления, рамки и подсветку):
Обои рабочего стола.
Все темы и обои открываются исключительно за заработанные монеты внутри приложения. Никаких обязательных реальных платежей нет.
Как я это собирала: нейросети как напарник и бесконечные тесты
Так как мобильные приложения я раньше никогда не делала, разработку вела в связке с нейросетями (в основном писала запросы в DeepSeek и Gemini). Но хочу сразу развеять иллюзию про «нажала кнопку — нейросеть сделала готовое приложение»:
Нейросеть не понимает сути за вас: Если просто попросить её «сделай симулятор ПК», получится нерабочая пустышка. Мне приходилось детально продумывать каждый шаг: как должна вести себя система при клике на файл, какие параметры передавать при перетаскивании окна, как реагировать на отключение флешки.
Метод проб и ошибок: Я описывала задачу обычными словами, забирала код, собирала проект на телефоне, находила баги (например: окно свернули, а клики сквозь него все равно нажимаются на рабочем столе), возвращалась с текстом ошибки и просила переписать конкретный кусок.
Бесконечное ручное тестирование: 95% каждого сценария, кнопки и меню я сотни раз протыкала пальцем на своих устройствах. На всё ушло около полугода (и это только начало).
Мой сисадминский опыт очень помог: мне не нужно было объяснять самой себе, что такое дерево каталогов, процессы, порты, сетевые папки или права доступа. Я четко понимала, какой результат должен получиться, а нейросети помогли быстро получить рабочий код без многолетнего изучения нового фреймворка.
Что есть сейчас и что дальше
В приложении уже доступно:
-
3 курса:
Файловые системы (30 уроков: от файлов и папок до прав и архивов).
Безопасность и интернет (15 уроков: фишинг, спам, надежные пароли).
-
Скорая помощь ПК (15 уроков: диспетчер задач, автозагрузка, очистка диска, обновления).
В ближайшем обновлении появятся курсы для начала работы с отечественными Linux для новичков, объясняющими отличия от привычной Windows и базовой работы с ними. В будущем курсы будут появляться и более продвинутые.
Свободный режим с чистыми рабочими столами подобными Windows 10, Windows 11 и Astra Linux.
Практические ситуации с офисными героями.
4 мини‑игры: проверка писем на фишинг, подключение проводов к системному блоку, сортировка файлов на скорость и спринт горячих клавиш.

Нужен ваш краш‑тест!
Приложение полностью бесплатное и уже доступно в каталоге.
? Ссылка на «Проводник» в RuStore: https://www.rustore.ru/catalog/app/ru.provodnik.app
Огромная просьба:
Напишите, какие у вас есть предложения и замечания, может просто вопросы по архитектуре.
Покажите тем, кто боится техники: Если у вас на работе есть начинающие коллеги, а дома — родители, бабушки или дети, дайте им немного попробовать Проводник. Посмотрите со стороны: где они спотыкаются? Что вызывает трудности?
Напишите в комментариях: С какими еще типичными проблемами и курьезными ошибками пользователей вы сталкиваетесь на работе? Буду рада добавить новые сценарии в обновления!
P. S. В первый раз пишу статью. Извините за примитивное оформление. Я старалась)
Комментарии (58)

Geek_mushroom
14.09.2026 17:58Идея отличная, у меня у самого постоянная боль с объяснением пользователям базы

MirJoui
14.09.2026 17:58Доступность только в РуСтор это уже довольно сильная преграда на самом деле, особенно для вашей целевой аудитории... далеко не у всех он есть, а поставить его сейчас можно только скачав пакет с оф.сайта
Второе, что бросилось в глаза, это то что предлагается учиться пользоваться десктопным интерфейсом с помощью сенсорного экрана, боюсь что это, мягко говоря, не эффективно.
Третье. Нет четких уровней или какого-то первичного тестирования и/или анкетирования.
У Вас намешано все подряд от сортировки файлов по папкам, до терминала. Разброс настолько большой что нужно что-то что явно проведет пользователя за ручку к интересным ему темамЧетвертое. Формат: текст + тест. Мое мнение что это худшее что можно придумать для самообразования. Для такого формата нужно очень много мотивации по сравнению с другими.
Сам проект интересный. Стоит подумать над доступностью и пользовательским опытом.
Возможно добавить web-версию и больше геймификации
sonikdixi Автор
14.09.2026 17:58Спасибо за развёрнутый отзыв!
RuStore пока выбран просто как доступная площадка для тестов и обкатки идеи. Выходить сразу в Google Play или поднимать веб‑версию — для меня одной пока накладно по силам и ресурсам. Если увижу, что проект действительно интересен людям и есть смысл двигаться дальше, обязательно займусь и остальными платформами.
Понимаю, что учиться десктопу на сенсорном экране — опыт довольно специфический. Но я знаю немало людей, у которых компьютера просто нет, поэтому очень хотелось сделать так, чтобы пощупать работу с окнами и файлами можно было прямо со смартфона или планшета. Без необходимости ставить тяжёлые виртуальные машины или оплачивать облачные сервисы. Получилось, может, и не идеально, но вполне удобно и работоспособно.
Что касается тестирования: входной анкеты на определение уровня знаний действительно пока нет. Дело в том, что текущие курсы рассчитаны на совсем новичков — пользователя буквально за ручку ведут по базовым вещам. Возможности симулятора сейчас в принципе сильно обгоняют сложность заданий: там уже есть рабочий стол, окна, файлы, браузер и даже терминал (базовые команды вроде
pwdиlsуже есть в уроках по Linux, но до полноценного обучения консоли ещё далеко).Геймификацию тоже старалась сделать не для галочки — вплоть до тем оформления окон и обоев для виртуального рабочего стола. За прохождение начисляются монетки и сердечки: они нужны для доступа к урокам и для той самой кастомизации своего экрана в симуляторе.
В статье я описала проект очень сжато, а за время долгой разработки глаз у меня конечно замылился. Ещё раз спасибо за обзор!)

cher11
14.09.2026 17:58Так в том-то и дело. Если у пользователя нет компьютера, для чего ему учиться с ним работать с телефона? Причем в не самом удобном виде, когда нет мыши и маленький экран?
На самом деле десктопная веб версия очень даже напрашивается. Буквально "прошел урок - сразу попробовал на своей системе". Ну и с LLM её сделать куууда проще, чем было раньше :)

kAIST
14.09.2026 17:58Лет 15-20 назад компьютеры и ноутбуки у обычных средних людей, были чаще чем сейчас. Потому что не было смартфонов, а пользоваться интернетом хотелось. Интернет, это не совсем прям интернет, а буквально 3-5 сайтов (а для кого то вообще один), в основном это почта и соц сети.
Сейчас, это делают смартфоны, которые есть практически у всех, и ноут/ПК уже в принципе не нужен. И целое поколение уже растет, которые не пользовались толком ПК.

sonikdixi Автор
14.09.2026 17:58По поводу «зачем учиться без компьютера»: на учёбе или при устройстве практически на любую работу базовую компьютерную грамотность требуют сразу. И человеку нужно где-то заранее набить руку и понять сами принципы.
На смартфоне это выглядит специфично только на словах: интерфейс симулятора специально адаптировался под управление пальцем и крупные элементы, чтобы было удобно попадать без мышки.
А вот насчёт «пробовать сразу на своей системе» — в корне не согласна, и тут мой опыт говорит об обратном. Главный барьер у новичков — это «а вдруг я сейчас всё удалю или сломаю?». На живом компьютере они боятся лишний раз кликнуть и вернуть систему в исходное состояние точно не смогут (тут могу только просить поверить на слово). Симулятор как раз и задумывался как безопасная песочница: здесь можно смело ошибаться, всё удалять, пробовать заново — и ничего не сломается.
Про десктопную/веб-версию вы правы, она логична, и проекте она есть (я почему и выложила в статью дизайн только десктопа - он несравнимо гармоничнее выглядит). На её публикацию мне надо дозреть как минимум технически. А LLM действительно очень выручают и ускоряют — в одиночку поднять такой проект с нуля раньше было бы почти нереально, наверное, тем более не программисту.

MirJoui
14.09.2026 17:58Понимаю, что учиться десктопу на сенсорном экране — опыт довольно специфический.
Значительная часть обучалок нацелены прям на совсем неопытных пользователей. Таким нужно нажимать кнопки.
Что касается тестирования: входной анкеты на определение уровня знаний действительно пока нет. Дело в том, что текущие курсы рассчитаны на совсем новичков — пользователя буквально за ручку ведут по базовым вещам.
При этом Вы целитесь сразу в несколько ОС и затрагиваете терминал и установку программ... все же стоит спросить пользователя зачем он тут и чего хочет.
За прохождение начисляются монетки и сердечки: они нужны для доступа к урокам
Звучит как еще одно препятствие для пользователя. Есть ли возможность сразу перейти к интересующей теме?
Под геймификацией имел в виду большую итеративность, что-то что разбавит текст/тестовые блоки, и некую систему мотивации. Мне кажется что Вашей аудитории понравятся сертификаты или что-то в этом духе, просто дать возможность вывести что-то вроде "Пройден курс: N, ИМЯ, Дата" в красивой рамочке, но лучше подсмотреть у коллег из геймдейва, там уже все придумано и посчитано

Akina
14.09.2026 17:58"Пастернака не читал, но осуждаю". Вернее, не смотрел саму обучалку и ориентировался только на описание в статье. Но уже вижу то, что считаю очень серьёзным недостатком. Нет системы. Вообще нет, и даже не планировалось. Есть тупое натаскивание на "раздражитель - ответ". Для обезьяны сойдёт - но ей-то будут подсовывать изученные ситуации, в крайнем случае ну очень слегка модифицированные. А вот для компьютерной грамотности, пусть и минимальной, уже маловато. Как я понял из прочтения, есть только "что", но нет "почему именно так, а не иначе". Может, ошибаюсь. Надеюсь, что ошибаюсь. Но если не объяснить ламеру до понимания печёнкой, например, что такое диск, каталог и файл, чем файл отличается от папки, обычная папка от сжатой, расширение файла от типа файла и т.п. - толку не ждите. Дрессировка не переходит в эволюцию, и переход количества в качество тут не работает.

sonikdixi Автор
14.09.2026 17:58Вы надеялись, что ошибаетесь — и тут как раз тот случай, когда вы действительно ошиблись, чему я только рада! :)
Всё, что вы перечислили, — это буквально оглавление моего базового курса «Основы файловых систем» (там 30 уроков):
Уроки 1 и 2: Что такое файл и что такое папка (в чём фундаментальная разница).
Уроки 4 и 8: Дерево каталогов, логика дисков и что такое путь (адрес) к файлу.
Уроки 11–13: Из чего состоит имя файла, что такое расширение, почему оно определяет тип файла и почему значки у них разные.
Уроки 20–23: Что физически происходит с данными в буфере обмена при копировании, перемещении и почему файл остаётся на месте при записи на флешку.
Урок 25: Что такое архив (ZIP/RAR) и чем сжатая папка отличается от обычной.
И логика каждого урока как раз строится от понимания сути:
Сначала теория на простых понятных аналогиях;
Затем вопросы на понимание смысла, а не заучивание;
И только в конце — интерактивная практика в симуляторе, которая поможет закрепить прочитанное.
Вероятно, моя главная ошибка в статье была в том, что я увлеклась описанием технической части и совсем не уделила внимания методологии и содержанию самих курсов. Из-за этого и сложилось впечатление полной отсутствии системы.
Спасибо что прочитали мою статью, первая всё же, волнуюсь)

TheOldGrouch
14.09.2026 17:58Так и не надо. Я за свои 20+ лет в техподдержке таких обезьян в роли пользователя видел предостаточно. Их catchphrase - “Я ж вас не учу делать мою работу, вот и вы меня не учите делать вашу, а просто сделайте (что-то за меня, потому что мне лень)”. Дрессировка? Ме густа.

Akina
14.09.2026 17:58Их catchphrase - “Я ж вас не учу делать мою работу, вот и вы меня не учите делать вашу, а просто сделайте (что-то за меня, потому что мне лень)”.
- Компьютер - это же обычный рабочий инструмент, да?
- Да.
- А сколько ты в день работаешь за компьютером?
- 2 часа (4 часа, 6 часов, весь день).
- То есть в принципе можно сказать, что компьютер - это твой основной рабочий инструмент, так?
- Ну... так.
- А вот теперь скажи ты мне - какое первое слово приходит на ум о работнике, который не знает и не желает знать основ работы со своим основным рабочим инструментом? По-моему, тут самое подходящее слово - профнепригодность.
- Э-э-э...

sonikdixi Автор
14.09.2026 17:58Сложно не согласиться. Не просим ведь сеть настраивать самим - базу хоть бы...

MkIV007
14.09.2026 17:58"- А вот теперь скажи ты мне - какое первое слово приходит на ум о работнике, который не знает и не желает знать основ работы со своим основным рабочим инструментом? " - диалоги из розовых снов о мире радужных пони :). В реальности все будет иначе (35 лет стаж в айтишечеке, сколько то там сисадминил тоже, не помню точно :) ).

Okeu
14.09.2026 17:58Как минимум профнепригодность айтишника, если задает такие вопросы пользакам)
Причем сам видел, как такие оскорбленные айтишники потом сами мозг полоскали смежным отделам - "сделайте как я хочу, меня не интересует как, это не моя работа") такая вот взаимоненависть)

Akina
14.09.2026 17:58В реальности бывает и так, и эдак. Но личный опыт (у меня он всего на два года меньше) показывает, что густота "я не обязан" и "сделайте за меня" после подобных диалогов сильно снижается, а какие-то простые действия - запоминаются, наконец. А однажды (правда, тому уже лет двадцать как) это даже сподвигло руководителя (случайно услыхавшего и ситуацию до, и сам диалог) отправить весь отдел на курсы начальной компьютерной грамотности.

TheOldGrouch
14.09.2026 17:58А потом звонит начальник, и говорит, на тебя директор Филиала/предприятия/начальник департамента etc жалуется, что ты его людям хамишь.

Yrninibg
14.09.2026 17:58Часто достаточно один раз подготовить короткую видеоинструкцию и скидывать ссылку в ответ на каждый подобный тикет. Через неделю поток типовых вопросов по сохранению файлов заметно иссякает

mazagama
14.09.2026 17:58Меня начали ненавидеть после ответа: "Вот только я смогу делать вашу работу, а вы мою — нет".

annaprocofevaa
14.09.2026 17:58Идея классная, но я бы ещё добавила режим вообще без подсказок

sonikdixi Автор
14.09.2026 17:58Спасибо за идею. А вы это видите как способ слегка усложнить прохождение для лучшего закрепления или они просто мешают?

mankovsky
14.09.2026 17:58Самая сильная часть проекта - вы сделали не набор кликабельных макетов, а модель файловой системы и окон. Благодаря этому пользователь может ошибаться за пределами заранее прописанного маршрута и видеть последствия своих действий.
Но здесь появляется непростая задача: состояние симулятора нужно сохранять между запусками и переносить через обновления приложения. Если пользователь переименовал, переместил или удалил объекты, а новая версия изменила исходный сценарий, обычная сериализация всего дерева может оставить несовместимое состояние.
Я бы хранил версию базового снимка и журнал пользовательских команд: create, move, rename, delete. После каждой операции можно проверять инварианты, а при сбое - воспроизвести последовательность действий или вернуть урок к контрольной точке. Это также сильно упростит поиск редких ошибок, которые сложно повторить вручную.
Как сейчас устроены сохранение и миграция виртуальной файловой системы между версиями приложения? Есть ли тесты на длинные цепочки операций, а не только ручная проверка отдельных экранов?

sonikdixi Автор
14.09.2026 17:58Спасибо за комментарий и за идею с журналом действий. Мысль интересная, я задумалась о том чтобы внедрить.
Отвечаю на ваши вопросы:
Сейчас дерево файлов сохраняется в локальный JSON. При запуске новой версии приложение берет два слепка: сохраненный файл пользователя и свежую эталонную систему из обновления и построчно их сопоставляет:
-
Как система сравнивает старое и новое:
По папкам: если в обновлении появились новые директории (например, для новой программы или утилиты), которых у пользователя на диске вообще не было — они добавляются целиком со всем содержимым.
-
По файлам внутри папок: система сверяет элементы по их внутренним ID и именам. Если она видит, что в обновлении в папку положили новую программу, ярлык или системный компонент, а у пользователя его нет — она аккуратно дописывает его в список этой папки. Всё, что создал, переместил или переименовал сам пользователь, при этом не затирается и остается на своих местах.
(Это касается песочницы, в уроках устроено иначе. В уроках намеренно не сохраняется состояние ФС, а при попытке выйти из урока будет предупреждение об утере прогресса. Мы сохраняем информацию о том, пройден ли урок. Это в случае моего проекта абсолютно допустимо, так как уроки очень маленькие и за 1 раз заданий много не бывает)
-
Как исправляются несоответствия и ошибки:
Если в старом сохранении какой-то объект повредился или записался с ошибкой, приложение просто пропускает эту запись, а не падает с ошибкой.
После слияния система автоматически «пересобирает» дерево связей (родительские и дочерние папки), чтобы ни один файл или ярлык не завис в воздухе без своей папки.
На случай обрыва записи всегда держится резервная копия (
.bak), из которой можно восстановить рабочее состояние, если основной файл поврежден.
Есть ли тесты на длинные цепочки операций
Если совсем честно — всё время разработки я абсолютно всё проверяла исключительно руками: садилась и прокликивала разные сценарии, намеренно путала действия и смотрела, что будет. Самое сложное кстати не создать саму ФС и её сохранения - самое сложное это сделать валидацию того, что в уроке ученик сделал именно то что я его попросила. Например, последней проблемой было сделать так, чтобы создание ярлыка на папку ученику засчитывалось при любом названии ярлыка, главное - на что ссылка.
Только ближе к концу я попросила ИИ написать мне автотесты. В итоге он нагенерировал больше 200 тестов, в том числе как раз на цепочки операций: создать - дать такое же имя - переименовать - удалить в корзину - восстановить - скопировать, а также на сбои при удалении системных файлов. Но чего он там внутри накрутил — я толком и не проверяла, поэтому постоянно по привычке иду и проверяю всё руками)
-

prosto_van
14.09.2026 17:58Жесть какая, сумулятор винды чтобы пользователи не боялись садиться за компьютер. Как же это заморочиться надо было, вау)) Сис админщик как учитель для детей))

sonikdixi Автор
14.09.2026 17:58Даааа)
В реальности с пользователями действительно ощущаешь иногда себя как с детьми. Быть может, что в крупных компаниях со штатом ИТ всё иначе - я пока не видела)
Okeu
14.09.2026 17:58в крупных компаниях наоборот. Там обычно некогда этим заниматься и процессы выстроены как конвеер. Поэтому техподы - сами как дети, и обычно имеют соответствующую квалификацию)
А то и вообще бывают, что все как дети, если смотреть со стороны своего отдела) ИБшники, девопсы, разрабы - все дети, севшие в лужу, и "без меня ничего не могут")))

MkIV007
14.09.2026 17:58в твитере как то видел обсуждение японских зумеров о том, что именно изображает пиктограмма дискетки :). Вот это была реальная жесть :) :) :)

DjTosh
14.09.2026 17:58О как звезды сошлись, как раз искал что то подобное что бы обучить учетелей 50+, Курс по Астра ОС прям выручил, если добавите Alt Linux цены этому приложению не будет! И хотелось конечно Windows или Linux версию. А так просто супер!

VV579
14.09.2026 17:58А есть какие то кейсы удачного применения ? При всем искреннем уважении к вашему труду я не верю в хоть какую то реальную эффективность этого тренажера. Дело в том что способным и хоть как то желающим обучаться этот тренажер не нужен - у них есть все возможности и так разобраться с этой элементарщиной. Сейчас не середина 90х годов, когда пользователь мог увидеть в первый раз компьютер в офисе. Реальная проблема вашей целевой группы не в том, что они "не умеют компьютер", а в том что им так удобнее жить. И так как "ой, я ничего не понимаю" приносит реальные выгоды - меньше ответственность, меньше работы, то считать что они "не понимают" потому что им доступно не объяснили - ошибочно. Они в реальности делают вид что "ничего не понимают" потому что это выгодно. В остальной жизни, где им приходится сталкиваться с умными бытовыми приборами внезапно оказывается, что они все понимают и отнюдь не зовут за деньги кого-то кто поможет им разобраться с каждым чихом.
Как правило вопрос "вас приняли на работу со знанием компьютера ? - да ? тогда пожалуйста сообщите своему руководителю что компьютер вы не знаете, пусть он вам поручит другое дело" оказывается на несколько порядков эффективнее. И файлы перестают "я делала, а ваш компьютер все стер" и шрифты становятся жирным и посередине без чужой помощи и документ оказывается умеем сканировать.
Но я не хотел бы чтобы мои рассуждения о применимости выглядели как "вы ерунду сделали ненужную". Нужную, во-первых это ваше развитие и интересное занятие, что всегда небесполезно, во-вторых может оказаться что такой тренажер полезен детям, которые уже ушли на "следующий уровень" и могут только в экран тыкать. Да и наверняка есть еще кейсы применимости. Повторюсь - с искреннем уважением к вашей работе и затраченому труду.
sonikdixi Автор
14.09.2026 17:58Спасибо за комментарий. Нет, кейсов пока нет — приложение увидело свет всего 5 дней назад. Во время разработки никто из ЦА его не видел.
Понятное дело, что всегда будут люди, которые сами не хотят. И также я прекрасно понимаю, что в офисах их едва ли не большинство. Но также видела и немало тех, кому искренне неудобно постоянно просить помощи на самые простые вопросы — они правда хотят разобраться.
Ну и насчёт поколения смартфонов — дети действительно всю цифровую жизнь проводят в них, а как доходит, например, до первого курса универа, то случается паника как положить задание выполненное в zip‑архив (что это такое?).
Проекту сейчас как раз предстоит собирать первую обратную связь и дорабатываться. Буду очень рада, если идея окажется действительно полезной. А если гипотеза где‑то не подтвердится — что ж... это нормально, буду корректировать направление и искать новые решения. Такие риски есть всегда.
VV579
14.09.2026 17:58Тогда выскажу несколько соображений по поводу методологии тренажера.
Не вводите системные действия типа диспетчера задач или очистки диска. Тот уровень пользователей на который вы целитесь не может выполнять такие операции. А если и возмется - скорее навредит. Не подсказывайте им как можно все поломать и сказать “а в вашем тренажере это было, вот я и …” и не объяснишь что было не совсем про это, и не так. 1-а. Удаление / установка программ примерно с такими же соображениями. Те пользователи которых вы обучаете - их дело “работать работу”, программы ставить им категорически не надо (и удалять тоже). Да и прав у них таких не должно быть.
Уберите провокационные названия типа “файлы в налоговую”, давайте более нейтральные названия “как передать кому то вашу работу / отчетность”. А то кто-то отнесет кашу в налоговую и скажет что “вот была инструкция про налоговую”.
Не пугайте людей консольными командами - они им не нужны. Все делается через GUI. Где они с консолью столкнутся - когда будут сами администрировать linux-сервер ? Возможно вам имеет смысл нарисовать образы (целевые группы) пользователей, и уже к ним делать тесты.

Yrninibg
14.09.2026 17:58Тут вопрос исключительно во внутренних регламентах компании. Если руководство позволяет сваливать базовые офисные задачи на техподдержку, никакие тренажеры поведение людей не изменят

leshchev-artem
14.09.2026 17:58Как вы намереваетесь справляться (или уже справляетесь) с нежеланием ваших коллег набивать руку после прохождения симулятора? Вот условная "специалист по закупкам Лена" прошла все уроки, в одно ухо влетело, в другое вылетело, случается рабочая проблема - она снова приходит к вам.
Людям намного проще все равно обратиться за решением к админу, чем после прохождения курса: анализировать рабочую проблему компьютерного характера; вспоминать что там было в уроке 17; пробовать; ошибаться, и, особенно, нести ответственность за ошибки, не связанные с его родом деятельности.

sonikdixi Автор
14.09.2026 17:58Своих пользователей я и без этого обучаю тех, кто хочет. А вот с другими, по ту сторону экрана, тут уж ответственность каждого за себя. Мой проект для тех, кто хочет сам(

Advisory
14.09.2026 17:58Восхищаюсь упорством и проделанным объемом работы! Собрать такую систему в одиночку, не будучи профессиональным разработчиком — это нечто.
Но попытка в одиночку имитировать поведения ОС которые огромные команды Microsoft и сообщества Linux разрабатывают десятилетиями, выглядит немного непрактично.
Написание собственного (стороннего) симулятора ОС, без сомнений, приведет к расхождениям с реальным поведением. Любая сторонняя, самописная симуляция неизбежно будет отличаться в поведении программ, контекстных меню, правах доступа и ассоциаций файлов. Человек будет учить поведение стороннего эмулятора, а в живой ОС, неожиданно для себя, наткнется на другое поведение или наступит на грабли.
Мне кажется, что Ваша главная находка и реальная ценность проекта — это геймификация и логика квестов. Эту сильную сторону имеет смысл отвязать от написания симуляторов.
Думаю, будет гораздо эффективнее сделать обучающую обертку над реальными средами: одноразовые песочницы (например, штатный Windows Sandbox, Docker-контейнеры с веб-VNC или преднастроенные снапшоты в виртуализации), которые можно ломать как угодно и сбрасывать в исходное состояние за пару секунд.
Даже для пользователей, у которых нет ПК и есть только смартфон/планшет, доступ к такой песочнице легко предоставляется через обычный браузер. А Ваш подход выступает всё в той же роли — раскидывает в реальной ОС нужные файлы, дает задание («распакуй архив в правильную папку») и проверяет результат простым скриптом прямо в реальной среде и файловой системе. Эти «уроки» легко автоматизировать такими же скриптами.
Так вы избавите себя от непосильной задачи имитировать поведение чужих ОС, высвободите собственные ресурсы на проработку заданий, а пользователи получат на 100% релевантный опыт работы с настоящим компьютером, без риска ему навредить.
А уж Вам-то, в роли администратора, поднять такую среду на корпоративных мощностях (для старта проекта) — задача вполне решаемая. А потом уже можно на VPS переехать, если пожелаете монетизировать свой продукт.

Yrninibg
14.09.2026 17:58Идея с Windows Sandbox хороша , пока у пользователя дома вообще есть этот самый десктоп, на смартфонах то реальную виндовую среду в контейнере просто так не запустишь

Advisory
14.09.2026 17:58Выглядит так, как будто вы только первую половину сообщения прочитали. Может вторую часть тоже осилите?

Ufo28
14.09.2026 17:58Нужен следующий уровень сложности, с TCP/IP, DNS, коммутацией, маршрутизацией и т.д.
Для тех, кто пришёл работать админом, но даже не отличает свитч от роутера (не знаю откуда их столько кругом)
sonikdixi Автор
14.09.2026 17:58С удовольствием буду делать такие курсы в будущем.
Ну откуда - из дома)) Надо же где-то научиться ахахах

Yrninibg
14.09.2026 17:58Главная беда с временными папками Temp обычно решается групповыми политиками или автоскриптом очистки, но когда пользователь часами правит документ прямо из архива, никакой софт не спасет от потерянных данных
Наглядный запрет на редактирование прямо в интерфейсе спас бы кучу нервов обеим сторонам

muxa_ru
14.09.2026 17:58«Введите дату в формате ДД.ММ.ГГГГ». Человек даже не пытается прочитать текст. Мозг блокируется незнакомым окном, руки опускаются
Потому что каждый из разработчиков констропыляет что-то своё и хрен разребёшь, надо ли там набирать, надо ли там удалять набранное, надо ли там мышкой кликать.
Объяснить на словах, почему архив — это сжатая коробка, а не обычная папка, получается далеко не с первого раза.
А не надо этого объяснять. Надо просто не делать дурацкого функционала "работать с архивом как с папкой"
Пользователь панически боится тыкать в кнопки: «А вдруг я сейчас нажму правой кнопкой мыши и всё сломаю?».
Это не страх, а здравый смысл.
Потому что неизвестно каких именно чудовищ родил сун разума разработчиков. Ты куда-то нажмёшь, а тебе скажут., что нажатие на крестик является выражением согласия на платную подписку. Или вместо файла сделают какую-то сжатую псевдо папку с непредсказуемым поведением.

ts347
14.09.2026 17:58Это не оправдывает нежелания хотя бы блин прочитать, что́ написано в сообщении об ошибке.
У меня была коллега, у которой файл исчезал при попытке открыть его. Из папки исчезал, вордовский файл. А происходило следующее. Делается двойной клик мышкой на файл, во время которого мышь сдвигается, и кнопка отпускается уже над лежащей рядом папкой, куда и перекидывается злополучный файл. Тоже, видимо, дурацкий функционал, которого не надо было делать.
Неопытный пользователь, на самом деле, страшная вещь.

muxa_ru
14.09.2026 17:58Это не оправдывает нежелания хотя бы блин прочитать, что́ написано в сообщении об ошибке.
А эти сообщения есть?
Неопытный пользователь, на самом деле, страшная вещь.
Так может начать делать простые унифицированные интерфейсы, без "dark patterns" и самовыражения со стороны разработчиков?
Вот реально, одно из первых дел, которое я делаю в свежей Винде, это установка какого-нибудь архиватора, который заблокирует идиотию со сжатыми папками.

ts347
14.09.2026 17:58Когда есть, всё равно не читают. Просто «не работает» и всё. Как здесь помогут «унифицированные интерфейсы»? (И что это?) Для некоторых людей любой паттерн будет темным.
Что касается редактирования в архиве, все известные мне программы при сохранении файла из темпа выводят диалог выбора папки, в котором довольно ясно видно, что файл в темпе и нужно выбрать другую папку. Что плавно возвращает нас к исходной проблеме — «не читают-с».

muxa_ru
14.09.2026 17:58Когда есть, всё равно не читают.
А Вы их читаете? А все? У меня есть хобби - изучение это хрени. И у меня есть опыт в пользовании компьютером в десятки лет.
В результате, я просто перестал кликать по причине "посмотреть что там", потому что уведомлений, предупреждений, сообщений об ошибках на все интерфейсы у разработчиков явно не хватает, а там где они есть, не факт что описание будет соответствовать функционалу.
Как здесь помогут «унифицированные интерфейсы»? (И что это?)
Например, например, интерфейс созданный стандартными средствами винды, а не индивидуальное рисованное меню с красотами.
в котором довольно ясно видно, что файл в темпе и нужно выбрать другую папку
А Вы не могли бы описать последовательность действий, при которой я могу воспроизвести эту проблему?

ts347
14.09.2026 17:58Какую проблему? Проблемы как раз нет. Создаете файл Word, например. Отправляете его в «сжатую zip-папку». Открываете архив (открывается в Проводнике), открываете файл. Редактируете. Нажимаете Ctrl+S. В обычной ситуации файл бы молча сохранился в текущей папке, но в данном случае откроется диалог выбора папки, потому что файл во временной папке и винда пометила его как ридонли.
Если открывать архив в Total Commander, при сохранении файла он молча сохранится во временной папке. Но затем сам TC выведет сообщение об упаковке измененного файла в архив. Другое поведение, но тоже не фатальное.
Случаев, когда файл молча сохранился в темпе и винда его потом почистила — я не встречал.
Вы куда-то отклоняетесь от первоначальной темы. Я про чудацкие интерфейсы ничего не говорил, они действительно порой способны удивить кого угодно, но это же другое.

muxa_ru
14.09.2026 17:58Отправляете его в «сжатую zip-папку».
Просто архив подойдёт?
Вы куда-то отклоняетесь от первоначальной темы. Я про чудацкие интерфейсы ничего не говорил, они действительно порой способны удивить кого угодно, но это же другое.
Хм. Ваше первое сообщение в этой ветке началось словами "Это не оправдывает нежелания хотя бы блин прочитать, что́ написано в сообщении об ошибке. " - это именно про интерфейс.

muxa_ru
14.09.2026 17:58Эта тема достойна отдельного обсуждения
А происходило следующее. Делается двойной клик мышкой на файл, во время которого мышь сдвигается, и кнопка отпускается уже над лежащей рядом папкой, куда и перекидывается злополучный файл. Тоже, видимо, дурацкий функционал, которого не надо было делать.
Смотрите.
Перетаскивание мышкой это набор событий "нажатие кнопки мышки с удержание" + "перетаскивание"
Двойной клик это набор из двух комбинированных событий "нажатие кнопки мышки с последующим отпусканием", между которыми проходит мало времени.
Если между двумя кликами проходит много времени, то включается режим переименования.
Так вот, если система активирует необходимое для перетаскивания "удержание", не убедившись что имел место не даблклик, то это криво настроенная система.
Я сталкивался с описанным Вами явлением. Глубоко не копал, но у меня сложилось впечатление, что перетаскивание происходит в ситуации, когда мышка начала двигаться после даблклика. Очень похоже, что там были какие-то тормоза с обработкой событий.
А ещё я с подобным сталкиваюсь на тачпаде, где нет эксклюзивной области под кнопки - и когда я жму туда где должна быть правая кнопка, тачпад трактует это как движение пальцем по поверхности. Ну просто потому, что я реальный человек с реальными пальцами, которые прилегают к поверхности тачпада не точечно и не идеально. И реальный пальцы тачпад начинает трактовать как движение или даблклики.
Вам очень нравится думать, что есть какие-то тупые пользователи, на фоне которых Вы выигрышно выглядите. Попробуйте для развлечения понаблюдать за реальными проблемами. Поизучать. Возможно, дело действительно не в пользователях, а в том, что функционал либо идиотский, либо криво реализован.

ts347
14.09.2026 17:58Вы слишком глубоко копаете. В том случае пользователь реально двигал мышь во время клика. Представьте себе, такие бывают. А еще бывают, которые случайно нажимают F11 в браузере и больше ничего не могут сделать, потому что больше некуда нажимать, а куда до этого нажали, не помнят.
Существование реальных проблем не отменяет существования
тупыхнеопытных пользователей. Которых я бы еще поделил на тех, кто просто неопытный, и тех, кто не хочет или не может учиться. Да, сейчас я опытный пользователь, но ведь я не родился таким. Когда-то и я не понимал, что означает то или иное сообщение об ошибке (и погуглить, в отличие, было нельзя, потому что не было гугла), случайно нажимал F11 в браузере, случайно удалял файлы... чего только не было. И как-то прошло всё это. Видимо, я все-таки смотрел, куда нажимаю, пытался понять сообщения об ошибках или во всяком случае... м... читал их.P.S. Можно возразить, дескать, мы, миллениалы, выросли на компьютерах, поэтому хорошо в них разбираемся. Это действительно так, у меня хорошо получается пользоваться виндой и довольно плохо — андроидом. Недавно меня научили запускать камеру двойным нажатием кнопки питания... я, в свою очередь, учу молодежь пользоваться контролом и шифтом при работе с текстом. А вот как открывать архив своих историй в приложении соцсети, я пока так и не запомнил. И тем не менее, даже на новой для меня, непонятной и непривычной системе у меня почему-то не возникает ситуаций «куда-то нажал и всё сломалось». Даже не знаю, какой из этого можно сделать вывод.

muxa_ru
14.09.2026 17:58Вы слишком глубоко копаете.
То есть, когда я копнул глубже чем Вы, то у меня получились другие выводы.
Однако, Вы вы делаете вывод не о том, что Вам тоже надо копать глубже, а о том, что мне нужно копать меньше.
Представьте себе, такие бывают.
Представляю.
Поэтому предлагаю не сводить всё к тупым пользователям, которых мы такие красивые и умные должны научить уму-разуму, а помнить о том, что проблема может быть не в самих пользователях но и в том, что есть реально кривые программы и интерфейсы.
Недавно меня научили запускать камеру двойным нажатием кнопки питания...
Тут надо добавлять модель смартфона, версию операционной системы и какая именно софтина для камеры установлена.
При переходе на другую комбинацию (это могут сделать без Вас, просто обновив софтину или операционную систему), Вы будете просто жать на кнопку, воспроизводя поведение "тупой пользователь, который не может прочитать описание изменений при апдейте :)

keelai
14.09.2026 17:58В ответе выше вы пишете, что самым сложным оказалась проверка результата урока, например ярлыка с произвольным названием. Здесь я бы отдельно проверял ложный успех: ярлык называется правильно, но ведёт в другую папку; нужный файл скопирован, но не на тот носитель; файл восстановлен, но это одноимённый сосед.
Для каждого задания полезна пара коротких тестов: другой допустимый путь к нужному состоянию должен засчитаться, а внешне похожее, но неверное состояние — нет. Такие примеры можно задать вручную ещё до генерации остальных тестов: они проверяют именно смысл задания, а не повторяют логику проверяющего кода. Сейчас условия завершения урока описаны отдельно от действий, которыми пользователь к ним приходит?
cher11
Задумка очень хорошая. Большие скриншоты, получается, с планшета? Или есть Windows версия, но на неё нет ссылки?
sonikdixi Автор
Спасибо! Большие это Windows версия, просто она не опубликована нигде. RuStore как стартовая площадка служит из-за простоты и бесплатности
P.S. Если держать планшет горизонтально (в альбомной ориентации) - приложение выглядит как на Windows (с боковым меню).