
Apple в худшем смысле слова
Сегодняшний пост будет достаточно негативным, и возможно вызовет несколько противоречий у читателей.
А поговорить я хочу о прочитанной недавно книге. «Джеф Раскин — Интерфейс: новые направления в проектировании компьютерных систем«. Вот такая штука попалась мне в руки.
Должен сказать, взял я её по вполне очевидной причине: в ходе моей профессиональной деятельности в числе прочего постоянно приходится проектировать интерфейс для моих решений. Хотелось бы получить несколько практических полезных советов от гуру отрасли. Как, например, было чрезвычайно полезно и приятно прочесть «С.Макконнелл — Совершенный код» по искусству написания программного кода. Надеясь получить дозу нечто подобного, я раскрыл книгу Дж.Раскина — бывшего специалиста Apple по проектированию интерфейсов.
С первых же страниц автор показал себя не с лучшей стороны. Он рассуждал о «Человеко-ориентированных интерфейсах», ругая все остальные варианты, и не слова не говоря, как сделать подобные. Уходя в далекие философские рассуждения, имеющих мало общего с «земной» жизнью.
Дальше — больше. Началось характерное для Apple перекладывание ответственности: на пользователя, на программистов, на общество, даже «железячникам» досталось. К примеру, автор рассматривает проблему предупреждения пользователя о потенциально опасном действии. Как сообщить пользователю, так чтобы он принял обдуманное решение, а не просто «тыкнул» в кнопку по привычке? Ответ автора (разработчика интерфейсов, напоминаю): «Никак, пусть программисты пишут программы, где не будет необратимых действий». Хочется спросить автора, как же он собирается обратимо удалять записи из базы данных, очищать корзину, «нарезать» CD и т.д. ?
Анализ другой задачи (про температуру) привел к тому, что мы выводим на экран всю возможную информацию, и перекладываем уже на пользователя необходимость выбирать ту, которая ему нужна. Зато никаких переключателей — автор ликует. Здорово придумано, ничего не скажешь.
Всю книгу автор хвалит какую-то придуманную им же клавишу LEAP (и её дополнение LEAP AGAIN). По факту, клавиша осуществляет поиск. Почему это считается панацеей, лично мне не понятно.
Кстати, о поиске. Господин Раскин справедливо утверждает, что «живой» поиск удобнее стандартного. Всё замечательно. Одного я не понимаю: с чего он решил, что «живой» поиск технически работает быстрее? В мобильных платформах, где с вычислительными мощностями не всё так солнечно, «живой» поиск нередко представляет проблему; некоторые приложения разрешают отключать его с целью повышения производительности.
Идея хранить меню прямо в редактируемом документе в виде списка команд просто нелепа сама по себе. Представьте, как «блондинка» скроллит документ, выбирает там команду (в оригинале — вводит с клавиатуры на память) и жмет специальную клавишу для её применения. Очень сомневаюсь, что подобный интерфейс понравится кому-то, кроме кучки хардкорных гиков, даже во сне не расстающихся с консолью.
Меня, как программиста, очень задел такой чудовищный пример, где автор сравнивает скорость написания программы для сложения двух чисел (!) на Basic и Visual Basic. «Из пушки по воробьям» — знакомо выражение?
Надо ли говорить, что вся книга просто пронизана самопиаром Apple и Macintosh? И черным пиаром всех конкурентов: Xerox, Microsoft, Unix, Google и т.д. . Сюда же собственно плод ума автора книги — компьютер Canon Cat. Вы его знаете? Я впервые слышу. Тем не менее, по мнению Раскина, эта штука гораздо совершеннее всего существующего.
Со всей книги, реально полезной информации я почерпнул от силы 5-10%: это GOSM-анализ, анализ эффективности, ZoomWorld (возможно). Очень жаль. Я ожидал гораздо большего от специалиста такого уровня.
Все кто могут уже давно переходят на живой поиск, даже поисковые системы, индексирующие миллионы страниц текста, он быстрее потому, что не нужно вводить слово целиком, а только лишь его начало. Только лень программистская не позволяет делать его везде.
Про очистку корзины, в идеальном интерфейсе пользователь не должен видеть никакую корзину, если она и есть, то должна очищаться автоматически как только не хватает места на диске. Аналогично и с базой данных, сейчас есть базы данных, которые не удаляют записи, а просто помечают их как неиспользуемые, и вполне можно сделать упаковку такой базы тогда, когда пользователю не нужен компьютер, в итоге компьютер будет всегда работать быстро, а не тормозить под нагрузкой тугой операционной системы, антивируса, обновлений и т.п. Как сказал Раскин — Операционная система это то, с чем приходится возиться перед тем, как начать возиться с программой. В идеале, с ней вообще не нужно возиться, по этому принципу и строят современные операционки.
Вот ещё его идея — мгновенное включение (отображение картинки последнего экрана), оно уже давно многими программами используется, благодаря чему эти программы запускаются в несколько раз быстрее аналогичных, но не использующих этот принцип.
Концепции интерфейса Раскина появились раньше времени, замечаю что его идеи так или иначе начинают проявляться в нашем мире, к этому всё и идёт, по мере увеличения вычислительной мощности компьютеров. А он это смог сделать на древнем компьютере, запихнув весь код своей операционной системы и мощного текстового процессора в 256 килобайт ПЗУ.
Я вот испытал на практике идею с быстрым автоповтором нажатой клавиши, правда немного усовершенствовал — вместо трёх нажатий используется два, и скорость не задана заранее, а вычисляется от скорости нажатия, работает отменно, обычным уже и не пользуюсь, ведь он в 2 раза медленнее при той же точности.
Так же пользуюсь калькулятором в текстовом редакторе, набрал арифметическое выражение, выделил его, нажал Ctrl+1, и тут же видишь результат, не нужно запускать отдельную программу с неудобным интерфейсом, хорошо бы конечно чтобы это работало везде, а не только в текстовом редакторе, в принципе такое можно сделать.
Раскин описал свои идеи, и даже реализовал их, показав, что сделать это можно на любом железе, даже очень слабом, чего вам ещё надо, чтобы пойти по пути создания очень удобных интерфейсов?
П.С.: CanonCat был создан уже не в Apple, а в Canon, после того, как Стив Джобс вытурил Джефа Раскина из компании, и отняв его проект Macintosh.