Не normal

По следам этой заметки Миша прислал отличную иллюстрацию.

Видимо, когда зеленый светодиод не горит, нужно ждать чего-то нехорошего. Не взорвался бы ненароком! :)

Кстати, Hot означает, что он уже нагрелся до кондиции, или, может, еще греет?

Electriq | Friday 27 July 2012 at 11:53 pm | | Russian | Two comments

Единообразие против предугадывания

Вопрос риторический

Приведу два вполне логичных утверждения, относящихся к проектированию интерфейсов:

  1. Подобные вещи должны вести себя одинаково чтобы не путать людей.
  2. Машина должна предугадывать истинные намерения человека и всегда вести себя нужным образом.

Теперь рассмотрим простой пример: графический редактор в рамках простого рисования, как в Word'е. В документе присутствуют вставленные туда картинки, прямоугольники, эллипсы.

Я утверждаю, что в 90% случаев когда я тяну за угол картинки, я хочу, чтобы ширина и высота менялись строго пропорционально. И в 90% случаев когда я тяну за угол эллипса, я хочу менять его размеры произвольно.

Обычно пропорциональное растягивание включается/выключается удерживанием клавиши Ctrl или Shift. Но встает вопрос: как оно должно быть по умолчанию, когда клавища не нажата?

С одной стороны, все объекты должны вести себя одинаково, и поведение должно быть единообразным для эллипса и картинки. С другой стороны, наиболее частые действия для них различаются, поэтому картинка должна по умолчанию растягиваться пропорционально, а эллипс — произвольно. Но последнее может вызвать путаницу.

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

Electriq | Thursday 29 March 2012 at 6:37 pm | | Russian | Four comments

Homo sapiens vs Homo logicus

На примере из жизни

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

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


Иконка, изображающая цепочку, не слишком удачная

Сделал и отправил друзьям на тест. Вот тут-то начитается самое для меня неожиданное: два человека независимо сказали мне, что кнопка судя по всему не работает! Но я-то знал, что это не так, и начал разбираться.

Что же оказалось? Оказалось, что они нажав кнопку «сохранять пропорции» не вводили числа в поля рядом с кнопкой, а тянули объект за угол мышкой. В мое программистское понимание это не укладывается до сих пор. Ведь работать так оно по логике никак не может: поведение объекта на графике не должно зависеть от кнопки, расположенной в окне, которое может быть как открыто, так и закрыто в данный момент. К тому же, окно настраивает текущие выделенные объекты, и если бы действие кнопки распространялось на изменение размера мышкой, то у каждого объекта было бы своя реакция на мышь, причем внешне это было бы не определить. Ну в общем, бред :)

Пользователи видят совсем не то, что подразумевает программист.

Однако реакция «нормальных людей», то есть, по большей части, тех, для кого все это делается, должна учитываться в первую очередь.

Выход из сложившейся неоднозначной ситуации я пока не придумал. Один из вариантов — заменить окно закрываемой панелью инструментов, встроенной в главное окно. Есть вероятность, что в этом случае кнопка «сохранять пропорции» будет сильнее ассоциироваться именно с полями ввода, а не самим объектом. Другой вариант, конечно, — распространить действие кнопки на изменение размера мышкой.

P.S. Вопрос «что логично на самом деле» бессмыслен. Речь идет о том, что у разных людей в голове разные модели, и иногда это непросто учитывать при разработке интерфейса.

P.P.S. Настройка сохранения пропорций воспринимается как свойство объекта наравне с шириной и высотой, — скажете вы. А я отвечу, что для меня, для разработчика, сохранение пропорций при растяжении относится к настройке поведения интерфейса, а не к объектам.

Electriq | Thursday 29 March 2012 at 5:18 pm | | Russian | No comments

Новый логотип

Weird Wires

Gris нарисовала красивый логотип для Weird Wires, он перед вами! :)

А еще — талисманчик:

Теплый ламповый жук

Теплый ламповый жук

Electriq | Thursday 22 March 2012 at 10:57 pm | | English | No comments

О честности перед собой в проектировании интерфейсов

Когда программист самостоятельно занимается разработкой интерфейса (напомню, для пользователя нет ничего кроме интерфейса и опыта взаимодействия), в нем часто борются две мысли: «надо бы сделать тут поудобнее» и «для этого потребуется слишком много кода». Приведу пример.

Недавно я добавлял новую бесполезную функцию в MagicPlot — задание формул для столбцов без открывания диалогового окна, как в Excel (кстати, еще одна мысль, которая часто возникает — «как же я сразу не догадался?»). Теперь когда среди открытых в проекте окон активно окно с таблицей, панель инспектора вместо задания размера шрифта, цвета линий и прочего оформления содержит большое поле для ввода формулы с подсветкой синтаксиса:


Сейчас, когда я пишу, новая версия еще не вышла

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

Я опубликовал скриншот, и написал, что «примерно так оно будет выглядеть». Каков же был первый вопрос пользователей? — Вы угадали: «а будет ли автодополнение?»

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

По сути я как разработчик интерфейса задаю себе вопрос: «какой должна быть идеальная программа?». Ответ на этот вопрос часто нервирует меня как программиста, но я понимаю, что не написать дополнительный код было бы «нечестно». Чтобы стало легче, полезно переключиться на что-то другое, а затем вернуться и доделать старое.

В итоге все остаются довольны: людям приятно работать в программе, а у меня чиста перед собой совесть.

P.S. Автодополнение пока не реализовано, но я обещаю, что немного погодя оно появится. Уже прикидывал и читал, как присобачить туда всплывающий список, и что он должен показывать.

Electriq | Saturday 17 March 2012 at 08:13 am | | English | One comment

Почему программы теперь такие большие

Тема для размышления

Вопрос:

Ответ (и ведь не поспоришь!):

Собственно, код, который нужен из библиотеки:

Отсюда: http://stackoverflow.com/questions/1264709/convert-inputstream-to-byte-in-java

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

Electriq | Monday 12 March 2012 at 11:48 am | | English | No comments
Used tags:

О газовых колонках

Что случилось с дизайном?

У меня в ванной висит газовая колонка времен строительства дома − середины 1960-х. Выглядит она вот так:


Ручка регулятора температуры самодельная, модернизированная

Фотография, может, не самая удачная, но можно заметить, что корпус колонки имеет довольно причудливую округло-ломанную форму.

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

Вот смотрите, что дают Яндекс.Маркет, Google Shopping и картинки Google:

Read more →

Electriq | Sunday 04 March 2012 at 3:11 pm | | Russian | No comments
Used tags:

4 странички

Из книги Леннарта Дальгрена про приход ИКЕА в России

В связи с политическими дебатами в обществе у меня, как и у многих, появился интерес к различным оценкам Российской коррупции. По этому поводу очень интересно прочитать книгу бывшего директора ИКЕА в России Леннарта Дальгрена, в которой он описывает приключения честных шведов у нас в стране. Компания ИКЕА «придерживается высоких этических норм и не дает взяток ни при каких условиях».

Год оригинального издания (на Шведском) — 2009.

Нажмите на картинки, чтобы увидеть страницу целиком:

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

Купить книгу можно, например, тут: http://www.ozon.ru/context/detail/id/5019352/

Electriq | Monday 27 February 2012 at 4:23 pm | | Russian | No comments

Преувеличение сложности

или приспосабливание к текстовому мышлению

Однажды в каком-то обсуждении интерфейса я жаловался на то, что открывая меню «Пуск» в классическом оформлении долго не могу найти нужную программу. Причем проблема, как мне казалось, кроется не только в том, что программ в меню очень много, а в том, что я не помню название программы, которую хочу вызвать, и не могу искать по алфавиту. Как это, не помню? — спросите вы. А вот так. Сидит в голове какой-то образ ворда, а как он пишется не вспомнить. Конечно, обычно эта проблема относится к редко используемым приложениям.

В том обсуждении один знакомый посоветовал мне перейти на новый стиль меню «Пуск» с текстовым поиском, который появился в Vista и 7-ке. Я, конечно, был категорически против. Как же я могу искать по названию, если я не помню названия? И я продолжал долго и упорно искать нужную программу в списке из трех столбцов на экране.

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

А что быстрее?

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

Итого

Любители командных текстовых интерфейсов могут ликовать! Я был неправ в предположениях. Новый (относительно) дизайн меню «Пуск» с текстовым поиском действительно удобен для меня, хотя я предполагал, что не смогу им пользоваться. Кстати, спасибо Ване за совет! :)

Выводов относительно себя и интерфейса командной строки я делать все же не буду :)

Electriq | Wednesday 22 February 2012 at 10:18 am | | Russian | Two comments

Список литературы по интерфейсам и опыту взаимодействия

Издания на русском языке

Сегодня я по непонятному случаю собрал ссылки на известные мне переведенные издания, вышедшие на русском языке, так или иначе затрагивающие тему пользовательских интерфейсов (UI), опыта взаимодействия (User eXperience) и смежные темы.

Порядок книг получился слегка произвольный. В принципе, хороший Интернет-магазин всегда подскажет, какие книги я пропустил, в разделе «похожие товары». Дополнения и комментарии приветствуются.

  1. Алан Купер, Роберт Рейман, Дэвид Кронин. Алан Купер об интерфейсе. Основы проектирования взаимодействия. СПб, Символ-Плюс, 2009, 688 стр. (В оригинале About Face 3. The Essentials of Interactions Design. Говорят, «about face» переводится как команда «кру-у-угом»!).
    Фундаментальный и довольно широкоохватный труд по проектированию интерфейсов с подходом со стороны истинных целей пользователя. Я считаю, что эта книга к прочтению обязательна, но сначала лучше прочитать «Психбольницу в руках пациентов». Описанный в книге метод персонажей хорош, но я где-то встречал и его критику.

  2. Алан Купер. Психбольница в руках пациентов. Почему высокие технологии сводят нас с ума и как восстановить душевное равновесие. СПб, Символ-Плюс, 2005, 366 стр. (Вышло 2-е издание).
    В этой книге Купер много ругается, машет руками и приводит примеры идиотских решений. Особого внимания заслуживают такие параграфы, как Homo Logicus, Авиационный тест, проектирование и вежливость. Самое ценное — книга показывает, в чем логика программистов отличается от логики «простых людей». С этим отличием и связаны проблемы в интерфейсах, разработанных гиками.

  3. Дэвид С. Платт. Софт — отстой! И что с этим делать? СПб, Симпол-Плюс, 2008, 248 стр.
    Эта книга послабее «Психбольницы...», хотя частично темы пересекаются. Автор предлагает пользователям меньше терпеть тупость (или заумность!) программ и обрушить гнев на разработчиков, создав стену позора. «Это не пользователи тупые, а программисты не смогли сделать понятно».

  4. Стивен К. Сеов. Проектируем время. Психология восприятия времени в программном обеспечении. СПб, Символ-Плюс, 2009, 224 стр.
    Тема важная, но на мой взгляд, книга несколько затянута («много воды»). Видно, что книгу писал психолог: кажется, что он слишком заостряется на технических вопросах, которые просты для технарей, но непривычны для него. Книга, в частности, отвечает на вопрос о том, как правильно отображать ход длительного процесса, и начиная с какого момента процесс можно считать длительным и почему (а потому, что при ожидании больше ~1 секунды человек переключается на другую задачу).

  5. Стив Круг. Веб-Дизайн: книга Стива Круга или «не заставляйте меня думать!» СПб, Символ-Плюс, 2008, 224 стр. (Don't Make Me Think!)
    Основной посыл книги — люди не читают сайты, а лишь бегло их просматривают. Из этого надо исходить при проектировании.

  6. Стив Круг. Как сделать сайт удобным. Юзабилити по методу Стива Круга. СПб, Питер, 2010, 208 стр.
    Здесь Круг пишет про то, как организовать юзабилити-тестирование вашего проекта своими силами.

  7. Якоб Нильсен, Кара Перниче. Веб-дизайн. Анализ удобства использования веб-сайтов по движению глаз. М., Вильямс, 2008.
    Пока прочитать не довелось.

  8. Дж. Гарретт. Веб-Дизайн: книга Джесса Гаррета. Элементы опыта взаимодействия. СПб, Символ-Плюс, 2008.
    Эта книга в первую очередь посвящена разработке сайтов и навигации. Для разработки «обычных» программ не так актуальна, хотя и интересна.

  9. Сьюзан Уэйншенк. Интуитивный веб-дизайн. Что заставляет людей переходить по ссылкам. Эксмо, 2011. (В оригинале  Neuro Web Design. What makes them click? Поистине, приз за самый плохой, отпугивающий перевод названия).
    Основываясь на простых психологических тестах, которые описаны в книге, автор показывает, что многие наши решения принимаются не сознанием, а подсознанием, работу которого мы не замечаем, и повлиять на которое сознательно не можем. Повысить эффективность сайта можно учитывая особенности подсознания.

  10. Сьюзан Уэйншенк. 100 главных принципов дизайна. Как удержать внимание. Питер, 2012.
    Еще не прочитал, но выглядит интригующе. Автор — психолог, и пишет много интересного.

  11. Дональд А. Норман. Дизайн промышленных товаров. Также в другом издании называется Дизайн привычных вещей. Вильямс, 2009.
    Тут про все на свете, не только о программах и сайтах. Дизайнер всегда должен помнить, что его творением будет кто-то пользоваться! Про интутивность только я бы с автором поспорил. Он пишет, что американская горизонтальная ручка на всю ширину двери — самая понятная и очевидная. А я, когда впервые с такой столкнулся, пытался тянуть ее вверх, а не нажимать.  Поворотные же ручки я знаю с детства. Так что привычность тут недооценена.

  12. Джеф Раскин. Интерфейс. Новые направления в проектировании компьютерных систем. Символ-Плюс, 2007.
    Книга весьма неоднозначна. С одной стороны, многие приводимые автором идеи теоретически хороши, с другой — изменить сложившийся ход вещей могут только такие решительные игроки, как Apple. Они же делают автосохранение без спроса при выходе! Но люди, привыкшие к окнам «хотите сохранить или похерить вашу трехчасовую работу?» могут начать путаться. Особенно, если в разных программах будет по-разному.

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

  14. Робин Вильямс. Дизайн для НЕдизайнеров. Символ-Плюс, 2008.
    Эту книгу полезно прочитать для общего развития, чтобы хоть чуть-чуть понять, чем работы профессиональных дизайнеров отличаются от объявлений в подъездах. Хотя, надо сказать, мне эта книга до конца не помогла... :)

  15. Расс Уингер, Кэролайн Чендлер. UX-дизайн. Практическое руководство по проектированию опыта взаимодействия. Символ-Плюс, 2011.
    Книга посвящена процессу проектирования сайтов. Прочитать целиком пока не удалось, т.к. стало скучно :)

.

Пока всё :) Пишите :)

Electriq | Tuesday 17 January 2012 at 10:52 pm | | Russian | No comments

Давно я ничего не писал

А блог опять взломали

Причем когда это произошло — непонятно, внешне видно не было. Сегодня из хостинг-провайдера написали, что с сайта осуществляются DDoS-атаки и заблокировали сайт. Судя по всему, взломан был PivotX, это CMS этого блога.

Так что вот вам ссылка на статью про взлом сайтов от моего хостинг-провайдера :)
http://habrahabr.ru/company/sprinthost/blog/125839/

P.S. Я почему раньше злой был? Потому что у меня Андроида не было! А теперь я добреть начну :)

Добавление

Уязвимость была в файле timthumb.php, который, как я понял, присутствует и в других CMS, так что с PivotX обвинения, по-видимому, можно снять :)

Electriq | Saturday 14 January 2012 at 12:06 am | | English | No comments
Used tags:

О «стабильности» интерфейсов

Что выдает компьютер в телефоне?

Под «стабильностью» сегодня я имею в виду не отсутствие «зависания», а свойство, если можно сказать, непрерывности, присущее всем реальным объектам.

Довольно долго я ничего тут не писал, все обдумывал, как же написать про эту самую «стабильность», но так ничего путного и не надумал: придется писать как есть :)

Как вы думаете, как мне удалось догадаться, что сотовый телефон, работающий под управлением Windows Mobile 6.5 на самом деле является компьютером? На первый взгляд мой телефон ведет себя вполне обычно, как реальный, физический объект. Но есть детали, которые сразу выдают компьютер, и об этом далее.

Read more →

Electriq | Monday 20 June 2011 at 12:17 am | | Russian | No comments