• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)




Найдено страниц: 59 [показано 10]

  1. 14 принципов создания вежливых программ

    Степень соответствия запросу: 40,33%
    Фрагменты текста поста :
    ... 14 принципов создания вежливых программ Профессора Стэндфордского Университета Клиффорд Насс (Clifford Nass) и Байрон Ривз (Byron Reeves) занимались изучением реакции человека на компьютер... ... Насс и Ривз использовали для тестов множество студентов-компьютерщиков, достаточно опытных для того чтобы самим написать тестовую программу... ... Эти студенты были высокообразованными, зрелыми индивидуумами, но не смотря на это все без исключения отрицали, что благодаря своим познавательным способностям программы воздействуют на них эмоционально, хотя результаты наблюдений являлись неопровержимым доказательство обратного... ... Из этого исследования следует важный вывод: Если мы хотим, чтобы наша программа понравилась пользователям, мы должны сделать ее поведение похожим на поведение человека... ... Насс и Ривз утверждают что программы должны быть "вежливыми", потому что вежливость – это универсальный человеческий признак, - хотя действия, которые можно считать вежливыми различаются от одной культуры к другой, этот признак присутствует в любой культуре... ... Продукты производства с высокими познавательными способностями, такие как программы, тоже должны следовать этому правилу и быть вежливыми... ... Некоторые продукты высоких технологий ведут себя так, как будто сказав "пожалуйста" или "спасибо", можно быть грубым, но это не вежливость... ... Если программа скупа на информацию, скрывает результаты своей работу, заставляет пользователя искать где находятся простейшие функции, и винит его в своих собственных неудачах, то пользователю она точно не понравится... ... Если же программа уважает пользователя и помогает ему, то она обязательно ему понравится... ... Что значит для программы быть дружественной и вежливой... ... Что значит для программы вести себя подобно человеку... ... Человек склонен к ошибкам, медлителен и импульсивен, но это не значит, что программа с такими качествами будет считаться хорошей... ... Человек обладает множеством других качеств делающих его хорошо подходящим для роли служащего – роли, которую выполняют большинство программ... ... Я спросил моего друга Кейта Плиса (Keith Pleas), известного программиста-эксперта, занимающегося к тому же вопросами пользовательского интерфейса, что он думает о создании более человечных программ... ... Кейт воспринял добавление в программу человечности как добавление нечеткости во взаимодействие... ... Если мы увеличиваем человечность, мы должны уменьшить некоторую "компьютерность", по крайней мере в сравнении... ... Более вежливая, более человечная программа сразу бы сообщила, что у вас на счету "около 500$" а затем проинформировала бы вас, что даст более точный ответ через несколько минут... ... Вежливая программа интересуется мной... ... Большинство программ не знает ничего о том, кто ею пользуется... ... Действительно, ни одна из программ на моем персональном компьютере не помнит ни меня, ни моих привычек, несмотря на то, что только я и никто другой постоянно, снова и снова пользуюсь ею... ... Каждая программа должна стараться запомнить мои привычки, и в частности, все, что я ей говорю... ... Программист считает реальный мир миром информации, так что как только программе требуется какая-либо информация, она просто требует ее от пользователя... ... Но бездумная программа забывает эту информацию, считая что всегда может затребовать ее снова, если потребуется... ... Например, в моей программе электронной почты есть 11 человек по имени Дейв... ... Когда я создаю новое письмо и печатаю "Дейв" в графе "Кому", я ожидаю, что на основе моего поведения в прошлом программа догадается, что я имею в виду Дейва Карлика... ... Вместо этого, программа ведет себе довольно глупо, всегда предлагая мне окно для выбора нужного Дейва из 11 вариантов... ... Программе попросту наплевать на меня, она относится ко мне, как к чужаку, хотя я – единственный человек, которого она знает... ... Вежливая программа относится ко мне иначе, чем к другим... ... Невежливая программа контролирует действия пользователя, которые кажутся ей некомпетентными... ... Нет ничего страшного в том, чтобы программа выразила свое мнение о том, что я сделал ошибку, но она ни в коем случае не должна судить мои действия... ... Например, программа может утверждать, что я не могу отправить заказ, пока не введу свой номер социального страхования, но если я все таки захочу отправить заказ без него, программа должна сделать так как я сказал... ... Вежливая программа предусмотрительна... ... Если я спрашиваю у служащего аэропорта, через какой выход пройти на рейс 729, я ожидаю, что он не только ответит на мой вопрос, но и даст мне важную информацию о том, что вылет рейса 729 задерживается на 20 минут... ... Большинство программ не делает этого... ... Вежливая программа обладает здравым смыслом... ... Большинство программ не делают различия между кухней и обеденным залом, помещая рядом часто-используемые и никогда не используемые элементы управления... ... В программе можно встретить пункты меню предлагающие простые, безвредные функции рядом с чрезвычайными, отменить которые невозможно... ... Изолировав клиентов от компьютерных систем, можно облегчить труд отдела обслуживания клиентов, однако служащим все равно приходится ими пользоваться... ... Вежливая программа предвосхищает мои нужды... ... Вежливая программа отзывчива... ... Многие из запущенных программ, включая Windows 95, реагируют на смену разрешения изменением размера, формы и положения на экране своих окон... ... Информация об этом легко доступна, однако программа не заботится о моих очевидных нуждах... ... Вежливая программа умалчивает о своих проблемах... ... Программы тоже должны молчать о своих проблемах и интересоваться вашими... ... Программы всегда досаждают мне подтверждающими сообщениями и ненужными строками состояний... ... Меня не интересую затруднения программы в вопросе когда чистить "корзину"... ... Я не хочу слышать ее нытье о том, что она не уверена, в какое место на диске записать файл... ... Программа не только должна молчать о своих проблемах, но и должна уметь решать их сама... ... Вежливая программа хорошо информирована... ... Я хочу знать заранее, что объем партии ограничен и заказ нужно сделать заранее... ... Если ссылка неверна, ее можно удалить из списка, и мне не придется тратить время на ожидание ее загрузки... ... Программы постоянно предлагают мне варианты выбора, которые, по разным причинам, в данный момент недоступны... ... Программа должна знать это, и не выводить их на экран... ... Вежливая программа восприимчива... ... Я раскрываю на весь экран окно любой запущенной программы... ... Но программы, которые я запускаю, не замечают этот факт... ... Так просто для программы понять это и предугадать действия пользователя... ... Вежливая программа уверена в себе... ... Если они увидят, что я выхожу из уборной с расстегнутой ширинкой, я хочу чтобы кто-нибудь быстро, четко и ненавязчиво сказал мне об этом до того, как я войду в зал, чтобы произнести речь... ... В любом случае, программа должна быть уверенной в своих действиях, а не перекладывать ответственность на меня... ... Вежливая программа не задает лишних вопросов... ... " Даже самый требовательный гурман не захочет никакого салата с таким отношением, однако программы все время ведут себя подобным образом... ... Невежливая программа задает множество раздражающих вопросов... ... Выбирать можно разными способами... ... Вежливая программа является подстраиваемой... ... Когда служащему звонит знакомый из отдела продаж и объясняет, что можно получить большую выгоду если вот этот заказ обработать быстрее, он ускоряет его обработку... ... Тогда как служащий может выписать счет не имея полной информации о клиенте, автоматизированная система не сможет выполнить такой запрос, не желая выписывать счет... ... Допуская существование в системе временных маленьких ошибок и доверяя человеку в том, что он позже исправит их, можно избежать более серьезных ошибок... ... Эти негибкие правила делают программу и человека соперниками, и поскольку человеку не дают подстраиваться, чтобы избежать больших ошибок, он вскоре перестает заботится о защите программы от более серьезных проблем... ... Подстройку системы можно расценить как мошенничество... ... Можно привести множество рациональных и логичных причин не использовать подстраиваемые системы... ... Но к несчастью, такое идеализированное состояние дел не является точным описанием работы реального мира... ... Для предотвращения мошенничества можно воспользоваться возможностями компьютера следить за всеми действиями пользователя и показывать эту информацию специальному наблюдателю... ... Вежливая программа приносит удовлетворение... ... Компьютер не сделает ничего, пока вы не затратите огромных усилий на написание программы... ... Поэтому программисты создают свои программы точно такими же... ... Их программы заставляют пользователя вводить всю возможную информацию, а сами и пальцем не пошевелят... ... Мы можем сделать программы значительно более вежливыми, если они будут работать для того, чтобы предоставить пользователю всю возможную информацию без значительных усилий с его стороны... ... Вежливая программа внушает доверие... ... Когда компьютеры ведут себя совершенно неуправляемо и неохотно выполняют задания пользователей, ни о каком доверии и речи быть не может... ... Программы раздражают нас не из-за недостатка возможностей, а из-за отсутствия вежливости... ... Как показывает приведенный список характеристик, в большинстве случаев сделать вежливую программу ничуть не труднее, чем невежливую... Подробнее: http://fit-media.com/post_1203349390.html


  2. Windows с маленькой буквы w

    Степень соответствия запросу: 10,42%
    Фрагменты текста поста :
    ... Windows с маленькой буквы w Все программы базируются на основе двух типов окон: главных и вспомогательных, таких как диалоговые окна и окна документов... ... Выбор типа окон – начальный шаг в создании внешнего вида программы... ... Создавая удобный пользовательский интерфейс, нельзя просто гадать, какие окна использовать в программе... ... Лишние комнаты Если изобразить программу в виде дома, то можно представить каждое окно в виде отдельной комнаты... ... Дом будет соответствовать главному окну программы, а каждая комната – окну диалога или документа... ... Точно так же и при создании программы мы не должны добавлять окно в нее до тех пор, пока оно не будет служить какой-то цели, которой нельзя или невозможно достичь в уже существующих окнах... ... Не имеет значения, в какой комнате мы сейчас, так как мы оба понимаем суть рукопожатия, и переходить для этого в другое место – просто глупо... ... Для этого не может быть серьезной причины, потому что пожать руки можно везде одинаково хорошо... ... Например, в большинстве программ для рисования, для установки глубины тени объекта часто используется текстовое поле или ползунок в отдельном диалоговом окне... ... После изменения этого значения программа для продолжения работы возвращается к главному окну... ... В программе для рисования главной задачей является работа с изображением, а так как изображение находится в главном окне, то все инструменты для работы c ним тоже должны быть расположены здесь же, в главном окне... ... В программе глубину тени можно настраивать с помощью, например, кнопки на панели инструментов... ... Еще лучше, если тень можно перетащить мышью в новое место... ... Изменение глубины тени в диалоге, конечно, будет работать, но такое взаимодействие можно назвать грубым... ... Пойти в другую комнату и пожать руки тоже можно, но это будет лишь пустой тратой времени... ... Современные средства разработки программ позволяют создавать диалоговые окна, но добавление своих элементов управления или создание идиом непосредственной манипуляции (direct manipulation) в них обычно не поддерживается, поэтому разработчик, желающий создать качественный интерфейс, вынужден создавать свои элементы управления... ... Когда я хочу выполнить функцию, выпадающую из нормальной последовательности событий, программа должна предоставить мне для этого специальное место... ... Остальные части программы могут служить для обычных задач, таких как ввод и проверка записей... ... Для достижения хорошего эффекта мы должны анализировать функции программы с точки зрения целей пользователя... ... Если это программа для рисования, то цель пользователя - создать привлекательное изображение... ... Эти инструменты должны быть встроены в рабочую область программы, точно так как художник разложил бы все свои карандаши, ручки, ножи, резинки и другие инструменты под рукой, на своем столе... ... Эти же инструменты в программе должны распологаться по краям области рисования, чтобы их можно было "включить" одним кликом... ... Готовые картинки или фотографии обычно расположены в специальной папке и имеют средства для предварительного просмотра и выбора понравившегося образца... ... Тот же художник наверняка хранит каталог с образцами не прямо на столе, а где-то рядом, например, на полке, до которой можно дотянуться, не вставая... ... В программе функция вставки изображения тоже должна быть легко доступной, но, так как для нее нужен отдельный набор инструментов, которые в обычной работе не используются, ее следует разместить в отдельном окне... ... В программном эквиваленте этого процесса, пользователь временно оставляет программу рисования вместе со всеми инструментами, находит подходящее место на диске, чтобы сохранить изображение, после чего, возможно, посылает его по электронной почте... ... С помощью выяснения целей пользователя мы естественным образом подходим к наиболее подходящей форме программы... ... Вместо того, чтобы просто помещать каждую новую функцию в новое окно, мы видим, что некоторые функции вообще не нужно помещать в диалоговые окна, другие должны быть вынесены в отдельное окно, интегрированное в общий интерфейс, а некоторые функции вообще нужно убрать из программы... ... Если в программе используется одно окно для одной функции, экран быстро становится визуально загроможденным... ... Если же программа используется часто, это может превратиться в серьезную проблему... ... Если в вашей программе дюжина окон, потому что вы честно верите в то, что каждое из них приближает пользователя к нескольким различным целям, то вы должны разбить ее на несколько маленьких программ... ... У программы не может быть больше двух-трех целей, а значит, у неё не должно быть больше двух или трех окон... ... Один программист на Visual Basic однажды с гордостью заявил мне, что его программу было особенно тяжело разрабатывать, потому что в ней содержится 57 форм... ... Ни одну программу с 57 формами нельзя использовать эффективно... Подробнее: http://fit-media.com/post_1204300625.html


  3. Как создать хороший интерфейс пользователя?

    Степень соответствия запросу: 8,15%
    Фрагменты текста поста :
    ... Каждый день разработчики программного обеспечения создают интерфейс своих программ без применения каких-либо специальных методов... ... Я думаю нужен, и вот почему: Пользователи думают, что интерфейс - это и есть программа... ... Чтобы пользователи работали более продуктивно, программа должна быть простой в использовании... ... Разработчики программ могут последовать простому прагматическому методу, кратко описанному в этой статье... ... Рекомендую вам уделить одинаковое внимание следующим пунктам: Пользователи: их опыт работы с компьютером, мотивы, размер/важность групп пользователей, образцы (типовые ситуации) использования Задачи: что послужило причиной создания проекта, этапы создания проекта, какие результаты должны быть получены, какая информация необходима и когда Технология разработки и платформа , на которой будут работать пользователи Среда , в которой будет создаваться и использоваться проект (физическая, рыночная, организационная и культурная) Используйте эту информацию для определения и расстановки приоритетов... ... Окна нашей программы просто не поместятся на экране... ... Много дискуссий без значительного прогресса Вы не оправдаете ожиданий спонсоров вашего проекта (людей у которых есть причины забоится о доходе) Начальная фаза разработки: концептуальный дизайн В этой фазе разработки вы должны решить какой интерфейс лучше всего будет подходить для достижения ваших целей - текстовый, графический или мультимедиа... ... Основывайте ваш выбор на той собранной вами информации о пользователях и ситуациях, в которых они работают, а не просто делайте вашу программу похожей на среду разработки... ... Затем создайте концептуальную модель программы... ... Под концептуальной моделью я имею в виду чертеж, схему, которая показывает главные элементы, процессы и связи в программе с точки зрения пользователя... ... абсолютный минимум, который пользователь может понять о программе, и тем не менее успешно пользоваться ею"... ... Если у вас есть только нечеткая модель того, что вы пытаетесь сказать пользователю, он в конце концов останется с еще более нечеткой идеей того что делает ваша программа и как она работает... ... Навигационная модель показывает, как вы планируете распределять функции или задачи между окнами вашей программы... ... Например, можно ли будет оставить частично завершенную задачу и начать другую... ... Чтобы оценить концептуальную модель программы, вы можете просто показать ее схему пользователям и попросить объяснить ее вам... ... Пожалуйста покажите мне какие типы документов вы храните на своем компьютере"... ... Отметьте те места, в которых ваша программа может помочь ему в его работе... ... Например, прорабатывая задачи для программы планирования расписаний я обнаружила, что учителя обычно создают планы уроков для нескольких предметов даже если они еще не знают в какой день и в какое время будут проходить занятия... ... Исходная программа, которую я оценивала, имела ориентированный на расписание подход, встроенный в базу данных, так что учителя могли планировать уроки только назначив их дату и время... ... Если вы не будете использовать этот подход, вы рискуете создать программу, в которой пользователи будут перемещаться от одного окна к другому для того, чтобы выполнить свою задачу... ... Процесс разработки, основанный на задачах пользователей особенно важен, когда ваша программа предназначена для того, чтобы помогать пользователям работать быстрее и эффективнее... ... Его можно понять одним взглядом... ... Пользователь должен сразу распознавать какие данные можно редактировать, какие нет... ... по каким объектам можно щелкать мышью и какие объекты можно перетаскивать... ... это визуальные характеристики объектов, которые сигнализируют о том, что с ними можно сделать... ... Если вы пропустите эту стадию, вы рискуете получить программу, которая выглядит непрофессионально и непривлекательно... ... Если вы будете пренебрегать визуальным дизайном, ваша программа будет посылать хаотические сигналы, что приведет к увеличению ошибок, путанице и раздражению пользователя... ... И снова, если вы хотите знать, какие сигналы вы подаете, не спрашивайте "... ... Если вы хотите быть уверенным что ваша программа понравится пользователям, собирайте мнения потенциальных пользователей во время процесса разработки... ... В тестировании вы предлагаете пользователю выполнить определенное задание на некоторой версии вашей программы (рисунок одного окна, бумажный прототип, или рабочая система)... ... Тестируя готовую программу до ее официального выпуска вы можете найти и подчистить небольшие проблемы, которые могут стать причиной раздражения пользователя... ... Наблюдение пользователей в процессе тестирования вашей программы это самый лучший и самый дешевый способ образования... Подробнее: http://fit-media.com/post_1205661604.html


  4. Пользовательский интерфейс

    Степень соответствия запросу: 8,03%
    Фрагменты текста поста :
    ... Сама номенклатура принятых в среде Windows интерфейсных элементов вызывает большие сомнения в том, что на ее базе можно создать действительно удобные интерфейсы... ... Например, такой интерфейсный элемент как линейка прокрутки находится в противоречии с одним из основных принципов психологии восприятия: у человека может быть только одна точка активного внимания... ... Первому можно предложить практически любой интерфейс... ... Можно с уверенностью предсказать, что дальше станет хуже... ... В качестве примера удачной метафоры в интерфейсе можно привести Lotus Organizer , внешний вид которого напоминает привычный еженедельник, функции которого и выполняет этот продукт... ... Что это такое... ... Об общем стиле экранного изображения речи вообще не идет, если только не считать за таковой набор "тем"... ... Так, кнопки различных диалогов в стандартном оконном интерфейсе можно трактовать как сигналы к их нажатию... ... Тут мы подходим к еще одному важному принципу построения дизайна интерфейса - балансу между интерактивными возможностями программы и сложностью ее изобразительного ряда... ... Так же как при создании игр главным является баланс между сложностью игры и ее увлекательностью, выработка которого занимает основное время, так и в интерфейсе должен обеспечиваться баланс между функциональными возможностями программы, возможностями манипуляции ею и ее изобразительным рядом... ... Простая программа не имеет права сложно управляться, это очевидно, но она и не имеет права на слишком изощренную графику - грех, типичный для сегодняшних продуктов... ... Из этого, кстати, не следует, что у сложной программы должна быть изощренная графика и сложные пути взаимодействия... ... Пользователь простит вам обман, заключающийся в том, что простая на первый взгляд программа постепенно приоткрывает свои новые (в том числе и интерфейсные) возможности... ... Это может получиться случайно, когда пользователь по привычке попробует прием, освоенный в общении с другой программой, и с радостным удивлением обнаружит, что ваша программа правильно разобралась в том, чего он хотел... ... Похожий эффект может стать и естественным развитием среды, когда из освоенных простых действий пользователь сделает заключение, что должно существовать и некое сложное, и программа снова обрадует его взаимопониманием... ... Но дизайнеры этого интерфейса сочли эти элементы исключением из правил, хотя на их базе можно строить очень неплохие среды, конечно оставляя главные элементы "видимыми"... ... Соль модели в том, что нужный файл можно "приблизить" поворотом карусели (может быть, не одной), идущим в режиме анимации... ... Программисты, хвастаясь скоростью своих программ, замеряют время, "теряемое" между картинками... ... Выучив алфавит, можно читать любой текст... ... С другой стороны, и такой простой сигнал, как мигание, имеет действительно миллионы хорошо осознаваемых оттенков, связанных с изменением яркости объекта во времени... ... Многие программисты еще помнят о трудностях перехода к созданию программ, управляемых событиями, как того требует оконная среда... ... Вне зависимости от активности пользователя программе, построенной на анимационном интерфейсе, всегда есть что делать (например, менять фазу мигания)... ... Такие требования легче всего реализуются в специфической архитектуре программ, управляемых временем... ... На каждом такте работы такой программы заново строится изображение на экране, а события, инициированные пользователем, например ввод с клавиатуры, отрабатываются всего лишь изменением состояния программы... ... Таким образом, к двум привычным уровням программы - функциональному и интерфейсному - добавляется визуальный... ... Попытки потрясти мир могут привести к быстрой утомляемости пользователя и, как следствие, отторжению системы... ... Для дизайна конкретной программы требуется разработка собственной среды взаимодействия (направленной на реализацию конкретной функциональности) на базе общепринятой системы динамических визуальных сигналов... ... Практически единственный положительный пример можно взять из телевидения, а именно серию заставок к программам... ... Все компьютерные программы в корне меняют дизайн при переходе от одного окна к другому... ... На самом деле, хороший интерфейс пользователями замечается подсознательно, и, когда он нравится, симпатии переносятся на функциональную часть программы... ... Моя любимая цитата из обзора интерфейсов - " Интерфейс этой программы неестественен, потому что клавиша Alt+F4 не закрывает приложения "... ... Для успешной продажи этой модели та кнопка на панели управления, которая реализует А, должна быть как можно заметнее... Подробнее: http://fit-media.com/post_1204019048.html


  5. Оптимизируем мышиную возню

    Степень соответствия запросу: 7,45%
    Фрагменты текста поста :
    ... Как уже было сказано в предыдущих постах, чем большим количеством устройств ввода приходится пользоваться юзеру для работы с программой, тем менее удобен такой интерфейс... ... Поэтому разработчик еще на этапе проектирования должен четко определить, какое устройство в его программе будет приоритетным... ... Меню должны иметь как можно меньше вложенных подменю Лучше сделать больше пунктов главного меню с одной выпадающей менюшкой в каждом пункте,чем все команды загнать в одно меню с кучей вложенных подменю... ... Должны быть максимально задействованы все доступные кнопки мыши Не забывайте, что бывают одинарные и двойные клики, а также можно отслеживать комбинации нажатых кнопок мыши (например, одновременно нажатые правая и левая кнопки)... ... При этому вокруг объекта появляются контрольные квадратики, тягая которые можно передвигать и масштабировать объект... ... Повторный левый клик по уже выделенному объекту меняет контрольные квадраты на контрольные стрелки, с помощью которых можно поворачивать и наклонять объект... ... Правда одновременно с масштабированием можно еще и поворачивать объект... ... Этот список можно еще долго продолжать... ... Не забывайте, что даже с таким "скромным" набором элементов управления можно выстраивать очень хитрые комбинации типа: схватить объект левой кнопкой мыши, тащить объект с нажатой Ctrl + клики правой кнопкой... ... Для вышеописанного выше "китайского кода" может быть такое, например, объяснение: левой кнопкой хватаем и тащим объекты по экрану... ... Часто даже матерые пользователи забывают (а многие об этом и не догадываются), что объекты можно таскать не только левой кнопкой , но и правой и даже средней... ... Везде где можно используйте возможности технологии "Drag-and-Drop" Пользователю гораздо удобнее схватить объект и перетащить его в корзину или в другое окно, чем отметить объект и потом лазить по пунктам меню (или по многочисленным тулбарам) в поисках команды удаления/переноса... ... Очень желательно реализовать грамотное поведение окон Окна, которые знают в какой момент им следует появиться на экране, а в какой исчезнуть - отличные помощники в работе... ... Эту идею можно еще очень долго развивать... ... В некоторых случаях стоит подумать о поведении, которое можно назвать "запоздалым исчезновением"... ... И для каждого запуска мне приходится повторять одни и те же действия: "Пуск" - "Все программы" - "Интернет" - и т... ... Там можно установить атрибут "Поверх всех окон" (Always On Top) для абсолютно любого окна... ... В операционной системе Microsoft Windows лично мне очень сильно не хватает такой функции... ... И таких менюшек можно навешать столько сколько нужно... Подробнее: http://fit-media.com/post_1199978157.html


  6. Максимум производительности

    Степень соответствия запросу: 7,38%
    Фрагменты текста поста :
    ... Три операции, которые можно упростить Работая на компьютере, пользователи выполняют три основных операции: Принимают решения на основе информации, касающейся текущей задачи Собирают данные, необходимые для выполнения текущей задачи Манипулируют компьютером с помощью элементов управления Например, пользуясь автомобилем, пользователи вначале решают, куда они хотят ехать... ... Выбор определенного типа шва представляет собой решение пользователя о том, в каком случае одежда будет выглядеть наиболее привлекательно... ... Это объясняет большую популярность таких аппаратов, которые сами проводят необходимые настройки, чтобы фотография получилась хорошо освещенной и правильно сфокусированной... ... Для того, чтобы получить хорошую фотографию, вы должны установить такую диафрагму и время выдержки, чтобы в камеру попало оптимальное количество света... ... Этот сложный механический интерфейс можно заменить одним кольцом &ndash... ... Что можно вынести из этого примера... ... Действительно ли необходимо второе окно, или же задание можно выполнить с помощью одного... ... Можно ли выполнить это задание за один шаг, а не за два... ... Можно ли получить информацию на основе логического вывода... ... Как только большинство клиентов поймет, что новая система может сберечь их время и деньги, они попытаются уменьшить ее эффективность насколько это возможно, тем самым получая обратно свое время и деньги... ... Например, можно вводить информацию с бумажных форм в компьютер, используя сканер и программу оптического распознавания текста... ... Однако в зависимости от чистоты и избыточности поступающей информации, такой способ может потребовать больше ручной работы, которую он и призван уменьшить... ... Ограничение принятия решений Необходимость принятия решений можно снизить следующим образом: Не воспринимайте пользователя как "... ... Быстро и точно предоставляйте пользователю информацию, необходимую для принятия решений... ... Большинство операций такого рода можно заменить машинами, полностью удалив оператора из процесса... ... Но решение о том, какой метод использовать для выполнения запроса - А или Б, лучше оставить машине... ... Часто можно видеть, что программа задает пользователю вопрос, на который он не может ответить, не обратившись за информацией куда-то еще... ... Используйте фоновый режим выполнение задач Выполняя все асинхронные операции в фоновом режиме, можно отделить задачи пользователя от задач компьютера, позволяя пользователю работать без перерывов... ... Над проблемой печати стали работать в первую очередь, потому что Печать отнимает много времени Печать не требует вмешательства пользователя Общее время выполнения задачи предсказать нельзя Следующее задача пользователя обычно не связана с результатами печати Если принтер подключен к высокоскоростной сети и в очереди печати нет заданий, все происходит довольно быстро... ... Это значит, что изменения на экране должны быть значительными, для того чтобы их можно было визуально различить... Подробнее: http://fit-media.com/post_1207048697.html


  7. Все ли CMS одинаково полезны?

    Степень соответствия запросу: 6,16%
    Фрагменты текста поста :
    ... Десять лет назад, достаточно было соорудить сайт на HTML в обычном "Блокноте" (можно даже без картинок), разместить его где-нибудь - все равно где, ткнуть искалку в него носом и все - посещаемость этому ресурсу обеспечена... ... Зато один раз основательно пропотев при установке, потом пользоваться ей можно обучить даже неандертальца, т... ... Ну а что еще можно ожидать от мотора за 2 рубля... ... Не Бог весть какой, но для кого-то и этого будет вполне достаточно... ... В общем выбрать есть из чего... ... Концепцию можно было бы назвать " Pay-and-Play " - никаких сетевых знаний и умений иметь вовсе не обязательно, поставил и пользуйся на здоровье... ... Но даже при таком подходе, движек обычно накладывает некоторые ограничения и поэтому гибкости и свободы в расположении контента на странице все равно недостаточно... ... Все это означает, что поисковые системы конечно же найдут и проиндексируют сайт на таком движке, но вот восторга, переходящего в эйфорию, они от этой индексации не испытают... ... Процесс "законного отнимания банковских билетов" предусматривает пропускание через свой сайт десятков тысяч посетителей за сутки и каждый из них должен быть "обслужен" максимально быстро, ибо ленивы и капризны оне... ... Опять же, если человеку требуется только один сайт (например личный блог, форум или магазин), то вполне можно обойтись стандартными шаблонами дизайна... ... В крайнем случае можно несколько дней попотеть и прикрутить свой уникальный дизайн... ... Для популяризации и распространения своей CMS создатели должны наделить ее максимумом возможностей, сделать как можно более универсальной... ... Вторым последствием такой универсальности является блокировка работы посторонних скриптов, расположенных на том же хосте/домене... ... Про всякие поисковые запросы, источники трафика и анализ популярности страниц можно даже не вспоминать... ... Следовательно даже при наличии десятка счетчиков реальной картины увидеть все равно не удастся, можно лишь что-то куда-то усреднять и строить догадки... ... Но на догадках много денег заработать может только гидрометцентр, обычного же мани-мейкера подобное поведение быстро превратит в "бывшего мани-мейкера"... ... Было бы очень здорово, если бы движку можно было подсунуть любой (ну или почти любой) PHP-файл и он (движек) смог бы с этим файлом нормально ужиться... ... Огромную пользу от этой штуки можно поиметь, например, в блоге, магазине или форуме... ... В идеале к движку можно будет прикрутить абсолютно любую "морду"... ... Есть ядро (основа движка) и есть набор абсолютно независимых друг от друга модулей, которые можно отключать/подключать по мере необходимости, уменьшая размер CMS и увеличивая скорость ее работы... ... Статистика всего, что только можно получить с помощью PHP... ... Все должно быть предельно просто и позволять очень быстро адаптировать практически любой скрипт для работы "под движком"... Подробнее: http://fit-media.com/post_1200405197.html


  8. Файлы vs базы данных.

    Степень соответствия запросу: 4,92%
    Фрагменты текста поста :
    ... Непонятно почему, но народ истово верит в то, что именно такой подход (отказ от использования систем управления базами данных и хранение данных в файлах) дает гораздо большую производительность... ... автор скрывает исходники, шифруя все в байт-код с помощью Zend-Guard), но общие выводы можно сделать просто проанализировав содержимое файлов, хранящих статистические данные... ... Кстати, анализируя этот файл можно увидеть, какие страницы сайта проиндексированы какими поисковыми системами (были посещены поисковыми ботами) и когда это произошло... ... Но в таком случае, почему об этом нигде не сказано... ... И не просто считывает, а делает его « ансерилизацию », если можно этот процесс так назвать... ... приходится парсить (разбирать) огромный объем текста, выискивая в нем те самые спец-символы, по ним восстанавливать значения исходных ячеек и клеить их в результирующий массив... ... Если вы внимательно прочли предыдущий абзац, то уже должны понимать, что при небольшом количестве элементов в массиве операция проходит относительно быстро... ... Ну а если это статистика за месяц и при этом с поисковиков в день приходит по несколько сотен человек, да еще по тысяче различных запросов, то получается весьма нехилый объем работы... ... Тут можно немного оптимизировать процесс и сделать обращение вида Пример кода $ar['allsein']['google... ... com||вася пупкин'] В этом случае для сравнения строк будут использованы встроенные средства языка (библиотечные функции), которые работают гораздо быстрее самих PHP-шных скриптов, но все равно операцию эту быстрой не назовешь... ... Если же такой ячейки нет, то ее необходимо создать и поместить в нее единицу... ... Благодаря этому можно использовать так называемый бинарный поиск... ... Таким образом, одной операцией сравнения мы сразу определяем в какой из половин таблицы находится нужная нам запись, т... ... И главное - умопомрачительно быстро... ... Ну и конечно не забудьте о том, что поиск можно производить не в каждой таблице по отдельности, а сразу во всех, одной командой: Пример запроса SELECT Hits FROM se_hosts, se_query, se_hits WHERE ID1 = SH_ID AND ID2 = Q_ID AND Date = 3085 что еще даст еще больший выигрыш, т... ... записи из первых двух таблиц не нужно будет передавать в скрипт, а мотор СУБД обработает их сам и очень-очень быстро... ... А итог таков, что пусть мы и поимеем потери на чтении/сохранении индексных файлов все равно получаем примерно тысячекратный прирост в скорости в сравнении с файловым движком... Подробнее: http://fit-media.com/post_1222679684.html


  9. Залепа №13. О грамотном проектировании и неграмотном IDE.

    Степень соответствия запросу: 3,74%
    Фрагменты текста поста :
    ... Задача: Есть некая программа, работающая с базами данных... ... В программе, кроме основных функций, должна быть возможность как редактирования списка пользователей так и изменения параметров отдельных пользователей... ... такое решение, при котором наша программа не превратится в кашу из кучи классов, лишних открытых методов, свойств и форм... ... Здравый смысл подсказывает, что справочник должен быть представлен неким классом (назовем его CUserMgr ), который позволяет основной программе получить все необходимые данные о пользователе и скрывает всю внутреннюю структуру внутри себя... ... Опять же для простоты решим, что программе нужно получать только лишь логин и пароль пользователя по его идентификатору... ... Таким образом у нас получается примерно такой открытый интерфейс нашего класса: Набросок класса public class CUserMgr { // получить идентификатор по логину public int GetID(string login) {... ... Редактор пользователей должен отобразить на экране окно списка пользователей, в котором можно добавить нового пользователя и удалить или отредактировать существующего... ... Все это можно перетерпеть если вы создаете класс, который будет использоваться только в вашей программе и код которого никогда не будет использован где-либо еще... ... } } В общем нечто такое... ... Он их будет создавать и удалять (редактирование списка пользователей), получать из них информацию и передавать ее в основную программу... ... Вот примерно такой подход... ... в реальной программе некоторые закрытые методы как CUser так и CUserMgr все же придется открыть... ... Это вызовет не только расход памяти, но и будет существенно тормозить программу... ... } } Итак, вот что мы получаем при таком подходе: программа "видит" только класс CUserMgr , о существовании внутренних классов она даже не подозревает и естественно не может получить к ним доступ... ... Можно как угодно изменять внутреннюю структуру CUserMgr и вложенных классов... ... Если внешний интерфейс не изменится, то эти модификации никак не скажутся на работе основной программы, использующей наш класс... ... В общем мы добились нормального решения поставленной задачи... ... :( Почему так происходит, ведь с точки зрения языка все верно и никакого "криминала" в таком вложении нет... Подробнее: http://fit-media.com/post_1204892317.html


  10. Миф о метафоре

    Степень соответствия запросу: 3,43%
    Фрагменты текста поста :
    ... Миф о метафоре Разработчики программ часто говорят о " нахождении правильной метафоры " в качестве основы для интерфейса... ... Они думают, что если наполнить интерфейс картинками хорошо узнаваемых объектов из реального мира, то пользователи очень быстро научатся работать с программой... ... Поэтому они создают интерфейсы, которые выглядят как офисы со столами, папками документов, телефонами и адресными книгами, в надежде создать программу с неслыханной легкостью обучения... ... Поиск такой метафоры - все равно что поиск парового двигателя для самолета или поиск динозавра для поездки на работу... ... Самая большая проблема заключается в том, что метафоры жестко прибивают гвоздями наши концептуальные ноги к полу, навсегда ограничивая возможности наших программ... ... Три парадигмы интерфейсов Я считаю, что для пользовательских интерфейсов программ существует три парадигмы: технологическая , метафорическая и идиоматическая... ... Технологическая парадигма основана на понимании механизма работы программы - сложный подход... ... Чтобы успешно им пользоваться, пользователь должен понимать, как работает программа... ... В 60-х годах в архитектуре зданий существовало направление под названием Метаболист , влияние которого можно встретить и сейчас... ... Подавляющее большинство компьютерных программ сегодня строятся по такой же архитектуре, безо всякого стыда показывая нам как они были созданы: одна кнопка на функцию, одна функция на модуль кода, команды и процессы, которые точно отражают внутренние алгоритмы и структуры данных... ... Мы можем узнать, как работает технологическая программа, просто запустив ее... ... Поэтому так много программ следует ей... ... Но большинство пользователей - не инженеры и совершенно не хотят разбираться в устройстве программ или же не имеют на это времени... ... 25" дискетам, потому что на них было записано много хороших программ... ... Метафора, хорошо работающая для простого случая в простой программе часто перестает работать, как только задача усложняется и увеличивается в размере... ... Метафорическая парадигма - шаг вперед, потому что ее интуитивное понимание происходит без всякого знания механизма работы программ... ... Глупо думать, что можно создать хороший интерфейс на основе некоего мысленного волшебства... ... Мы не "понимаем" почему чье-нибудь лицо такое, как оно есть, но мы "знаем" это лицо... ... С одной стороны вы можете интуитивно понять основные функции программы, но с другой стороны метафора ограничивает навигацию очень элементарным, линейным маршрутом... ... В физическом мире это нормально, но в программе нет нужды заставлять пользователя делать все старыми неуклюжими методами... ... Создатели телефонов были бы в экстазе, если бы могли создать телефон, по которому можно звонить друзьям, нажимая на их изображения... ... Существуют программы с "адресными книгами" телефонных номеров, похожие на наши записные книжки... ... Будущие интерфейсы будут идиоматическими, основанными на естественной способности человека легко и быстро узнавать новое... Подробнее: http://fit-media.com/post_1206190085.html


История внешних поисковых запросов

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,46080 сек.
  • Память: 17 664 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS