Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Дружелюбные интерфейсы

308
06 октября 2007 года
Комаджу
850 / / 26.07.2006
Дорогие друзья!
Решил поделиться переводом материала Азы Раскина. Известный юзабилити мастер, опубликовал статью на A List Apart. Понимаю, может на английском и правильнее читать, но перевод вполне достойный (имхо). И таки по-русски читать зачастую проще.

Вообще, кто занимается интерфейсами - почитайте Раскина, у него есть много правильных мыслей.

http://makskomaju.wordpress.com/2007/09/21/oy-a-kak-vernut-nazad/
15
06 октября 2007 года
shaelf
2.7K / / 04.05.2005
Хотя этот принцип многим давно известен (сам я давно отказался от удаления из базы, а делаю лишь пометки об удалении, а бызу чищу по крону раз в месяц и те поля, дата "удаления" где >= месяцу), но новичкам это будет явно полезно.
308
06 октября 2007 года
Комаджу
850 / / 26.07.2006
К сожалению, не только новичкам. Куча программ сейчас закрывается через подтверждение сохранения или подтверждение выхода. Тут на примере GMail показана более глубокая проблема. Не только веба. Из Виндовых программ сейчас установленных у меня, только офис предлагает нечто подобное - восстанавливает потерянный документ. Но и он делает это через одно место - если правильно выходить из программы, то появится такое же диалоговое окно с предложением сохранить. И только при критическом прерывании работы предлагает восстановление - но и это уже не так плохо.
15
06 октября 2007 года
shaelf
2.7K / / 04.05.2005
Я тоже пользуюсь частенькор подтверждениями, а знаешь почему? Просто undo сложнее реализовать, чем yes/no, а в рамках бюджета определёного... Если по хорошему делать, то ценник будет увеличен минимум вдвое, а на это (из-за какого-то удобства) 95% клиентов не пойдут... (из моей практики). У меня только один клиент стремится, чтобы пользователям было удобней (и ему тоже:)), а все остальные "и так сойдёт" или "ну если хочешь, делай, денег больше не получишь"... Так, что можно делать выводы... Для себя - да, для своей системы (CMS, если у кого есть конечно) - да, но для разового заказа, я бы подумал...
308
06 октября 2007 года
Комаджу
850 / / 26.07.2006
Не, ТЗ - есть ТЗ. Но тогда встает проблема перевоспитания заказчика. А заказчик в 95% случаев - тупица, который сто раз пожалеет о своем ТЗ и проклянет программиста.

С другой стороны, если бы этот аспект юзабилити был бы реализован хотя бы в половине существующих приложений и веб-интерфейсов, то диалоговые окна сами собой стали бы "фи".
92
06 октября 2007 года
Тень Пса
2.2K / / 19.10.2006
хорошая статья, спасибо Максим!

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

Undo конечно рулит, но я соглашусь с shaelf (кстати это и в статье было сказано) - реализовать undo сложнее, чем просто сказать "undo лучше, чем confirmation"... жаль, что не все заказчики это понимают.
15
06 октября 2007 года
shaelf
2.7K / / 04.05.2005
Ага, а чтобы он был реализован, нужны качественые заказчики :) Остался только один вопрос, где их взять :)) Можно конечно собраться и реализовать (на добровольных началах) такое, что посмотрев на это у заказчика челюсть на полу окажется и он скажет "хочу такое же себе, денег сколько угодно дам"... Хоть это и мечты, но частично они реализованы могут быть... У меня уже есть и планы на создание нечто такого и огромное желание... Вот только времени реально нету((((
2Тень Пса На самом деле не так уж и сложно... Всё проще чем кажется, но нужно немного времени, а потом по этой стезе постоянно идти... Оооочень отдалёный пример, как это сделано у меня:
Код:
/**
 * В этом классе идёт работа с добавлением/сохранением/удалением из БД
 * Т.к. Сейчас фактически любой контент хранится в БД, мне этого хватает
 */

class Shaelf_Db_Row_Abstract
{
     const STATUS_ACTIVE   = 1;
     const STATUS_BLOCKED = 2;
     const STATUS_DELETE   = 3;
     

      public $__status  //Все свойства класса это "столбики" в БД. Т.е. в каждой записи есть и __status
     /*
Этот класс используется ещё и как объект записи, т.е. каждый экземпляр класса, это одна запись в БД.
    */

     public function delete()
     {
          $this->__status = self::STATUS_DELETE;
          $this->save()
     }
     
      //Ниже реализуется метод save()
}

Т.е. такими простейшими действиями на поверхности я реализую хоть undo, хоть корзину. Мне нужно всего лишь поменять статус. Т.к. это основа всего моего фреймворка, то "откатывать" я могу всё, что угодно. Единственное, нужно автоматизировать это "наверху", а вот этого (чего-то универсального, что вызывается одним взмахом руки) у меня пока нет...
92
06 октября 2007 года
Тень Пса
2.2K / / 19.10.2006
да, качественные заказчики - это дефицит :D

2 shaelf, да не... я понимаю, что это не из разряда "написать ОС" (образно)... у меня undo почти всех действий реализовано, но всего в 1м проекте... в остальные, просто не требовалось...
251
06 октября 2007 года
SkyMаn
1.7K / / 31.07.2007
Согласен со всем вышесказанным. Но можно и "на халяву" делать (мысль крайне субьективная), если конечно же есть такие возможности. Предлагается сделать универсальный класс (хотя, может и есть уже такой), который будет стараться хозяйничать с данным видом юзабилити. Не очень много найдется желающих делать что-то на халяву, может из нас здесь нЕкто будет против этого, - это его право. Но если остальные нЕкто начнуть имплементировать это в своих работах, то "тупые заказчики", а также и другие разработчики обратят на это внимание и среагируют в пользу юзабилити.
263
07 октября 2007 года
koltaviy
816 / / 16.12.2004
Вот интересная статья про реализацию Undo (с Web'ом мало связана :)):
http://rsdn.ru/article/dotnet/backforward.xml#E2EAC
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог