Позднее Ctrl + ↑

Вселенная знает

Чтобы компьютеры были умнее, достаточно подружить данные, хранящиеся в разных местах, безо всякого искусственного интеллекта. Зачем мне выбирать точку назначения в навигаторе, если я покупал билеты на концерт, который начнётся через двадцать минут? Вселенная и так знает, куда я еду.

Выражение «вселенная знает» означает, что где-то в мире уже есть необходимая информация, и нужно её взять, а не спрашивать пользователя.

Одно из заданий на интерфейсном курсе — терминал оплаты мобильной связи. Каждый второй делает экран выбора оператора. Спрашиваю: зачем? Люди говорят, мол, ну а как? И начинают рассуждать: можно было бы по коду определять автоматически, но сейчас же можно номер поменять, так что это ненадёжно.

Теорема: вселенная знает, какой оператор у какого номера. Доказательство: когда я звоню по телефону, я попадаю к нужному человеку, и никогда не нужно выбирать оператора! Вместо того, чтобы держать какую-то левую устаревающую базу соответствия номеров и операторов, нужно использовать ту же базу, которая используется при маршрутизации звонков в реальном времени.

Когда тебя заставляют сообщать то, что вселенная и так знает, это бесит. Скажем, на заправке нужно называть вид бензина и номер колонки. Но вселенная знает, какая из машин — моя и какой шланг в неё воткнут. Не хочу ничего называть, всё должно работать само.

Многочисленные айпадные приложения с рецептами будут намного умнее, когда смогут предложить мне блюдо с учётом того, что есть в магазине за углом (вселенная и это знает). И если я выберу блюдо, приготовление которого занимает час, а у меня через час скайп, приложение подскажет мне это и предложит похожее блюдо, которое можно успеть приготовить и съесть.

Иногда не хватает ума понять, откуда именно вселенная что-то знает. Например, была история, когда мошенник получил доступ к деньгам женщины, убедив её продиктовать ему пароль и код из смс. Как обезопасить людей от подобного мошенничества? Пока не знаю. Но есть ощущение, что вселенная если не знает, то подозревает, что платит мошенник. Он вот с женщиной на телефоне висит как раз, а смска ей на тот же номер приходит. Это же подозрительно, что ты говоришь по телефону, когда тебе приходит смс с кодом? Причём звонил он ей, а не она ему. Как минимум можно было бы сделать, чтобы смска не приходила, пока не положишь трубку, а если берёшь трубку, то код тут же становится недействительным. Наверняка можно придумать что-то более внятное.

«Вселенная знает» в таких случаях работает как стартовый толчок для размышлений.

Что делать в Тель-Авиве в конце ноября — начале декабря?

Что делать в Тель-Авиве в конце ноября — начале декабря?

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

Представить, что меня интересует в городах, можно, например, почитав мой рассказ о Париже или Лондоне. Пишите в комментарии или на почту: ilyabirman@ilyabirman.ru. Спасибо.

Табы и радиокнопки

Максим Ильяхов обновил Главред: теперь он не только подсвечивает стоп-слова, но и проверяет синтаксис. Между режимами переключают табы:

Табы в Главреде

Но табы — элемент навигации, а не выбора. Переключая табы, мы ожидаем оказаться в другом месте. В данном случае мы остаёмся в том же месте, просто меняется режим. В таком случае правильно использовать радиокнопки:

Радиокнопки в Главреде

Рисовать и табы, и радиокнопки можно по-разному, но главное, что их отличает — табы визуально связаны с областью, содержимое которой меняется при переключении. В настройке Мака табы нарисованы как радиокнопки:

Табы в настройке Мака

Табами их делает размещение на рамке переключаемой ими области.

В Главреде чтобы превратить табы в радиокнопки, достаточно оторвать их от текстовой области. В этом случае будет плохо понятно, что выбрано сейчас, но это другой вопрос.

Ошибку с табами вместо радиокнопок нередко допускают в заданиях участники интерфейсного курса и студенты Школы стажёров, поэтому когда я рассказал про это Максу, мы договорились, что я ещё и пост напишу.

Что почитать на выходных — 140

Вот:

  1. Про животных и людей. Марина Сафонова законспектировала лекции.
  2. Педант. Недавняя крутая серия техноведра.
  3. Collaborative Editing in JavaScript: An Intro to Operational Transformation. Объяснение OT (я уже давал ссылку на эту статью в недавней заметке про автосохранение в Эгее).
  4. Couples that are comfortable talking about poop are the happiest couples. Как у вас с этим?
  5. Как мгновенно понять, что ты не сечешь фишку. Людвиг.

И отдельно про новые Макбуки:

  1. Benjamin Button Reviews The New MacBook Pro. Если бы время шло в обратную сторону.
  2. The MacBook Pro is a lie. Влад Савов замочил на «Вёрдже».
  3. New MacBook Pros and the State of the Mac. Это самое брутальное. Подборка негативных комментариев разных людей к новым компьютерам.

Спасибо спонсору рубрики — брокерской компании Нэттрэйдер. Это удобный вариант для инвестиций в акции на рынках России, Европы и США. Брокерский счёт открывают удалённо и за один рабочий день.

Новый сайт Эгеи

Запустили с Ильёй Страйковым новый сайт Эгеи:

Предыдущий сайт был сделан сто лет назад, и даже по тогдашний меркам был ну так. А последние годы вообще было непонятно, что это за хрень там такая висела. Хотелось всё взорвать, но находились дела поважнее.

Теперь вот нормальный сайт, где нормально объяснено, что за Эгея, и почему она клёвая. Отдельное спасибо Максиму Ильяхову.

Документация переехала в Гугль-док — ссылки на статьи живут в разделе «Помощь». Если вы увидите ошибку в документации, сможете написать комментарий прямо там. И мне будет проще её дополнять.

Сделать автосохранение в Эгее

Я хочу сделать во всех формах Эгеи автосохранение. Ниже — мои рассуждения на этот счёт. А в конце я позову вас на помощь.

Сейчас в редакторе заметок можно нажать ⌘S в любой момент, и изменения сохранятся на сервере без перезагрузки страницы. Это удобно, но иногда люди, особенно после Гугль-дока, забывают это сделать. Если что-нибудь сломается, текст пропадёт.

Нетрудно сделать автоматическое сохранение раз в несколько секунд. Но такое нельзя делать с опубликованными заметками, ведь изменения будут сразу видны всем, включая промежуточные состояния по ходу внесения правок. Можно, конечно, поддерживать это только в черновиках, но это криво и модально. Хочется, чтобы как-нибудь работало везде.

Для опубликованных заметок можно предусмотреть в базе на сервере поле «неопубликованная версия текста», чтобы все такие вот автосохранённые изменения писались туда, а не в настоящее поле, а публиковались только когда человек руками жмёт кнопку «Сохранить». Но, во-первых, тогда такие дублирующие поля придётся заводить на всё — заголовок, теги, урл. Неэлегантно. Во-вторых, это вызывает вопрос о том, какую версию заметки открывать в редакторе: настоящую или вот такую промежуточную. Если человек забыл о том, что начинал редактировать заметку, и открыл её спустя месяц, а в редакторе показывают не то, что опубликовано, это взорвёт мозг.

Конечно, можно напридумывать интерфейса, чтобы это разрулить: показывать где-то, что открыта несохранённая версия, дать возможность сравнить с сохранённой, откатить изменения... Но это всё какая-то жесть. Я не хочу ничего такого ни реализовывать, ни видеть как пользователь. Я хочу, чтобы просто ничего не терялось.

Дальше. Если уж всем этим заморачиваться вообще, то нужно сохранять не только на сервер, но и локально. Чтобы можно было надёжно редактировать заметки без интернета. То есть сложность вырастает ещё сильнее. Возникает аж три версии у каждой заметки: опубликованная на сервере, сохранённая неопубликованная на сервере и сохранённая локально. Это не считая того, что локально может быть разная на каждом клиенте.

В общем, я прихожу к выводу, что единственный способ сделать эту фичу действительно хорошо и без компромиссов — полноценно реализовать collaborative editing как в Гугль-доке. То есть для меня как пользователя не должно быть вообще никакой разницы между клиентом и сервером. Я должен видеть всё в самом свежем виде, на каком устройстве бы ни открыл редактор заметки. А если интернета нет, то после его появления всё должно смёрджиться максимально чисто.

Проблема с тем, что пользователь может не опубликовать изменения, но при этом хотеть их синхронизации между всеми устройствами остаётся, но я, кажется, придумал, как её решить, не усложняя интерфейс.

Я не представляю, насколько трудно реализовать надёжное одновременное редактирование с нескольких устройств, но знаю словосочетание operational transformation, погуглив которое можно найти всяких статей на эту тему. Например, Collaborative Editing in JavaScript: An Intro to Operational Transformation (очень клёво объяснён сам принцип).

Я надеялся найти какую-нибудь популярную опенсорсную реализацию этого, но что-то ничего не нашёл. Если покурить Стек-оверфлоу, то можно нарыть десяток разных заброшенных библиотек, но ничего, что выглядело бы обнадёживающим.

Ещё есть Фаерпад, но там только клиентская часть, и он, как я понял, работает только с собственным сервером. А мне нужно сделать сервер частью Эгеи, причём я бы предпочёл, чтобы сервер был как можно тупее, а вся умная логика была реализована в Джаваскрипте.

Внимание, вопрос: что вы посоветуете? Или, может, кто-то из вас захотел бы сделать такой продукт — библиотеку для одновременного редактирования — под моим внимательным взглядом со стороны? А может, вы вообще думаете, что в моих рассуждениях ошибка и надо всё делать иначе? Расскажите в комментариях, пожалуйста.

Берлин в марте 2016

Готов фотоотчёт из мартовской поездки в Берлин.

Трамвай:

Другой:

Обшарпанность, стёкла и вёрстка плаката:

Памятник:

Пиксель-арт:

Слово:

Табличка:

По таким трубам через весь город откачивают воду из строительных котлованов:

Бетонная опора:

Показать направление без стрелок:

Самые красивые велопрокатные стойки в мире:

Пристрой:

Тут была стена:

А тут всё ещё есть:

Рисунок на доме:

Бомж катает свои вещи на тележке:

Плакаты везде принято вешать по многу штук одинаковых. Почему бы не сделать немного разные?

Это театр:

Вход:

Афиша:

Дверь:

Детская площадка:

Стройка:

Германплац:

Кафешка:

Вывеска:

Пивоварня:

В Берлине я бы пожил.

Ещё Берлин:

Заметка перенесена из раздела «Мир» и сокращена 9 ноября 2021 года. Часть фотографий убраны и заменены ссылками на другие заметки, где они используются, часть перенесены в заметки «Уличные таблички», «Метро в Берлине», «Железная дорога в Берлине»

Шестой набор в Школу стажёров бюро

Шестой набор в Школу стажёров бюро

Я писал о работе в бюро:

В бюро создана система роста: старшие передают знания младшим, причём не только о дизайне, но об организации работы, юридической стороне дела, отношениях с клиентами.

В 2014 году мы открыли Школу стажёров, в которой преподаём это тем, кто хочет стать дизайнерами. Уже защитили дипломы выпускники первых четырёх наборов, а студенты пятого учатся на первой ступени. И сейчас идёт новый набор.

По поводу школы было лукэтмишное интервью Артёма Горбунова «Как научить дизайнера работать»:

Бывают студии, которые открыли менеджеры, они, как правило, очень успешны. Но если ты смотришь их работы, это ужас. Менеджеров дизайн не волнует, их волнует организация производства. У студий, открытых дизайнерами, хорошие работы, но они живут только 2-3 года, потому что дизайнеры, к сожалению, не очень интересуются управлением проектами, переговорами. Мы сами долго преодолевали эти проблемы и несколько раз оказывались на волоске от закрытия. Но тем не менее мы эти проблемы раз за разом решали и теперь хотим научить этому остальных.

Мой предмет — «Интерфейс и информация». Среди тем лекций — технозависимость, привычки, информационные слои, навигация на сайтах (всё из курса «Пользовательский интерфейс и представление информации»). Практические задания — проектирование сайта и интерфейса веб-сервиса. Плюс дипломный проект.

Как любой предподаватель, я, разумеется, считаю свой предмет самым важным! В курсовых и дипломном проекте я буду требовать внимания к сценариям, уважения к человеческим слабостям, соблюдения теории близости, правильного синтаксиса интерфейса, высокой информативности.

Учиться у нас дорого. Но польза ещё дороже: посмотрите отзывы участников наших курсов (сложите, кстати, стоимость участия во всех них). В школе есть содержимое наших курсов плюс ещё разные темы (например, предмет «Типографика и вёрстка»). У вас есть возможность просматривать лекции многократно, чтобы разобраться во всех темах. Есть тесты для контроля знаний. Практическая часть сильно расширена. А на третьей ступени студенты вообще получают месяц личного внимания преподавателей. И ещё у нас есть бесплатные места для лучших.

Сама система образования у нас суперпродвинутая — как наша система работы «Ресурс»: к нам не нужно приходить (или прилетать), всё работает через интернет. Вы изучаете теорию и делаете задания в своём режиме, находясь там, где вам удобно учиться. При этом мы знаем, как контролировать успеваемость и не допускать халявы. Заодно эта система даёт понимание того, как работает бюро.

Посмотрите программу школы. Кажется, если её просто прочитать, уже умнее станешь. Я вообще смотрю и тащусь: сколько всего разного интересного у нас. И это только чтобы стажёром стать. Представляете, сколько ещё всего вас ждёт уже во время работы?

Ещё про стажёра хочу сказать, кто-то писал, мол, чё за фигня, год учиться и только каким-то там стажёром стать? Думают, будто это совсем для начинающих. Это вот проблема. Дело в том, что хороших дизайнеров крайне мало, но при этом себя таковыми считает пол-интернета. Невозможно найти человека, которому можно доверить дизайн даже одной странички, обязательно первые несколько раз пришлют полную фигню. При этом все хотят зарабатывать кучу бабла. Мы вместо того, чтобы ныть по этому поводу, решили взять дело в свои руки и учить людей. Человек, закончивший школу стажёров, стажёр по меркам бюро — это «хороший дизайнер из интернета» по общечеловеческим меркам. Для многих компаний это просто состоявшийся спец.

Занятия начнутся 30 января, но набор продлится только неделю — до 28 ноября.

Сейви: скажи и сохрани

Когда мысль приходит на бегу или за рулём, записывать неудобно. Я хочу сказать телефону, чтобы он запомнил. К сожалению, для этого не было инструмента.

Сири требует интернета и тупая, как дрова. Если она не разберёт, что ты сказал, то потом и не вспомнишь. Диктовка на клавиатуре иногда работает без интернета, но если не повезёт, исходная аудиозапись тоже потеряется. И нужно не забыть выбрать правильный язык клавиатуры, иначе всё пропадёт. Приложение-диктофон записывает аудио, но не распознаёт, и потом разбирать записи мучительно, они все одинаковые на вид.

Поэтому мы с разработчиком Михаилом Рубановым сделали «Сейви» — нормальный сохранятор сказанного. Работает так: сразу при запуске начинает записывать аудио и распознавать одновременно. Когда запись закончена, подчёркивает слова, в которых сомневается.

Сейви: скажи и сохрани

В слова можно тыкать и менять на альтернативные. Если совсем не то, запись можно переслушать. Чтобы не смущать окружающих, поднесите телефон к уху — тогда будет играть в ухо.

Сейви: скажи и сохрани

Если вы говорили не на том языке, на котором оно распознавало, язык можно переключить и после — оно перераспознает уже сделанную аудиозапись. Потом всё можно экспортнуть в Ноутс или что вам больше нравится.

Мы тоже не всегда можем распознать сказанное без интернета. Но аудио сохраняется всегда, поэтому то, что вы говорите, не потеряется. Плюс мы попробуем распознать его позже, когда интернет появится.

А вот и кнопка, ради которой вы все здесь собрались:

Скачать в Апсторе бесплатно

Пока бесплатно, а там видно будет.

Ранее Ctrl + ↓