Показаны сообщения с ярлыком Литература. Показать все сообщения
Показаны сообщения с ярлыком Литература. Показать все сообщения

суббота, 4 февраля 2012 г.

2012… Год тихой смерти?

И чего же я на Озоне аж 6 лет не появлялся!?! На картинке слева отображена история моих заказов на Озоне… Славный путь, не правда, ли? Только где это я был с 2006-го по 2012-ый?!?

А был я в Books.ru. Как-то случилось, что в далеком 2006-ом мне пришлось заказать книгу именно на books.ru. Уж не помню почему, но какие-то геморройки вышли с Озоном. Ну пришлось, и пришлось. Суть не в этом. В Books.ru я влюбился с первого взгляда. Мне катило абсолютно всё: отличнейший рубрикатор по книгам, возможность полистать книжку перед покупкой, явно “живые” отзывы, гутно работающая служба доставки и много чего другого. Чего только стоила новостная рассылка, это просто слов нет. Можно подписаться не просто на книги, не просто по разделам “детективы”, “про баб-с” и “профессиональная литература” – а выбрать более чем конкретизированные разделы в computer science: что-то вроде “операционные системы” и “языки программирования”, а вот самоучители по Ворду нафиг. Удобно не правда, ли?

Верните кнопку, всё прощу! Но недавно books.ru учинили редизайн сайта. Много чего работало криво, многое и не работало. Ну да ладно, один переезд стоит трех пожаров. Дело-то житейское. И баг-репорты админам писал, и мнения высказывал, в общем помогал любимому магазину как мог.

Но отчасти воз и поныне там. Товар есть – кнопка “В корзину”. Товара нет – картинка “Нет в продаже”. Где нафиг блин епрст полгода прошло кнопка “Сообщить о поступлении” рядом с товаром?  Ведь раньше на старом сайте была же? Так сложно сделать? Робяты! Books.ru! Вы теряете не просто клиентов, вы начинаете терять уже фан-клуб, а это о чем-то да говорит. Ну прям хоть сам иди прикручивай кнопку к вам на сайт. Верните кнопку, черти!!! Нужна помощь? Нивапрос ©! Все что в силах: код, UX-тестирование, UC-анализ. Просто так. Из симпатии к вам.

PS: а попробуйте угадать, откуда на Озоне появился вдруг заказ в 2012-ом? Ага. Точно, вот у них кнопка “Сообщить о поступлении” была. Они  и сообщили. Поэтому заказ и у них же, а не у books.ru. И это при том, что я с-о-о-овсем, мягко говоря, не в восторге от Озона. Ибо где француз прошел, цыг… всем остальным делать нечего!

четверг, 10 июня 2010 г.

Pro-чтиво: Об интерфейсе

Об Интерфейсе, Алан Купер Сегодня еще разок о профессиональном чтиве. Дочитал “Об интерфейсе” (About Face) Алана Купера. Что сказать? Читал сей манускрипт далеко ни один месяц, все-таки под 700 страниц томик. Впечатления остались весьма двойственные…

С одной стороны, одно слово – эпохальная вещь! Все-таки Купер это гуру юзабилити и UX-дизайна. Чего только стоят его принципы проектирования взаимодействия. Как обычно: всё гениальное просто. Вот только некоторые из них, особо импонирующие:

  • Считайте пользователей людьми очень умными, но очень занятыми и Пользователи не понимают булевы алгебру. В точку: когда я убрал булеву формальность в фильтрах Aml Pages, все вопросы пользователей исчезли. Пофиг, что с формальной точки зрения раздел документа не подпадает под условия фильтра (считай, запроса) – раз пользователю надо увидеть раздел, значит надо! Ни к чему заставлять отменять или изменять фильтр. Юзеру точно виднее, что ему нужно.
  • Избегайте чистого листа. Как только в Aml Pages появились категории страниц по умолчанию, все вопросы по их использованию тут же улетучились сами собой. Редактор категорий есть, да и раньше был. Но как только появились умолчательные примеры категорий – вопросы по ним отпали в принципе.
  • Прячьте рычаги катапультирования. И не уговаривайте меня, нет и не будет в Aml Pages команды “удалить все”.
  • Пользователи готовы прикладывать усилия соразмерно результату. Действительно готовы. Но только вот не стоит их заставлять достигать результата сразу. Лучше оставлять пользователю возможности для принятия решения, для “маневру” до последнего момента.
  • Компьютер работает, а пользователь думает. Вот-вот, робяты! Это по закону Мура производительность процессоров удваивается каждые два года. А производительность пользователя нет! Ну так хотя бы не мешайте ему. Пусть думает, пусть размышляет – этого никакой софт за него не сделает никогда.
  • Никогда не подгоняйте интерфейс под метафору. Сколько не прикручивал пружинный, стилизованный под бумажные аналоги, разделитель панелей в Aml Pages – все равно он торчал как в одном месте заноза. Снёс!
  • Удаляйте элементы, пока продукт не сломается, а затем верните последний удаленный элемент на место. В яблочко! “Совершенство, это когда не нечего добавить. Совершенство, это когда нечего убрать” (© Антуан де Сент-Экзюпери). Много раз сталкивался с тем, что из продукта что-то пора и выкинуть. Итеративный такой процесс получается. Сначала фичи накапливаются, потом переосмысливаются, а со временем некоторые и канут в воду. Резать, однозначно резать – причем не дожидаясь перитонита.
  • В ошибках может и не быть вашей вины, но вы несете за них ответственность. Да здрям автоматический бекап и автосохранение. Сколько нервов они сберегли моим пользователям, а мне времени, потраченного на поддержку.
  • Диалоговое окно – это еще одна комната, не ходите в комнату без веской причины. Без разговоров! Все что имеет смысл делать не модальным, просто необходимо так и делать. Модальные диалоги нужны только для группировки сходных функций.
  • Не создавайте многострочные вкладки. Вот дернул меня черт за руку, сделать в Aml Pages режим многострочных вкладок, славу богу хоть не по умолчанию. Теперь вот теперь кручу попой изворачиваюсь в общении с пользователями, как бы это убожество в новой версии незаметно убрать. (этот блог читают и пользователи: я ж не спроста хочу убрать. Убрать надо для другого, значительно более удобного решения…).

В общем, что сказать… Книга действительно серьезная, must have однозначно. Но вот с другой стороны, ну такое количество в ней воды, что таки пару раз она мне обеспечила здоровый и быстро наступивший сон. Очень много про то, как “не надо”. А вот изложения как у Дженифер Тидвелл, “как надо” все-таки маловато. Примеры есть, но они не разобраны методично. По стилю изложения About Face немного напоминает легендарную “Психбольницу в руках пациента”. Но! Для такого в стиле “манифеста” 700 страниц имхо все-таки многовато – либо уж кратче, либо методичнее. Хотелось бы больше конкретики, причем с разбором, а не просто примеров из жизни – 700 страниц примеров все-таки требуют хоть какой-то каталогизации.

Но все равно не жалею о времени, потраченном на эту книгу. Чувствуется перо мастера – там такая концовка, такое послесловие, что отрицательные эмоции сильно поутихли. Das ist, проще говоря.

PS: все ссылки как-то сами собой получились именно на фичи моей Aml Pages, а не Aml Maple. Но Aml Pages приложение значительно более богатое фичами, чем “Мапля”. Более того, оно как раз и есть то самое “монопольное приложение”, в отличие от Мапли. На тему разницы между монопольными и временными приложениями у Купера тоже весьма толково и аргументировано расписано.

четверг, 6 августа 2009 г.

Управление требованиями к ПО

Дочитал до конца use-case аналитику Коберна, про которую рассказывал в прошлом посте. Удивительная книга! Читается, если вникать, безусловно очень медленно – язык тяжеловат. Но вникать надо – только когда разберешься, да попробуешь, да покрутишь описанные приемы на конкретных реальных проектах, начинаешь ощущать  фактическую пользу от прочитанного!

Лично мне приёмы Коберна во многом более чем близки! Я согласен, что хорошее текстовое описание доминирует над всякими там UML-диаграммами. По крайней мере в начальной стадии – в любом случае сначала придется разобраться, а что мы вообще пытаемся сделать, а как собственно оно примерно будет работать, а уж только потом “рисовать”. Все эти UML-рисования суть есть уже проектирование, причем проектирование скорее техническое, когда уже ясно “что, куда и зачем”. Но на начальном этапе требования кружочками да эллипсами не выразить – от текста никуда не деться.

Раньше подобные текстовые списки “требований” вел в своей же Aml Pages. Aml Pages обладает для такой работы ощутимыми преимуществами:

  • Текст, текст и только текст. Но не “ничего кроме” текста! Надо? Можно и файл прицепить, и гиперссылки поставить, и отформатировать, и рисунки и все такое в том же духе. Но это дополнительный функционал.
  • Мгновенное и наглядное изменение “статуса”, “важности” записи через автоматическую подсветку, стили форматирования, категории, иконки. Т.е. все-же нужную атрибутику можно менять “на лету” – причем изменения будут наглядны – что может быть нагляднее цвета.
  • Отсутствие излишнего формализма. Не нужно вводить даты, проценты завершенности и тому подобную хрень. Всё это, возможно, и понадобиться, но позже. Сначала только описание самих требований, пожеланий пользователей, багов и.т.д.

Но все же в Aml Pages это были скорее простые wish list – списки пожеланий – безо всякой лишней иерархичности, зависимостей. А вот когда уже понадобилось вести действительно именно списки “требований”, что завершено, что нет, какое требование часть другого, то от иерархий никуда не деться. Требования по сути своей иерархичны.

Попробовал поискать софт для управления требованиями… Ан фиг! Или уж монструозные приложения от гигантов вроде IBM или Rational, которые ну очень уж и сложны в использовании, или… или просто напросто ничего нет.

Пробую использовать ToDoList. Единственное, что хоть каким-то образом выполняет обязательные требования: иерархичность, простенький учёт (завершено\нет), и немонструозность.
Но юзабилити ToDoList хромает более чем! Так себе, на “троечку”. Очень много лишнего – рабочая область очень сильно перегружена элементами управления.
Близкие по смыслу элементы разбросаны по всему экрану, вроде приоритет задачи показывается в гриде, а изменить его можно в комбобоксе аж на другом конце экрана. Да чего уж там - невозможность подвигать столбцы в гриде. В общем, “хорошо, но мало” ©.

Вот и чего теперь делать? Как и в чем управляться с требованиями? Похоже, опять двадцать пять! “Что же? Мне всю жизнь по этой пустыне мотаться!?!” (© Сухов). 
Как же это?  “Снова здорова” - писать что-то с нуля самому? Дык не хочется! Народ, а вы чем пользуетесь?

воскресенье, 5 июля 2009 г.

Pro- чтиво

Сегодня малехо “пофлудю” о чтиве, о значит, профессиональной (pro-) литературе, благо повод давнишний и вполне значительный.

Хочется поделиться впечатлениями об одной замечательной книге – кою читать и заканчиваю -  “Современные методы описания функциональных требований к системам” Алистера Коберна (Alistair Cockburn).
Если в двух словах - "ве-е-е-счь"!!!
И э-эх, пока собирался писать об сём произведении, с Books.ru книга уже исчезла, а это уже кое о чем говорит. Стоит упомянуть, что книга настолько стоящая, что когда после первого приобретения, она “отрастила себе ноги” и испарилась в неизвестном направлении, то не долго раздумывая, раскошелился и на второй экземпляр.

cockburn_usecase

Итак, о чем же книга? Да собственно o use-case – о вариантах использования. О том как они описываются, как анализируются, как применяются. Прежде чем проектировать, а тем более уж кодить, все-таки сначала нужно описать требования пользователя. Причем не просто описать, а и обосновать, и понять зачем ему это нужно – как и зачем будет использоваться та или иная сущность. Какие варианты использования важны, а какие нет? Какие делать сейчас, а какие потом? Как понять не очень-то очевидные причины самой потребности пользователя в тех или иных возможностях софта? Вот про то, как находить ответы на эти вопросы и написано у Коберна. И написано весьма неплохо!

Чего только стоят высказывания о уровнях целей пользователя или как увязывать эти самые use-case с планом добавления “фич” в следующие версии. Почему фичу “А” сейчас нафиг, а фичу “Б” всё-таки пофиг? Вот почему, а? А у Коберна изложено!

Среди недостатков пожалуй можно назвать не очень легкий язык. Вроде бы и толково написано, но читается не так чтобы “на одном дыхании”. Но с другой стороны и тема непростая – быстро пролистать, имхо, не получится. Кстати, настоятельно рекомендую хотя бы пытаться выполнять приведенные в конце глав упражнения.

Примеры… Что ж, примеры у Коберна имхо далеко не для всех близки – это либо бесконечные персональные финансы (“бухгалтерию в жо…жизнь!”:), либо примеры непоследовательны – в одной главе “про бузину”, а в следующей “про дядьку”. Но и с этим вполне можно справляться: попробуйте применять эти упражнения и приёмы из конкретной главы, но к своим собственным задачам, к собственным проектам. Совершенно другое дело получается! И чтение мудрёного изложения оживляется, да и польза сразу и налицо.
Когда книга была взята во второй раз, уже с пониманием “шо без вапросов и ано мине нада”, я как раз стал более внимательно присматриваться к примерам и упражнениям, пытаясь что-то сразу применять к своим проектам. Роб-я-я-яты –
са-а-а-авсем другое дело! И понятнее стало, и интереснее, и вообще “ух, харашо пашло!” :)

Действительно полезная книга. Давно не встречал! Отдельно хочется порекомендовать разработчикам. Т.к. ну для аналитиков, пожалуй, это всё не внове. Но вот разработчикам точно не помешает в чуть смежную область окунуться, посмотреть что у “соседей” творится. После прочтения на многие вещи начинаешь смотреть иначе. Многое из того, к чему было непонятно как и подступиться, становится более ясным, и понятным с какого “угла” начинать.

В общем, must have однозначно.
PS: ссылку именно на Books.ru даю все ж таки не случайно. Books.ru, в отличие от какого-нибудь Озона частенько приводит у себя в каталоге и содержание книги, и отрывок. Согласитесь, для нашего девелоперского брата это более чем важно – посмотреть что внутри. Флудить, троллить да баянить все горазды. А вот написать нечто новое толковое да еще и новое – это не каждому под силу.  Просто уж так вышло, что к написанию этого поста мало того что и книга из продажи пропала, Books.ru зачем-то “убил” и ссылки на содержание. Ну да у них там народ более отзывчивый – будем надеяться, что ссылки все-таки вернут, благо просьба об оных уже отправлена (обычно быстро все появляется).

понедельник, 4 мая 2009 г.

Юзабилити от Microsoft!?!

В MSDN Magazine пишут о юзабилити... Докатились! И такая-то тема да в microsoft`овском-то журнале… Срали, срали и упали не знаю как такое сочетание и называть-то?!? Эка кризис-то на людёв действует :)

А вот скоро выйдет знаменитая “About Face” Алана Купера (Alan Cooper), но теперь и на русском “Об интерфейсе” – вот это действительно, имхо, ожидаемое событие.
Впрочем, на русском у Купера уже выходила знаменитая “Психбольница в руках пациентов”. Тем, кто с этим концептуальным чтивом знаком – представлять не надо. Остальным, очень рекомендую взглянуть на содержание – это действительно офигенная книга, несмотря на э-э-э-э… название.
Вы только вникните в мысль об особенностях программистского мышления: обычный человек всегда и в первую очередь просчитывает наиболее вероятные ситуации, а программист – первым делом крайние случаи. Ничего такого не замечали за собой?
Сначала проверим что будет, если в графу “возраст” написать ноль, а только потом все остальные числа. (да, да! мы такие :)

вторник, 21 апреля 2009 г.

Очарование взаимодействующих движущихся частей

Перечитал “Мифический человеко-месяц” Брукса, причем на этот раз не с ксерокопии, а с чуйством, толком, расстановкой, держа в руках нормальную не-е-книгу. Все-таки  вещь эпохальная и до сих пор не устаревшая. Есть у Фредерика просто поразительные мысли: чем нам нравится разработка программного обеспечения?
Итак, 5 видов радости, которые нам доставляет программирование:

  • “Радость при создании чего-либо своими руками”

– ну тут всё понятно, все мы в детстве что-нибудь да мастерили, вырезали. Вы никогда модельки самолетов (кораблей, вокзалов & etc.) не клеили? :) А как известно, все мы родом из детства!

  • “Удовольствие создавать вещи, которые могут быть полезны другим людям”

– имхо, тоже бесспорно! Социум есть социум! Все любят, когда результат их труда нравится окружающим. “Писать в стол” мы любим обычно только на словах :)

  • “Радость, получаемая от неизменного узнавания нового, проистекающего из неповторимой природы задачи”

– Ну, человек “вообсче” существо любопытное! Порою ну сильно хуже кошки!

  • “Удовольствие от работы со столь податливым материалом – чистой мыслью, который тем не менее существует, движется и работает так, как не могут словесные объекты“

– Абсолютно согласен. Поначалу, конечно же, нужен компьютер, но спустя некоторое время и он уже не обязателен. Всё, что необходимо – это собственная голова. И только. И тем не менее, когда всё придумано и код уже в голове, после первой реализации иногда да и воскликнешь “Вау, оно все-таки работает!” :)

  • “Очарование создания сложных головоломных объектов, состоящих из взаимодействующих движущихся частей”.

– Каково, а? Ну классная же мысль! Поззия просто. В точку, лаконично и очень красиво сказано. Вы когда-нибудь видели мобиль? Аналогии не замечаете? :)

Брукс – удивительнейший дядька – с очень интересным и светлым мышлением, четкими аргументами, интересными доказательствами. Для тех, кто не в курсе: Фредерик Брукс руководил разработкой IBM OS\360 – пожалуй, это уже легенда. Ради только одних этих высказываний стоит прочесть его “МЧМ”.

PS: ну, а его мысль об определении групп пользователей:

  • что им нужно?
  • что, по их мнению, им нужно
  • чего они хотят (на самом деле)

Это же просто заря use-case, сформулированного в неформальном стиле :)