К вопросу об интерфейсах
Sep. 12th, 2007 01:30 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Я кажется, понял в чем состоит основное различие в позиции по вопросу интерфейса пользователя между мной и всякими защитниками Desktop Environments.
Они считают, что интерфейсы должны быть такими, чтобы ими легко было научиться пользоваться.
Я считаю, что учиться пользоваться компьютером - ниже человеческого достоинства. Следует учить компьютер наиболее удобным для каждого конкретного пользователя способом исполнять требования этого пользователя. Поскольку люди все разные, то двух одинаковых интерфейсов быть не должно.
Компьютер - это инструмент, который продолжает наши мысли, так же как топор или весло продолжают нашу руку. Руки у всех примерно одинаковы (кроме тех, у кого они растут оттуда, откуда должны расти ноги). А вот мысли у каждого уникальны.
Использование стандартизованных интерфейсов загоняет наши мысли в определенные рамки. И это плохо.
Именно поэтому пользователи Windows-подобных систем так любят аляповатые картинки на десктопе, анимированные иконки и т.д.
Им хочется хоть как-то перенести в компьютер черты своей индивидуальности.
Но дело-то не во внешнем виде. Индивидуальным должен быть именно способ взаимодействия.
Естественно, какая-то стандартизация нужна. Иначе сложно будет взаимодействовать.
Минимальный уровень сложности интерфейса, который имеет смысл стандартизовать - это язык.
Язык это такой механизм взаимодействия (т.е. интерфейс) который позволяет каждому своему пользователю (т.е. автору) иметь свой собственный (индивидуальный!) стиль, но несмотря на это позволяет пользователям понимать друг друга. И даже заимствовать друг у друга целые куски (цитировать).
К языкам программирования это тоже относится. Да даже и к продвинутым языкам конфигурирования, не обладающим, тем не менее тьюринговой полнотой.
Ранний Unix не имел иного интерфейса кроме языкового (sh, ed - это языки). Появление GUI (даже менюшек в текстовом режиме) привело к появлению более примитивного способа взаимодействия, чем язык. Вот этот способ взаимодействия уже слишком туп, чтобы его можно было стандартизовать.
Они считают, что интерфейсы должны быть такими, чтобы ими легко было научиться пользоваться.
Я считаю, что учиться пользоваться компьютером - ниже человеческого достоинства. Следует учить компьютер наиболее удобным для каждого конкретного пользователя способом исполнять требования этого пользователя. Поскольку люди все разные, то двух одинаковых интерфейсов быть не должно.
Компьютер - это инструмент, который продолжает наши мысли, так же как топор или весло продолжают нашу руку. Руки у всех примерно одинаковы (кроме тех, у кого они растут оттуда, откуда должны расти ноги). А вот мысли у каждого уникальны.
Использование стандартизованных интерфейсов загоняет наши мысли в определенные рамки. И это плохо.
Именно поэтому пользователи Windows-подобных систем так любят аляповатые картинки на десктопе, анимированные иконки и т.д.
Им хочется хоть как-то перенести в компьютер черты своей индивидуальности.
Но дело-то не во внешнем виде. Индивидуальным должен быть именно способ взаимодействия.
Естественно, какая-то стандартизация нужна. Иначе сложно будет взаимодействовать.
Минимальный уровень сложности интерфейса, который имеет смысл стандартизовать - это язык.
Язык это такой механизм взаимодействия (т.е. интерфейс) который позволяет каждому своему пользователю (т.е. автору) иметь свой собственный (индивидуальный!) стиль, но несмотря на это позволяет пользователям понимать друг друга. И даже заимствовать друг у друга целые куски (цитировать).
К языкам программирования это тоже относится. Да даже и к продвинутым языкам конфигурирования, не обладающим, тем не менее тьюринговой полнотой.
Ранний Unix не имел иного интерфейса кроме языкового (sh, ed - это языки). Появление GUI (даже менюшек в текстовом режиме) привело к появлению более примитивного способа взаимодействия, чем язык. Вот этот способ взаимодействия уже слишком туп, чтобы его можно было стандартизовать.
no subject
Date: 2007-09-14 09:10 am (UTC)Человек делает свою работу, и смежные с ней области осваивает постольку поскольку.
Когда я занимался спортивным ориентированием нас специально учили читать карту на два сантиметра в сторону от намеченного пути, не далее. Потому что читать её надо на бегу.
Точно так же, человек осваивает те являения, с которыми ему приходится сталкиваться чуточку шире, чем ему непосредственно необходимо, но только чуточку. И надо чтобы в эти два сантиметра карты попало начало более удобного маршрута, чтобы у человека появилось желание на него свернуть.
В рамках десктопной метафоры человек, как правило, не видит даже того, что существуют обобщающие понятия, вроде "приложения". Документ в Word и картинка в PhotoShop - это для него объекты принципиально разной природы, и то, что на самом деле есть для них какие-то общие операции - совершенно неочевидно.`
А уж диалоговое окно - вообще.
Вот пересылка скриншотов - это как раз очень характерный пример, который я имел в виду. Скриншот - это фотография. Изображение вещи в себе, которую мы изменить не можем. Текст, даже сложный табличный - это вещь для нас.
Естественным следствием представления диалога в виде текста является желание поискать нужный диалог в системе, посредством поиска по ключевым словам. (кстати, этот метод поиска места где конфигурить прекрасно работает в cli с его текствоыми конфигами). Правда, для того чтобы это работало в GUI, необходимо как-то сделать так, чтобы результатом поиска был путь к нужному диалогу. Причем путь с точки зрения пользователся - последовательность уровней, которые нужно пройти, чтобы попасть в нужное место, а не путь в файловой системе к описанию диалога в формате glade.
Возможно, что корни новой метафоры нужно искать именно с этой стороны. Начиная не с компонент и взаимодействия между ними (глядишь, выяснится что и D-BUS сгодится), а с концепции "нужного места" и "пути к нему". Тем более что развитие десктопной метафоры несомненно идет в направлении отвязывания воспринимаемого пользователем местоположения документа от физической файловой системы.
Кстати, распространение web-интерфейсов - это шаг в ту же сторону. В Web-интерфейсах нет разницы между документом и диалогом - и то, и другое - web страница.