я сейчас в разъездах и на текущей квартире интернет плохонек: 100-200 Кб/с с периодическими падениями до 0 раз 2-4 минуты. Т.е. хреновый.
Так вот, это дает уникальную возможность посмотреть на всякие там интерфейсы с точки зрения работы с сетью.
Обычные, контентные сайты еще куда ни шло — они либо грузятся, либо прорисовываются.
А вот «приложения» (из которых моё самое любимое — веб-Твиттер) полагаются на сеть очень сильно и плохо работают с реальностью. Т.е. весь web ui твиттера например построен на предположении что на каждый запрос придет ответ в минимальные сроки. Всё — попапы, менюшки, табы, разворачивание фоток, переключение фоток — сначала делают запрос, дожидаются ответа и только потом что-то там двигают в UI. Т.е. ты нажал, скажем, «следующая фотка» и на экране ничего не происходит. Показывается фотка старая. И показывается, и показывается. Пока не загрузится новая, на экране ни один пиксель не шелохнется. Или, скажем, щелчок на твите, чтобы он открылся в попапе. Ничего не происходит. Ладно, думаешь, полистаю ленту дальше. Идешь дальше, че-то еще пробуешь развернуть. Не выходит. Занимаешься какими-то своими делами, вдруг бац — приходит интернет — всплывает попап нежданно-негаданно с тем самым твитом, на который ты когда-то щелкал. Ютуб, скажем, попап с плейлистами даже открыть не может без инета. И т.п.
С одной стороны, это объясняет общее раздражение от web ui, когда они ощущаются туповатыми и тормозными. Конечно — ведь на каждое ваше действие вы видите реакцию только после успешно выполненного network request. В результате активно работать с такими UI практически невозможно, ощущения скорее как палкой в вязкой жиже водить. И это даже с хорошим интернетом, дома! (не знаю, может в Америке с их пингом это лучше ощущается)
С другой, иллюстрирует, как разработчики до сих пор представляют себе запросы как некую «функцию», у которой есть «результат». Т.е. нажал кнопку — послал запрос — получил результат — показал его — пошли дальше. Это просто и привычно, но не соответствует природе сетевых взаимодействий, «правде». Видимо, писать скала-компиляторы у твиттера ресурсы есть, а вот смоделировать сеть честно — уже нет.
С третьей, работа с загрузками — это тупо еще одна фича, которую похерили из-за более приоритетных штук (бордер радиусов бгг). Т.е. натурально, когда у тебя два состояния — нажал-показал, совсем как в десктопе, и нет состояния для «грузится» — ну это проще. Проще для разработчиков, а пользователям остается уповать на милость сети да хороший пинг.
Я на твиттер наезжаю только потому, что пользуюсь им чаще всего. Остальные не лучше — Ютуб не может добавлять в плейлисты, Коуб грязно зависает на середине трека, и т.д. Inbox показывает последнее сохраненное состояние — быстро — но никак не показывает, насколько оно актуально. Т.е. можно легко зайти в папку и он покажет что она пуста (на самом деле — не может загрузиться в данный момент). Зато отзывчивый. Надеюсь, что постепенно как-то всё во всём разберутся и всё придет к общему золотому стандарту, но пока это гонка инвалидов, которые не могут пересечь стартовую черту.
а вот тут показательный пример, когда тренды трендами, а картинку в целом видеть надо. Под трендами я имею в виду минимализм, упрощение, «чистку» UI. Некоторые вещи и концепции настолько устаканились, что их не надо как-то специально подписывать, сам графический символ уже «формат». Ну типа красный кружок в уголке с цифрой — нотификации, и т.п. Штука в том, что эти соглашения, подразумеваемость, она есть только в голове дизайнера. Чем больше он за компьютером, тем больше вещей кажутся ему устоявшимися, не требующими объяснения, само собой разумеющимися. Так интерфейс, в попытках казаться легче и проще, избавляется от балласта, но иногда выплескивает и ребенка. Очень легко проделать мысленный эксперимент — если из интерфейса выкинуть все подписи, им станет невозможно пользоваться. Одна если подписать всё, станет так же плохо. Итого существует некий баланс, который нужно держать в голове и уметь нащупать. В этом искусство. А пример выше — когда с балансом промахнулись, поставили рядом две вещи, которые каждая по отдельности «а что еще она может означать-то?», а вместе получилась шарада.
Маки, как известно, умеют засыпать и просыпаться. Так вот, при выходе из сна ему, как и любому другому компьютеру, требуется существенное время, чтобы подгрузить дамп памяти в оперативку. Существенное == секунды, т.е. заметно человеческому глазу. Физически, это время уменьшить нельзя (в рамках ТТХ конкретных ноутбуков), но можно уменьшить _восприятие_ времени.
Для этого мак очень быстро показывает login form с бэкграундом, фактически меньше секунды после открытия крышки. Это не полная инициализация — компьютер еще не готов — но визуально скрашивает ожидание и кажется, что он гораздо отзывчивее. Полная инициализация идет в фоне, по факту вводить пароль и логиниться можно только через несколько минут.
Это старый трюк, который Раскин придумал еще для Canon Cat ровно с такой же целью. Но у него по задумке можно было начать печатать сразу же, и как только комп прогрузится, весь ввод проиграется, ничего не потеряется.
У мака не так. Фон+форма появляется сразу, а вот печатать можно только после прогрузки. Хуже, но сойдет. Жить можно было научиться — когда он наконец прогружался, в форме логина начинал мигать курсор, и ты понимал — теперь всё, можно печатать. Т.е. просто boot sequence разделялся на два этапа — картинка сразу, курсор чуть позже. В принципе, всё равно приятнее, чем смотреть на пустой экран/спиннер.
Так вот. Начиная с какой-то там версии OS X, курсор начинает мигать сразу же, вместе с фоном. Упс. А печатать еще нельзя. И когда можно — фиг поймешь. Всю индикацию убрали. Раньше можно было бы хотя бы приспособиться. А сейчас я вообще не понимаю, нафига там этот курсор и кого они пытаются обмануть. Мне кажется, они забыли просто, какая была изначально цель этого обмана, и просто «пофиксили» как-бы «косяк». Поучительно.
а вот я кстати никогда не понимал, почему такая настойчивость в рекламе именно приложений. Почему, если человек зашёл почитать статью/глянуть фотку, надо впаривать приложение (бесплатное). Конечная цель какая? Что оно на экране будет болтаться и потом он как-нибудь втянется? А если не втянется, задолбаем пушами? А веб-сайт закрыл и как не было его? Что было бы, если бы не было приложений? Добавить в закладки?
Эта кнопка ведь не исчезнет, если приложение у меня уже установлено, да?
мой любимый случай, когда два разных концепта, каждый по отдельности вполне прилично задизайненые, вместе складываются в clusterfuck и никто не знает что с этим делать.
Речь о регуляторе яркости на телефоне. Яркость регулируется из выезжающей панели нотификаций. Вполне логично затемнить остальной экран когда показываешь панель — легче понять что она как бы на отдельном слое, легче сфокусировать на ней внимание. Но теперь, если ты начинаешь регулировать яркость, это всё как раз мешается: ты хочешь настроить яркость для контента, который закрыт панелью, и ты хочешь прикинуть яркость по нормальному, не затемненному контенту. Оба (и айфон, и андроид) в момент, когда ты прикасаешься к ползунку, начинают внезапно убирать затемнение и убирать панель. Что ощущается очень суетливо, скомкано (я только нажал и всё сломалось) и дезориентирующе (что происходит?). Потому что никакой логики в этом моменте (в отличие от вытаскивания панели, например) нет. Т.е. логика есть, но она очень формальная, педантичная и не считывается. Надо думать, читать, искать объяснение специально, ставить эксперименты. Что на фоне остальных довольно приятных взаимодействий в телефоне выглядит полным импотентством.
И никто не знает, что с этим делать. Вот.
у меня есть целый вал скриншотов, конечно, с косяками переводов, смешных и не очень. На скриншоте выше, например, «подписки» значит «подписан». Но над ними издеваться не так интересно, потому что это слишком простая и прозрачная проблема.
Так вот, что интересно, это как люди собираются что-то делать и ошибаются каким-то необычным способом. Так можно заглянуть и вербализировать какие-то аспекты продуктов, коммуникации, на которые обычно не приходит в голову обратить внимание. Самое интересное, конечно, когда пример иллюстрирует ход мысли, неправильный или содержащий ошибку. Очень познавательно для меня.