Легендарный программист Microsoft Марк Руссинович, сейчас занимающий пост технического директора Microsoft Azure, рассказал, что с помощью ИИ он за один уикенд перенёс на macOS инструмент ZoomIt, который сопровождает более 20 лет.

В Windows есть много старых инструментов, которые до сих пор работают. Один из таких инструментов, ZoomIt, это лёгкая утилита для масштабирования экрана, записи и добавления пометок. Сейчас для записи экрана есть современные приложения вроде Snipping Tool, но у ZoomIt была своя аудитория. В основном это были технические специалисты, которые готовили презентации.

Изначально Руссинович создал ZoomIt, потому что ему нужен был более удобный способ объяснять устройство Windows перед аудиторией. Это было более двадцати лет назад, когда он вёл занятия по Windows Internals. Инструмент помогал преподавателям увеличивать отдельные области Windows и рисовать поверх них.

Со временем в ZoomIt появились запись экрана, наложение веб-камеры и редактирование видео.

До недавнего времени ZoomIt по понятным причинам оставался инструментом только для Windows. Теперь его можно попробовать на macOS благодаря ИИ.

ZoomIt для macOS в работе
ZoomIt для macOS в работе

Тратить месяцы на перенос ZoomIt на macOS не имело смысла. Но Руссинович нашёл более простой и быстрый способ, и этим способом стал ИИ.

С помощью ИИ Руссинович создал в целом рабочую версию ZoomIt для macOS всего за два дня. Даже с учётом помощи ИИ он рассчитывал потратить несколько выходных или месяцев.

“Не скажу, что без ошибок, но готово было больше чем на 90 процентов. Я был поражён”, сказал Руссинович.

Сотрудники Microsoft просили ZoomIt для Mac, но Руссинович не рассчитывал найти время

В начале 2000-х, когда Руссинович вёл занятия по Windows Internals в кампусе Microsoft, ZoomIt начинался с довольно простой задачи. Как объяснять материал в большой аудитории, когда нужно обратить внимание на конкретные области экрана Windows?

Можно представить занятие в переполненной аудитории, когда преподаватель просит посмотреть в левый верхний угол экрана на панель инструментов, затем на перегруженное меню рядом и что-то изменить. Это превращается в мучение, когда нужно одновременно объяснять материал и показывать разные области экрана.

До создания ZoomIt Руссинович и его соавтор Дэвид Соломон пробовали использовать инструмент, который поставлялся с ноутбуками Toshiba:

“Мы нашли встроенный инструмент, который шёл с ноутбуками Toshiba. Дэвид пользовался им, потом начал я, и он показался мне жутко неудобным. Для запуска нужно было нажимать неудобное сочетание клавиш. Возможностей для рисования было мало, и пользоваться им было в целом неприятно.”

Так Руссинович сделал ZoomIt. Инструмент позволял ему и другим преподавателям рисовать линии, стрелки и рамки вокруг объясняемых элементов.

Таймер перерыва появился по ещё одной просьбе Соломона:

“Мы с Дэйвом сразу начали использовать ZoomIt на занятиях, и он оказался очень полезным. Потом Дэйв предложил: “Слушай, давай добавим поддержку таймера перерыва. Когда мы уходим на перерыв, было бы удобно видеть обратный отсчёт. Я пользуюсь отдельным приложением, но в нём нет того, что мне нужно”. Поэтому я добавил функцию обратного отсчёта.”

Настройки таймера перерыва ZoomIt в macOS
Настройки таймера перерыва ZoomIt в macOS

Спустя десятилетия ZoomIt остаётся отличным инструментом для преподавателей. Пользователи macOS годами ищут похожее решение, и среди них есть сотрудники Microsoft.

По словам Руссиновича, коллеги, которые показывали Git, GitHub, Copilot и Visual Studio Code на ноутбуках с macOS, просили дать им связку возможностей ZoomIt по масштабированию и рисованию.

“Я считал это интересной задачей, но не думал, что когда-нибудь найду на неё время”, сказал он.

Но ZoomIt не похож на Snipping Tool, ShareX или встроенный в macOS инструмент для скриншотов, которые просто захватывают экран и позволяют поверх рисовать. ZoomIt работает в реальном времени поверх других приложений и умеет записывать экран. Чтобы создать такое для macOS, Руссиновичу пришлось бы разбираться, как эта система работает со звуком, видео и захватом экрана.

“До появления ИИ я бы даже не стал рассматривать такую задачу”, объяснил Руссинович, назвав процесс изучения “очень утомительным”.

В итоге он решил заняться ZoomIt для macOS и купил Mac. В следующую субботу он около часа настраивал его в корпоративной среде Microsoft, а затем начал с помощью ИИ создавать основу ZoomIt.

“Я рассчитывал, что буду заниматься этим несколько выходных летом, возможно, пару месяцев, и в результате получу версию ZoomIt для Mac. Возможно, без части функций или с неполной поддержкой того, что мне нужно. Но я решил попробовать с ИИ, чтобы не делать всю работу самому.”

ИИ воссоздал основные функции ZoomIt примерно за полчаса

Руссинович сам создавал ZoomIt для Windows, поэтому у него было всё необходимое, чтобы передать ИИ-модели эталонную реализацию. А когда у ИИ есть образец, это большое преимущество. Благодаря этому неназванная модель начала создавать основу версии для macOS.

“Я начал постепенно собирать Mac-версию, чтобы контролировать процесс и проверять, что всё работает так, как мне нужно. Модель справилась примерно за полчаса и примерно за дюжину запросов. Это оказалось гораздо быстрее и проще, чем я думал.”

Он продолжал дорабатывать версию для macOS все выходные и добавлял функции по одной. Помимо найденных ошибок, Руссинович сначала решил не переносить функцию DemoType, которая позволяла вводить заранее подготовленный текст во время демонстраций. Он думал, что ею никто не пользуется. Но позже выяснилось, что DemoType нужна пользователям, и он попросил ИИ добавить её в macOS-версию.

Он также слегка поддел Скотта Хансельмана, который когда-то и попросил добавить эту функцию:

“Эту функцию несколько лет назад попросил реализовать Скотт Хансельман. Я её сделал, а он ей не пользуется.”

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

К концу выходных Руссинович получил базовый, но точный клон ZoomIt. В нём работали таймеры перерывов, панорамные скриншоты, запись и редактирование видео.

Настройки записи экрана в ZoomIt для Mac
Настройки записи экрана в ZoomIt для Mac

Код Windows упростил ИИ перенос ZoomIt на macOS

Нельзя просто открыть Claude Code, попросить его создать ZoomIt для macOS и ожидать, что всё заработает как оригинал. Руссинович справился, потому что заранее дал ИИ доступ к коду Windows. Модель использовала его, чтобы понять структуру и возможности приложения.

Это решало только половину задачи. ИИ ещё нужно было понять, как воспроизвести на macOS поведение, характерное для Windows. Что важнее, самому Руссиновичу пришлось бы изучать, как работают соответствующие подсистемы macOS.

Хотя ZoomIt создал сам Руссинович, и у ИИ был эталонный код, знание того, что программа записывает экран и микрофон, не делает очевидным, как это подключить в macOS.

“Мне не пришлось ничего из этого изучать. ИИ сделал всё сам”, сказал Руссинович о специфичных для платформы подсистемах, которые он ожидал изучать.

Он также показал Demo Mirror. Функция выводит весь экран или его часть на второй дисплей, не выходя из PowerPoint:

“Я подключил внешний монитор и увидел, что всё работает. В целом этого оказалось достаточно, чтобы заработал Demo Mirror. Жаль, что я не сделал эту функцию очень давно, но теперь она есть. И когда я выступаю с ноутбука, я могу использовать Demo Mirror для всего экрана, как сейчас, или для его части, не выходя из PowerPoint.”

Как скачать и использовать ZoomIt для macOS

ZoomIt для Mac бесплатен и имеет открытый исходный код. Нужна macOS 14 Sonoma или новее. Если установлен Homebrew, откройте Терминал и выполните:

brew install --cask microsoft/sysinternalstap/zoomit

Либо скачайте релиз напрямую из GitHub Microsoft. Последнее обновление ZoomIt для macOS вышло месяц назад, размер файла всего 1,4 МБ.

Релиз ZoomIt для macOS на GitHub 12-3-0
Релиз ZoomIt для macOS на GitHub 12-3-0

После установки откройте ZoomIt и найдите его значок в строке меню. При запросе предоставьте разрешение на запись экрана. Доступ к микрофону и камере давать необязательно, он нужен только при использовании соответствующих режимов записи.

Настройки ZoomIt доступны из строки меню macOS
Настройки ZoomIt доступны из строки меню macOS

Для старта нажмите Control+1, чтобы увеличить экран, Control+2, чтобы рисовать, Control+5, чтобы записывать экран, или Control+6, чтобы скопировать выделенную область в буфер обмена. Эти сочетания можно изменить в настройках. Видео с демонстрацией управления:

Скорее всего, на macOS будет появляться больше приложений Microsoft, потому что ИИ ускоряет разработку. В то же время ИИ создаёт и новые риски для безопасности Windows. Microsoft уже предупреждает пользователей не откладывать ежемесячные обновления.