
Комментарии 38
Задумка очень хорошая. Большие скриншоты, получается, с планшета? Или есть Windows версия, но на неё нет ссылки?
Идея отличная, у меня у самого постоянная боль с объяснением пользователям базы
Доступность только в РуСтор это уже довольно сильная преграда на самом деле, особенно для вашей целевой аудитории... далеко не у всех он есть, а поставить его сейчас можно только скачав пакет с оф.сайта
Второе, что бросилось в глаза, это то что предлагается учиться пользоваться десктопным интерфейсом с помощью сенсорного экрана, боюсь что это, мягко говоря, не эффективно.
Третье. Нет четких уровней или какого-то первичного тестирования и/или анкетирования.
У Вас намешано все подряд от сортировки файлов по папкам, до терминала. Разброс настолько большой что нужно что-то что явно проведет пользователя за ручку к интересным ему темам
Четвертое. Формат: текст + тест. Мое мнение что это худшее что можно придумать для самообразования. Для такого формата нужно очень много мотивации по сравнению с другими.
Сам проект интересный. Стоит подумать над доступностью и пользовательским опытом.
Возможно добавить web-версию и больше геймификации
Спасибо за развёрнутый отзыв!
RuStore пока выбран просто как доступная площадка для тестов и обкатки идеи. Выходить сразу в Google Play или поднимать веб‑версию — для меня одной пока накладно по силам и ресурсам. Если увижу, что проект действительно интересен людям и есть смысл двигаться дальше, обязательно займусь и остальными платформами.
Понимаю, что учиться десктопу на сенсорном экране — опыт довольно специфический. Но я знаю немало людей, у которых компьютера просто нет, поэтому очень хотелось сделать так, чтобы пощупать работу с окнами и файлами можно было прямо со смартфона или планшета. Без необходимости ставить тяжёлые виртуальные машины или оплачивать облачные сервисы. Получилось, может, и не идеально, но вполне удобно и работоспособно.
Что касается тестирования: входной анкеты на определение уровня знаний действительно пока нет. Дело в том, что текущие курсы рассчитаны на совсем новичков — пользователя буквально за ручку ведут по базовым вещам. Возможности симулятора сейчас в принципе сильно обгоняют сложность заданий: там уже есть рабочий стол, окна, файлы, браузер и даже терминал (базовые команды вроде pwd и ls уже есть в уроках по Linux, но до полноценного обучения консоли ещё далеко).
Геймификацию тоже старалась сделать не для галочки — вплоть до тем оформления окон и обоев для виртуального рабочего стола. За прохождение начисляются монетки и сердечки: они нужны для доступа к урокам и для той самой кастомизации своего экрана в симуляторе.
В статье я описала проект очень сжато, а за время долгой разработки глаз у меня конечно замылился. Ещё раз спасибо за обзор!)
Так в том-то и дело. Если у пользователя нет компьютера, для чего ему учиться с ним работать с телефона? Причем в не самом удобном виде, когда нет мыши и маленький экран?
На самом деле десктопная веб версия очень даже напрашивается. Буквально "прошел урок - сразу попробовал на своей системе". Ну и с LLM её сделать куууда проще, чем было раньше :)
Лет 15-20 назад компьютеры и ноутбуки у обычных средних людей, были чаще чем сейчас. Потому что не было смартфонов, а пользоваться интернетом хотелось. Интернет, это не совсем прям интернет, а буквально 3-5 сайтов (а для кого то вообще один), в основном это почта и соц сети.
Сейчас, это делают смартфоны, которые есть практически у всех, и ноут/ПК уже в принципе не нужен. И целое поколение уже растет, которые не пользовались толком ПК.
По поводу «зачем учиться без компьютера»: на учёбе или при устройстве практически на любую работу базовую компьютерную грамотность требуют сразу. И человеку нужно где-то заранее набить руку и понять сами принципы.
На смартфоне это выглядит специфично только на словах: интерфейс симулятора специально адаптировался под управление пальцем и крупные элементы, чтобы было удобно попадать без мышки.
А вот насчёт «пробовать сразу на своей системе» — в корне не согласна, и тут мой опыт говорит об обратном. Главный барьер у новичков — это «а вдруг я сейчас всё удалю или сломаю?». На живом компьютере они боятся лишний раз кликнуть и вернуть систему в исходное состояние точно не смогут (тут могу только просить поверить на слово). Симулятор как раз и задумывался как безопасная песочница: здесь можно смело ошибаться, всё удалять, пробовать заново — и ничего не сломается.
Про десктопную/веб-версию вы правы, она логична, и проекте она есть (я почему и выложила в статью дизайн только десктопа - он несравнимо гармоничнее выглядит). На её публикацию мне надо дозреть как минимум технически. А LLM действительно очень выручают и ускоряют — в одиночку поднять такой проект с нуля раньше было бы почти нереально, наверное, тем более не программисту.
Понимаю, что учиться десктопу на сенсорном экране — опыт довольно специфический.
Значительная часть обучалок нацелены прям на совсем неопытных пользователей. Таким нужно нажимать кнопки.
Что касается тестирования: входной анкеты на определение уровня знаний действительно пока нет. Дело в том, что текущие курсы рассчитаны на совсем новичков — пользователя буквально за ручку ведут по базовым вещам.
При этом Вы целитесь сразу в несколько ОС и затрагиваете терминал и установку программ... все же стоит спросить пользователя зачем он тут и чего хочет.
За прохождение начисляются монетки и сердечки: они нужны для доступа к урокам
Звучит как еще одно препятствие для пользователя. Есть ли возможность сразу перейти к интересующей теме?
Под геймификацией имел в виду большую итеративность, что-то что разбавит текст/тестовые блоки, и некую систему мотивации. Мне кажется что Вашей аудитории понравятся сертификаты или что-то в этом духе, просто дать возможность вывести что-то вроде "Пройден курс: N, ИМЯ, Дата" в красивой рамочке, но лучше подсмотреть у коллег из геймдейва, там уже все придумано и посчитано
"Пастернака не читал, но осуждаю". Вернее, не смотрел саму обучалку и ориентировался только на описание в статье. Но уже вижу то, что считаю очень серьёзным недостатком. Нет системы. Вообще нет, и даже не планировалось. Есть тупое натаскивание на "раздражитель - ответ". Для обезьяны сойдёт - но ей-то будут подсовывать изученные ситуации, в крайнем случае ну очень слегка модифицированные. А вот для компьютерной грамотности, пусть и минимальной, уже маловато. Как я понял из прочтения, есть только "что", но нет "почему именно так, а не иначе". Может, ошибаюсь. Надеюсь, что ошибаюсь. Но если не объяснить ламеру до понимания печёнкой, например, что такое диск, каталог и файл, чем файл отличается от папки, обычная папка от сжатой, расширение файла от типа файла и т.п. - толку не ждите. Дрессировка не переходит в эволюцию, и переход количества в качество тут не работает.
Вы надеялись, что ошибаетесь — и тут как раз тот случай, когда вы действительно ошиблись, чему я только рада! :)
Всё, что вы перечислили, — это буквально оглавление моего базового курса «Основы файловых систем» (там 30 уроков):
Уроки 1 и 2: Что такое файл и что такое папка (в чём фундаментальная разница).
Уроки 4 и 8: Дерево каталогов, логика дисков и что такое путь (адрес) к файлу.
Уроки 11–13: Из чего состоит имя файла, что такое расширение, почему оно определяет тип файла и почему значки у них разные.
Уроки 20–23: Что физически происходит с данными в буфере обмена при копировании, перемещении и почему файл остаётся на месте при записи на флешку.
Урок 25: Что такое архив (ZIP/RAR) и чем сжатая папка отличается от обычной.
И логика каждого урока как раз строится от понимания сути:
Сначала теория на простых понятных аналогиях;
Затем вопросы на понимание смысла, а не заучивание;
И только в конце — интерактивная практика в симуляторе, которая поможет закрепить прочитанное.
Вероятно, моя главная ошибка в статье была в том, что я увлеклась описанием технической части и совсем не уделила внимания методологии и содержанию самих курсов. Из-за этого и сложилось впечатление полной отсутствии системы.
Спасибо что прочитали мою статью, первая всё же, волнуюсь)
Так и не надо. Я за свои 20+ лет в техподдержке таких обезьян в роли пользователя видел предостаточно. Их catchphrase - “Я ж вас не учу делать мою работу, вот и вы меня не учите делать вашу, а просто сделайте (что-то за меня, потому что мне лень)”. Дрессировка? Ме густа.
20+ лет техподдержки! Я бы сдулась, наверное...
Их catchphrase - “Я ж вас не учу делать мою работу, вот и вы меня не учите делать вашу, а просто сделайте (что-то за меня, потому что мне лень)”.
- Компьютер - это же обычный рабочий инструмент, да?
- Да.
- А сколько ты в день работаешь за компьютером?
- 2 часа (4 часа, 6 часов, весь день).
- То есть в принципе можно сказать, что компьютер - это твой основной рабочий инструмент, так?
- Ну... так.
- А вот теперь скажи ты мне - какое первое слово приходит на ум о работнике, который не знает и не желает знать основ работы со своим основным рабочим инструментом? По-моему, тут самое подходящее слово - профнепригодность.
- Э-э-э...
Сложно не согласиться. Не просим ведь сеть настраивать самим - базу хоть бы...
"- А вот теперь скажи ты мне - какое первое слово приходит на ум о работнике, который не знает и не желает знать основ работы со своим основным рабочим инструментом? " - диалоги из розовых снов о мире радужных пони :). В реальности все будет иначе (35 лет стаж в айтишечеке, сколько то там сисадминил тоже, не помню точно :) ).
Как минимум профнепригодность айтишника, если задает такие вопросы пользакам)
Причем сам видел, как такие оскорбленные айтишники потом сами мозг полоскали смежным отделам - "сделайте как я хочу, меня не интересует как, это не моя работа") такая вот взаимоненависть)
В реальности бывает и так, и эдак. Но личный опыт (у меня он всего на два года меньше) показывает, что густота "я не обязан" и "сделайте за меня" после подобных диалогов сильно снижается, а какие-то простые действия - запоминаются, наконец. А однажды (правда, тому уже лет двадцать как) это даже сподвигло руководителя (случайно услыхавшего и ситуацию до, и сам диалог) отправить весь отдел на курсы начальной компьютерной грамотности.
Идея классная, но я бы ещё добавила режим вообще без подсказок
Самая сильная часть проекта - вы сделали не набор кликабельных макетов, а модель файловой системы и окон. Благодаря этому пользователь может ошибаться за пределами заранее прописанного маршрута и видеть последствия своих действий.
Но здесь появляется непростая задача: состояние симулятора нужно сохранять между запусками и переносить через обновления приложения. Если пользователь переименовал, переместил или удалил объекты, а новая версия изменила исходный сценарий, обычная сериализация всего дерева может оставить несовместимое состояние.
Я бы хранил версию базового снимка и журнал пользовательских команд: create, move, rename, delete. После каждой операции можно проверять инварианты, а при сбое - воспроизвести последовательность действий или вернуть урок к контрольной точке. Это также сильно упростит поиск редких ошибок, которые сложно повторить вручную.
Как сейчас устроены сохранение и миграция виртуальной файловой системы между версиями приложения? Есть ли тесты на длинные цепочки операций, а не только ручная проверка отдельных экранов?
Спасибо за комментарий и за идею с журналом действий. Мысль интересная, я задумалась о том чтобы внедрить.
Отвечаю на ваши вопросы:
Сейчас дерево файлов сохраняется в локальный JSON. При запуске новой версии приложение берет два слепка: сохраненный файл пользователя и свежую эталонную систему из обновления и построчно их сопоставляет:
Как система сравнивает старое и новое:
По папкам: если в обновлении появились новые директории (например, для новой программы или утилиты), которых у пользователя на диске вообще не было — они добавляются целиком со всем содержимым.
По файлам внутри папок: система сверяет элементы по их внутренним ID и именам. Если она видит, что в обновлении в папку положили новую программу, ярлык или системный компонент, а у пользователя его нет — она аккуратно дописывает его в список этой папки. Всё, что создал, переместил или переименовал сам пользователь, при этом не затирается и остается на своих местах.
(Это касается песочницы, в уроках устроено иначе. В уроках намеренно не сохраняется состояние ФС, а при попытке выйти из урока будет предупреждение об утере прогресса. Мы сохраняем информацию о том, пройден ли урок. Это в случае моего проекта абсолютно допустимо, так как уроки очень маленькие и за 1 раз заданий много не бывает)
Как исправляются несоответствия и ошибки:
Если в старом сохранении какой-то объект повредился или записался с ошибкой, приложение просто пропускает эту запись, а не падает с ошибкой.
После слияния система автоматически «пересобирает» дерево связей (родительские и дочерние папки), чтобы ни один файл или ярлык не завис в воздухе без своей папки.
На случай обрыва записи всегда держится резервная копия (
.bak), из которой можно восстановить рабочее состояние, если основной файл поврежден.
Есть ли тесты на длинные цепочки операций
Если совсем честно — всё время разработки я абсолютно всё проверяла исключительно руками: садилась и прокликивала разные сценарии, намеренно путала действия и смотрела, что будет. Самое сложное кстати не создать саму ФС и её сохранения - самое сложное это сделать валидацию того, что в уроке ученик сделал именно то что я его попросила. Например, последней проблемой было сделать так, чтобы создание ярлыка на папку ученику засчитывалось при любом названии ярлыка, главное - на что ссылка.
Только ближе к концу я попросила ИИ написать мне автотесты. В итоге он нагенерировал больше 200 тестов, в том числе как раз на цепочки операций: создать - дать такое же имя - переименовать - удалить в корзину - восстановить - скопировать, а также на сбои при удалении системных файлов. Но чего он там внутри накрутил — я толком и не проверяла, поэтому постоянно по привычке иду и проверяю всё руками)
Жесть какая, сумулятор винды чтобы пользователи не боялись садиться за компьютер. Как же это заморочиться надо было, вау)) Сис админщик как учитель для детей))
Даааа)
В реальности с пользователями действительно ощущаешь иногда себя как с детьми. Быть может, что в крупных компаниях со штатом ИТ всё иначе - я пока не видела)
в крупных компаниях наоборот. Там обычно некогда этим заниматься и процессы выстроены как конвеер. Поэтому техподы - сами как дети, и обычно имеют соответствующую квалификацию)
А то и вообще бывают, что все как дети, если смотреть со стороны своего отдела) ИБшники, девопсы, разрабы - все дети, севшие в лужу, и "без меня ничего не могут")))
в твитере как то видел обсуждение японских зумеров о том, что именно изображает пиктограмма дискетки :). Вот это была реальная жесть :) :) :)
О как звезды сошлись, как раз искал что то подобное что бы обучить учетелей 50+, Курс по Астра ОС прям выручил, если добавите Alt Linux цены этому приложению не будет! И хотелось конечно Windows или Linux версию. А так просто супер!
А есть какие то кейсы удачного применения ? При всем искреннем уважении к вашему труду я не верю в хоть какую то реальную эффективность этого тренажера. Дело в том что способным и хоть как то желающим обучаться этот тренажер не нужен - у них есть все возможности и так разобраться с этой элементарщиной. Сейчас не середина 90х годов, когда пользователь мог увидеть в первый раз компьютер в офисе. Реальная проблема вашей целевой группы не в том, что они "не умеют компьютер", а в том что им так удобнее жить. И так как "ой, я ничего не понимаю" приносит реальные выгоды - меньше ответственность, меньше работы, то считать что они "не понимают" потому что им доступно не объяснили - ошибочно. Они в реальности делают вид что "ничего не понимают" потому что это выгодно. В остальной жизни, где им приходится сталкиваться с умными бытовыми приборами внезапно оказывается, что они все понимают и отнюдь не зовут за деньги кого-то кто поможет им разобраться с каждым чихом.
Как правило вопрос "вас приняли на работу со знанием компьютера ? - да ? тогда пожалуйста сообщите своему руководителю что компьютер вы не знаете, пусть он вам поручит другое дело" оказывается на несколько порядков эффективнее. И файлы перестают "я делала, а ваш компьютер все стер" и шрифты становятся жирным и посередине без чужой помощи и документ оказывается умеем сканировать.
Но я не хотел бы чтобы мои рассуждения о применимости выглядели как "вы ерунду сделали ненужную". Нужную, во-первых это ваше развитие и интересное занятие, что всегда небесполезно, во-вторых может оказаться что такой тренажер полезен детям, которые уже ушли на "следующий уровень" и могут только в экран тыкать. Да и наверняка есть еще кейсы применимости. Повторюсь - с искреннем уважением к вашей работе и затраченому труду.
Спасибо за комментарий. Нет, кейсов пока нет — приложение увидело свет всего 5 дней назад. Во время разработки никто из ЦА его не видел.
Понятное дело, что всегда будут люди, которые сами не хотят. И также я прекрасно понимаю, что в офисах их едва ли не большинство. Но также видела и немало тех, кому искренне неудобно постоянно просить помощи на самые простые вопросы — они правда хотят разобраться.
Ну и насчёт поколения смартфонов — дети действительно всю цифровую жизнь проводят в них, а как доходит, например, до первого курса универа, то случается паника как положить задание выполненное в zip‑архив (что это такое?).
Проекту сейчас как раз предстоит собирать первую обратную связь и дорабатываться. Буду очень рада, если идея окажется действительно полезной. А если гипотеза где‑то не подтвердится — что ж... это нормально, буду корректировать направление и искать новые решения. Такие риски есть всегда.
Тогда выскажу несколько соображений по поводу методологии тренажера.
Не вводите системные действия типа диспетчера задач или очистки диска. Тот уровень пользователей на который вы целитесь не может выполнять такие операции. А если и возмется - скорее навредит. Не подсказывайте им как можно все поломать и сказать “а в вашем тренажере это было, вот я и …” и не объяснишь что было не совсем про это, и не так. 1-а. Удаление / установка программ примерно с такими же соображениями. Те пользователи которых вы обучаете - их дело “работать работу”, программы ставить им категорически не надо (и удалять тоже). Да и прав у них таких не должно быть.
Уберите провокационные названия типа “файлы в налоговую”, давайте более нейтральные названия “как передать кому то вашу работу / отчетность”. А то кто-то отнесет кашу в налоговую и скажет что “вот была инструкция про налоговую”.
Не пугайте людей консольными командами - они им не нужны. Все делается через GUI. Где они с консолью столкнутся - когда будут сами администрировать linux-сервер ? Возможно вам имеет смысл нарисовать образы (целевые группы) пользователей, и уже к ним делать тесты.
Как вы намереваетесь справляться (или уже справляетесь) с нежеланием ваших коллег набивать руку после прохождения симулятора? Вот условная "специалист по закупкам Лена" прошла все уроки, в одно ухо влетело, в другое вылетело, случается рабочая проблема - она снова приходит к вам.
Людям намного проще все равно обратиться за решением к админу, чем после прохождения курса: анализировать рабочую проблему компьютерного характера; вспоминать что там было в уроке 17; пробовать; ошибаться, и, особенно, нести ответственность за ошибки, не связанные с его родом деятельности.
Восхищаюсь упорством и проделанным объемом работы! Собрать такую систему в одиночку, не будучи профессиональным разработчиком — это нечто.
Но попытка в одиночку имитировать поведения ОС которые огромные команды Microsoft и сообщества Linux разрабатывают десятилетиями, выглядит немного непрактично.
Написание собственного (стороннего) симулятора ОС, без сомнений, приведет к расхождениям с реальным поведением. Любая сторонняя, самописная симуляция неизбежно будет отличаться в поведении программ, контекстных меню, правах доступа и ассоциаций файлов. Человек будет учить поведение стороннего эмулятора, а в живой ОС, неожиданно для себя, наткнется на другое поведение или наступит на грабли.
Мне кажется, что Ваша главная находка и реальная ценность проекта — это геймификация и логика квестов. Эту сильную сторону имеет смысл отвязать от написания симуляторов.
Думаю, будет гораздо эффективнее сделать обучающую обертку над реальными средами: одноразовые песочницы (например, штатный Windows Sandbox, Docker-контейнеры с веб-VNC или преднастроенные снапшоты в виртуализации), которые можно ломать как угодно и сбрасывать в исходное состояние за пару секунд.
Даже для пользователей, у которых нет ПК и есть только смартфон/планшет, доступ к такой песочнице легко предоставляется через обычный браузер. А Ваш подход выступает всё в той же роли — раскидывает в реальной ОС нужные файлы, дает задание («распакуй архив в правильную папку») и проверяет результат простым скриптом прямо в реальной среде и файловой системе. Эти «уроки» легко автоматизировать такими же скриптами.
Так вы избавите себя от непосильной задачи имитировать поведение чужих ОС, высвободите собственные ресурсы на проработку заданий, а пользователи получат на 100% релевантный опыт работы с настоящим компьютером, без риска ему навредить.
А уж Вам-то, в роли администратора, поднять такую среду на корпоративных мощностях (для старта проекта) — задача вполне решаемая. А потом уже можно на VPS переехать, если пожелаете монетизировать свой продукт.
Нужен следующий уровень сложности, с TCP/IP, DNS, коммутацией, маршрутизацией и т.д.
Для тех, кто пришёл работать админом, но даже не отличает свитч от роутера (не знаю откуда их столько кругом)
Я сисадмин, а не разработчик. Полгода я собирала симулятор ПК на телефон, чтобы научить людей отличать архив от папки