Опубликовал кучу разных штук, сделанных за последние годы для челябинского транспорта:
Опубликовал кучу разных штук, сделанных за последние годы для челябинского транспорта:
С Никитой Прокоповым обсуждаем ВВДЦ 2026 и дизайн программ для ЭВМ.
Все выпуски подкаста:
Эпл · Ютюб · Я.Музыка · Спотифай · Мейв · РСС для подкастного приложения
| 0:00 | Какой сигнал мы получили на ВВДЦ 2026 и чего ждём через год |
| 4:38 | Предзаписанные и живые презентации |
| 6:26 | Полировка и скучающие журналисты |
| 11:08 | Золотые ворота: иконки в меню и в Доке |
| 17:33 | Скругления углов окон. Историческая справка |
| 26:27 | Выбеление интерфейса, возвращение тулбаров и наведение резкости |
| 32:52 | Мнение Никиты о прозрачности в интерфейсе и теория Ильи о прозрачности в реальной жизни |
| 40:03 | Двигунок жидкости стекла |
| 44:38 | Пружинистые кнопки |
| 48:25 | Тулбары и группы кнопок на них |
| 51:49 | Синхронизация фоток |
| 54:45 | Всё не так тормозит, но зачем оно вообще тормозит? |
| 1:06:54 | Ощущение качества и надёжности от софта |
| 1:10:32 | Каким должен быть редизайн и путь к эталонному решению |
| 1:15:34 | Красота и привлекательность интерфейса. Ортопедический дизайн |
| 1:17:56 | Все хотят оторвать боковые панели, а зря |
Поговорим о ситуациях, когда компьютер тормозит.
Под тормозами понимается медлительность, мешающая свободному взаимодействию и тем самым вызывающая фрустрацию и раздражение. Если компьютер скачивает пять гигабайт данных, компилирует сложный проект или рендерит видео, это занимает ощутимое время, но это не тормоза: мы дали компьютеру задачу, и он работает, выполняет. Теперь допустим, что видео рендерилось час, потом отобразился статус «Завершено», а через секунду готовый файл отобразился на рабочем столе. Первый час компьютер не тормозил, но следующую секунду — тормозил.
Теорема: все тормоза являются ошибками и исправимы.
Технически даже своевременное отображение статуса или реакции не действие пользователя — это такая же «работа», как и рендеринг видео. Однако такая работа должна быть выполнена за время, которое человек не способен ощутить. Будем называть это «мгновенно».
Примеры тормозов в современно софте:
Во времена первых компьютеров тормоза были неизбежны, потому что мало что можно было сделать мгновенно. Но как минимум последние двадцать лет компьютеры на несколько порядков быстрее, чем необходимо для мгновенности, а значит и для полного отсутствия тормозов во всех случаях.
Если программа тормозит, это лишь значит, что в тот момент, когда она должна мгновенно отобразить данные или отреагировать на действие пользователя, она занята чем-то другим. Это что-то другое — ненужная в данный момент, лишняя работа. Это ошибка в программе, и она должна быть исправлена. Лишняя работа должна перестать делаться и мешать пользователю пользоваться компьютером.
Таким образом, тормоза нельзя списать на слабое железо; это слабость исключительно её автора.
Ещё в продолжение мысли о том, что важно чего-то хотеть — вспомнил про Джона Голта, у которого государство в конце начинает спрашивать, что же теперь делать, а он отказывается отвечать.
Вот есть всемогущее государство, которое может заставить любого человека, в том числе Джона Голта, делать что угодно. Но государство дозаставлялось до того, что всё развалилось. От Голта оно уже не хочет подчинения; государство хочет, чтобы он сам начал командовать. И Голт отказывается.
Это точно такая же ситуация, как у нас будет с ИИ. Все, кто сам ничего не хочет делать, будут в той же беспомощной роли, в которой оказалось государство: у тебя вообще все ресурсы, но от них никакой пользы. Польза есть только от свободных людей, которые знают, что хотят.
Все обсуждают, кого заменит ИИ, какие специалисты станут ненужными.
Кажется, в перспективе все специалисты станут ненужными, потому что все знания человечества буду доступны любому человеку. Единственное, чем уникален человек — это то, что он чего-то необъяснимо хочет. Я уже писал, что если вы в основном делаете то, что хотят другие, то вам стоит бояться нейросетей.
Кто-то настолько привык действовать по команде, что даже не знает, чего хочет сам. Некоторые обнаруживают это у психотерапевта. Так вот, кажется, наступает то время, когда разобраться в себе становится карьерным советом. Если в вас нет очевидного постоянного собственного желания, то стоит начать его искать, чтобы остаться востребованным.
Всё, что можно слушать, я стараюсь слушать, а не читать и не смотреть. Потому что когда у меня свободны глаза, я предпочитаю делать что-то более полезное.
Вот что я слушал в последнее время, что мне понравилось:
Прокомментирую новые дизайн-принципы Эпла.
Purpose. В этой секции они вообще никакого принципа не формулируют, а лишь говорят, что сами принципы могут противоречить друг другу, но тем и интересен дизайн. Если эту мысль раскрывать, она была бы интересной, а так только тумана наводит. Ну и это точно не принцип никакой.
Agency. Тут идея в том, что у пользователя всё должно быть под контролем. Это хорошая идея. Бесит, когда компьютер вдруг сам что-то решает делать на своё усмотрение, хотя я его не просил.
Но иллюстрируют они эту идею странно, мол, надо предлагать пользователю выбор. В чём принцип-то? В каких случаях его предлагать, а в каких нет? Они ещё и разыгрывают сценку, где мужик предлагает женщине продолжить, а она отказывается. Отличный пример того, как не стоит предлагать выбор. Без этой части доклад бы смотрелся лучше — и без подобных тупых вопросов интерфейс тоже стал бы лучше. Но дальше они говорят другое: что вместо того, чтобы по шагам проводить человека через какие-то экраны, лучше дать ему автономность и позволить изучать продукт самому. Это очень правильно. Надо было оставить это, а бред с выбором выкинуть.
Дальше они говорят, что нужно давать анду и не задалбывать переспрашиваниями. Ну да. Ждём, когда сам Эпл это внедрит и перестанет постоянно спрашивать, можно ли приложению «Напоминания» прислать мне напоминания!
Responsibility. Если эйдженси касалось пользователя, то респонсибилити касается уже разработчика. Короче, редактора позвать забыли. Здесь имеется в виду, что не нужно выспрашивать у пользователя персональные данные и не объяснять, зачем. То же самое касается и запросов доступов и прав. Это правильно, но не тянет на принцип. Ну и снова, Эплам бы самим это освоить.
С другой стороны они сюда засунули и ответственность в более широком смысле, например, если у вас программа с рецептами, то подумайте, какие у людей могут быть виды аллергии. Это само по себе нормальная мысль, но имеет мало отношения к дизайну или интерфейсу, так что цельность рассказа страдает и тема размывается.
Familiarity. Ну типа не изобретайте велосипед, а используйте удачные и привычные решения. В целом я за, но неясно, как отличать то, что все друг к друга копируют бездумно и что пора улучшить, от того, что отлично работает и не требует изменений ради изменений. Мы рассказываем об этом в теме «Привычка» более внятно.
Сюда же они притащили тему метафор, мол, знакомые образы из реального мира помогают. Но тут же сруливают на то, что помогают-то они на самом деле потому что точно так же используются в других программах (с этого и надо было начинать)
И сюда же они засунули последовательность в навигации. Мол, определитесь, у вас тут вкладки или кнопки или что-то ещё. Это всё верно, но это другая тема.
Flexibility. Люди разные, так что программа должна адаптироваться. Вроде легко согласиться, но что конкретно это значит? Ведь из такого захода можно легко сделать вывод, что должно быть 100500 настроек.
Потом говорят, мол, на телефоне человек хочет быстро тык-тык, а на Маке — глубокое взаимодействие. Из этого легко можно сделать вывод, что айфонные версии программы должны быть урезаны до минимума (а ведь Стив Джобс смеялся над baby software других платформ, уже когда представлял Айфон в 2007 году!).
Ещё там рассказывается о том, что хорошо бы понимать, что за люди пользуются твоей программой и в какой ситуации. Опыт показывает, что для многих даже этими вопросами задаться — это уже большой шаг, так что пусть.
В конце говорят, что хорошо давать пользователям скрывать разделы, которыми они не пользуются. Это плохой совет, потому что в нём не объясняется, в каких именно случаях это стоит делать. А я уверен, что в подавляющем большинстве случаев этого делать как раз не стоит.
Simplicity. Тут много болтовни про то, что лишнее надо убрать и писать нужно ясно. Но есть важная практическая мысль: нефиг прятать все функции в бургер. Это может и выглядит «просто», но пользоваться этим нифига не просто. И что надо, чтобы было именно пользоваться просто, а для этого может быть даже понадобится добавить информацию.
Craft. Они говорят важную вещь, что люди чувствуют, когда софт сделан некачественно так же, как они чувствуют, что одежда или мебель сделаны некачественно. В качестве примера приводят невыровненные иконки! Вот бы кто-нибудь в Эпле посмотрел этот доклад.
Delight. Мне радостно, что они прямо говорят, что этот делайт создаётся не добавлением украшений, а как раз через внимание к более приземлённым требованиям из начала списка. Это то, что я тоже всё время рассказываю: уважение к привычкам и соблюдение закона Фиттса куда больше дадут приятных эмоций пользователю, чем вымученный «эмоциональный дизайн».
Заодно ещё один момент про Карплей. В Ай-ОСе 27 анонсировали возможность перематывать музыку в нём, потащив за двигунок. Это отлично, но тут тоже возникает вопрос: а чем думали разработчики предыдущие десять лет, когда не давали это сделать? Это ж стандартное поведение ползунка, что за него можно потянуть. Значит, для аудио в Карплее его кто-то специально ломал.
Я могу предположить, что идея была такая, мол, слишком сложный элемент управления, за рулём будет отвлекать. Но это, конечно, ошибка. Если я хочу перемотать трек на середину, и мне не дают это сделать, потащив ползунок на экране машины, то я потянусь за телефоном, а не передумаю перематывать.
Рад, что до Эпла дошло, наконец, — но блин.
Если у тебя Карплей, когда приходит сообщение, ты видишь что-то такое:
Это старый дизайн, в новом чуть иначе, но не важно. Появляется сообщение без текста сообщения. Если успеть за пару секунд нажать кнопку на руле, оно попытается прочитать сообщение вслух. Либо спросит, прочитать ли сообщение вслух, там как повезёт. Если за пару секунд не успеть, сообщение исчезнет, и его уже так просто не достанешь.
Понятное дело, что в реальности это всё бесит неимоверно — я же на дорогу смотрю. Бывает, увижу краем глаза, что пришло сообщение, и думаю: о, ну пусть попробует прочитать. Жму кнопку на руле, но к этому моменту оно исчезает, и кнопка срабатывает как-нибудь иначе (например, отменяет текущий маршрут в навигации, очень удобно).
Никакие сообщения не должны самовольно исчезать с экрана. Если уж появилось, то блин стой на месте, пока я сам тебя не закрою. В обычном Ай-ОСе можно настроить уведомления так, чтобы они не уезжали, и разумеется, те полтора уведомления, которые у меня разрешены, настроены именно так.
Но на автомобиле это втройне важно. Причём это кажется настолько очевидным, что я даже не знаю, какой был ход мысли разработчика, который писал код убирания сообщения с экрана. Вероятно, просто никакого не было, потому что если бы там была мысль, то такого кода просто бы не возникло.
Когда говорят, что что-то стоит «как крыло от боинга» — это не значит, что стоит именно столько. Это просто крылатое выражение.