РецензииИнтернет |

Телеграм и комментарии

В телеграме с сегодняшним апдейтом появились комментарии. Как видим, с ростом аудитории он, как и все подобные штуки, превращается в свалку UGC (user-generated content), причем если раньше ту часть «экосистемы» канала, которая была свалкой, (то есть чат при канале) можно было вообще не заводить, потому что у тебя канал, а чат — ну это чего-то как-то не то, то кнопку «Комментировать» теперь будут искать многие.

Хотелось бы, чтоб Павел Дуров не переборщил с имплементацией. Впрочем, даже после обновления я не нашёл, как включить комментарии у себя в каналах, так что пока перебора нет. Ура!

В номере The Idler за июль-август 2020 очень правильный текст:

The coronavirus has achieved in months what continual attempts at environmental treaties have failed to deliver: clean and breathable air. The World Health Organisation considers an air quality index of over 25 to be unsafe. Before it enforced lockdown, in the world's most polluted city, Delhi, the AQI level was usually a severe 200 on a good day, though during peak pollution periods last year they soared well into a life-threatening 900 and sometimes off the measurable scale. But as cars were taken off the roads and factories and construction grounded, AQI levels have now fallen below 20 and blue skies are to be seen again over the previously smogbound city. It's been the same in such previously toxic capitals as Bangkok, Beijing, Sao Paulo and Bogota, all of which have seen similar transformations in air quality, while, for the first month of the outbreak, pollution levels in China fell 25 per cent across the country despite Hubei province being the only area under quarantine.

However, there are some downsides to all this - one very obvious being that, having been confined to barracks, the citizens of these countries are not at liberty to enjoy these much improved conditions.

The Idler, No. 73

Про сам The Idler я вам еще напишу.

Тщательность

Для меня синоним слова «хорошо» — почти всегда слово «тщательно».

Тщательность бывает двух видов: в техническом плане и в содержательном.

Что такое тщательность в техническом плане, зависит от того, к чему она относится.

Текст — статья, пост в блоге или инструкция по применению чайника — написаны с должной тщательностью, если в них нет грамматических и речевых ошибок. Сайт сделан с должной тщательностью, если им удобно пользоваться и его интерфейс не превалирует над контентом (или превалирует, но самую малость и ради соблюдения концепции, что даёт прибавку к содержательности). Радио сделано с должной тщательностью, если его эфир оформлен, запрограммирован и (last but not least) сведён так, что его приятно слушать. Для видео на YouTube критерий технической тщательности — точный, без багов монтаж и графика там, где она нужна, опять же, не превалирующая над содержанием, но дополняющая его. Для телепередачи — то же плюс строгое попадание в хронометраж. Короче, критерии тщательности в техническом плане — почти всегда аккуратность и внимание к деталям.

Почему-то все думают, что тщательность в плане содержания означает только наличие этого содержания. Это не так.

А как? →

Интернет |

Ещё про Integromat

Две недели назад я написал здесь, что Integromat — сервис, который я использую для автопостинга отсюда в соцсети — молодцы, потому что ориентируются на долгосрочную перспективу и закрывают потенциальным спамерам доступ в твиттер. А сейчас уравновешу дифирамб ложкой дёгтя: в письме, которое они прислали тогда, не было ни слова о том, что, оказывается, с 1 сентября они ещё и ограничивают бесплатный тарифный план до двух одновременно активных сценариев. Раньше было можно создавать и активировать их сколько душе угодно. А теперь — два.

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

Небесплатные тарифные планы, с нормальным количеством операций, позволяющим проверять несколько сценариев почти ежеминутно, начинаются от 9 $ / месяц. Но платить 9 $ в месяц за тот объём автоматизации, который у меня настроен сейчас, мне невыгодно: если уж платить, надо автоматизировать вообще всё, впадая таким образом в зависимость от сервиса. Поэтому я дважды подумаю, прежде чем переходить на платный план: с одной стороны, за девять долларов я могу наавтоматизировать столько и настолько подробно, что почти никогда не придётся больше открывать соцсети или админку блога, чтоб запостить туда что-нибудь мелкое (а когда добавят ВКонтакте — никогда не придётся); с другой стороны, если с Integromat что-то случится, мне придётся в авральном режиме вспоминать, что же я там такого наавтоматизировал, и судорожно переносить всё это на другой, незнакомый мне сервис. Дилемма.

Так что c точки зрения отношения к клиенту Integromat не молодцы (хотя автоматизация у них всё ещё самая адекватная из всех). Такая мысль неизбежно возникает у клиентов, которые пользовались сервисом бесплатно, а потом вдруг встали перед необходимостью платить; рациональным умом я понимаю это, но эмоциональный осадок остался.

Про голосовые сообщения

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

Разберёмся, почему. Для этого составим список плюсов и минусов войсов как инструмента коммуникации.

Минусы

  1. Сначала очевидный минус: войсы — это прямая речь. «Э-э-э», «ну-у-у», «типа» и остальное — прилагается к войсу вне зависимости от того, хотите вы как получатель это слушать или нет. От этого частично спасает функция удвоения скорости, но даже в 2020 году она почему-то есть не во всех приложениях, где можно отправить войс. Возможно, на это нет должного спроса; тогда его надо создавать.
  2. По войсам (как и по подкастам, как и по любому аудио) невозможно искать, не проклиная собеседника. Войс — это поток, который нельзя визуализировать. Чтобы найти важный кусок информации в войсе, нужно приблизительно помнить, когда вы с собеседником могли эту информацию обсуждать, а потом долго слушать все войсы за этот период времени. Чтобы найти важный кусок информации в текстовой переписке, нужно набрать один поисковый запрос, а потом выбрать нужную дату из выпавшего списка. Всё.
  3. По той же причине, что и в 2., войс нельзя быстро проглядеть и оценить смысл. Если в войсе на минуту 55 секунд говорят А, нет ровно никакой гарантии, что оставшееся 5 не будут употреблены на то, чтоб сказать Б (которое может быть, с точки зрения собеседника, в миллион раз важнее А). Чтобы прослушать войс длиной в минуту, вам даже с упомянутым выше удвоением скорости придётся потратить тридцать секунд. Текст же вы увидите сразу целиком, и ваш мозг обработает его с несравнимо более высокой скоростью. Восприятие информации через чтение происходит со скоростью, с которой мозг сканирует текст; восприятие информации через слушание происходит со скоростью речи говорящего. Читатель, вдумайся в это сравнение, и тебе станет не по себе.
  4. В уведомлении о пришедшем текстовом сообщении написана пара строк, из которых, как правило, можно уловить основной смысл целого сообщения, понять, срочное ли оно, и, если надо, отложить переписку до удобного момента. В уведомлении о войсе написано «Voice message». Если кому-нибудь в истории удавалось извлечь из этого какой-то смысл, не открывая сообщение, — возможно, в скором времени этот телепат внесёт значимый вклад в мировую науку.
  5. Войсы неудобно слушать. С тех пор, как разработчики всех главных мессенджеров додумались до функции, позволяющей поднести телефон к уху и слушать войс через передний динамик, — с телефона стало удобно. С компьютера — не стало, всё ещё нужны наушники, но почти всегда можно открыть телефон и послушать с него.

А теперь плюсы →

Интернет |

Про Integromat, твиттер и долгосрочную перспективу

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

Starting on September 1, 2020, Integromat’s Twitter app will be upgraded to a premium feature.

After this date, only users with a paid plan (any paid plan) will be able to use Twitter modules in their scenarios.

It is with great sadness that we are announcing this change, but after observing sustained bot and spam activity on free Integromat accounts using Twitter modules, we decided it would be necessary to keep systems healthy and accounts safe.

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

Казалось бы, большое количество спама — это проблема твиттера, а не Integromat: ну, осложните доступ всяким этим сервисам, как это сделали Facebook и Instagram, меньше спама будет. (Из Integromat нельзя запостить ни в Facebook, ни в Instagram.) Но в том-то и дело, что твиттер — соцсеть, которая изначально ориентировалась на общение с остальным интернетом через API, а не только через веб-интерфейс. Это привлекло туда разного рода айтишников, которые умеют и любят строить на открытых API разные штуки. Если твиттер вдруг все же решится ограничить свой API относительно того, что есть сейчас — это будет скандал: миллионы таких айтишников потеряют последнюю возможность делать из твиттера Веб 2.0 и уйдут (тем более что есть куда идти). В API твиттера и так уже нет опросов, например.

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

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

Делайте как Integromat — и пользуйтесь им, конечно; вот моя реферальная ссылка. (Нет, этот пост не был написан исключительно ради неё.)

А кто не понял, что такое API и Веб 2.0 — вот видео моего любимого Тома Скотта, где он рассказывает о них достаточно подробно, чтоб вы сразу захотели назад свой 200n-й.


Ещё про Integromat: ложка дёгтя

Философия |

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

Михаил Подивилов

Поиск по нескольким тегам сразу

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

Про первое рассказывать не так интересно: там всё построено на вордпрессовой функции the_date(), которая, в отличие от get_the_date(), умеет отличать первый пост за день от всех остальных. Интереснее про второе.

Я увидел поиск по двум тегам сразу в блоге Ильи Бирмана, и мне захотелось тупо повторить эту функцию у себя, просто из принципа — всё равно пользоваться ей будут полтора человека, если вообще будут. После визита в гугл оказалось, что в WordPress есть особенность, позволяющая по запросу а-ля https://site.com/tags/tag1+tag2 получать посты, где есть оба тега — и tag1, и tag2 (здесь я имею в виду, понятно, ярлыки этих тегов, а не названия). А заменив + на ,, можно бросаться похожими запросами, только не И, а ИЛИ.

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

Однако есть ещё функция get_query_var(), которая смотрит на ваш запрос и извлекает из него разное интересное. В том числе она умеет извлекать и список тегов. Но, зараза, извлекает его как есть, строчкой! То есть если вы перешли по ссылке https://site.com/tags/tag1+tag2get_query_var('tag') так и напишет в выводе: tag1+tag2! Хотя могла бы, ну, не знаю, сразу массив вывести, что ли.

Пришлось изобретать велосипед и вставлять его туда, где определяется заголовок <h1>:

/* Проверяем, есть ли в части запроса с тегами запятая: */
if ( strpos(get_query_var('tag'), ',') ) {
  /* Если есть, превращаем часть запроса с тегами в массив: */
  $tags_query_array_or = explode(',', get_query_var('tag'));
  foreach ($tags_query_array_or as $i => $tag) {
    if ($i !== 0) echo ' или ';
    $term = get_term_by('slug', $tag, 'post_tag');
    echo '<a href="/tags/' . $term->slug . '">' . $term->name . '</a>';
  }
} else if ( strpos(get_query_var('tag'), '+') ) {
  /* Если запятой не оказалось, ищем плюс: */
  $tags_query_array_and = explode('+', get_query_var('tag'));
  foreach ($tags_query_array_and as $i => $tag) {
    if ($i !== 0) echo ' и ';
    $term = get_term_by('slug', $tag, 'post_tag');
    echo '<a href="/tags/' . $term->slug . '">' . $term->name . '</a>';
  }
} else { // Если и плюса нет, значит, тег один, и надо просто написать его название:
  echo '<span>' . single_tag_title( '', false ) . '</span>';
}

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

Проверить, как всё это работает, можно, например, поискав посты, у которых одновременно стоит тег «как жить» и тег «Телеграм». По ссылке блог выдаст вам один пост, хотя постов с этими тегами отдельно — восемнадцать штук.

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

Это нововведение — из серии «ума не приложу, кому это может быть надо, но делать было интересно». Возможно, это же относится и к сайту в целом.

Впрочем, один use case у него всё же есть: как и на теги поодиночке, на комбинации тегов можно подписываться по RSS, добавив к адресу /feed. Например, вот ссылка на фид постов с одним из упомянутых выше тегов.