Понимание пользователей - Производительность Трампа выглядит? - PullRequest
2 голосов
/ 28 января 2009

Мне кажется, что всякий раз, когда задействован графический интерфейс пользователя, внешний вид интерфейса почти всегда превосходит производительность приложения.

Это универсальное явление?

Ответы [ 10 ]

21 голосов
/ 28 января 2009

Достаточно плохая внешность превосходит любой уровень хорошей производительности.

Достаточно плохая производительность превосходит любой уровень привлекательной внешности.

11 голосов
/ 28 января 2009

Это сводится к психологии вашей целевой аудитории и к архитектуре вашего приложения. Если графический интерфейс реагирует быстро и выложен таким образом, что он интуитивно понятен для пользователя (в отличие от разработчика), то нижележащие уровни могут не нуждаться в такой хорошей работе. Однако, если пользователь хочет получить данные из базы данных, и они остаются в подвешенном состоянии во время загрузки данных, они будут чувствовать себя совсем по-другому. Сравните 2 веб-приложения в качестве примера:

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

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

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

Из многих тысяч часов написания программного обеспечения и непосредственного взаимодействия с моими пользователями - часто теми, кто не обязательно обладает компьютерной грамотностью, как ваш средний 10-летний, я отметил эти моменты, которые являются ключевыми для получения одобрения именно от такой аудитории. [написано с точки зрения пользователя]:

  1. Он должен делать то, что я хочу, как я хочу: Не просто читайте спецификацию и ожидайте, что ваш код будет точно соответствовать тому, что написано на бумаге. Действительно прочитайте, что написано на бумаге, и поймите, что пользователь имел в виду . Дизайн к основному значению слов, а не черных и белых чернил на бумаге. Если вы не понимаете, что именно я имел в виду, приходите и поговорите со мной, и я объясню вам, пока вы не поймете Я буду менее счастлив, если вы поставите программное обеспечение, которое не соответствует моей цели, чем я по вашим вопросам. Я буду чувствовать себя намного счастливее, если почувствую, что вы на моей стороне, действительно пытаясь меня понять.

  2. Это должно помочь моему рабочему процессу, а не препятствовать ему: Здорово, если все, что мне нужно сделать, это нажать одну кнопку, чтобы завершить то, что мне потребовалось бы на час раньше, но если он замораживает мой компьютер на 20 минут, необходимых для выполнения задания, я не собираюсь быть счастливым туристом.

  3. Это должно быть интуитивно понятно: Это означает, что я не хочу разбираться с документацией, которую вы не предоставили мне, чтобы понять как это использовать. Не хочу и 20-минутного объяснения, которое я забуду через 3 минуты после того, как вы выйдете за дверь. Разработайте программное обеспечение так, чтобы мой 10-летний мог понять это так же легко, как они могли программировать PVR. Это означает, что я должен взаимодействовать с ним таким образом, который кажется логичным для меня как человека, который будет использовать его изо дня в день. Не имеет значения, если это функционально правильно, если я не могу понять, как его использовать, я не собираюсь его использовать, тем более платить за него.

  4. Он должен быть отзывчивым: Я не хочу нажимать кнопку, а затем ждать 10 секунд, пока загрузится список, и затем выбрать элемент из этого списка, а затем ждать еще один экран, чтобы загрузить его, прежде чем я смогу выбрать действие, которое нужно выполнить для этого элемента, а затем потребуется 5 минут. Найдите способ быстрой загрузки данных - если вы не можете быстро загрузить данные в ответ на мои действия, тогда придумайте хитрость, чтобы они чувствовали , как данные загружаются быстро - возможно, загружая их заранее в фоновом режиме и отображая только то, что мне нужно, отображается в ответ на мои действия ... моя точка зрения, мне все равно что вы делаете, просто сделайте так, чтобы выглядело как он делает это быстро.

  5. Это должно быть надежно: Неважно, что я кидаю в него, оно должно принять это и двигаться дальше. Если я делаю что-то не так или кладу что-то неправильное в поле, скажите мне - НА ПРОСТО АНГЛИЙСКОМ ЯЗЫКЕ !! Меня не волнует переполнение буфера или исключения IOException, выдаваемые в строке 479 при попытке открыть файл. Просто разберись и скажи мне, что я сделал не так на языке Я понимаю.

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

  7. Цена: Это полностью зависит от вашей аудитории, но, по моему опыту, если вы выполнили все вышеперечисленные пункты, цена, как правило, вызывает гораздо меньшее беспокойство, чем может показаться на поверхность.

2 голосов
/ 28 января 2009

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

2 голосов
/ 28 января 2009

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

Теперь, пока время отклика приложения меньше некоторой суммы, то внешний вид будет большой частью удовлетворения.

Ознакомьтесь с некоторыми книгами Якоба Нильсена по этому вопросу.

2 голосов
/ 28 января 2009

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

1 голос
/ 28 января 2009

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

Например, отдел кадров обычно работает с большим количеством текстовых данных. Они тратят кучу времени на ввод данных в формы, такие как информация о сотрудниках, права, рекрутинг и т. Д. Эти типы пользователей могут выбрать внешний вид приложения для этой цели, им нужен эстетически приятный дизайн, простой в навигации и интуитивно понятный.

С другой стороны, такой отдел, как финансы, может способствовать повышению эффективности своих инструментов отчетности. У меня был небольшой опыт работы с большими таблицами SQL со сложными запросами, выполнение которых занимало значительное время. Пользователи, которые запускают подобные отчеты много раз в день, скоро устают от ожидания и с радостью потеряют немного интуитивности интерфейса в обмен на время, которое можно потратить на другие задачи.

Итак, я бы сказал, что вы не можете сделать общее утверждение типа «Все пользователи предпочитают быстрое приложение» или «Всем пользователям нравятся красивые приложения». Это действительно зависит от предпочтений пользователей, их требований к работе и цели приложений.

1 голос
/ 28 января 2009

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

0 голосов
/ 21 июля 2009

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

Программисты часто думают, что программы, которые работают медленно и используют много памяти, являются плохими, и они измеряют все свое программное обеспечение на использование памяти и использование процессора. Но большинство из вас, пользователей, не будут запускать top или диспетчер задач Windows и смотреть на размер вашей программы, они будут ее использовать, и если, если вы захотите использовать программу, и на остальных компьютерах с запущенной программой они упадут. хорош для.

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

0 голосов
/ 29 января 2009

Баланс это все.

Пользовательский интерфейс должен выглядеть респектабельно, профессионально и схожим с другими приложениями, чтобы у пользователя был общий опыт, а значит, и небольшой уровень обучения. У него не должно быть ненужных свистков и колокольчиков, если не указано иное.

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

0 голосов
/ 28 января 2009

Наиболее важными являются цена, функциональность, совместимость и надежность .

Внешний вид и производительность оба , относительно неважны, и поэтому на практике они оба не могут "превзойти" что-либо:

  • Совместимость : например, в реальном мире я использую MS Word не потому, что он быстрый или красивый, а потому, что он совместим со всеми, кто его использует.

  • Функциональность : когда я хочу заказать поезд во Франции, я использую http://www.voyages -sncf.com / не потому, что он быстрый или красивый (или даже выдающийся) надежный) но потому что он обладает необходимой функциональностью.

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

  • Цена : и т. Д. (Не говорите больше).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...