Возродите 3 закона Раскина о ПО, применяя человечный подход и учитывая ответственность разработчика

интерфейс Neovim дизайн по раскин азимов theregister.com

Узнайте, как законы интерфейса Раскина нарушаются в NeoVim. Разбираемся в проблемах дизайна ПО и реакции пользователей.

В 1942 году Айзек Азимов сформулировал три закона робототехники. Через 58 лет Джеф Раскин предложил три закона проектирования человеко-компьютерных интерфейсов. Они до сих пор не превзойдены.

Существуют правила и даже законы проектирования пользовательских интерфейсов компьютеров. Даже спустя 35 лет существования Linux, который сделал Unix доступным для масс, мир FOSS так и не смог по-настоящему освоить это. Тем временем мир проприетарного программного обеспечения активно забывает все, что знал раньше. Иногда эти правила всплывают сегодня, и сторонники FOSS часто приходят в ярость, когда им напоминают, что они нарушают законы пользовательского интерфейса.

Недавний пост Марцина Вихары «У них не было представления об обязанности заботиться о своих пользователях» — отличный недавний пример. (Редакция FOSS издания The Register очень восхищается творчеством господина Вихары, настолько, что мы купили его книгу по истории клавиатуры Shift Happens.) В своем последнем посте Вихара ссылается на специалиста CHERI Project Дэвида Чисналл.

Чисналл — давний пользователь Vim (у всех нас есть свои слабости) — и недавно рассказал о своем опыте использования NeoVim. Он использует функцию постоянной отмены в Vim, которая сохраняет изменения в отдельном каталоге, позволяя многократно отменять действия, возвращаясь к изменениям, сделанным недели или месяцы назад. Он настроил место хранения, и когда он попробовал форк NeoVim, тот перезаписал его файл отмены Vim. Позже в обновлении своего поста он признал, что было предупреждение, но он ожидал, что все будет безопасно.

Это оказалось небезопасным. Были перезаписаны записи об изменениях, накопленных за более чем десятилетие. Как он сам выразился:

«Vim поддерживал эту функцию при крупных обновлениях версий в течение примерно 20 лет. Я даже не задумываюсь об этом, это просто часть Первого закона Раскина: программа не должна наносить вред данным пользователя или допускать их повреждение из-за бездействия. Если Vim или компьютер сбойнут, или если я закрою файл и вернусь к нему через полгода, моя история отмены все равно будет там».

Вихара расширяет цитату Чисналла о первом законе Раскина, приводя все три, но на случай, если вы не являетесь поклонником научной фантастики «Золотого века», немного контекста.

Азимов представил свои три закона в коротком рассказе «Разбег» (Runaround), опубликованном в журнале Astounding Science Fiction* в мае 1942 года. (Рассказ позже был включен в сборник «Я, робот» — ничего общего с ужасным фильмом 2004 года.)

  1. Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинен вред.

  2. Робот должен повиноваться всем приказам, которые дает человек, кроме тех случаев, когда эти приказы противоречат Первому закону.

  3. Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму законам.

Идея Азимова заключалась в том, чтобы, установив эти правила, покончить с ужасным жанром историй о роботах-убийцах, который к 1942 году уже устарел и избился.

Джеф Раскин, ведущий дизайнер оригинального проекта Apple Macintosh, попытался привнести подобную ясность в пользовательские интерфейсы программного обеспечения. Три закона Раскина гласят:

  1. Компьютер не должен наносить вред вашей работе или допускать ее повреждение из-за бездействия.

  2. Компьютер не должен тратить ваше время или требовать от вас выполнения работы, превышающей строго необходимую.

  3. Интерфейс является гуманным, если он отзывчив к потребностям человека и учитывает его слабости.

Он определил их в своей книге 2000 года «The Humane Interface» (Гуманный интерфейс), которую все еще можно купить или взять в Интернет-архиве. К сожалению, Раскин скончался в 2005 году, но мы неоднократно писали о его работе и влиянии. Он действительно задал направление развития оригинального Macintosh. После того как Стив Джобс был уволен из проекта Lisa, он возглавил Macintosh — как описано в статье «The Canon Cat и Mac, который Стив Джобс убил». Раскин ушел и вместо этого разработал замечательный Canon Cat, как мы описывали пару лет назад.

Мы подозреваем, что Раскин не был поклонником Vi, предшественника Vim. Мы тоже не являемся, поэтому выбрали год в заголовке этой статьи: это год, когда Билл Джой написал vi. Раскин критиковал модальное программное обеспечение, которое требует дополнительных умственных усилий от пользователя. То же самое делал и другой пионер в области пользовательских интерфейсов, покойный великий Ларри Теслер, изобретший три команды: вырезать/копировать/вставить. Теслер был известен своим девизом «Не переводите меня в режим!» (Don’t mode me in!) и даже имел номерной знак автомобиля с надписью «NOMODES».

Доктор Чисналл имеет некоторую историю, связанную с возмущением фанатов Unix — мы уже ссылались на одну из его статей: в 2018 году он написал «C — это не язык низкого уровня: ваш компьютер — это не быстрый PDP-11». Фанаты Unix очень не оценили это. Этому стервятнику уже говорили, чтобы он убил себя за то, что посмел критиковать C. (Мы хотели бы пошутить, но нет.)

Хотя он теперь обновил свой пост в Mastodon, фанаты NeoVim недовольны. Действительно, один из них обругал этого стервятника в Bluesky за то, что он поделился постом Вихары.

Интересно отметить, что NeoVim является рекомендуемым редактором в Omarchy, и до недавнего времени разработчики NeoVim цитировали твит от DHH на сайте проекта. После ожесточенных дебатов цитата была удалена примерно в то же время, когда появились посты Чисналла и Вихары.

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

Однако существуют и другие типы программного обеспечения. Недавно мы с удовольствием прочитали о эмуляции оригинального Macintosh на чипе стоимостью 0,60 фунта стерлингов. Это 0,80 доллара США, и, конечно же, компьютер — это Raspberry Pi, но даже не Pi Zero: это Pi Pico, микроконтроллер. Есть еще надежда, что мир сможет заново открыть для себя крошечное, простое, ориентированное на пользователя программное обеспечение, созданное в первую очередь для удобства, а затем для богатой функциональности. И, само собой разумеется, написанное вручную без помощи ботов.

Примечание редактора

* Журнал Astounding сменил название на Analog в 1960 году и существует до сих пор. Мы его рекомендуем.

Если вы не читали оригинальный рассказ Азимова «Разбег», то этот номер Astoundingтакже доступен в Интернет-архиве. ®

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Похожие новости: