Дэйв Пламмер, бывший инженер Microsoft, который участвовал в разработке Task Manager и помог внедрить Space Cadet Pinball в Windows, теперь выдвигает проблему раздувания современной разработки программного обеспечения на передний план в новом проекте. Основываясь на минимальном экспериментальном коде приложения для Windows много лет назад, он повторно реализовал TinyRetroPad, собственный текстовый редактор с полными функциями блокнота. Весь исполняемый файл весит всего около 2,5 КБ, но он по-прежнему поддерживает общие функции, такие как открытие и сохранение файлов, поиск и замена, печать, выбор шрифта, автоматический перенос строк и подсказки о несохраненном содержимом.

Инженер на пенсии часто публично критиковал направление разработки Windows 11 в прошлом году, полагая, что Microsoft нужен «период охлаждения», аналогичный периоду для Windows XP SP2, приостановив добавление новых функций и сосредоточившись на устранении существующих проблем. В интервью и видеороликах он открыто говорил о том, как Windows 11 превращается в канал продаж таких продуктов, как Edge, OneDrive и Copilot, а не в чистую операционную систему. В эпоху, когда память и хранилище когда-то были очень дорогими, такие приложения, как TinyRetroPad, которые имели почти «саркастический» установочный размер, подчеркивали огромный контраст с сегодняшним программным обеспечением, которое часто весит десятки или даже сотни МБ.

Пламмер подчеркнул в описании проекта, что TinyRetroPad — это не волшебное шоу, а в полной мере использует инфраструктуру приложений, уже встроенную в саму Windows. Современная Windows уже предоставляет полный набор возможностей, таких как управление окнами, меню, общие диалоговые окна, операции с буфером обмена, элементы управления редактированием, выбор шрифта, а также открытие, сохранение и печать. Отлаженной нативной программе достаточно только вызвать эти готовые компоненты, и нет необходимости «приносить свою цивилизацию». Чтобы проиллюстрировать эту мысль, он использовал яркую метафору: зрелая операционная система подобна построенному городу, а небольшие программы просто «приходят с коробкой для завтрака и картой города», а затем заимствуют существующие в городе сервисы для выполнения задачи.

Сам по себе TinyRetroPad является ответвлением Tiny Editor Мэтта Пауэра, который, в свою очередь, построен на основе проекта tiny.asm, который Пламмер написал много лет назад, чтобы продемонстрировать возможности экстремального уменьшения веса полноценных приложений для Windows. Текущая версия TinyRetroPad представляет собой чрезвычайно тонкий пакет для долговременного встроенного элемента управления форматированным текстом RICHEDIT50W в Windows. Основные возможности редактора, такие как рисование символов, перемещение курсора, управление выбором, вырезание, копирование, вставка и история отмены, объединены в системе с помощью этого элемента управления. На ранних стадиях эксперимента Пламмер использовал более простой элемент управления EDIT для сжатия исполняемого файла примерно до 890 байт, но эта версия агрессивного метода сжатия не приветствовалась Защитником Windows. Позже элемент управления RICHEDIT был изменен, чтобы упростить использование шрифтов Courier и поддержку файлов большего размера. До добавления меню размер исполняемого файла составлял около 981 байт.

Поскольку функции продолжают добавляться, изменения размера этой чрезвычайно маленькой программы также полностью фиксируются. «Журнал роста объема» Пламмера показывает, что после появления меню «Файл» размер TinyRetroPad увеличился примерно до 1375 байт; добавление подсказок к несохраненному содержимому требует реализации более полной «грязной маркировки» и логики закрытия, увеличивая размер примерно до 1622 байт. Накладные расходы на функцию поиска и замены увеличили размер файла примерно до 2143 байт, в то время как печать была самым дорогим отдельным расширением, в результате чего общий размер увеличился примерно до 2476 байт.

Чтобы добиться такого экстремального сжатия, необходим Crinkler, специальный компоновщик сжатия, созданный для сцен Demoscene. В отличие от традиционных компоновщиков, которые просто объединяют объектные файлы, Crinkler переупорядочивает и сжимает весь исполняемый файл. Иногда добавление определенной функции даже не приводит к увеличению размера, потому что этот фрагмент кода очень хорошо работает при общем сжатии. Интересно, что функция с аккуратной структурой и ясной логикой может занять больше места после сжатия, чем повторяющийся и слегка «грубый» код, поскольку Crinkler лучше сжимает повторяющиеся шаблоны, чем большое количество поисков в таблице ветвей.

В настоящее время TinyRetroPad далек от стадии «производства». На GitHub нет готовой релизной версии. Пользователям необходимо использовать MASM и Crinkler для самостоятельной компиляции и сборки. Проект также четко предупреждает, что некоторые антивирусные программы могут ошибочно сообщать об исполняемых файлах, созданных с помощью сжатия Crinkler. Открытие страницы «Проблемы» проекта можно рассматривать почти как список функций, которыми 2,5-килобайтной программе приходится жертвовать в реальной жизни: некоторые люди сообщали, что использование памяти однажды взлетело примерно до 500 МБ при работе под 64-битной Windows 7, а некоторые люди обнаружили, что TinyRetroPad вообще не мог запуститься в Windows XP SP3.

Еще одна важная причина внимания TinyRetroPad — его разительный контраст с размерами современных блокнотов Windows 11. В настоящее время в типичной системе Windows 11 размер самого файла notepad.exe составляет около 352 КБ, а размер установки ближе к 808 КБ, поскольку этот exe на самом деле представляет собой просто «загрузочную заглушку», указывающую на приложения UWP и WinUI, а полное приложение занимает на диске около 5 МБ. Для сравнения, общий размер классического Блокнота эпохи Windows XP составлял всего около 65 КБ. Хотя с точки зрения современного оборудования несколько дополнительных МБ пространства не повлияют на повседневную работу пользователя, но Microsoft постепенно превратила изначально минималистичный текстовый редактор в приложение со сложными функциями, что вызвало недовольство многих пользователей.

В последние годы функциональность Блокнота продолжает расширяться: страницы с несколькими вкладками и автоматическое сохранение являются долгожданными улучшениями, и многие пользователи сегодня больше не могут жить без этих функций. Но в июне 2025 года в Блокноте появилась поддержка формата Markdown. Многие пользователи отметили, что такие задачи по редактированию расширенного текста когда-то выполнялись с помощью WordPad. После того, как Microsoft объявила об отказе от WordPad, его функции, похоже, были «перенесены» в сам Note. К августу 2025 года параметры, связанные с Copilot, в контекстном меню продолжали накапливаться и стали чрезвычайно переполненными, и Microsoft пришлось перепроектировать интерфейс меню, чтобы основные функции, такие как вырезание и вставка, снова «появлялись на поверхности». В январе 2026 года в Блокнот был добавлен инструмент «Создать таблицу», а затем в феврале добавлена ​​возможность вставлять изображения, также опираясь на свой движок Markdown.

Такое сочетание функций также увеличивает затраты на безопасность. Microsoft подтвердила уязвимость удаленного выполнения кода (CVE-2026-20841) с рейтингом 8,8 в феврале 2026 года. Злоумышленнику нужно всего лишь побудить пользователя щелкнуть вредоносную ссылку Markdown в Блокноте, которая может выполнить произвольный код с разрешениями пользователя. В традиционном Блокноте, который поддерживает только обычный текст и не обрабатывает гиперссылки, проблемы такого типа возникают редко. К марту 2026 года Microsoft начала разбавлять бренд Copilot несколькими приложениями, а в апреле решила переименовать Copilot в «Инструменты для письма» в «Блокноте», а не полностью удалить эти функции искусственного интеллекта.

Эти дебаты вокруг TinyRetroPad и Блокнота в конечном итоге указывают на путь эволюции всей платформы Windows, а не только определенного приложения. Windows 11 LTSC, ориентированная на корпоративных пользователей и ориентированная на стабильность, по-прежнему предоставляет классический Блокнот без Copilot и не поддерживает Markdown. Windows 10 также использует эту традиционную версию. Другими словами, «старый блокнот», который имитирует TinyRetroPad, на самом деле не исчез из Windows, а был незаметно «изъят» из основной версии Windows 11.

Пламмер много раз подчеркивал, что его первоначальная цель создания TinyRetroPad заключалась не в том, чтобы позволить пользователям переключаться на редактор размером 2,5 КБ, собранный вручную посредством ассемблирования, а в том, чтобы заставить индустрию заново признать, что в зрелой операционной системе на самом деле существует большое количество базовых возможностей, которые можно вызывать напрямую. Сегодняшняя модель разработки приложений часто предпочитает объединять все возможные функции и библиотеки вместе, многократно повторяя существующие возможности системы, тем самым увеличивая размер и сложность приложения.

С точки зрения интерфейса и опыта важны сложность и единство современных приложений, но серия экспериментов Пламмера, представленная TinyRetroPad, напоминает разработчикам и производителям, что они должны восстановить баланс между «красивым» и «эффективным». Будучи платным программным обеспечением, Windows 11 представляет собой не просто маркетинговую платформу, но и содержит в себе классические базовые приложения, накопленные за десятилетия. Эти старые инструменты не только по-прежнему прочны и надежны, но и были созданы в эпоху, когда ресурсы были ограничены. Он надеется, что посредством этой экстремальной технической демонстрации он подтолкнет Microsoft и всю отрасль к переосмыслению простого принципа: при переписывании и модернизации эффективность не должна рассматриваться второстепенно, но должна стать одной из отправных точек дизайна.