Проявил первые фоточки из Вильнюса, где был пару недель назад. Довольно приятное захолустье: с одной стороны, делать нечего совершенно, с другой — о поездке на пару дней не придёт в голову жалеть.
Некоторые улочки очень красивые:
Некоторые — какие попало:
Иногда приходится подниматься по лестнице:
Это всё центр города.
Открытка:
Много разных церквей. Особенно порадовала францисканская. Ковры и облупленные стены:
Кажется, когда это всё отреставрируют, станет не так красиво:
Но вильнюсовская фишка — при реставрации оставлять дырки, через которые видно, как было раньше (это уже другая церковь):
Заплатка наоборот:
Встречается даже в дорогах:
Кстати, многие улицы замощены вот так, с полосой камней у бордюра:
Велодорожка отделена выпуклыми фиговинками:
Люк:
Колодечная табличка как в Германии:
Просто красивая табличка:
Много приятно оформленных мест. «Бистро 18»:
«Сторителлерс»:
«Софа де панчо»:
Пожарные планы здесь, похоже, не стандартизованы, и каждый рисует как умеет. Иногда попадаются красивые:
Все говорят, что в Вильнюсе надо идти в Ужупис — район, как бы объявивший себя самостоятельным государством с собственной конституцией:
Сразу ожидаешь, что там будет что-то особенное — какой-то бум анархии, уличного искусства и молодёжной движухи. Может, нужно знать секретные места, но если просто гулять, то это просто район. Есть такая стена:
Фотографии из поездки в сентябре 2018 года. Во всех заметках про путешествия снизу есть поиск дешёвых авиабилетов. Слетайте в Вильнюс!
Я помню из мультика «Чудеса на виражах», что когда Балу садился за штурвал самолёта, он кричал «От винта!» Это было что-то вроде крика «Э-ге-гей!» или битья себя по груди — такое бессмысленное картинное ритуальное действие перед смелым поступком.
А пару недель назад мне случилось полетать на двухместном самолёте.
Я сел на своё место сзади, за пилотом, меня пристегнул мужик; вокруг толпился ещё какой-то персонал. И тут пилот закричал: «От винта!», все разбежались от винта, и он завёл двигатель. Так вот, что это значит!
Читатели этой заметки сейчас разделились на две группы: на тех, кто всегда понимали смысл этой фразы и сейчас считают меня дебилом; и тех, для кого, как для меня, это стало озарением.
А летать вверх ногами и падать отвесно в озеро — довольно весело, рекомендую.
Я надеюсь доделать третий альбом когда-нибудь, он должен быть в таком вот сладком духе, но пока превью в виде одного трека. Лав стори получилась случайно, но и хорошо.
На сайте Эгеи есть раздел «Блоги», где отображается всё, что пишут заапрувленные люди на Эгее. Я периодически захожу и апрувлю ещё кого-нибудь.
Когда я задумал эту страницу, я стал думать, как же мне её технически реализовать. Ясно, что для начала надо научить саму Эгею уведомлять «Блоги» о новых заметках. Но дальше «Блоги» должны их как-то сохранять и отображать, а это значит, что там надо реализовывать базу данных, вывод заметок, листалки всякие. И нужна будет какая-то админка: удалять плохие заметки, апрувить хороших и банить плохих авторов. А в будущем наверняка захочется, чтобы там появились какие-то свои теги, например. И всё это добро надо будет учить кешированию, метатегам для соцсетей и другой нудятине... В общем, сначала мне казалось, что это проект на год, а потом до меня дошло.
В итоге в «Блогах» работает Эгея — точно такая же Эгея, как у вас. Я понял, что научить Эгею принимать входящие уведомления о заметках и «всасывать» их в свою базу будет намного проще, чем писать параллельную недо-Эгею с нуля. И это не какой-то отпочковавшийся от Эгеи параллельный проект, а самая обычная Эгея. То есть на самом деле любая Эгея умеет агрегировать заметки из других Эгей и отображать у себя, но это недокументированная фича.
Когда Эгея-источник пингует «Блоги» о новой заметке, Эгея-приёмник идёт и скачивает новую заметку себе. По умолчанию эта заметка попадает в черновики Эгеи-приёмника. Так что страница «Черновики» — это и есть админка «Блогов». Сначала все заметки просто попадали туда, и я их публиковал оттуда руками, как в обычной Эгее. Когда блогов накопилось много, это стало трудновато делать, и я добавил кнопочки, чтобы апрувить источник целиком, то есть чтобы его заметки сразу попадали в ленту. Если у вас Эгея и вы зайдёте в шаблон, отвечающий за вывод заметок (notes.tmpl.php), вы там увидите код для админских кнопок. У вас они не выводятся, потому что у ваших заметок нет внешнего источника.
Я очень доволен этим решением. Во-первых, Эгея славится нетребовательностью к ресурсам, поэтому даже с многими тысячами заметок она прекрасно и быстро работает, и я никак специально не заморачивался с оптимизацией. Во-вторых, я бесплатно получил фичи, о которых сначала даже не задумался, такие как «РСС всех блогов на Эгее» или «поиск по всем блогам на Эгее». Если бы я писал «Блоги» с нуля, я не представляю, когда бы у меня дошли руки такое реализовывать.
Иногда списками на сайтах и в рекламе оформляют разные хорошие свойства товаров:
Но когда человек видит список, он читает два-три пункта и мысленно продолжает «и так далее». Если самое важное находится в пятом элементе списка, об этом уже никто не узнает.
Поэтому если нам важно донести до человека преимущества продукта, стоит внести разнообразие в подачу:
Справа — то, как гавайский автопрокат Энви показывает разные особенности сдаваемых машин.
Представьте, что вы пришли в магазин и вас встретил продавец. Он не станет перечислять монологом все преимущества товаров и самого магазина; он будет упоминать о них по мере ответа на ваши вопросы или «заодно» с показыванием товаров. Вот так и тут.
Когда вы как дизайнер предлагаете такую «журнальную» подачу, клиент может иногда засопротивляться: «Тут всё перемешано, наши преимущества не видны, давайте покажем их в одном месте списком!» Надо объяснить клиенту, что если показать списком, то тем более не будут видны.
Но это если нам важно донести до человека.
Бывает ситуация обратная: когда самому человеку важно что-то узнать о товаре. В этом случае он мотивирован дочитать список до конца. Вот в том же Энви экран, где человек уже бронирует машину:
Справа снизу с галочками перечислены все «плюшки». Здесь человек близок к расставанию с деньгами, и он захочет убедиться, что ничего не забыл. Поэтому оформлять такую штуку «нелинейно» было бы негуманно.
Если вы перечисляете, какие документы человек должен принести для оформления какой-нибудь сложной услуги, их тоже нужно давать линейным списком — так человеку проще убедиться, что он ничего не забыл.
Из этих же соображений сложные формы нужно верстать линейно, поле под полем. Иначе у человека исчезает чувство контроля, он пропускает поля и паникует.
А вот Айфон показывает, что нового в обновлении:
Это скучный экран, но он тут и не пытается продать это обновление. Он просто информирует человека. Мне может быть самому важно убедиться, что определённый баг исправлен.
Но когда самому Эплу нужно рассказать о новом большом обновлении, они верстают нарядную страницу и не делают никаких списков.
Я много раз рассказывал, что советская традиция давать станции несколько названий вместо одного на всех линиях — кретинизм. И даже посвящал проект «Перезагрузка» визуализации человеческого варианта.
Вот очередная причина, почему это бред. Попалась мне сегодня такая фотка:
И вот я вообще не понимаю, что это за указатель. Я, который занимается схемой московского метро с 2006 года, не могу даже допереть, что за станции тут перечислены, какая это линия и куда едет поезд! Мне пришлось открывать схему, чтобы понять.
Раз станции неведомые, можно было бы предположить, что это какое-то продолжение жёлтой линии в пригород, но нет: тут около всех станций обозначены какие-то пересадки. Значит явно эта линия пересекается со станциями, которые я должен знать. Но это знание никак мне не помогает! Единственное знакомое слово — Шелепиха; я помню, что это где-то к северо-западу от Делового центра вроде.
Что будет, если спросить у человека «что такое Петровский парк»? Он ответит «это Динамо». Так с каких херов он тогда называется Петровский парк, а не Динамо? С каких херов Полежаевская называется Хорошёвской? Я не могу передать, насколько у меня бомбит от этого, это же настолько очевидная ошибка, ошибка, ошибка; что не так с людьми, которые это придумывают, что они этого не видят? почему они не могут прийти в сознание? и почему тогда именно они принимают эти решения?
Смотрите, если написать понятные людям названия, указатель обретает хоть какой-то смысл:
Ладно, а что такое ЦСКА? Тут она обозначена как пересадка на бирюзовую Каховскую линию (11), но я пока не знаю станции ЦСКА на ней.
А фишка в том, что это никакая не пересадка! Просто временно эта линия, на которой мы сейчас находится, одновременно как бы и жёлтая (8А) и бирюзовая (11). Это отдельная шиза, сейчас не про неё (хотя за неё тоже кто-то должен премию получить).
Почему тогда не сделать хотя бы так? Я убрал бирозовые кружки «11», повторяющиеся около каждой грёбаной станции:
Итак, «Динамо» в заголовке. Так это что же, мы на станции Динамо? Почему тогда среди оставшихся станций снова Динамо? Ах вот оно что! Динамо — это направление, а не название этой станции! Фак-фак-фак. Я не понимаю, за какие провинности метро делает это со своими пассажирами. Про то, почему не нужно использовать конечные как ориентир я тоже уже писал.
Напишите нормально:
Ура, прозрение! Теперь видно — отсюда отправляются поезда на север и вот какие станции предстоит проехать: Шелепиха (с пересадкой на МЦК); Полежаевскую (очевидно, фиолетовая линия); ЦСКА (хрен знает что, но видно, что нет пересадок, так что ясно, что станция новая); и конечная — Динамо (очевидно, зелёная линия).
Ну а если кому-то греет душу обозначение направления через названия станции, держите:
Большинство маковских программ используют один и тот же фреймворк для обновления, поэтому у них один и тот же тупой сценарий.
Через несколько секунд после запуска программа сообщает, что есть обновление и предлагает скачать:
Ты соглашаешься, она начинает качать:
Пока она качает, ты переключаешься в основное окно программы заниматься тем, зачем её запустил:
Через полминуты программа говорит, что готова обновиться и предлагает перезапуститься, но ты в это время пишешь или читаешь сообщение, поэтому переключаешься обратно в свой диалог и забываешь про обновление. После завершения работы с программой ты её закрываешь.
А потом, когда ты её запускаешь в следующий раз, ты снова видишь вот это:
И снова соглашаешься, и оно снова начинает качать то, что уже давно скачала:
И так до бесконечности.
А должно быть так: если я один раз согласился, то в следующий раз должна запуститься уже новая версия программы.
Дело не в невнимательности и не в злонамеренности. Дело в привычке.
Мы читаем объявление и прекрасно его понимаем. Ну или не понимаем, но догадываемся, о чём нас просят (в данном случае — ни одного знакомого мне слова):
И, конечно, нормальный человек не станет сознательно кидать бумагу в такой унитаз, когда его попросили этого не делать. Зачем же подставлять хозяев?
Но у большинства из нас унитаз дома исправен — в него можно бросать бумагу, тампоны, мелкий мусор, и ему ничего не будет. Поэтому мы на автопилоте действуем как привыкли. Даже если мы ровно в момент броска читаем объявление, мы всё равно бросаем бумагу! Здесь просто отсутствует момент принятия решения. Мы читаем и думаем над прочитанным одной частью мозга, а нашими движениям управляет другая.
В самолётах запрет изображают пиктограммой и помещают в том месте, где его хотя бы немного больше шанс заметить в момент броска. Но я предполагаю, что внимательности сильнее помогает непривычность всей обстановки:
Интересно узнать, как часто в самолётах всё-таки бросают бумагу.
На лодках унитаз сильно по-другому устроен, поэтому привычки не срабатывают насколько же автоматично. Ну и при заселении обычно шкипер проводит инструктаж и красочно описывает возможные последствия забывчивости.
В кафешках же всё обычно, по-домашнему. Вот мы и не задумываемся.
А вот это — отстой:
Такие объявления не вызывают желания пойти навстречу. Что значит «и другие посторонние предметы», вы вообще с какой планеты? С какого перепугу туалетная бумага в туалете — посторонний предмет?
Если починить унитаз не получается, то, я думаю, надо делать так:
Да, это выглядит так, будто он вообще не работает. Ну так фигли: унитаз, в который нельзя кидать бумагу, трудно считать исправным.
Это как бы «деловая книга», но написанная в форме художественного произведения. Считаю, что это полезная книга, хотя можно было и в пять раз короче написать.
Я послушал аудиоверсию, поэтому у меня нет текстовых выписок — просто перескажу, что запомнилось.
Директору убыточного завода ставят ультиматум: или он быстро наводит порядок, или через три месяца его завод закрывают, а он остаётся без работы. Благодаря наводящим вопросам знакомого еврея директор открывает для себя вдруг, что цель завода — зарабатывать бабло. И выясняется, что всё устройство его завода совершенно никак этого не учитывает. И вот он находит разные ограничения, которые мешают зарабатыванию бабла, и постепенно их снимает, борясь с консерватизмом коллег.
С одной стороны, когда это слушаешь — очень странно. Ты директор завода и никогда раньше не задумывался о том, как твой завод работает и откуда берутся деньги? Как ты вообще стал директором?
С другой, я-то не директор завода, и о многих вещах не задумывался вполне правомерно. Главное, на что мне эта книга открыла глаза — это то, что шаги оптимизации на предприятии могут быть совершенно не очевидны интуитивно. Прямо как в программировании! Иногда вдруг всё начинает работать сильно лучше, если ты сделаешь шаг, который «очевидно» навредит, и наоборот.
Скажем, некие детали нужно обработать на станке. Перед этой обработкой станок нужно целый час настраивать именно для неё. А для других деталей нужно целый час перенастраивать по-другому. Очевидно, что рационально группировать детали по кучкам: один раз настроили станок по-первому и обработали всю первую кучку; потом по-второму и обработали всю вторую; и так далее. А вот перенастраивать туда-сюда и обрабатывать разные детали по одной — неэффективно, потому что теряется много времени на перенастройку, во время которой станок простаивает. Согласны?
А вот и попались! Мы вообще никак не можем судить о том, что эффективнее, глядя на один этот станок, потому что это одна из ста работ на конвейере! Возможно, из-за того, что мы экономим на перенастройке этого станка, у нас вторая кучка лежит и ждёт своей очереди на обработку, в то время, когда весь остальной завод стоит и ждёт именно эту вторую кучку. И на самом деле мы своей «оптимизацией» сделали этот станок узким местом, хотя он мог бы, даже с учётом затрат времени на перенастройку, своевременно обеспечивать следующие этапы производства «исходниками».
Или вот есть печь, в которой детали должны зачем-то нагреваться десять часов. Этот процесс нельзя прервать, так что если во время этого нагревания подошли ещё детали, нельзя их «доложить»; нужно дождаться, пока предыдущие «пропекутся», разгрузить печь, потом засунуть новые. В печь влезает сто деталей. Вопрос: в какой момент загружать детали в печь? Можно так: как накопилось сто, загружать и выпекать. Иначе ведь, если загрузить только двадцать, получится, что печь работает «не в полную силу». Но с другой стороны, если двадцать не загружать, то и печь простаивает, и детали пролёживают. Как правильно сделать? Может, выбрать какую-то золотую середину, типа, когда пятьдесят подошло, загружать?
Правильный ответ: это неправильный вопрос! Нельзя это решать на уровне оптимизации работы самой печи, потому что эффективность работы печи не имеет значения. Нужно посмотреть на весь производственный процесс целиком и всё так синхронизировать, чтобы в итоге клиенты быстрее платили бабло. «Простаивает» ли печь и «пролёживают» ли детали — нерелевантно, это не имеет никакого значения для цели завода зарабатывать бабло.
А ещё про печь такая история. Эта печь была узким местом: еле успевала нагревать всё, что нужно. А потом кто-то вспомнил, что половину деталей можно вообще не нагревать и обрабатывать на следующем этапе как есть! Но как так вышло? Почему вообще когда-то решили их нагревать?
Оказалось, что на следующем шаге производства детали обрабатывают на каком-то станке, и если детали перед этой обработкой прогреть, то обрабатывать их можно вдвое быстрее. А если не прогреть и обрабатывать слишком быстро, они разрушаются. И кто-то решил пять лет назад, что для оптимизации этой вот обработки надо туда прогретые детали подавать, а не холодные. В итоге загрузили единственную печь лишней работой, зато оптимизировали шаг, скорость которого никак не влияла на скорость получения бабла в конце.
Там, конечно, есть ещё примеры. Это всё вправляет мозги.
Коля Товеровский с командой единомышленников выпустил программу для Мака «Конспект». Это специальный блокнот для осмысленного ведения записей во время встреч с клиентом:
Я тоже поучаствовал в этом проекте, правда, в довольно странной роли. Коля хотел сделать такой инструмент, который помогал бы на практике следовать алгоритму сортировки замечаний, описанному в его книге (бесплатная глава по ссылке). И первую версию такого инструмента, ещё в виде веб-приложения «Замечания», начали делать прошлые дипломники — я был арт-директором их команды.
К сожалению, ребята не успели всё доделать и во время защиты показывали продукт так же, как Стив Джобс показывал Айфон: был заготовлен один-единственный сценарий, при котором ничего не глючило. Можете потыкать в ту версию с защиты, но полагаться на неё не стоит. Не знаю, сколько она ещё проживёт по этому адресу.
(Ну, что делать, такой флекс. Лучше так, чем не допуститься до защиты).
Несмотря на то, что так вышло, я не считаю время работы над дипломом потерянным. Мы с ребятам заложили ключевой принцип этого инструмента.
В основе была мысль, что штука должна подходить и совсем новичку, который только прочитал книгу, ничего ещё не запомнил, пошёл на первую встречу после этого и волнуется; и опытному переговорщику, скажем, Илье Синельникову.
Когда только начали делать, сначала все представляли какую-то страничку с четырьмя колонками, как нарисовано в книге:
Типа, пишешь где-то текст, а потом отдельные его куски как-то переносишь в одну из колонок.
Я протащил то, что всё это должно работать как простой текст, который можно писать как угодно, и тот факт, что что-то из этих записей это «делаем», что-то — «не делаем», а что-то «откладываем», — не должен этому мешать. Три колонки долго оставались в интерфейсе, но в них ничего не переносилось, а только отмечалось, причём с сохранением связи с исходными записями в конспекте встречи. В основном конспекте может быть и просто какой-то кусок текста, который ни к одной из этих трёх категорий не относится — мало ли, клиент решил рассказать что-то отвлечённое, а я хочу это себе тоже записать. Я должен иметь возможность просто стрелками на клавиатуре дойти до любого места в своих записях и вообще прочитать всё, о чём говорилось на встрече, по порядку.
А потом мы поняли, что три колонки вообще нафиг не нужны, достаточно просто разметки внутри конспекта и автоматически собираемого туду-листа для отправки клиенту после встречи. Все помогалки, объяснялки и сортировалки должны работать как просто декораторы вокруг конспекта, но не мешать мне тупо писать под диктовку клиента что угодно.
Тут руководитель проекта Анна Доронина дала интервью «Кто студенту», где рассказывает о непростой истории проекта. У неё там процесс дизайна в трёх скриншотах, но на самом деле вариантов было намного больше.
С Бирманом легко: он достаточно толерантен, матом не пишет.
Помимо работы над интерфейсом, тогда же на дипломе мы зафигачили иконку (справа):
Мне хотелось, чтобы она дружила с иконкой другого Колиного инструмента, Осьминожки (слева). Поэтому ей нужно было ограничиться одним цветом. Ну а поскольку всё-таки очень хотелось карандаш, пришлось его сделать белым.
В интервью Анны — стенограмма части нашей переписки в процессе работы над иконкой. Правда не вошло, как я замочил предыдущие варианты. Зато вошло немножко про флекс проекта.
После защиты дипломов я перестал следить за судьбой проекта, и выход маковского приложения для меня для самого стал сюрпризом. Зацените тоже: «Конспект».