О гибком мышлении.

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

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

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

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

Гибче Вас!

PHP Intl. Правильная транслитерация кириллицы

PHP Intl. Правильная транслитерация кириллицы

Современные фреймворки предоставляют готовый функционал в составе библиотек или хелперов для работы с библиотекой ICU (http://site.icu-project.org/home) через API Intl.

Такой функционал необходим для поддержки интернационализации разрабатываемого веб-сервиса. На основе указанной локали могут устанавливаться форматы отображения валют, времени и даты, а также подбираться настройки для инициализации транслитераторов (https://www.php.net/class.transliterator).

В разделе «Телеграм-каналы (https://chulakov.ru/notes)» сайта Студии во время автоматического импорта постов из наших каналов производится транслитерация названий заметок для формирования ЧПУ (https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%BC%D0%B0%D0%BD%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_URL).

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

Например, уникальная часть URL заметки (https://chulakov.ru/notes/development/php-8-pocti-novogodnij-podarok) про релиз PHP 8 после транслитерации имела вид php-8-pocti-novogodnij-podarok. Замена некоторых букв произошла некорректно.

Для того чтобы транслитерация кириллицы производилась по традиционным правилам, необходимо произвести конфигурацию объекта-транслитератора (https://www.php.net/manual/ru/transliterator.create.php), передав следующее значение параметра $id:

Russian-Latin/BGN; Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;

После такой конфигурации результат преобразования наименования заметки изменится на php-8-pochti-novogodniy-podarok.

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

Аутсорс-дизайн

Аутсорс-дизайн

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


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


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


3. Ниндзя-дизайнеры.
В аутсорсе ты либо работаешь в том промежутке времени, в который сам оценил проект, либо уходишь в минус по деньгам.
Значит нужны люди, которые быстро во все въезжают(а каждые 4 месяца — новый проект), которые не прокрастинируют, которым не нужно нетворкаться 2/3 времени, которые не уходят в творческий кризис на неделю.
Которые за сжатые сроки делают охуенно и не устают от динамики студии.
Таких на рынке единицы. И, получается, что требования у нас завышенные. И те кто нам по этим критериям не подошёл — просто шикарны для продуктовых процессов.


4. В команду и процессы нужно вкладывать постоянно.
Оптимизируешь, растишь, учишь, разбираешь ошибки, проверяешь и улучшаешь процессы, ревьюишь задачи.
Даёшь энергию, поддерживаешь — вытягиваешь эмоционально, помогаешь с барьерами. Это какой-то постоянный коучинг. Это никогда не заканчивается, идёт всегда и фоном.
Но с этим нельзя и переборщить, потому что вы всё-таки деньги тут зарабатываете, а не в обучающую академию играете :)

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

А нет, не с другой стороны, всё с той же. 😂

Смена лого Google Maps

Смена лого Google Maps

Карты гугла обновили логотип и я, как преданный пользователь сервиса, ощутил на себе всю "прелесть" этого мероприятия. Под постом будет картинка До обновления и После.

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

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

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

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

В жизни каждого дизайнера возникает момент, когда клиент приходит за логотипом для какого-то нового проекта.

В жизни каждого дизайнера возникает момент, когда клиент приходит за логотипом для какого-то нового проекта.

Это важный момент, потому что именно тогда придуманное название становится окончательным. И если название дерьмовое — иногда ещё не поздно что-то с этим сделать.

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

1. Сначала узнать, есть ли в принципе сомнения. Можно просто спросить, окончательный ли это вариант, можно как-то ещё осторожнее, но главное спросить.

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

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

4. И показывать не названия текстом, а быстрые логотипы из разных названий.

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

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

Это я книгу пишу и некоторые мысли туда просто не влезают. Вторая глава близко.

Интересная статья о ментальных моделях (ММ) для дизайнеров.

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

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

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

2) Инверсия. Мы часто концентрируемся на поиске идеального решения, однако порой это слишком тяжело даётся. Чтобы облегчить себе «роды» решения, можно воспользоваться инверсией: представить не самое хорошее решение, а наоборот, плохое. А после просто спросить, как нам этого избежать? Очень напоминает метод решения задач «от обратного», не правда-ли? Например, все таже проблема становления вас как прекрасного специалиста может впасть в ступор на вопросе «А кто такой этот прекрасный специалист?». Однако стоит вам задать вопрос, как «Кем он не является?», как сразу повалят признаки: звёздная болезнь, отсутствие опыта, теоретический дизайн, затворничество и т.д. Останется только придумать, как этого избежать и вуаля.

3) Лестница абстракции. Этот метод позволяет выйти из тупиковой ситуации, если задача кажется неразрешимой. В таком случае, нам стоит переместиться на уровень выше (построить надсистему по ТРИЗ) и рассмотреть проблему в ней. А делается это при помощи мозгов и качественных вопросов (почему, зачем, как, чем... и т.д.) Например, перед нами стоит задача создать ручку, которая будет писать в условиях невесомости. И это довольно сложная задача. Но если мы выйдем в надсистему «фиксирование информации в условиях невесомости», то на столе появляются и другие опции, типа «цифровой дисплей» или «простой карандаш». Конечно, каждый из них будет иметь свои недостатки, но и положительные моменты можно будет перенять.

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