Как стать автором
Обновить

Комментарии 40

Тут вы абсолютно правы, я хочу что все работало и пох до всяких кончолей и конфигов.
Полностью присоединяюсь. Особенно к фразе о том, что пользователь не должен думать ни о чем, кроме своей цели. К сожалению, проблема существует не только в Open Source, хотя там она вылезает гораздо чаще.
НЛО прилетело и опубликовало эту надпись здесь
Угу. Валидация, семантика, структура страницы - это то, что интересует только разработчика.

Пользователя это касаться не должно: с его точки зрения страница просто должна быть написана так, чтобы отображаться в его любимом браузере (будь то IE, FF или Opera), причём не ломаться при смене версии.

Точно так же его любимый браузер должен отображать без проблем сайты. Без разницы, HTML, XHTML, XML+XSLT или Flash. Штука просто должна работать.
Семантика в конечном счёте тоже касается пользователей (когда они зайдут в Гугл найти документ, ага). Насчёт остального согласен.
Точнее, касается Гугла и производителей страницы. А пользователей - очень опосредовано.
Каков месидж этой статьи?
"Прекращаем распальцовку, начинаем решать задачи"
Когда свеча сгорела, то на ее место просто ставится новая. Когда сгорела лампочка, то никто не пытается втыкать новую на ее место. Предварительно старая выкручивается, а на ее место вкручивается новая. Откуда взялся этот промежуточный алгоритмический шаг? Где и когда ему обучали? Почему выкручивается, а не выдергивается? Почему выкручивется в левую сторону, а не в правую?

Вы понимаете к чему я клоню? Есть порог вхождения в систему. В любую, не только в программную. Он разный для каждой системы. Утопично думать, что любую систему можно упростить до некоего "очевидного" уровня кухарки, а де все усложнения - происки масонов.
Так вот, порог вхождения в программные системы в большинстве случаев завышен. То, что лампочку можно выкрутить, вытекает из базовых знаний пользователя - "выпуклое нажимаем, выступающее тянем, круглое крутим" - которые появляются еще в годик (или когда там ребенку развивающие игрушки дарят?). При пользовании софтом же в большинстве случае делаются какие-то дикие допущения, мешающие делать простейшие операции, которые возможно понять только после прочтения мануала от корки до корки.

Я не против высокого порога вхождения, скажем, в Emacs - который и позиционируется-то как набор "сделай сам". Но софту, который позиционируется для использования нормальным человеком, такой подход непростителен.

Главным должен быть человек, а не софт.
Во-первых, «завышен-занижен» — вопрос количественного порядка. Тема для дискуссии неблагодарная. Для кого-то и выделение курсивом – высшая математика. Если пользователь реально не понимает концепции системы, то и прочтение мануала от корки до корки не поможет. Там может вообще не быть информации о сути системы, а лишь методы ее использования.

Во-вторых, гениальность может проявляться в ломке «незыблемых» стереотипов («выпуклое нажимаем, выступающее тянем»).
Пользователь не должен понимать концепцию системы. Пользователь должен понимать предметную область.

Пример с текстовым процессором: пользователь должен знать что ему надо указать в тексте договора и как это должно выглядеть - реквизиты клиента, даты и прочее. Система, какая бы у неё концепция ни была, не должна отвлекать пользователя на раздумья типа "а какой именно стиль применить" или "блин, почему существующий текст меняет стиль после моих действий" или "мать вашу, как начать нумерацию страниц с 15ти?". Более того, простые действия типа "выделить тот текст" не должны превращаться в сложные типа "пометить тот текст тегом 'цитата' и применить к тегу 'цитата' выделение жирным шрифтом"; пользователь может, но не обязан знать и пользоваться "продвинутыми" возможностями.

Пользователю нужен инструмент для (быстрого) решения задач, а не для ломки собственных стереотипов.
Никто не будет спорить с вами, что программы должны буть удобными. Но вот вам пример необходимости понимания концепции системы. В «старых» десктопных приложениях, когда пользователь вводил что-то в поле, это сразу же попадало в базу данных (самый яркий пример - dBase-подобные програмы). В «новых» веб-приложениях, мало того, что надо дополнительно произвести submit формы, но еще дождаться адекватного ответа от сервера на эту операцию. Если пользователь не понимает сути такого поведения, у него будет ежедневно множество проблем на пустом месте и он будет всячески поносить разработчиков за «плохую» программу.

Вот вам еще пример-аналогия с автомобилем. Если «чайник» не понимает принципа работы ручной коробки передач, то педаль сцепления для него «лишняя», только мешающая удобному вождению. Есть замечательный выход из этого – автоматическа коробка. Стоимость ее не на много больше ручной. Однако сейчас в XXI веке промышленность до сих пор выпускает автомобили с ручной коробкой. Имеются ряд причин продолжать это делать. Точно также в IT есть ряд причин не автоматизировать все, что ни попадя. Печальных примеров переавтоматизации и так хватает.
Вот "ожидание ответа сервера" как раз и есть ярчайший пример костыля, который не должен был бы беспокоить пользователя. И который, кстати, с современными технологиями можно было бы обойти - взять то же фоновое сохранение почты в Gmail (Другой вопрос, что кнопка "сохранить" сама уже стала стереотипом, и есть шанс, что её отстутсвие удивит пользователей больше, чем необходимость ждать).

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

Если понимать, что такое пустая строка и где в ней хранится оформление и стили, то проблем не возникает. Я понимаю, то требовать осознания таких высот абстракции от обычной секретарши не стоит. Ну другого варианта на данный момент нет. Любой текстовый процессор будет «грешить» в ту или иную сторону (на DELETE или на BACKSPACE). Если только не придумать альтернативный способ текстового процессинга. Но ведь это тоже табу, не правда ли? (выпуклое нажимаем, выступающее тянем, круглое крутим)
Ну, не могу проверить этот эффект в Ворде, за неимением MS Office в пределах досягаемости. Тем не менее, судя по высказываниям в Гугле / топике, там таких забавных эффектов [на простых вещах] не наблюдается.

Далее, логический вывод "бесплатное хуже платного", в общем-то, не настолько неверен. Как вам такая цепочка: часть дополнительных денег за платное идёт на юзабилити-тестирование и выверку мелочей -> платный продукт становится более дружелюбен к пользователю?

Далее, это конкретное поведение OO - это полный пипец. С точки зрения нормального пользователя, это выглядит как "я выделяю и работаю с одним абзацем, а меняется форматирование соседнего". Требование выделить символ абзаца перед удаляемым имеет с точки зрения стороннего человека примерно то же обоснование, что и требование открывать форточку на кухне перед включением света, потому что визуально он никак не связан с текущим абзацем.

Далее, концепция "ножниц и бумаги", применяемая в большинстве текстовых процессоров, более или менее понятна всем. Альтернативных способов хватает, и это совсем не табу (можно даже Postscript c успехом ручками писать), да только вот пользователи-казуалы эти способы использовать уже не будут.
НЛО прилетело и опубликовало эту надпись здесь
Обычный человек без специальных умений сам не проложит проводку и не поменяет водопровод. Это как-то меняет тот факт, что водопроводчики и электрики - обслуживающий персонал?
НЛО прилетело и опубликовало эту надпись здесь
Т.е. среднестатистический мужчина имеет доступ к сварочному аппарату и умеет им пользоваться? Ладно. Вам повезло с кругом общения.

Автомеханик в Америке подойдёт?
НЛО прилетело и опубликовало эту надпись здесь
Издержки аналогий, пардон.

Мессадж здесь.
НЛО прилетело и опубликовало эту надпись здесь
Свеженький пример распальцовки - в "навеявшем" топике. В общем-то, практически в любом топике, где (не дай бог) покритикуют юзабилити Open Source софта.
Да, про обслуживающий персонал... я использовал этот термин в том смысле, что результат труда программиста сам по себе пользователю не нужен.
НЛО прилетело и опубликовало эту надпись здесь
Результат труда программиста - некая программа. Например, текстовый процессор.

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

Так вот, чем короче эта цепочка - тем лучше. Если ТП требует длительного вникания в мануал для того, чтобы составить договор - в баню этот ТП. Если база клиентов выдаёт информацию через полчаса после запроса - в баню эту базу.
Аналогия опенсорца с квартирой некорректна в корне, ибо бесплатных квартир, увы, нет.

Если у вас есть бесплатная квартира, где свет можно включать только при закрытой форточке - пожалуйста, сообщите - я туда перееду. (:
Государственные квартиры, угу. Было такое. Может и сейчас есть.
Проблема не в том. Проблема в том, что "жильцы" воспринимают сложившееся состояние дел c "форточкой" не как проблему, а как нечто само собой разумеющееся.
просто к таким проблемам адаптируешься. конечно, после родных глюков Windows глюки Linux (к примеру) кажутся неожиданными, значительными и мешают работать - и наоборот.

в родном окружении просто привыкаешь, что вот тут окошко подтормозит, а вот эту ошибку можно проигнорировать.
Проблема в реакции community на описание явных багов / недочётов.
Полностью согласен.

p.s.:
Linix? (=
Надеюсь, что Вы все-таки опечатались)
Упс. Спасибо :D
Автор, почитайте Алена Голуба. У него есть волшебная книжка "Правила программирования на С/С++". Непосредственно к С и С++ имеет отношение только третья глава. Так вот, в этой книжке есть гениальный пример простого интерфейса со титанически сложным порогом вхождения - карандаш. На то, чтобы научиться им пользоваться, у вас уходят годы. Но когда ВЫ НАУЧИЛИСЬ - Пользоваться карандашом проще простого. Аналогично должно быть и с интерфейсом программ.

Они должны быть удобны в ИСПОЛЬЗОВАНИИ, а не в ИЗУЧЕНИИ.
Увы, принцип использования карандаша пригодится в жизни, в отличие гениальных нововведений очередной программы. Советую почитать Девида Платта, например.

Критическое отличие: карандаш мы изучаем в детстве, когда у нас еще нет большинства привычек и стетеотипов, которые можно было б использовать для ускорения обучения. Новый софт появляется ежедневно и используется взрослыми людьми; если этот софт не использует их привычки и стереотипы, пытаясь при этом создавать новые - это плохой софт.
с Платтом ознакомлюсь, как время будет, спасибо:)

Странно, но вкладки в браузерах прижились, наплевав на сложившийся стереотип пользователей IE.
Вкладки сами по себе очень часто используются и в программах, и в реальной жизни - это не является чем-то новым. Если вкладки адекватно нарисованы (т.е. видно, что есть корешки листов, что один лежит поверх другого и т.п.), то догадаться, что по ним можно потыкать не проблема даже в первый раз.

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

И да, не ждите от Платта особых откровений - просто он пытается (довольно агрессивно, кстати) популяризовать идею удобных программ. Лучше, пожалуй, начать с Джефа Раскина "Интерфейс. Новые направления в проектировании компьютерных систем".
Дело в том, что это обычная реакция для людей разных профессий. Например, можно вызвать сантехника, чтобы он починил кран. После чего поинтересоваться, а надёжно ли закреплён кран? Не отойдёт ли он, если за него хорошенечко дёрнуть? Почему установлены эти трубки, а не другие, хотя Вы где-то читали, что они лучше? Какую гарантию дают на ремонт? Откуда взялась царапина на хромированной поверхности у основания крана? Достаточно ли затянуты накидные гайки? Не лопнут ли они? Почему прохудилась старая прокладка, хотя её меняли совсем недавно? И для полноты картины, почему летом в Москве отключают воду? Думаю, что после этих вопросов хозяина квартиры просто пошлют. Также нередко можно услышать от электриков, сантехников и т.д. о том, что подобную работу должен уметь выполнять любой мужчина. Или рассказы врачей о том, что пациент сам должен вовремя диагностировать то или иное заболевание.
Т.е. программисты совсем не являются исключением из общих правил. Они делают некий продукт или оказывают услугу. Также, как сантехники, электрики, автослесари, врачи и т.д. они не любят признавать ошибки. Также, как сантехники, электрики, автослесари, врачи и т.д. они считают, что то-то и то-то должен уметь делать каждый.
Таким образом, что не стоит ожидать изменений в связи с распространением компьютеров. Даже наоборот.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории