Написал|

О прикладной редактуре, смысле и красоте

Добавьте о людях

Зарисовка о писательском ступоре и смыслах. Выводы в конце.

В Девхабе выпустили приложение сервиса Попути и собрали кейс. В черновиках заголовок был такой:

Cервис удалённого заказа кофе на маршруте или в ближайшем заведении

Пока писал остальное, глаз замылился, заголовок казался рабочим. Утром коллеги пришли с критикой: заголовок звучит безграмотно и угловато, как киношный чиновник из села. «На маршруте» — так говорят, вообще? Перечитываю, пугаюсь «ближайшего заведения». Хочется легче и веселее.

Думаю заменить «маршрут» на что-то человечное, но захожу в тупик. Кроме конструкции с «по пути» на ум ничего не идёт, но идея плохая: в тексте кейса без «по пути» никак, да и сам сервис так называется, будет рябить. Похоже на писательский ступор.

Качаюсь на стуле и понимаю, что проблема не в поиске слов, а в смысле. В тексте и так много о маршруте и заведениях, в заголовке про их можно не говорить. Лучше сказать, чьи проблемы решает сервис. Получается так:

Сервис удалённого заказа кофе для водителей и пешеходов

Вот, теперь хорошо. Было описание функций, стало — перечисление групп пользователей.

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

Картинка Ulv Vind

Сайт курса по бэкенду

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

Авторы курса — Евгений и Сергей — за десять лет практики собрали все грабли, устали от унылого хаоса в разработке и решили передать свой опыт в формате онлайн-курса. Курсу требовался сайт, который бы объяснял пользу, показывал экспертность авторов и отличался от лендингов с перепродажей чужих лекций. Получилось так: howto.stringconcat.com

Работа над сайтом условно делится на шесть смысловых этапов:

уточнение задачи → сбор и анализ материала → поиск структуры → текстовый макет → подбор иллюстраций → вёрстка

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

Уточнение задачи

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

Исследование

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

Для сайта курса я изучил черновики рекламных писем, заметки по ЦА, сценарий вводного ролика, посмотрел несколько лекций, изучил учебный план, почитал Хабр и Ebanoe.it. Это помогло погрузиться в тему, собрать вопросы для интервью и наметить способы демонстрации полезного действия курса.

Поиск структуры

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

Хорошая структура появляется эволюционным путём

За пример я взял сайт курса Ильяхова по работе с клиентом. Наши курсы сильно похожи: их проходят зрелые специалисты, которые разбираются в предмете и не совершают покупок на эмоциях. С такой аудиторией нужно говорить на равных и помогать сформировать собственное мнение.

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

По мере работы с текстом становится яснее, какие вопросы могут возникнуть у пользователя, и структура немного меняется.

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

Текстовый макет

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

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

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

Как разработать продукт, за который не стыдно

Как поддерживать и развивать проект, не жертвуя сном и здоровьем

Перестать выгорать и начать жить

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

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

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

Иллюстрации

Самая важная и самая сложная часть. Иллюстрации создают настроение и убеждают сильнее слов, демонстрируя работу продукта.

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

Чтобы не скатиться в болото из коллажей, мемов и стоковых фоток с серверными стойками, мы решили отказаться от всего, что не имеет прямого отношения к курсу. На странице остались только скриншоты, схемы, ролики с лекциями и фотографии авторов.

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

Картинку в шапке сделал Сергей и она идеальна. Мы долго обсуждали, что туда поставить, пока Сергей не предложил описать курс на языке Kotlin.

Всё по делу: стиль и формат кода, среда разработки, ночная тема, структура проекта на боковой панели и названия вкладок

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

Оригинал и результат. Евгений демонстрирует позитив, спокойную уверенность и открытость

Вёрстка

Нам было важно, чтобы сайт выглядел спокойно и стильно. На странице нет анимации, минимум цветов и один шрифт.

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

Всё, кроме шапки, сделано на типовых блоках Тильды. Шапка — зеро-блок с вариантами под разные устройства.

Рассказ о курсе свёрстан в две колонки. Левая кратко пересказывает правую и работает как якорь, чтобы взгляду было за что зацепиться.

Всё набрано шрифтом Open Sans. У него почти нет характера, открытый рисунок и широкий диапазон жирности. Сейчас я бы сделал заголовки чем-то более выразительным, например, шрифтом IBM Plex.

Для удобства чтения размер основного текста подобран так, чтобы в строке было не больше 80 знаков. Местами текст немного подрезан или переписан, чтобы выровнять правый край абзаца. Где не получилось переписать, стоят мягкие переносы.

Особый шик — колонки одинаковой высоты:

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

Отзыв из переписки Евгения

14 сентября   верстка   кейс   работа

Рерайт: как позвонить в квартиру

Разбираемся в визуальном контрасте, иерархии и сценариях на примере короткой инструкции к домофону.

В геометрическом центре Уфы построили жилой комплекс «Идель Тауэр» с небоскрёбом, подземной парковкой и забором. На входе висит домофон с инструкцией вызова квартиры:

В комплексе три здания с общим адресом и нумерацией квартир. Чтобы позвонить в квартиру с улицы, нужно указать подъезд через #. Остальные домофоны стоят в подъездах.

Определять подъезд по номеру квартиры просто, с этим справится даже детский электронный конструктор. Конкретно этот домофон просто не предусматривает сквозной нумерации квартир в отдельных зданиях, но умеет перенаправлять вызов, как офисная АТС.

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

Собираем проблемы

У текста нет видимой структуры. Чтобы понять суть, табличку приходится читать последовательно. Немного помогает деление на блоки, но текст всё равно сливается в полотно и разбираться в нём не хочется.

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

При беглом взгляде табличка похожа на какое-то объявление администрации

Непонятно, для кого эта инструкция. В заголовке обращаются к жителям, в тексте объясняют, как позвонить консьержу и в квартиру. Есть гипотеза, что после канцелярского обращения «Уважаемые…» включится булщит-фильтр и читатель решит не тратить время.

Таблички часто начинают с крупных «Внимание!» и «Уважаемые…», потому что это работает в устной речи. В письменной речи вниманием управляют заголовки, поэтому лучше писать крупно саму суть: Не паркуйтесь у ворот, скорая не сможет подъехать.

Инструкция описывает функции домофона, а не сценарии его использования. Читателю нужно изучить текст и самостоятельно решить, как именно он попадёт внутрь.

Изучаем сценарии

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

  1. Позвонить в квартиру
  2. Вызвать консьержа
  3. Открыть дверь ключом

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

Звонок в квартиру — самый сложный сценарий. Нужно объяснить порядок набора и показать таблицу с делением квартир по подъездам и секциям:

Секции А, Б и В — это строительная маркировка, 2 — вторая очередь строительства. Жители привыкли к номерам секций, поэтому их стоит оставить. Возможно, кто-то так и говорит гостям: 501 квартира в 2В.

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

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

Пишем текст и рисуем

Делим текст на сценарии, выделяем заголовки, собираем номера квартир и подъезды в табличку, рисуем иллюстрации.

Получается так:

Стало и было

Эпилог

Жильцы заинтересовались новой версией и пошли с ней в управляющую компанию. В середине октября 2020 табличку заменили на новую:

Из таблицы убрали две строки. Оказалось, что домофон обслуживает только два подъезда из пяти. Фотка из статьи гиперлокального СМИ жилого комплекса

Процесс по шагам в Фигмe

Обсуждение в ВК

31 августа   верстка   рерайт

Вавилонская формула

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

Ситуация

В 2018 Хабр Карьера анонсировала сервис публичных оценок компаний. Сотрудники анонимно оценивают работодателя по 12 критериям, пользователи портала видят усреднённые оценки, а руководство получает обратную связь.

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

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

Больше отзывов → яснее картина происходящего → точнее курс.

Гифки и мемы не годились, хотелось чего-то шуточного, но с понятным посылом. Поэтому я решил нарисовать график роста ясности и отметить на нём текущее положение дел:

12 отзывов проясняют ситуацию только на четверть

Замысел

График задумывался как пародия на популярные бизнес-метрики. Реальной зависимости он не показывал, а просто притягивал внимание и развлекал. Расчёт был запомниться абсурдностью: некая ясность в диапазоне от 0 до 1 и очевидно ускоряющийся её рост с каждым новым голосом. Читатель посмеётся, а позже возможно вспомнит синюю полоску и невольно подумает про отзывы.

Удивлять чем-то неожиданным и запоминающееся — старый рекламный трюк. Например, ВВС США завлекают женщин на контрактную службу детёнышем транспортника C-17:

Большие стёкла кабины, короткие крылья и фюзеляж рефлекторно вызывают умиление

Реализация

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

Известные мне нелинейные функции не годились, и я обратился к приятелю-математику Илье (Илья, привет!) Он выслушал постановку, посмеялся и сотворил нечто из начал анализа:

Натягиваем сову на глобус: Σ — ясность, N — общее количество участников, x — количество полученных оценок

Графику требовалась формула, а формуле — история, которая бы объясняла её абсурдность. Я почитал Википедию, написал фрагмент вымышленной книги «Знаменитые математические формулы» и оформил её как халтурный рип из электронной библиотеки.

Формула и статья заняли большую часть субботы. Информативности они рассылке не добавляли, поэтому делал я их в нерабочее время.

Результат и выводы

В начале выпуска я разместил призыв с графиком. Под графиком — пояснение со сноской, а по сноске в конце выпуска дал пояснение со ссылкой на файл статьи.

В 2018 Хабр Карьера ещё была Моим Кругом

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

Выводы из этой истории:

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

Приходите обсуждать ко мне Вконтакт.

Как вас подведут картинки из гугл-доков

Никогда не вставляйте в блог, рассылку или базу знаний текст с картинками из гугл-дока. Эти картинки вставляются только по URL, и если исходный документ удалить, картинки тоже пропадут. Сохраняйте исходники и загружайте изображения отдельно. Восстановить их из удалённого документа не получится.

UPD. В письма тоже не вставляйте.

Для начала три истории из моей практики.

Как бывает: в компании всё пишут в гугл-доках. Маркетолог готовит статью с фотографиями, публикует её в корпоративном блоге, через полгода увольняется, а ещё через год кто-то заходит в статью и видит битые ссылки. Фотки приходится искать в архиве, заново обрабатывать и заливать.

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

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

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

Гугл-док это веб-страница, которая хранит текст с оформлением и адреса картинок. Файлы картинок хранятся где-то в недрах Гугла и напрямую недоступны: их нельзя скопировать и вставить, как в Ворде.

При копировании гугл-док отдаёт в буфер обмена html-код с текстом и адресами картинок. Сами картинки в новое место не копируются, а остаются в хранилище Гугла. Визуальный редактор Мейлчимпа или блога распознаёт разметку и отображает картинки, словно они перенеслись вместе с текстом. Кажется, что всё в порядке.

Результат вставки в Мейлчимп, блог на Ghost и самописный скрипт для чистки гугл-доков. В коде выделен адрес картинки, ведущий куда-то в Гугл

Картинки остаются на месте только пока документ жив. Но если автор удалит документ за ненадобностью, его отключат от корпоративного домена Гугл Сьют или дата-центр Гугла заденет хвостом комета, документ исчезнет, а вместе с ним и картинки. Восстановить их будет невозможно.

При отключении пользователя Гугл Сьют адреса его документов протухают, даже если админ назначит документам нового владельца.

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

Сохраняйте исходники картинок. Давайте файлам осмысленные имена и подписывайте картинки в документе, чтобы не путаться на вёрстке.

Удобно подписывать картинки полным адресом. Это упрощает перенос текста в Конфлюенс. Теперь туда картинки из гугл-доков, к счастью, не попадают, приходится вставлять руками. С подписями это проще: идёте по тексту и копируете адреса в диалог вставки изображений. Можно написать скрипт и вставлять всё автоматом.

Изображение и его полный адрес на сервере

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

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

Комментарии в ВК

Хтонического ворона в начале статьи нарисовала Ulv Vind. Его зовут Эдгар.

Что общего у веб-сервиса и звездолёта

Шутка про IT и глупые клише в современной фантастике. Кратко:

Сценаристы хотят сделать дешево и зрелищно, а получается похоже на фронтенд с открытыми библиотеками.

Кинофантастика последних лет стала точнее описывать тенденции технического прогресса. Теперь в космических кораблях будущего все глобальные проблемы решаются на высоком системном уровне: переключениями светящихся проводов, спортивным хаком ядра ОС и прочими впрысками макгаффина в консоль реактора.

Энсин Тилли спасает Дискавери

Энсин Тилли спасает Дискавери с закрытыми глазами

Глупостей хватает в любой космоопере, приведу три примера на мотив свежего Стартрека.

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

— Я знаю, что делать! Переключим дефрижератор на амрижератор по обводному контуру и инвертируем тахионную центрифугу!

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

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

Необъяснимые аномалии. При попадании в щиты на мостике что-то постоянно взрывается, а весь корабль отчаянно трясёт. При пожаре в отсеке реактора на мостике обязательно вспыхнет пульт управления реакторным блоком. Пульт потушат и продолжат работать с сенсорными панелями, запуская систему пожаротушения в реакторной. Ремонтные дроны дружно заваривают дырку с блюдце, игнорируя торчащую в корпусе торпеду.

Бип и Буп нашли задачу по силам

Бип и Буп нашли задачу по силам

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

К сожалению, пока в такое будущее довольно легко поверить. Современные программы становятся примитивнее по функциям, но сложнее и запутаннее внутри, стремясь занять всё доступные ресурсы и сетевой трафик. Сайты страдают ожирением от скриптов и подгружаемых модулей, Фотошоп задыхается от собственного веса, а многие мобильные приложения просто не работают без сети. Нет ничего цельного, всё собрано второпях из плохо подогнанных кусков и скачивается откуда-то из Малайзии. Дальше появится 6G и искусственный интеллект, который сам начнёт кодить, и мир утонет в сложных зависимостях или типа того.

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

Живите долго и процветайте!

Живите долго и процветайте!

К чему приводят ошибки валидации

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

Расскажу одну такую историю, а в конце поделюсь выводами.

Я купил в московском магазине железяку с доставкой до двери компанией СДЭК. Железяка быстро доехала, но вручить посылку у транспортной компании просто так не получилось: Плутон стал ретроградным и я вновь попал в какой-то каскадный баг.

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

Номер телефона был указан верно — форма отслеживания посылки его принимала, — но в адресе из номера дома исчезла дробь. Поменять адрес доставки на сайте СДЭК не получилось: форма отказалась принимать адрес с дробью, выдав неустранимую ошибку с расплывчатой формулировкой. «Корпус» и «корп.» вместо дроби тоже не помогли. В итоге форма всё же отправила данные, но изменились только валидные: дата и время доставки.

Связаться непосредственно со СДЭК не вышло. На горячей линии никто не отвечал, виджет онлайн-звонка два раза подряд выдал маркетинговой чепухи, сослался на занятость операторов и закрылся. Форма заказа обратного звонка попросила обязательные имя, телефон, город, тему запроса и номер договора. Затем она сломалась и перестала показывать города после буквы «б». Я выбрал Абакан, но мне всё равно никто не перезвонил. Не особо надеясь на ответ, я написал СДЭК в ВК-сообщество.

Скрин от 11 мая. Если не актуально, можно и не читать

Решил действовать через магазин. Менеджер оперативно связался со СДЭК, но выяснил только, что курьер приезжал, не дозвонился и доставку перенесли на завтра. Адрес в СДЭК не исправили, сказав, что курьер всё уточнит перед поездкой. Но ему никто ничего не сказал, поэтому сначала курьер попробовал сдать посылку по неверному адресу.

Транспортные компании требуют предъявлять паспорт, но курьеры часто отдают посылки без проверки документов. Это логично: какая разница, кто заберёт груз, если адрес правильный. Теоретически, на первом адресе без дроби могли оказаться ушлые шутники и мне пришлось бы нудно бодаться вначале со СДЭК, а потом и с магазином.

Выводы

Как избежать каскадной жести.

  1. Типовые сообщения для ошибок — зло. Хорошо подсказывать пользователю, что он делает не так. Например, в каком формате следует вводить адрес, если некому научить форму парсить эти данные самостоятельно.
  2. Если отваливается справочник городов, нужно давать пользователю указывать город произвольно. Выпадающий список должен показывать, что он сломан, данные не загружены и следует попробовать позже.
  3. На выходные и праздники стоит менять скрипт автоответчика, чтобы пользователь не ждал ответа. Робот не должен просто обрывать звонок, если операторы долго не отвечают, а подсказывать альтернативные способы связи.
  4. Чтобы сервис работал, компании нужно сервисное мышление, а не сервисные ценности.
  5. Клиентским сервисам лучше совсем не принимать сообщения через ВКонтакт, чем отвечать через трое суток.
  6. Формальная вежливость лучшее, чем безразличие. Хорошо доводить любой диалог до логического конца, это оставляет положительное впечатление.

Upd. Комменты закрыты из-за спама, приходите в ВК-пост.

Ошибки и задачи с известным решением

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

Одна из возможных причин такой реакции — убеждение в том, что у каждой задачи есть правильное решение и любой ошибки можно избежать.

В школе и компьютерных играх правильный результат получается при правильных действиях. Школьные задачи составляют так, чтобы проверять знания, а игровые — чтобы развлекать. Поэтому примеры в учебнике всегда решаются, а в играх мало безвыходных ситуаций.

Учебные и игровые задачи предусматривают решение.

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

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

Реальные задачи могут вообще не иметь решений по независящим от нас причинам.

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

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

В реальном мире ошибки неизбежны, а полный контроль недостижим.

Раз исключить ошибки не выйдет, стоит изменить к ним отношение. Чтобы не чувствовать каждый раз досаду и стыд, нужно отказаться от попыток всё контролировать и действовать гибко:

  1. Стараться находить ошибки вовремя
  2. Оперативно исправлять, что получится
  3. Научиться оценивать последствия
  4. Разбирать причины и степень своего влияния на ситуацию
  5. Исключать повторение уже известных

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

upd. Я устал чистить комменты от спама, поэтому они закрыты. Приходите в комментарии под ВК-постом :)

Вредные советы начинающим фантастам

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

Картинка Ulv Vind

Главная задача фантаста — увлечь читателя и освободить его воображение через переживание необычайного. Чтобы добиться этого эффекта, автору не обязательно обладать парадоксальным мышлением и невероятно богатой фантазией. Достаточно следовать трём простым советам:

  1. Вводите новые сущности и понятия
  2. Постоянно увеличивайте масштаб происходящего
  3. Будьте непредсказуемы

Далее мы разберём каждый совет подробнее, а потом посмотрим, как они работают в комплексе на примере нарочито упоротой истории.

Советы будут про научную фантастику, но сработают и для любой другой.

Вводите новые сущности и понятия

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

Объяснять логику и принцип действия фантастических штук не обязательно. Главное — подобрать хорошее название, которое подтолкнёт воображение читателя в нужную сторону.

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

Комната, Яйцо, Дверь, Дрель, Колодец

Второй способ. Подберите звучное сочетание научного термина и интуитивно понятного существительного:

Квантовый маятник, Темпоральный колодец, Квазарный дворец, Тахионный двигатель, Плазмоидный контейнер, Лазерный поглотитель, Корпускулярный карман, Солярная гвардия

Слова можно слеплять, менять местами и ролями:

Тета-счёт, Фотонопланер, Квазиклон, Контейнерная плазма, Хроно-конвейер, Ноль-гравитон, Багровый планетоид

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

Ваше мегапреосвященство! Гигалёт метагвардии вышел из гиперпространства сразу за танс-туманностью, они готовят мегабластерные био-торпеды!

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

Амбидекстральный трансфокатор, гигерциальный плазмотрон, сингулярный бифуркатор

Увеличивайте масштаб

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

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

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

Герой побеждает лень и встаёт с дивана → спорит с робо-вахтёром → ругается с начальником → убегает от психо-байкеров → знакомится с тайным обществом → получает задание от галактической корпорации → попадает в плен к межгалактическим пиратам и побеждает их главаря → находит Золотое Сердце и с его помощью сжигает Звёздного Пожирателя → в его останках находит Бур Судьбы и пробивает пространство и время, останавливая великого Мегабога Тьмы от разрушения Вселенной в очередном цикле Предначертанности.

Будьте непредсказуемы, нарушайте правила

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

Если правил в повествовании нет, история превращается в кашу и читателю становится скучно. Если правила слишком строгие, история развивается предсказуемо и читатель опять скучает.

Чтобы читателю было интересно, вводите правила и нарушайте их в критических точках сюжета, подтверждая догадки и удивляя поворотами:

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

Психопроекция не может двигать предметы, но при сильных эмоциях фантом становится осязаем.

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

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

Комплексный пример

Дик Янгус — простой телеклерк нижних уровней колодезного мегамуравейника. Однажды он встречает в голобаре загадочную аристократку с Верхних уровней. Она целует его и молча уходит, а по пути домой Дика ловят клоны-наёмники и требуют отдать им Ключ. На наёмников нападают полицейские дроиды-свежеватели, посланные самим королём муравейника Ультралом. Дику удаётся бежать, он попадает на нижние подуровни к банде ксено-мутантов.

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

На связь с Диком выходит таинственная аристократка, которая объясняет, что он — тайный клоно-сын самого Планетарного Владыки, которого сделало тайное общество, чтобы посадить на трон марионетку. Но сопротивление похитило и спрятало клона, узнав, что Владыка — носитель редкого инфо-гена. Именно по этой причине в теле Дика прижился наномеханический ключ к древним артефактам, который она передала ему вместе с поцелуем. Теперь политика отошла на второй план. Дик должен открыть Скрытое Хранилище и спасти планету. Если этого не сделать, вспышка некроэнергии пробудит Жнеца — чудовищную некромашину из Антивселенной, что замаскирована голограммой под одну из Бледных лун.

Дик находит Хранилище, но там его встречает сам Планетарный Владыка. Он говорит Дику, что готов признать его сыном, предлагает вместе обрести бессмертие Древних и свергнуть императора галактики Галакторика. Но Дик отказывается и побеждает ультрамех Владыки. Дик прощает отца, но тот не признаёт поражения и рассыпается на молекулы от ультрачастотного вопля.

Дик открывает Хранилище и сливается с Квантомозгом — разумной машиной Древних, которая является планетой-инкубатором инфо-генов. Дик запечатывает города-колодцы и спасает миллиарды, но поверхность становится смертельно ядовитой на тысячи лет. Это оказывается частью плана Владыки, который всё это время поклонялся Жнецу. Массовые бунты и вопль Владыки разбудил его, и теперь людям некуда бежать от телепортирующихся из Жнеца кибер-локустов. Их жизненную энергию поглотит некропризма, которая откроет портал в Антивселенную.

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

Конец первой части.

Я бы написал и вторую, но, похоже, цикл Предначертанности — мой предел, а повторяться несолидно. Буду рад предложениям в комментариях :3

UPD. Возможно, концовка показалась вам чересчур упоротой, но это вы не пробовали читать цикл Фреда Саберхагена «Берсеркер» про разумные машины-убийцы из глубокого космоса :3

Отбрасывать здравый смысл и не скатываться в убогий абсурд — редкий талант. Получается у Алехандро Ходоровски и авторов манги Гуррен-Лаганн.

Рассказ о ласке-авиаторе

Написал короткий рассказ для художницы Ulv vind. Она участвует в марафоне Inktober — каждый октябрь рисует по картинке в день, а я помогаю придумывать подписи в меру сил и фантазии.

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

Ulv vind решает рисовать ласку-пилота и присылает первый эскиз. Куртка, ботинки и очки похожи на атрибуты авиаторов начала XX века. Идея нам нравится, художница отправляется изучать фотографии асов первой мировой и рисовать, а я сочинять.

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

Черновой скетч. Очки сварщика обрезают боковое зрение и пилоты ими не пользуются

Итак, у меня есть лихая ласка-авиатор с мятыми усами и суровым взглядом. Осталось придумать кто он, что с ним происходит и в каком мире он живёт.

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

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

Герой. Ласка — маленькое хищное животное из семейства куньих. Это смелый и агрессивный зверек, который не боится человека и крупных хищных птиц. Ласка противоречива: истребляет мышей и домашнюю птицу, вредит лошадям и приносит удачу в дом.

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

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

Про ласку понятно. Теперь раскрутим образ авиатора начала XX века. Самый знаменитый летчик тех лет, конечно же, легендарный Красный барон Манфред фон Рихтгофен. Мне интересен период Первой мировой и я читал биографию Манфреда, поэтому решаю строить героя на его основе.

Образ немецкого аса прочно вошел в культурный код. Можно сказать, что Рихтгофен — имя нарицательное

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

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

Про Барона и молодость авиации можно говорить долго, подведём итог:

Наш авиатор будет аристократом, легендарным героем и гениальным летчиком-истребителем.

В честь немецкого аса ласка получает имя Манфред и фамилию Вайзель, от английского weasel в звучании на немецкий манер. Герой готов.

Скетч с уточнением деталей. Очки уже правильные, от шелкового шарфа решаем отказаться: у ласки есть мех, шею натереть сложно. А чтобы не затирать шерсть, хватит платка

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

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

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

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

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

Чистовой скетч. Ласка оказывается в салуне. Решаем повесить на стену авиационный винт, надеть перчатку на левую лапу и добавить старую царапину на подбородок

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

Пират-джентльмен романтичен по определению, воздушный пират на биплане — романтичен запредельно.

Герою нужны враги. Ласки охотятся на мышей, но плохо справляются с серыми крысами. Значит, родине героя угрожают крысиные полчища: серые шинели, стальные машины, дисциплина и имперский дух.

Добавить миру глубины помогают детали: образные топонимы, громкие прозвища, упоминания событий. С ними воображению читателя будет проще достроить картину.

Чтобы не мучатся с языком, решаю вести повествование от первого лица, пусть будет субъективно и эмоционально. Избыток пафоса можно списать на вполне понятную сентиментальность рассказчика. Старый пилот вспоминает о легендарном герое, услышав чей-то разговор. Эта идея подсказывает сделать концовку неожиданно личной.

Тут меня накрывает волной, детали со щелчком встают на место, образуют связи и следствия, история обрастает плотью. Остаётся несколько раз вычитать, отполировать и чуть сократить. Ulv присылает готовую картинку и получается вот что:

Повесть о Небесном Охотнике

Да что вы знаете о Небесном Охотнике, ползуны! Думаете, он просто везучий пират? Как бы не так. Манфред фон Вайзель был истинным аристократом, гениальным авиатором и отчаянным авантюристом. Земные обычаи меня не касаются, говаривал он, а в небе прав тот, кто выше летает.

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

Но как бы высоко ни летал Манфред, он никогда не забывал о Родине. Когда началась война с Крысарской Империей, думаете, он отсиделся в горах? О, нет! Он в тот же день отправился на фронт. Успеете повесить, бросил он трибуналу, сперва перебьём всех серомордых. Три года он гонял крысюков от Восточного разлома до Великого предела. Даже асы Стальной Стаи уважали Манфреда! В сражении над Ивовым полем он бился против пятерых, ему пробило ноги и лёгкое, мотор загорелся… и что тогда сделал Манфред? Пролетел сквозь цеппелин Великая Крысария! Потеряв флагман, крысарцы отступили, а через два месяца и война кончилась.

Он спас так много жизней в тот день… Но я так и не простил ему того, что он заставил меня выпрыгнуть.

Оригинальный пост в ВК

Благодарности

Людмиле Сарычевой — за доступные объяснения принципов драматургии.

Ильдару “Lt. Ivi” Валишину — за книги Артура Переса Реверте и историю о пионерах авиации.

Художнице Ulv Vind — за вдохновение, мотивацию и исходники.

Данису Мулюкову — за идею джазовой песенки в кабаре:

Манфред, Манфред, был пиратом Манфред.
Манфред, Манфред, высоко летал!

Ctrl + ↓ Ранее
UX