Подписка на блог

В Телеграме помимо ссылок на заметки делюсь околодизайнерскими наблюдениями.

В Твиттере помимо ссылок на заметки пишу всякую чушь.

В Тумблере и Же-же есть автоматические трансляции. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

По РСС и Джейсон-фиду трансляции для автоматических читалок

Дизайн продуктов

Позднее Ctrl + ↑

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

Такое:

  1. Here’s what I learned hanging out with Jason Fried. Куча полезных мыслей, я сразу же отложил себе, чтобы перечитать ещё пару раз.
  2. Why isn’t the fundamental theorem of arithmetic obvious? Кайф начинается, когда речь заходит об альтернативных алгебраических структурах.
  3. GIMPS Project Discovers Largest Known Prime Number, 257,885,161 − 1. Трудно, конечно, себе представить, что число, состоящие из 17 миллионов цифр, ни на что не делится.
  4. Коллективный Путин против Нельсона Манделы. Ксения Собчак пишет всё правильно.
 49   2013   дизайн продуктов   математика   политика   чтиво

Иконка Апстора

В разговорах с прекрасным Костей Горским всегда случаются открытия.

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

Уже сейчас сайты на Айпаде можно найти Гуглем из Спотлайта и добавить кнопкой на домашний экран, не зная ничего ни о каких адресах. Объяснить нетехническому человеку, чем отличается сайт от приложения, можно, но это не добавит ему никакой пользы. Какая разница, это ведь просто один из цветных квадратиков.

Костя отлично подытожил наш подробный часовой разговор на эту тему:

— У человека должен быть экран с цветными квадратиками и способ их туда добавлять.

Благодаря этому я придумал изменение дизайна домашнего экрана Айпада — см. иконку Апстора. Было:

Станет:

Естественно, ручное обновление приложений вымрет.

Мы, конечно, всё в сто раз подробнее обсудили, но именно эту картинку очень хотелось нарисовать и опубликовать.

 601   2012   404фест   будущее   дизайн   дизайн продуктов   пользовательский интерфейс

О чистоте кода

Нам пишет Алексей Чикин:

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

Просто у меня дилемма. Я сделал нечто, что мне нравится, но я сделал это так, как я умею. И мои умения далеки от гуру-программирования. Стоит ли это нечто представить публике или всё таки убить какое-то время на изучение и рефакторинг кода?

То есть вопрос в следующем. Важно что там и как внутри устроено или результат важнее?

Смотрите, что является вашим продуктом? Код или полезное действие, который он обеспечивает? Я не даю исходники Эгеи, потому что продуктом является сам движок, а не его код. Бывает, конечно, наоборот: если вы делаете какую-то опенсорсную библиотеку, то сам код и является продуктом. В этом случае, несомненно, важно, как он устроен внутри. Но в большинстве случаев пользователи не взаимодействуют с кодом вообще никак и никогда, и поэтому его внутреннее устройство не имеет значения.

Но всё не так просто.

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

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

Или вот Биатлонтайм. Там совершеннейшая, беспросветная жесть под капотом. Потому что всё приходится программировать очень быстро. Вдруг оказывается, что судьи добавили кому-то 20 секунд времени штрафа согласно правилу такому-то, а код сайта не знает о том, что так вообще может быть. Приходится делать через жопу, прописывая исключение прямо в коде, потому что результаты публиковать надо прямо сейчас, и это важнее красоты кода. А вот заставлять себя потом привести всё это в порядок удаётся не всегда, и это уже мне мешает добавлять новые штуки на сайте.

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

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

 80   2012   дизайн   дизайн продуктов   программирование   Эгея

Волшебство и куаркоды

Что я думаю о куаркодах? Кто не в курсе, эти куаркоды — это вот такая чёрно-белая штука, на которую можно навести камеру телефона, и программа определит, что же за ней скрывается:

Волшебство и куаркоды

Короче, это такая же вата, как и опен-айди и 100500 других гик-онли-технологий.

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

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

Но гикам нравится когда кишки торчат наружу:

Волшебство и куаркоды

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

 24 комментария    290   2011   дизайн   дизайн продуктов   куаркод   технологии

Почему в Эгее нет «ката»

Одной из распространённых функций блоговых сервисов и движков является возможность спрятать часть публикации «под кат», то есть показать в ленте только некую затравку, а целиком текст показывать только по прямой ссылке. Эта функция была раньше и в Е2 (называлась «Читать дальше»), но в Эгее её больше нет. Пользователи несколько раз в неделю присылают мне письма с вопросом о том, как же сделать такое в Эгее. Теперь я смогу всем просто давать ссылку на эту заметку.

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

Вот доводы, которые мне приводят в защиту функции «Читать дальше».

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

«Я хочу быть как Илья Варламов и регулярно писать заметки с кучей фотографий, но тогда страницы получатся совершенно неимоверной длины». Вообще в Эгее можно изменить число записей на странице, сделать, например, не 10, а 5 или даже 3. Но «фотоальбом» и «запись в блоге» — несколько разные вещи. Формат блога явно не подходит для фоторепортажей (недаром отчёты о путешествиях лежат у меня в отдельном разделе сайта). И тот факт, что в Же-же есть кат, слабо лечит, всё равно читать фоторепортёров там довольно неудобно. Илья использует более эффективный приём решения этой проблемы: он просто пишет очень интересные репортажи.

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

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