Комментарии 61
— все переходы на новую страницу только ПОСТ, что бы нельзя было так просто взять и скинуть другому юзеру урл на нужный контент + при нажатии Ф5, писало раздражающее сообщение браузера. Для более извращенства, пришить CSRF и таким образом отрубить возможность использовать F5.
— на всю катушку воспроизводить музыку / видео, как только зашёл на сайт. Ах да, видео должно быть 4к и музыка в WAV формате.
— дополнение к Ф5, если запрос не прошёл, то оставлять загрузочный экран, что бы юзеру всё пришлось начинать сначала.
//offtopic: надеюсь после написанного выше, в дурку никто не подаст заявы на меня.
— дополнение к Ф5, если запрос не прошёл, то оставлять загрузочный экран, что бы юзеру всё пришлось начинать сначала.
Если запрос не прошел, то надо выводить страницу с собщением об ошибке! Главное — чтобы не ней не было никаких элементов управления — тогда пользователю придется начинать не просто сначала, а с открытия сайта через гугл
N+1) Никакого разделения на дебаг и релиз. Только релиз со всеми дебагами. Куча тестовых кнопок, выводящих загадочные буквосочетания — это типа пасхалки.
N+2) Не допускать возможности прерывания затянувшегося процесса или ожидания. Пользователь должен быть терпелив.
N+3) не сохранять установленные пользователем настройки сеанса: флажки, радиокнопки, ползунки в окне, положение окон на экране и все такое. Если забыл, как было в прошлый раз — или оно не очень-то надо, или записывай.
N+4) программа должна требовать прав администратора, даже если можно обойтись без этого. Софт не для слабаков.
N+5) Очень красивый прием: при нажатии на кнопку запускать долгий процесс, о его начале не сообщать, позволить нажать кнопку еще много-много раз, потом выдать много-много сообщений об ошибках, потому что запущенные процессы используют общую память как хотят. Пользователь должен наконец научиться понимать, что если ты нажал на кнопку — комп понял, и не требует повторений. А что молчит — значит, все в порядке.
N+6) сделать загадочную зависимость разного рода флажков и переключателей друг от друга. Одни должны вызывать автоматическое срабатывание или блокирование других. Особенно здорово, если проявляется при определенных сочетаниях: два установленных флажка переключают группу радиокнопок, а каждый в отдельности флажок — нет. Такие детективные распутывания доставят массу приятных минут и позволят почувствовать себя детективом.
— никогда не проверять установлено ли партнерское ПО, версионность и компоненты! Окружение же у всех одинаковое! и вообще если у вас нет outlook последней версии это ваша беда! у нас все работает!
— побольше хуков! если отвалиться потом пол — винды — это уже проблема мелкософта! главное что ваше ПО работает!
— не надо писать uninstall! Кто ж откажется от вашего замечательно ПО? лучше сразу разбросать свои файлы по всему диску. так удобнее их потом убирать.
— обновления важны! лучше еще записать сразу 6 служб, которые будут в вечном цикле ждать обновлений. как пользователь выживет милисекунду без новой версии? а ресурсов у них и так много — подумаешь, всего то одно ядро проца под 100…
- разверните окно установщика на весь экран без рамки, пусть юзер любуется веселым фоном установщика
- диалог мастера установки должен быть поверх всех окон и не сворачиваться, чтобы не было соблазна что-то еще делать вовремя установки
- в выборе компенентов воздержитесь от пояснений о сути непонятно именованных частей программы (
Lib GDX v11.6
,JkILL 0.4.1
,Zlkh Inc Enterprise 2019
), пусть юзер гуглит (учитывая предущие пункты — браузер придется запускать с другого компьютера) - частично заблокируйте выбор папки для установки, пусть у юзера будет только переключатель между
C:\Program Files\Steam\steamapps
иD:\Program Files\Steam\steamapps
- разбросайте скрытых в расширенных настройках, в дополнительных экранах полупрозрачных галочек об установке Майл-клиента, Гугл Хрома, ЯндексБара. Денег мало не бывает.
- запускайте скрипты в bat, cmd, js, запускайте виндовые диалоги копирования и используйте прочие трюки. Такие окоши выгляядят очень по хакерески.
- скройте выполнение части батников, желательно тех которые могут потребовать ввода от пользователя для работы
- приостанавливайте установку для загрузки чего-нибудь из интеренета
- посреди установки выдайте аллерт с дальнейшими действиями
после завершения установки зайдите в меню пуск → reclock → настройки и активирейте галочку ...
, процесс установки должен приостановиться до закрытия окошка. - после окончания откройте в браузере страничку с рекламмой ж-)
— Всю тяжелую работу обязательно делать в UI потоке.
— твой девайс/браузер/ось — единственный разумный выбор в мире. именно ими и нужно пользоваться в интернете.не зачем проверять верстку и юзабилити где-то еще.
— никогда не использовать «хот кей» или вариантов макроса для команд, вызовов из пунктов меню. пусть все действия имеют только один способ вызова — это проблема пользователя, если он зашел с пк или с моб.девайса, где нет «онролл».пусть неудачник с айфоном понервничает, что у него нет мышки!
— не нужно разбивать форму ввода на подформы! поставь время жизни сессии на 1 минуту и запили 10 экранов формы! подождав, пока пользователь забьет все 10 экранов полей, можно замечательно вернуть его на страницу «логин» и потом на главную.
— не нужно делать «защиту от дурака» — твой софт только для гениев! так что если пользователь нажмет «удалить все записи» — удаляем. гений знал, что хотел, для чего его переспрашивать?
— безопасность — для трусов. твой сайт и так «мега неуязвим»! не нужны никакие проверки по емейлу и CSRF! Повставляем в url сразу и пароль от учетки пользователя. ну чтобы нам было проще, когда пользователь скинет линк в скайп.
— не нужно автоматизировать загрузку. парсер — долго и скучно! пусть вбивают все вручную через форму. им все равно на работе больше заняться нечем.
— никогда не делай проверок по словарю при вводе адреса! это прикольно, читать потом 7 вариантов написания одного и того же города или улицы.
— продакт сервер всегда должен быть на автообновлении.что плохого может случиться?
— не нужно быть пессимистом! мы живем в прекрасном мире где все всегда хорошо! зачем проверять валидность данных и ставить обработчики ошибок?
— не нужно делать «защиту от дурака» — твой софт только для гениев! так что если пользователь нажмет «удалить все записи» — удаляем. гений знал, что хотел, для чего его переспрашивать?Во времена Siemens *65 был софт для перепрошивки телефонов, модификации EEPROM, от каких-то чуваков.
В разделе модификации EEPROM был пустой табличный виджет, и две кнопки: Save и Save All. Если добавить в виджет некоторые значения EEPROM, выделить их в виджете и нажать Save, программа считывала текущий EEPROM с телефона, изменяла значения внесенными в таблицу, и загружала обратно. Таким образом, на телефоне оказывался полный EEPROM с измененными значениями, все как надо.
Если внести значения в таблицу с нажать Save All, то программа меняла поведение: весь EEPROM начинал строиться из внесенных в таблицу значений, просто перезатирался, а не модифицировался.
Вместо того, чтобы назвать кнопку более понятно, добавить предупреждающее окно или что-то в этом духе, автор писал документацию на форумах, мол, обратите внимание, это важно, не жмите Save All, а выделяйте значения и жмите Save!
Приятно удивите пользователя ярким красочным дизайном… красный, зелёный, фиолетовый — раскрасьте жизнь офисного планктона.
Напомните пользователю, что разработчик — тоже человек. Выводите на весь экран модальное сообщение что у вас сегодня день рождения со своей самой удачной фотографией…
(Для десктопа) Сделайте форму приложения фиксированного размера и только на экраны не ниже FullHD. Как бонус — кнопка закрытия программы должна располагаться ниже видимой области.
Эти советы столь же замечательны и в обратную сторону:
Максимально избавляйтесь от элементов управления и прочего визуального мусора. Интерфейс делайте крупным, чтобы слабовидящие пользователи могли им пользоваться. Идеал — на экран должна вмещаться только одна кнопка.
Делайте весь интерфейс одним цветом, чтобы ничего не отвлекало пользователя от созерцания. Пользователю незачем знать с какими из отображаемых на экране элементов он может взаимодействовать.
Помните, что пользователю нужен результат, а не информация о разработчике. Ни в коем случае не оставляйте никаких форм обратной связи. Лицензионное соглашение тоже имеет смысл показывать только в инсталяторе.
Делайте все формы подстраивающимися под монитор! Нельзя, чтобы даже на самый крупный монитор влезло больше информации, чем на маленький — пользователь вовсе не для этого покупал монитор по-больше.
Проявите чувство юмора. Когда ваша программа закрывается с ошибкой не говорите пользователю что случилось, а просто сообщите с улыбкой, что «Что-то пошло не так». Пусть улыбнётся вместе с вами.
Никогда не стоит полностью доверять пользователю. Убирайте часть настроек в самые вложенные из вложенных меню, конфигурационные файлы, аргументы запуска программы и нигде не это не описывайте.
Мотивируйте пользователя повышать навыки работы с ПК. Пусть ваши процессы можно закрыть только из диспетчера задач.
Пишите логи. Много логов. Больше логов для бога логов. Описывайте всё, действия пользователей, полученные и пересылаемые пакеты данных, координаты курсора. Это всё очень важная информация. Не контролируйте размер файла ведь FAT32 в 21 веке — моветон.
PS. Хочется улыбнуться — не получается. Это всё из реальной жизни
P.S. Сначала написал, потом понял, что aquamax уже написал практически то же самое. )
Универсальный интерфейс для тач и не-тач устройств. 4 квадрата на весь экран в 23 дюйма должно хватить каждому.
Тащите за собой все библиотеки, которые только можно: нужные и ненужные. Калькулятор с одной Activity загружается и отжирает 250МБ оперативной памяти? Ничего страшного! В любом нормальном смартфоне памяти хотя бы гигабайт, а ваш калькулятор, все равно, занимает весь экран. Нет гигабайта? Такой смартфон, не проблема программиста. Про десктоп и говорить не приходится: если памяти меньше 8ГБ, это не компьютер, и это не проблема программиста.
Автообновление любого софта должно быть и не должно отключаться. Срочно нужно написать что-то в любимый im? Не беда, сейчас обновится — напишем, беседа подождет!
Все должно жрать процессор. У всех по 4 ядра, интернет-магазину надо их чем-то загружать. Пусть батарея в ноутбуке потренируется!
Никакой обратной совместимости, только хардкор! Расписание для электричек? Android 6.0 как минимум. Стыдно должно быть запускать современный софт на Samsung Galaxy S3 в 2017м!
Последний Photoshop также ставит с собой
Microsoft VC 2005 Redist (x86)
Microsoft VC 2008 Redist (x64)
Microsoft VC 2008 Redist (x86)
Microsoft VC 2010 Redist (x64)
Microsoft VC 2010 Redist (x86)
Microsoft VC 2012 Redist (x64)
Microsoft VC 2012 Redist (x86)
Microsoft VC 2013 Redist (x64)
Microsoft VC 2013 Redist (x86)
Microsoft VC 2015 Redist (x64)
Microsoft VC 2015 Redist (x86)
На прошлой неделе хотел поставить современный бесплатный firewall для десктопа. Я проспал апокалипсис?
кнопку с ГУСЕМ
Долго не мог понять, о чём речь. Дайте угадаю: вы из Гусь-Хрустального? =)
(До этого не мог писать, похоже атака на РКН и до меня докатилась. Уже сутки могу читать только гугловские сайты, остальные только через Тор.)
— Билли, надо поменять интерфейс на новый, еще более интуитивно-понятный и красивый.
— Гарри, но этот и так понятный. Он победил бы на конкурсе даже «Мисс Вселенная» Мисс Вселенную и Линдси Лохан, даже если бы их оценки сложили!
— Нам нужен новый, у нас major версия релизится.
— Но я не могу придумать новые иконки!
— Придумай что-нибудь, Гарри. Ты же профессионал.
* Не надо сохранять данные в полях регистрации/редактирования профиля (особенно если полей over 100500), если вылезла ошибка после сохранения. Пусть пользователь почувствует весь тлен нашей скоротечной жизни и учится с первого раза не допускать промахи.
На большее меня не хватило, бомблюсь только с этого.
Экран загрузки должен быть всегда и везде
Вот это прям наболевшая тема. Часто захожу на сайты «веб студий», у которых одностраничник загружается на моём FX6300 дольше одной секунды с этим раздражающим экраном загрузки. Они что специально задержку делают или это такие новомодные хипстерские фреймворки? О какой компетентности таких разработчиков может идти речь?
А ещё генерация всего и вся javascript'ом, как на linkedin'е, например. Но моём слабом ноуте(pentium 3825U + 2gb ram) невозможно открыть 5 вкладок, чтоб всё не начало дико лагать.
Забавный, кстати, факт: сплеш-скрины чаще всего тормозят приложение. Не в силу необходимости какой-то, а просто так. Вот например, товарищи разрабатывающие KDevelop выкинули не так давно и ощутимо быстрее грузиться стало приложение: http://kfunk.org/2016/08/23/whats-new-in-kdevelop-5-0/#splashscreenremoval
Ах да, возможно именно ощущения меня подвели — ускорили каким-то образом библиотеки и приложение, поэтому отпала необходимость отображать Splash screen. Но это один пример, где-то встречал ещё в сети описания схожих случаев.
Возможно и QML участвует, он неплохо подтормаживает загрузку (судя по отностиельно новой версии 2gis для смартфонов).
Это разработчики не придерживаются правила
Обновляйте веб-страницы целиком
Зато как все нормальные люди!
Аналогичные истории слышал много раз от разных людей и про разные софтины и девайсы.
2. Элементы интерфейса должны быть маленькими. Нужно же заботиться о пользователе, пусть развивает снайперские способности.
3. Окна должны быть большими. Даже если на нём всего две кнопки (которые сделаны в соответствие с выше представленной рекомендацией) окно должно быть расчитано для использования только с мониторами с разрешением 2560x1440, а лучше и того выше. Конечно же оно не должно менять размеры, а также надо располагать его на экране так, чтобы шапка была за пределом экрана.
4. При закрытии программа должна выдавать ошибку и не закрываться. А лучше вообще использовать зацикленный показ мессаджбоксов.
5. Любые звуковые сообщения должны быть противными и громкими. Кроме того, нужно сделать так, чтобы их нельзя было выключить. Люди любят скриммеры.
6. В полях ввода дат нельзя предусматривать ручной ввод, только через календарь. Ведь типичный пользователь вообще никогда не пользуется клавиатурой.
7. Любая программа, даже если это какой-нибудь блокнот, обязательно должна использовать максимальное количество ресурсов. Так можно показать её важность.
8. Цвет курсора мыши должен буквально на пару оттенков отличаться от цвета интерфейса. Поиграем с ним в увлекательные прятки.
9. Если есть скроллбар, обязательно убери возможность его прокрутки при помощи колёсика мыши. Зачем дублировать функционал?
10. Для того, чтобы пользователь мог войти на твой сайт, сделай прогу для смартфона для подтверждения этого действия. При этом конечно же не стоит реализовывать других вариантов.
Ещё пару хардварных рекомендаций от ряда производителей современных устройств:
1. Убирай аппаратную перезагрузку. Если устройство намертво повисло, все должны ждать, пока оно отвиснет. Или тащить в сервис перезагружать. Конечно же, при этом опасно реализовывать съёмный аккумулятор.
2. Интерфейсы должны быть уникальными, а для общеиспользуемых продавать переходники, которые будут стоить раза в два дороже устройства.
3. Если устройство имеет собственную флеш память или использует флешки, ни в коем случае не реализовывать Mass Storage.
4. Скотч, клей и защёлки — это самые надёжный методы монтажа.
5. Проектируя печатную плату, не забудь не развести термобарьеры.
6. Шлейфы обязательно паяй. Коннекторы для слабаков.
Уверенно заменяйте слова, суффиксы и окончания, не беда если программа ошиблась, это только на пользу, пусть юзер потренируется в печатании, это полезно и для его нервной системы.
Ни в коем случае не давайте отключить проверку правописания, учиться трудно и пользователь наверняка захочет полентяйничать, не допустите этого и потом он сам скажет вам… спасибо!»
при чтении статьи сайта обязательно после пары прокруток колесика вниз выводить большой банер — ведь пользователь уже наверняка хочет подписаться на рассылку/поделиться с друзьями — а следовательно и кнопка Закрыть ему ни к чему.
кнопку скачать удобно делать с применением тем — согласитесь однородный фон — довольно скущЪная вещь: ). а размещать ее удобно в центре большого цветастого банера — пусть ка пользователь ее поищет, заодно и получше ознакомитьсся с сайтом.
очень удобно когда при увеличении масштаба страницы кнопки поделиться (контакт, фейсбук и т.д.) начинают наползать на статью, напоминая что делиться — это хорошо
самые выжные компоненты тяжеловесного приложения лучше проверять в конце — чтобы пользователь понимал — «а счастье было так возможно...». после алерта нужно конечно отменить установку не давая возможность закинуть пару недостающих ДЛЛ-ек самому — юзер ведь не хакер, да и зачем мы в конце концов писали инсталлятор? так что следут после единственной кнопки «Я понял» в алерте начать длительный роллбэк. а уж после доустановки всех компонент — инсталлятор сработает как надо))
ничего страшного если прогресс-бар наполняется то слишком медленно то мгновенно. в жизни ничто не линейно. пусть пользователь философски относится к процессам.
только школьники используют установленные по умолчанию шрифты. шрифт должен быть уникальным. если его нет в системе — не беда что пользователь первый раз увидит закарлючки — наверняка с его проблемой уже кто то сталкивался и отписал на форуме как поставить этот шрифт чтобы прога его увидела (прога не должна искать этот шрифт в своей папке — т.к. это примитивно, и — мы за разделяемые ресурсы)
основной интерфейс должен быть приятного белого цвета. фон тоже должен быть белым. между ними должна быть тонкая серая рамка. белый цвет — самый приятный для глаз, это доказанный и неоспоримый факт. да и в темноте он виден лучше.
опции должны быть очень гибкими и позволять пользователю все — настроить приложение как на максимально удобную работу в приложении, так и на максимально не удобную. если есть пользователи которые хотят страдать — мы не должны ущемлять их права.
не нужно считать что масштабирование по Ctrl ± — удобная вещь. Ctrl+Колесико — тоже в топку. хотя бы потому что к хорошему быстро привыкаешь, а потом ваш пользователь будет пытаться это сделать в других приложениях и не сможет — расстройство превысит радость.
появление консультанта на вэб-страницах обязательно сопровождать громким Пииииинннь. пусть спящие домашние и соседи снизу тоже знают что пользователю требуется консультация.
если вы защищаете сайт капчей — защищайте как следует. если это текст — посильнее его исказите и зашумите — помните — в наш век технологий программы поумнели и могут Своими Мощностями взломать вход в личным ПФФ-кам несчастного юзера. если это изображения — пусть они будут мелкими. и пусть их будет много. чем больше — тем меньше вероятность угадывания ботом. пусть юзер почуствует себя существом обладающим высшим разумом по сравнению со своим ПК.
если вы хотите защитить пользователя — пусть пароль к его учетке будет сложным. не нудно сразу говорить ему об этом — можно и потом, после неудачной попытки и обнуления всех полей. причем по одному замечанию на одну попытку — сначала объясните что длина должна быть… скажем 15 символов, затем — что очень желательно чтобы были цифры, затем — что регистр букв должен быть разным, ну и наконец специальные символы — куда ж без них.
внедряйте побольше новых форматов. свои форматы — хорошо. чужие — архаизм. ваша программа не обязана ничего никуда портировать, равно как и поддерживать чьи-то «гениальные» форматы. гений — это вы, остальные — кучка тупиц. обновляйте свои форматы. ничего страшного если у пользователей со старой версией не октроются обновленные форматы и наоборот. главное — красота Вашего кода. а красота требует жертв.
ПыСы: простите за, возможно, излишний сарказм, просто наболело
— Сделайте свою анимацию скролла. Вам виднее как должен скроллится сайт, который вы сами разрабатывали.
еще:
если вы только что освоили JQuery, — сразу добавьте на свой сайт круглый телефон скачущий в правом нижнем углу — пусть все знают какой вы крутой программист. так и информацию на сайте читать веселей. все время помнишь что сайт писал толковый программист — вон оно напоминание в углу скачет.
если пользователь навел курсор мыши на «закрыть вкладку» (т.е. страничку с вашим сайтом) — немедленно выводите предварительно загруженный банер с голодающим африканским ребенком и подписью «Нэ-над-дда!». Если ваш сайт смотрит не какая то бессердечная сволочь — должно помочь. если он все равно нажмет на закрытие — киньте всплывающие окно «как, уже уходите?» — пусть видит что вы искренне удивлены его недалекостью — ведь только человек недалекого ума может покинуть Ваш сайт не изучив его как следует.
и наконец — чтобы таки было что изучать — не будьте банальны, — никогда не добавляйте пунктов меню «Цены» и «Контакты» — пусть они будут в непредсказуемых, трудно отыскиваемых местах. пункт «Цены» лучше вообще не размещать — ведь любой посетитель сайта наверняка хочет поболтать с вами а не тыкоть мышкой в бездушную машину. На худой конец — сделайте форму заказа без цены и подпись — что наш менеджер обязательно свяжется с вами чтобы уточнить детали.
-При изменении размера изображения растягиванием необязательно сохранять пропорции, ведь никому не нравятся пустые области, пусть натягивают на них. Если уж решил сделать такую опцию, то галочку лучше не ставить по умолчанию — пусть юзер каждый раз ставит её и ценит, что ты её вообще сделал.
-Если глупый юзер допустил опечатку в слове, то не стоит указывать в каком именно месте. Пусть ищет. Ты же самый популярный браузер, тебе всё можно.
-Добавь побольше пробелов в словари — пусть юзер гадает что не так с правильно написанным словом, и пусть увидит как не надо делить это слово пробелом. Ты же самый популярный браузер, тебе всё можно.
-Юзер хочет выделить текст на странице со сложной разметкой? Ты должен сделать всё возможное и невозможное, чтобы отбить его желание. Интернету нужны оригинальные материалы а не копипаста.
Пишем софт, который будут ненавидеть