Доминик Морриц: «Создавайте меньше, проектируйте больше»

Stanford Online 7 тыс. 56 мин 3 мин 10.07.2025
Главное

Инженерный подход к разработке: Почему проектирование важнее написания кода 0:09

Современная научная работа в области человеко-компьютерного взаимодействия (HCI) часто страдает от избыточного создания одноразовых программных решений. Доминик Морриц, преподаватель Университета Карнеги-Меллон и исследователь в Apple, призывает изменить парадигму: вместо написания кода с нуля стоит инвестировать ресурсы в проектирование стандартизированных API и гибких фреймворков. Главная идея заключается в том, что создание интероперабельных инструментов, способных взаимодействовать друг с другом, позволяет радикально ускорить научный прогресс и расширить границы возможного в разработке ПО.

🧪 Научный метод и дизайн как движущие силы HCI 3:25

Исследовательская работа в HCI объединяет два направления: эмпирическую науку (понимание того, как люди используют компьютеры) и дизайн (создание новых артефактов).

🧩 Композиционная архитектура и философия интерфейсов 7:03

Ссылаясь на классическую работу Джона Тьюки «Анализ данных и статистика» (1965 г.), автор подчеркивает необходимость организации инструментов так, чтобы их можно было легко собирать в новые конфигурации.

🛠 Whirlwind-тур: Инструменты для эффективного дизайна 17:19

В ходе лекции были представлены несколько проектов, реализующих идеи композиционности и открытости:

  1. AnyWidget: Позволяет превращать любую JavaScript-библиотеку в виджет для Jupyter Notebook без необходимости глубокого погружения в сложный стек сборки (Node.js, Webpack, Yarn). Проект решил проблему жесткой связи между фронтендом и бэкендом, предложив стандарт ES-модулей.
  2. Mosaic: Фреймворк для связи визуализаций с базами данных (например, DuckDB). Он позволяет работать с миллиардами записей благодаря автоматическим оптимизациям, таким как агрегация данных «на лету» и предвычисление.
  3. Embedding Atlas: Инструмент для анализа больших наборов данных (эмбеддингов). Включает виртуализированные таблицы и визуализации плотности, позволяя пользователям быстро находить закономерности без написания кастомного кода.
  4. Texture: Инструмент для анализа текстовых корпусов, который решает проблему высокой размерности текста, переводя его в табличный формат, понятный аналитическим движкам.

♿️ Data Navigator: Будущее доступности данных 44:12

Морриц представил проект Data Navigator, призванный сделать визуализации доступными для пользователей с нарушениями зрения. Вместо того чтобы полагаться на текст описания, инструмент создает графовую структуру (узлы и ребра), описывающую данные.

В завершение дискуссии автор призвал исследователей уделять больше внимания проектированию публичных API в своих научных работах. По его мнению, если интерфейс описан точно, реализация со временем станет вторичной задачей, особенно с учетом прогресса больших языковых моделей (LLM).

💬 Цитаты

«Мы можем создавать больше, если будем больше думать о дизайне интерфейсов и о том, как ПО работает вместе.»

Доминик Морриц 00:22

«Артефакт можно рассматривать как точку встречи, интерфейс, между внутренней средой и окружающей средой, в которой он работает.»

Доминик Морриц 12:40
👥 Спикер
📚 Упомянутые книги
🔗 Упомянутые сайты и проекты
📖 Термины
HCI
Human-Computer Interaction — область исследований взаимодействия человека и компьютера.
API
Application Programming Interface — набор методов, позволяющих разным программам взаимодействовать.
DuckDB
Аналитическая СУБД, оптимизированная для выполнения быстрых SQL-запросов.
WASM
WebAssembly — стандарт, позволяющий выполнять высокопроизводительный код в браузере.
ES-модули
Стандарт JavaScript для загрузки и использования кода в браузерах.
📊 Цифры
⚖️ Другая сторона
Инженерия HCI research AnyWidget Mosaic framework Vega-Lite Data Navigator