Стой под стрелой
11.6K subscribers
1 photo
17 links
Ведет @nikitonsky. Рекламы нет
Download Telegram
В английском языке есть термин “needy person”, что примерно переводится как несамостоятельный плюс навязчивый. Типа, человек, который постоянно пристает с какими-то вопросами и просьбами, которые вполне мог бы порешать сам, полностью перекладывает все решения на другого человека и не видит личных границ.

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

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

(Понятно, что если ты уступишь и создашь аккаунт, то до тебя все равно доебутся — или 2FA включи, или пароль поменяй, или почту проверь, или разлогинят тебя просто чтобы не расслаблялся)

Дальше идут обновления, они же апдейты. Я во всем виню Хром (вроде он это начал), но сегодня каждая программа постоянно проверяет, не вышла ли новая версия, и если вышла, всю душу из тебя вынет, пока не обновишься.

Заметьте, что обновиться — не мое желание, не моя потребность. Если бы мне было нужно — баг там какой критический, нехватка функций — я бы пошел и сам нашел все нужные патчи и апдейты. Но мне НЕ НУЖНО. Если бы я не знал про новую версию, если бы меня не заебывали этими попапами, я бы сидел на старой и горя бы не знал. От того, что я обновлюсь, в моей жизни не изменится НИ. ЧЕ. ГО. Так и кому это нужно? Мне? Или программе?

Наконец, нотификации. Это вообще рак. Идея была светлая — ну, иногда пользователю реально нужно что-то сообщить. Рендер там закончился, загрузка, не знаю. Что-то в мире пользователя, про его задачи.

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

Ведь нотификация это что такое? Это что-то, что я не просил, но с чем мне нужно разобраться. Это буквально проблема программы, с которой она пришла ко мне. У меня есть скриншот свежеустановленной какой-то Джетбрейновской ИДЕ. Я запускаю ее в первый и раз и тут же получаю в рожу ТРИ нотификации. Я еще ничего не сделал. Мне от тебя еще ничего не нужно. Но я уже тебе что-то должен. Как минимум, закрыть нотификации. Are you охуели там, как говорится? VS Code не лучше, кстати, и нотификации одна из основных причин, почему я сбежал.

На одном конце спектра условный ls: тоже программа, но никогда не попросит тебя создать аккаунт или обновиться. Это спокойный, уверенный в себе инструмент. Или, если нужен пример посложнее, Syncthing: программа для синка файлов между машинами, в которой нет аккаунтов, нотификаций, которой можно сразу начинать пользоваться, а про апдейт которой я недавно случайно узнал от друга. И не стал обновляться! (потому что зачем)

На другом — Гугл Хром. Опять же, заглядываю как-то в ноут жены, она там какую-то страничку открывает, а хром ей: проверь аккаунт! что-то не так (что, блядь, может быть не так, всю жизнь было так, с чего бы вдруг сейчас что-то пошло не так?), а еще обновись! И нотификацию в рожу. Жену я бесконечно уважаю, потому что она четко видит, где ее проблемы (нужно что-то посмотреть на сайте), а где проблемы программы (обновления, аккаунт). И абсолютно хладнокровно игнорирует вторые.

Ощущение от needy программ — я решаю не свои проблемы, а проблемы программы. Обнови ее, залогинь, нотификации закрой. Ну и нафига мне такой тамагочи?

Будь как ls. Не будь как Хром. Проблем у нас всех своих хватает.
328💯193👍57🔥14🏆5🎅4👏3🐳3🫡3😭1🤝1
А это какой-то новый тренд, говорить «говорит о том, что»? Типа, не «он сказал, что из компании уволили 100 человек» и не «он говорит об увольнениях», а именно «он сказал о том, что из компании уволили 100 человек».

Мне не нравится.
🥱116🤡32👍2813💊12💯11😁7😴7💩2👌1🎅1
Этим томным морозным утром передаю привет всем любителям языка Раст, из-за любви которых к unwrap вчера полдня лежал CloudFlare.

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

Не надо думать, что если вам программировать тяжелее (а на Расте очень тяжело программировать), то программы у вас будут получаться лучше. Это просто упражнение на самоистязание. Не больше.
😁306🤡84👍58💯41👎1311🔥11👏3🥱3🎅3👌1
Послушал Джонатана Блоу в Software Unscripted. Интересный пример человека, который не ушел из Твиттера: все еще очень умного, очень много делающего, но постоянно в голове борющегося с тупыми тейками. «Многие могли бы подумать, что <тупая фигня>», «Кто-нибудь бы сказал (о том), что <абсолютная дичь>».

Уверен, все это имеет место быть, но хорошо ли для психического здоровья постоянно об этом думать? Есть ли смысл посвящать жизнь борьбе с ветряными мельницами?

Передайте, чтобы берег себя.
60🎅36👍19😁9🤔8🤡7🥰3🙏3💯2👎1
К сожалению, с повсеместным распространением ИИ, задача отбора кандидатов сильно усложнилась. Многие кандидаты используют ИИ, чтобы выполнить тестовое задание, поэтому задача нанимающего менеджера — обнаружить его использование и отсеять таких кандидатов.

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

- Задача выполнена полностью и даже немного экстра
- Используются стандартные инструменты и шаблоны
- Код разбит на небольшие понятные функции
- Переменные названы понятно
- Сложные места прокомментированы
- Ошибочные ситуации обрабатываются и выводятся понятные сообщения
- Файловая структура организована логично
- Веб-интерфейс выглядит симпатично
- Есть тесты

Избегайте этих ошибок сами и распространите дальше!
😁652💯78❤‍🔥59🤡30👍14🔥108🤔4🫡4🎅3👾2
«Не нужно больше все время торчать на кухне! Вам поможет простой советский Убик. Это удобная в обращении, неприлипающая, идеально чистящая паста. Абсолютно безопасна, если пользоваться в соответствии с инструкцией».

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

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

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

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

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

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

И вот это чувство незаконченности, нелогичности, внезапности, оно тоже работает на идею. Когда вы умрете, никто не даст вам довести все дела до конца, все распутать. То есть книга проделывает с читателем тот же трюк, заставляет испытать те же эмоции, которые испытвают персонажи, но чисто за счет структуры. По-моему, довольно крутой трюк: ты думал, что вот сейчас сяду, мне все объяснят, а я издалеку буду оценки давать. «Вот это круто, вот это так себе придумано, тут персонаж картонный, тут опять женщину оскорбили, бла-бла-бла». А тебя вовлекают помимо твоей воли, да еще и так, как ты не ожидал. И это все не просто трюк ради трюка, оно еще работает на тему книги. Это уже почти литература.

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

Ну круто же? По-моему круто.

«У вас сухие, непокорные волосы? Вы не знаете, что делать? Поможет простой советский Убик! Уже через пять дней волосы окрепнут и залоснятся. Помните: если пользоваться аэрозолем Убик по инструкции, он совершенно безопасен».
68👍40🎅7👎4🤔4🎉3🤡2🔥1🙏1😐1
Мне тут напомнили про Свифт Юай и как в нем ничего нельзя сделать точно: например, он сам добавляет паддинги, сам решает какого они будут размера, и даже если указать паддинг именно 12, он все равно может сделать другие. А может и не сделать. Как так люди живут — не представляю.

Ну вот, а я подумал, что это симптоматично и началось, кажется, с веба.

Раньше пиксели были большие и за каждый с тебя могли спросить. В Windows 95 кнопки и текстовые поля всегда были высотой в 22 пикселя, заголовок окна 18, большие буквы 9, маленькие 6, рамка у окна 2. Короче, у всего был размер, все нормально складывалось и вычиталось, если ты поставил три текстовых поля по 22 с отступами 4, у тебя получалось 22 * 3 + 4 * 2 = 74 пикселя точно. Точно, понимаете? Не примерно, не плюс-минус, а точно. Как в аптеке.

И на это можно было рассчитывать. Можно было подгонять вещи друг к другу, делать визуальные рифмы, балансировать. Ничего не разваливалось, не дребезжало, не наезжало друг на друга, не переносилось. Это сложно объяснить, сложно даже быстро попробовать. Это долгосрочное ощущение — ощущение надежности.

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

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

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

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

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

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

А потом произошло самое страшное — такие интерфейсы стали нормой. Люди стали думать, что это не случайность и не недостаток веба, а что так и надо. И стали делать так же. Свифт Юай — один из примеров, где общую примитивность и хуевость веб-интерфейсов решили с большими усилиями зачем-то повторить. Зачем? Я не знаю.

Но самое печальное — люди, кажется, совсем поставили крест на идее, что у элементов есть размеры и что с ними можно работать. То же помешательство на иконочных шрифтах — мы больше не верим, что иконкам важен размер и что их можно рисовать под пиксельную сетку. Мы даже не верим больше, что их можно аккуратно поставить рядом с надписью (см. Hardest Problem in Computer Science: Centering Things). Просто кидаешь их куда-то и они встают как-то. Это смешно: простейшую задачу центрирования двух прямоугольников сначала сделали какой-то невозможно сложной, а потом просрали.

И нам с тобой, дорогой друг, в этом жить.
💯132😁68👍47😢3523❤‍🔥18🤡16🙈2😭1🎅1
Ребят, а кто знает, нафига в счетчиках электричества, которые ставят в квартиры, делают на одну цифру больше, а потом везде пишут, чтобы последнюю цифру не вводили? Чтобы что?
😁131🤔31🤡129👍7🐳5💯2🎅2
Мне давно не дает покоя вопрос: почему мы набираем код моноширинным шрифтом? Почему не пропорциональыми? Есть ли какая-то фундаментальная причина?

На этот вопрос есть два простых ответа, но оба меня не устраивают.

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

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


let foo = ( 1, -1);
let foobar = (-1, 1);


и тут моноширинность как нельзя кстати.

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

Но самое главное — эти ответы не работают лично для меня. Почему лично я выбираю моноширинный шрифт? Я достаточно open-minded, у меня нет проблем идти против мейнстрима, и в разных областях я несколько раз успешно выбирался из ямы worse is better. Но пропорциональный шрифт — нет, не могу. И не потому, что привык, и не потому, что выравнивание. И даже красота не действует (пропорциональный — красивее), а я очень чувствителен к красоте. То есть есть какой-то еще аргумент, который пересиливает красоту. Но какой?

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

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

В пользу этой теории говорит вот какой анекдот. В редакторе iA Writer есть три шрифта — строго моноширинный, моноширинный с полуторными m/w, и моноширинный с полуторными m/w и 0.75 узкими i/j/l/1. Так вот, я заметил, что первыми двумя могу писать, а последним — не могу. Он уже слишком близко подобрался к пропорциональному шрифту, слишком аккуратно выглядит, что не хочется в наборе ковыряться.

Та же история с печатными машинками. Начинались как техническое ограничение, а потом оказалось, что поверх такого просторно набранного текста без украшательств и чиркать не жалко. Красоту надо в самом конце наводить, а пока работаешь, нельзя бояться руки испачкать.
💊196👍48🤡3829🤔18🤪13🥱8😁4🤨4❤‍🔥3🙈2
У меня в папке Downloads осталась последняя картинка до инбокса зеро, поэтому пора писать про нее пост.

Картинка такая: качан капусты в задумчивой позе и сообщение:

---

ВНЕШНЯЯ ССЫЛКА! ВНИМАНИЕ!! ВНИМАНИЕ!!!1111одинодинодин

Вы покидаете ЖЖ и следуете по ссылке (далее адрес ссылки)

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

Если не знаете, что делаете, не ходите туда. А если решите все-таки пойти, ничего там не вводите, не нажимайте, и не указывайте.

Or else.

---

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

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

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

Но самое веселое в этой картинке конечно это представление о «покидании» веб-сайта. Типа бывают люди, которые на сайте «находятся», а не просто открыли ссылку глянуть че там, или держат вкладку (вкладки!) где-то в фоне. Типа, сайт для них прям столько места в жизни занимает, что они прям ассоциируют свое ментальное расположение с ним. И типа это место настолько важное, то если ты находишься в нем, ты не можешь больше находиться нигде.

Кстати, интересно, если я переключаюсь на другую вкладку, я покидаю сайт? А если на другое приложение? А если выключаю телефон, не закрывая сайт? А если две вкладки открою? Где тогда я нахожуся?
😁129👍29💯22🤷‍♂1612🤡7🤔5🎃5👻3🤮1🎅1
Про дизайн хочу рассказать вот какую историю. Был у меня когда-то давно Lumia 1520 на Windows 8 Mobile. Вы, наверное, видели скриншоты — плитка, один акцентный цвет, по-настоящему плоский дизайн, крупная типографика, черный фон под олед экраны.

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

А потом он обновился то ли до 8.1, то ли до 10 Mobile, не помню точно. И произошло странное: формально все осталось как было: та же концепция, те же эффекты, но тут и там стало заметно, что он стал обычнее. Условно: раньше, когда нажимал на три точки, вываливалось попап-меню (черный прямоугольник с белыми буквами), и оно было безупречно: отступы, пропорции, положение текста, все было осмысленно и гармонично поставлено. А после обновления стало более случайно: это мог быть просто прямоугольник, с условно равными отступами со всех сторон, и он уже не производил такого эффекта. Формально то же самое, но по-проще, по-колхознее. Спокойнее, наверное, но уже не так впечатляло и не так intentional выглядело.

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

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

Вы скажете, что у айфона была такая же история с iOS 7, но не совсем: iOS 7 никогда особо органично или цельно не выглядел.
💯91👌4023👍15💩7🗿4🤷2🥰1🤔1🤝1🎅1
Прочитал отчет The Performance Inequality Gap. Пишут, что медианная мобильная (!) веб-страничка (2.6 MiB) теперь весит больше оригинального Doom (2.48 MiB). Прикинь, твой телефон парсит несколько мегабайт кода, чтобы ты смог посмотреть на три строчки текста и картинку. О — оптимизация.

Также пишут, что пользователи SPA в среднем совершают около 1 навигации. То есть все эти мегабайты джаваскрипта, которые ты качаешь заранее, потому что «лучше день потерять, потом за пять минут долететь», в итоге выливаются в один-два клика И ВСЕ.

Фронтендерам доброе утро: плохо работаете, ребят. Все еще недостаточно медленно, старайтесь, пожалуйста, получше.
😁238💯8729😭18🐳10🖕6👏2🤔2🤯1🤝1🎅1
Сходил на фотовыставку, и там одна серия, женщина ездила по Египту, напрашивалась к местным семьям в гости и фотографировала их очень бедные дома и быт. Потом напечатала из фотографий книгу, отвезла ее и попросила писать участников и сочувствующих, что они об этих фотографиях думают, прямо поверх фотографий. Комментарии тоже выставлены.

И там прекрасно: «Так можно делать»/«Так нельзя делать». «Он все делает правильно»/«Нужно по-другому». «Она устала»/«Она мало работает». «Хорошо выглядит»/«Плохо выглядит». «Так не бывает» (мой любимый комментарий, под документальной фотографией, блин!)/«Мы точно так же живем». «Зачем вы это показываете?»/«Спасибо, что показали!» «Идеально ухваченный момент»/«Нужно было по-другому фотографировать». «Он на моего брата похож...» «О, пакет из Пятерочки!»

Ощущения, как в Твиттер вернулся.
😁95🔥8720🎅6🤩3
Почему-то считается, что дизайнеру или программисту круто бы думать об интересах бизнеса, что инженер, который о них думает, ценнее, чем тот, который не думает.

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

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

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

И к вам приходят, чтобы вы их продавливали. А бизнес бизнес и без вас сделает.
💯24351👍35🤡30🎅15👎13🔥11💊7😁2
Читаю Human Interface Guidlines из 1992-го, а там:

> If you include a More Choices button in a dialog box, it’s best to extend the bottom of the window to accommodate the additional information. You could move a side of the window without causing too much change in the perceived stability of the window. However, avoid expanding the window symmetrically in all directions, because this behavior destroys the user’s initial sense of the window being one object with some of it not visible.

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

Почему? Стабильность. Это важный принцип, который современные интерфейсы полностью проебали.

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

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

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

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

Цвет: [Синий ▼]

И вот когда вы нажимаете на нее, вылазит окошко с вариантами, допустим

Красный
>> Синий <<
Зеленый

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

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

Вот еще:

> To give users a conceptual sense of stability, the interface provides a clear, finite set of objects and a clear, finite set of actions to perform on those objects. Even when particular actions are unavailable, they are not eliminated from a display but are merely dimmed.

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

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

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

Короче. Стабильность — твой бро. А ховер и анимации — не твой бро. Не шевелите, пожалуйста, интерфейс.

И верните мне мой 1992-й.
222👍72💯27🥱10🎅7❤‍🔥52🥰2👌2🤔1💔1
Решил повспоминать, что было лучше при переходе с Винды на Мак, а что хуже. По совокупности я все-таки выбираю Мак, но, как видите, не все шоколадно, есть как плюсы, так и минусы.

Плюсы макОС:
- Драг энд дроп настолько хороший, что превращается в основной инструмент
- Меню сверху: не захламляет окно, легче целиться
- Комманд удобнее нажимать чем контрол
- Квик лук (быстро глянуть любой файл, не открывая программу)
- Установка приложений копированием
- Черный курсор лучше видно, чем белый
- Светло-голубое выделение лучше инвертированного
- Cmd+Left/Right удобнее чем Home/End
- Отмена в полях ввода
- Светофор слева удобнее чем кнопки справа
- Эстетика (иконки, цвета, шрифты)
- Встроенная программа просмотра ПДФ
- Можно переносить открытый файл и программы его не потеряют

UPD:
- F-кнопки нигде не используются

Минусы:
- Энтер в Файндере переименовывает, а не открывает файл
- Delete не удаляет файл
- Посмотреть все фотки в папке сложно
- Ускорение мыши (Бирман говорит, стало лучше)
- Переключение окон: отдельно между приложениями, отдельно внутри приложения
- Приложение может быть открыто и не иметь окон
- Два способа свернуть окно
- В окне открытия/сохранения правая кнопка и перетаскивание работают по-другому
- Не работает ⌘X ⌘V на файлах
- fn up/down проматывают страницу, но не перемещают курсор

UPD:
- Развернуть окно проблематично
- Нет календарика по клику на часы
- .DS_Store
👍93🥴42🤡32💯2010🎅3😱2🦄2
Метафоры в компьютере би лайк:

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

Можно открыть окно. Да, на столе. Только через него ничего не будет видно.

По правой кнопке МЫШИ можно вызвать меню, из воздуха, как в ресторане.

Еще на столе стоит мусорная корзина и он обклеен обоями.

Что непонятно?
😁246🔥56👍14💯7🥱64🎅3🤡1🎄1
Как я стал программистом.

Вообще первым компом у меня был советский ZX Spectrum. Но там карьера что-то не пошла: рыночек был маловат, аудиокассеты были в дефеците. Потом у нас появился 486-й, а вместе с ним — QBasic.

Какое-то время я перепечатывал программы из книжек и поражался тому, что они делают то, что написано. Потом сообразил, что можно что-то писать и самому, и начал рисовать всякие идеи в тетрадке в клеточку, а потом переносить эти рисунки в код. Одна клетка — 10 пикселей, линия — LINE, круг — CIRCLE. Можете себе представить. Рисовал машины там, роботов, ракеты.

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

И тут в голове что-то щелкнуло. А что если... Да не, не может быть. Это слишком просто... Слишком тупо... Или гениально? Это не сработает. Но я должен попробовать!

Короче, я написал цикл из заливки красным, заливки синим и GOTO. И мигалка начала мигать!

С тех пор я абсолютно точно могу назвать момент, когда я из кодера превратился в программиста.
👍276148🍾58🥰19😁18🎄12🔥7🤡3🐳2🌚2🎅2
Дизайнер Илья Бирман пишет про 404-ю страницу:

> Человек на тупиковом экране, ему говорят «тут ничего нет». Хорошо ведь помочь ему пойти туда, где что‑то есть! Хорошая практика с 404‑й страницы помогать человеку попасть на какую‑то существующую, хотя бы в раздел сайта, где не нашлась нужная.

> Конечно, любой интерфейс — зло. С этой точки зрения было бы лучше, если бы вместо кнопки «перейти к поиску» тут бы сразу был поиск. А ещё лучше, чтобы экран не был тупиковым изначально: этого объявления больше нет, но вот похожие, которые вы скорее всего станете искать теперь.

Это популярный тренд — на маркетплейсах, в Ютубах всяких, ты ищещь, тебе ничего не нашли (или нашли три варианта) и вот еще тебе всякого хлама в довесок, про который ты не просил.

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

Кажется, я нашел ответ. Контроль. Да, да, это тоже тема из HIG 1992-го года, прикиньте.

> Allow the user, not the computer, to initiate and control actions. People learn best when they’re actively engaged. Too often, however, the computer acts and the user merely reacts within a limited set of options. In other instances, the computer “takes care” of the user, offering only those alternatives that are judged “good” for the user or that “protect” the user from having to make detailed decisions. This approach mistakenly puts the computer, not the user, in control.

Давайте доведем рассуждение про «интерфейс — зло» до абсурда. Зачем кнопка «Показать похожие», если можно просто показать похожие? Интерфейса вроде бы меньше. Зачем кнопка «Купить», если можно сразу купить? Зачем в интерфейсе вообще хоть что-то, почему компьютер не может сам нажать на все кнопки и сразу, заранее сделать все, что на них написано?

А потому что главный тут не компьютер. Главный — пользователь. Пользователь решает, что делать, когда, где, с кем и сколько. Компьютер молча ждет и подчиняется. У компьютера нет инициативы, нет мнения, нет своей повестки. Он делает то, что ему скажут, и только. Это принципиально.

Конечно, этот принцип давно размылся, и во многом именно поэтому компьютерами стало так неприятно пользоваться. Needy programs это именно это: компьютер пристает к человеку с чем-то своим. Компьютер что-то решает. Компьютер что-то предлагает. Компьютер как-то «помогает» или «упрощает». Короче, что угодно, только молча не слушается. Не много ли чести?

И вот это «показать в поиске похожие» это именно из этой серии. Я что-то искал. Не нашел. Дайте мне ответ на мой вопрос. Да или нет. Нет — тоже ответ, и да, я хочу его именно в таком виде получить. Ничего не нашлось.

А дальше я уже сам решу. Я хочу чего-то еще посмотреть? Пойду посмотрю. Хочу поискать? Поищу. Хочу закрыть страницу? Закрою страницу. Да, вот такой вот я, и компьютер не должен мне слова на это сказать. Хочу, и все.

А рекламу своих говнотоваров, едва замаскированную под «заботу» и «помощь», в жопу себе засуньте. Не надо нам такой «помощи», спасибо.
👍254111💯94👎6👏4🤝4💊4🎅3😁2🤔2
Сказали, что моим постам не хватает оглавления (не тут, в нормальном блоге). А я задумался — нафига постам вообще оглавление?

Допустим, вот открываю я чью-то ссылку, а там «Вступление — Первый вопрос — Второй вопрос — Третий вопрос — Выводы и заключение». И что? Если я собираюсь читать, я все эти заголовки увижу в самом тексте через буквально минуту. Зачем их заранее знать? Если не собираюсь или пока не решил, я могу составить впечатление, о чем будет пост, и решить. Но опять же, если я решу читать, то я их и так их увижу. Если решу не читать, то скатерьтю дорожка, конечно, но это можно было решить и без заголовков.

Получается, оглавление нужно, чтобы читатель чувствовал себя чуть лучше, когда решает не читать пост. Но мне-то, автору, какой интерес ему в этом помогать?
🤡140👍52💯29🤔17😁8🎅8🥱6🥴53🔥1💊1
Скучно стало. Думаю, может Линукс поставить?

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

Только не устраивайте срач, пожалуйста.
😁230🤣113🤡4414👍7🕊5🎅4🔥2👎1🤯1🖕1