Ебала жаба гадюку, или to UI or not to UI

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

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

Тут ляпнем, тут плюнем

Иначе говоря, озвучено профессиональными программистами. Этот стиль проектирования пользовательских интерфейсов широко распространен в разных НИИ ГиТ, и выглядит примерно вот как на картинке

Как правило, это является результатом, когда этот самый интерфейс получения данных от пользователя пишется по остаточному принципу, и в него может быть как вытащен вообще весь API, так и может быть одна кнопка “сделай мне заебись”.

Ехал гитлер через гитлер

Еще один представитель семейства “хотели как лучше, а получилось как всегда”. Заключается в том, что пользователю для копирования файла предлагается на трех разных скринах ввести данные “откуда”, “куда” и в конце еще спросить “зачем”. Навроде как в тут.

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

Кто здесь

Чрезвычайно распространенная хрень на тему обработки ошибок или диалоговых окон, типа “Удалить файл?” с одной кнопкой “Да”.

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

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

И щас мы со всем этим попробуем взлететь

Чаще всего встречается среде уёб-программистов, которым совершенно не западло передавать на сервер и с сервера просто сотни ajax-запросов на каждое движение мышой. Под все это даже придумали фреймворков типа GWT, Vaadin, ZK и не будь помянутым к ночи JSF. С одной стороны все эти штуки решают проблемы построения UI довольно неплохо (если сломать себе моск), с другой - они создают проблем все остальным.

Высоко сижу, далеко гляжу

Как правило, программисты UI мнят себя принадлежащим к креативному классу (иногда не без оснований). Отсюда же следуют представление о дизайне как вообще об основном двигателе прогресса, забывая о том, что даже самое удобное в использовании приложение без функционала - просто красивая, но совершенно бесполезная игрушка. Следствием этого обычно бывает вылизывание градиентов на кнопочке и гладкости появления диалога из верхнего левого угла экрана, в сонме бабочек и единорогов - но игнорирование того факта, что у пользователя браузер завис нахуй на всей этой красоте. Ну просто потому, что браузер у пользователя работает на офисной железяке, собранной выпускником местного техникума из чего там было на радиорынке за тристабаксов. А единорогов отлаживали на оймаке с 128 гигами озу и видеокарточкой, которой позавидуют любые майнеры биткойнов. Не говоря уже про разрешение экранов.

Мы лучше знаем чего там хочет пользователь

Эта мантра популярна как среди SS, так и среди UI. Ну то есть пацаны сели втроем, посовещались и придумали Ту Самую Волшебную Кнопку, которая должна внести уникальность в так называемый UX. А то, что юзер почучуть привыкает в основной массе к метростилю от мелкомягких - это от общего невежества и серости, конечно. Отсутствие фидбека в этой ситуации только усугубляет, потому как прикручивание той самой кнопки приводит к другим, не менее инноваторским - но столь же бесполезным и непонятным для конечного пользователя штукам.

Все уже украдено до нас

Если UI/UX является вершиной творческой деятельности, то все остальное - это рутина, которая как правило уже кем-то сделана много раз. А значит можно (и нужно) брать какую-то базу данных из разряда MongoDB, и пытаться запилить на ней реляционную схему. Ну просто потому что RDBMS - это старое говно мамонта, а MongoDB - это NoSQL, который тру и web scale. Ну и конечно не нужно продумывать такие скучные вещи, как типы аккаунтов и связанные с ними возможные изменения интерфейсов в рантайме (начиная от банального наличия/отсутствия соответствующих контролов, которые зависят от этих самых типов аккаунтов). Я даже пару раз видел, когда неучет этих требований ставил в позу “раком” не одну команду девелоперов, потому как опаньки - ниже иллюстрация.

Вообще говоря, любой программный комплекс, который предназначен для использования ширнармассами - должен в первую очередь решать поставленную задачу. Наняв пять команд клевых спецов по UI и не осилив охватить предметную область - на выходе скорее всего получится какашка в красивой блестящей обмотке. Наняв клевых команд, которые рубят в предметной области - но понятия не имеют о чувстве прекрасного (принятого в целевой аудитории проекта) - на выходе получится вон тот набор чекбоксов и полей ввода, в которых разберется разве что заслуженная пенсионерка-кассир Сбербанка, которая подобные вещи применяла всю свою трудовую карьеру еще во времена DOS.

Также вот этот продукт должен содержать определенное количество тех штучек, к которым пользователи уже привыкли и будут подсознательно искать. Там, где этого нет - начинаются learning curve, тонны туториалов (которые никто никогда не будет смотреть), разные способы решения проблемы в ключе “удалим гланды через жопу, потому что не поняли где у пациента рот - а он был подмышкой, это же стильно, модно, и по-хипстерски!”. В конце-концов это все, вероятно, устаканится - и юзеры привыкнут. Но какой-то процент пользователей отсеется сразу после первого же неосиливания найти кнопку “Сохранить файл”, к которой были приучены десятилетиями использования MS Office.