Привет, Хабр! В конце года мы анонсировали новые форматы постов и запуск мобильных приложений, а ещё одно нововведение дошло только сейчас — это уровни сложности публикаций. Все подробности под катом.
Что за уровни сложности?
На Хабре сотни авторов, которые пишут тысячи публикаций. Какие-то из них совсем простые (объясняют что-то «на пальцах» или ничего не объясняют вовсе) и общедоступны, другие, наоборот, слишком узкоспециализированные и будут понятны лишь небольшому количеству продвинутых читателей. Чтобы одним пользователям не было скучно читать посты других, мы решили дать возможность указать уровень сложности, чтобы читатель мог заранее понять, что его ждёт.
Есть три уровня сложности публикаций, и вот их ориентиры:
Простой |
Статьи для самой широкой аудитории, которые будут понятны даже неподготовленным читателям |
Средний |
Статьи, для понимания которых нужны базовые познания в предмете обсуждения |
Сложный |
Статьи, которые поймут только «люди в теме» |
Кто определяет уровень сложности публикации?
Изначально уровень сложности публикации будет указывать её автор на этапе создания, ориентируясь на шпаргалку выше (ссылка на неё продублирована в форме создания поста). Позже модераторы смогут его поменять, если для этого будут причины. Всё, как, например, с языком публикации или с выбранными хабами.
А для чего это всё?
Чтобы разделять контент разного уровня для читателей с разным уровнем знаний. Читатель сразу будет видеть уровень сложности — по задумке авторы «лёгких» будут получать меньше негатива от тех, кто ожидал увидеть под катом «хардкор». И наоборот — любители суровых технических постов смогут читать только такие, не отвлекаясь на посты о марсоходах, мумиях и 100 самых полезных командах bash.
Настройки ленты
Мы добавили в настройки ленты возможность фильтрации публикаций по уровням сложности — если хотите читать всё подряд, выбирайте опцию «Все» и читайте всё подряд. Если у вас неутолимая жажда по техническому контенту, выбирайте опцию «Сложный» — да, так в вашей ленте будет меньше статей, но зато не будет мысли написать, что Хабр опопсел. Торт так торт! ????
Кое-что ещё
Для каждой публикации мы добавили время, которое потребуется для её прочтения. Скорость чтения у всех разная, поэтому мы ориентировались на среднее значение, которому соответствует 1500 символов в минуту.
По задумке это поможет читателю заранее оценить, хватит ли у него прямо сейчас времени для прочтения материала или нет. Если вы едете в лифте, а интересная статья на полчаса чтения, то добавляйте её в закладки, чтобы прочитать позже. И да, время считается только для статьи — чтение и написание комментариев — это другая история.
Нашли опечатку в тексте? Выделите и нажмите
CTRL/⌘+Enter
Комментарии (101)
peacecoder85
00.00.0000 00:00+19Нововведение супер.
Давно ждал фичи с временем чтения. Сразу вопросы к @Boomburum :
возможно будет в настройках указать свою скорость чтения и она же будет учитываться как поправочный коэффициент?
Можно сделать фильтрацию по времени чтения?
Boomburum Автор
00.00.0000 00:00+2Пока такой настройки не планируется, хотя идея выглядит интересно.
peacecoder85
00.00.0000 00:00+10Имеет смысл применять коэффициент сложности статьи ещё. Если статья сложная - ее надо не просто читать, а ещё и разбираться
myxo
00.00.0000 00:00+15Тоже об этом подумал, но… Обычно когда такие метрики стараются быть «умными», они только больше путают. Они ведь и так совсем не точные, а ещё будут скакать по каким-то неочевидным признакам. Имхо, лучше пусть будет прямая зависимость от кол-ва символов.
nin-jin
00.00.0000 00:00+16Не проще ли тогда просто выводить число
символовслов?Вот пример с моего сайта:
Размер показывает сколько уникального контента. Вес - сколько трафика съест загрузка. Число слов - сколько займёт чтение. Число знаков - просто объём текста.
KOTangens
00.00.0000 00:00+2число слов может быть не показательно. я, например, не знаю свою скорость чтения, поэтому мне удобнее когда показывается время, пусть и рассчитанное через усредненные значения.
dimao79
00.00.0000 00:00+3Еще можно добавить количество SEO-ссылок и чекбокс присутствия в тексте "Подпишись на мой ютуб- или телеграмм-канал, там самые свежие материалы" - это на данный момент самые важные метрики качества в дополнение к количественным метрикам количества слов/символов.
Hlad
00.00.0000 00:00Количество ссылок на телегу ещё надо. Хотя тут этот рак вроде ещё не особо проник.
sfi0zy
00.00.0000 00:00+6Нужно собрать датасет из содержимого статей и данных от гугло-аналитики и яндекс-метрики и обучить нейронную сеть на них, чтобы потом она при публикации статьи предсказывала время чтения. И потом написать хайповую статью про то, что Хабр-торт, тут передовые технологии и вообще роботы захватили мир. А множитель сложности для времени на три возможных значения - это как-то скучно.
TimsTims
00.00.0000 00:00+3Время на чтение (более менее легко посчитать) != время на разобраться (это время у каждого человека своё).
strvv
00.00.0000 00:00+2время чтения. оно лукавое. одно дело что-то проходное, другое дело, за что нравится жемчуг в хабре - действительно полезные статьи, которые внимательно разбираешь, пробуешь, корректируя свои знания и навыки.
EfogHD
00.00.0000 00:00+9Не легче ли самому применять этот коэффициент? Думаю, после пары статей станет понятно, на сколько надо делить/умножать
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
IvanPetrof
00.00.0000 00:00+59А некоторые с комментов начинают...
anwender95
00.00.0000 00:00+9Если статья из корпоративного блога, то сначала читаю коменты, а потом статью, если желание не пропало.
lylaka
00.00.0000 00:00Увидел заголовок -> зашёл в комменты -> прочитал с десяток, чтоб разобраться в теме -> закрыл статью
BarakAdama
00.00.0000 00:00+2С одной стороны, кажется, что уровень сложности должен быть хабочувствительной настройкой. Например, ок хардкор про С++, но не про разработку железа. С другой стороны, нужно будет придумать, как решать проблему коллизий разных хабов разной сложности у одного поста. Кроме того, хабов миллион, по всем руками не пройтись. Возможно, это решение и правда оптимальное. Попробуем пожить. Посмотрим, как пойдёт.
Длительность чтения — прикольно!
serginho
00.00.0000 00:00+20Boomburum Автор
00.00.0000 00:00Справа может находиться до трёх контролов
Если открыть сайт на смартфоне, всё равно получится та же «стопка»
Doman
00.00.0000 00:00+9А так?
Alexufo
00.00.0000 00:00+5Ну не поместится же это видно у вас. Плюс имя юзера не константа
Ionenice
00.00.0000 00:00+1Можно оставить только иконку с тултипом, вместо иконки с текстом. Плюс в полосу с рейтингом можно переместить, например, просмотры или ещё что-то. Сейчас же, на телефоне, это выглядит довольно ужасно т.к интерфейс перегружен в т.ч цветом и занимает кучу места по высоте
*
nin-jin
00.00.0000 00:00+3Лучше бы потратили это место на бриф статьи, а то по заголовку не понятно, о чём она.
olartamonov
00.00.0000 00:00+6Не надо. Не заставляйте мои глаза двигаться влево-вправо на всю ширину экрана, сверху вниз им удобнее.
Exchan-ge
00.00.0000 00:00+6Ну тогда добавьте ещё время, необходимое для прочтение комментов
Очень часто комментарии бывают интереснее статьи.
И, соответственно, время чтения и написания комментариев может на порядок превышать время, необходимое для чтения самой статьи :)
TLHE
00.00.0000 00:00+1А что происходит со статьями без указанного уровня? Чуть понажимал – часть сложилась в "простые", а часть пропала (upd: это был временный баг, увидел. Видимо, они просто пропадают). Не рассматриваете отдельную опцию "не указано"?
Не хватает возможности мультивыбора в фильтрах и фильтров в целом в "моей ленте".
Ну и предложение от себя:
Возможность голосовать за уровень сложности статьи, с автоматическим изменением уровня. Может решить проблему статей без указанного уровня (и почти всех статей до сего момента). Для статей с не совсем правильно указанным уровнем может скорректировать (изначальное мнение автора учитывается, например, с весом 10, если есть).
Efimov_pr
00.00.0000 00:00Крутая идея! Тот случай, когда начинаешь думать: "А что, почему так раньше не было?")
alcanoid
00.00.0000 00:00поэтому мы ориентировались на среднее значение, которому соответствует 1500 символов в минуту
Можно было бы посчитать для каждого уровня сложности по отдельности, когда статистика накопится. Очевидно же, что у простых статей скорость будет выше, а у сложных указанных минут может очень сильно не хватить.
McKinseyBA
00.00.0000 00:00+30Забавное применение расчетному времени чтения статей нашел. Взял рандомный корп блог, а там за 2/3 расчетного времени с момента публикации, при 50 просмотрах уже 7 плюсов... Ну может и правда с первых строк вдохновило, бывает же?...
Или нет?)
csharpreader
00.00.0000 00:00+10Думаю, когда публикуется корпорат, всё pr-агентство, которое «ведёт клиента», расчехляет аккаунты ))
Hlad
00.00.0000 00:00+2Интересно, существует ли какой-либо обезличенный функционал для обнаружения подобных "плюсуем друг дружку, и деньги в кружку"? Типа "у этих двух публикаций плюсанувшие совпадают на 95%". Тем же владельцам корп-блогов было бы интересно узнать, реальные плюсы, или же накрученные.
Но никто не будет рубить сук, на котором он сидит.
navion
00.00.0000 00:00+1Если открыть данные по оценкам (на Лепре и Дирти это работало), то можно слить карму всему агенству. Но это в теории, а на практике даже худшие корпоративные авторы остаются в плюсе.
Xobotun
00.00.0000 00:00+4Справедливости ради, я иногда плюсую статью посреди чтения, а иногда — и авансом, если автор знакомый.
dimao79
00.00.0000 00:00+36Чтобы разделять контент разного уровня для читателей с разным уровнем знаний. Читатель сразу будет видеть уровень сложности — по задумке авторы «лёгких» будут получать меньше негатива от тех, кто ожидал увидеть под катом «хардкор»
Надо было назвать уровни более привычно -"Мегамозг", "Гиктаймс" и "Хабрахабр"
Boomburum Автор
00.00.0000 00:00+8Изначально было Смузи, Норм и Хардкор )
dimao79
00.00.0000 00:00+6Если бы изначально этого не было - то сейчас не пришлось бы придумывать разные метрики, свистелки и перделки, что бы хоть как-то вернуть былое.
А так напишут очередные корпоративные стоматологи очередной корпоративный лонгрид на 25 тысяч знаков с десятком подробнейших фото гнилых зубов, двумя десятками ссылок на научные исследования про то, что чистить зубы - это хорошо и правильно, и если зубы не чистить, то только у них вам вам вернут вашу голливудскую улыбку, подберут идеальную только для вас зубную щетку и пасту, и что им ставить? Полчаса на чтение? Как бы материала много, но там одна корпоративная вода на 10 секунд по диагонали. Сложность простая? Как бы да, прописные же истины, но стоматология - это же очень сложно, столько зубных паст и щеток, столько разных техник чистки зубов, так просто и не разберешься.
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
dimao79
00.00.0000 00:00+2С нетерпением жду таких же отличных статей от докторов прямо противоположной зубам спецификации и обязательно с картинками. Ну а что - сидячая работа, геморрой считай что профзаболевание.
Ну а пока я утрирую - в соседней теме одни из таких же корпоративных товарищей, в несомненно отличнейшей статье, вернее - цикле статей, устанавливают винду в нескольких частях, с опросом и ссылками на другие их отличные статьи.
Exchan-ge
00.00.0000 00:00+1С нетерпением жду таких же отличных статей от докторов прямо противоположной зубам спецификации и обязательно с картинками.
Вы, наверное молоды и слово «простатит» вам еще не знакомо :)
(а ведь это покруче зубов будет :)dimao79
00.00.0000 00:00Увы, я уже не молод и знаю анекдот про перестановку
кроватейтаймеров времени на чтение и слайдеров сложности для повышения качества контента.
MasterMentor
00.00.0000 00:00+4Доктор Хониккер любил говорить, что, если ученый не умеет популярно объяснить восьмилетнему ребенку, чем он занимается, значит, он шарлатан. (с) Курт Воннегут, роман "Колыбель для кошки", 1963.
Учтите это, награждая "уровнем сложности" авторов и их статьи. :)
DnAp
00.00.0000 00:00+3Добавьте пожалуйста в RSS ленте информацию об уровне статьи. Можно просто категорией.
И еще в моей ленте фильтр бы тоже не помешал.
Weron2
00.00.0000 00:00+6Мне тоже нравится нововведение. По идее должно неплохо поднять постинг в разделе для новичков - потому что многие боятся туда писать из-за страха словить кучу негатива (и минусов чего уж там). Видел несколько туториалов для начинающих по простым темам, которые сильно минусили по той причине, что это тыщу раз обсасывалось и ничего нового не узнать (в некоторых из них отмечали еще и на ошибки). Я считаю что даже самая простая статья может оказаться для кого-то полезна, кроме ее автора. Для автора польза в том, что пока он пишет, он учится, а еще как это было в моем случае в комментарии могут подсказать почему надо именно так. И вот это самое классное, поэтому обязательно еще что-нибудь напишу, чтобы получить нормальную критику от тех кто готов читать простенькие статьи)
anonymous
00.00.0000 00:00НЛО прилетело и опубликовало эту надпись здесь
Weron2
00.00.0000 00:00+6А зачем тогда на хабр тащить если кое-где еще получил обратную связь?
Почему надо сразу свой шлак на хабр вываливать, нормальный человек вполне должен понимать, что если помои публиковать, то даже заминусованные, они делают очень много вреда.
Нифига обосновал: шлак, помои... Я говорю о некоторых конкретных случаях, где не было никакого шлака, статья от души, но о том что "все это уже и так знают".
Efimov_pr
00.00.0000 00:00+1На первый текст автора на ресурсе можно вообще придумать пониженный коэффициент на дизлайки, как вариант.
csharpreader
00.00.0000 00:00+2Докладываю о проблеме:
если читаешь много комментариев под статьёй, то для удобства ветки первого уровня после прочтения сворачиваешь. Однако, если кто-то ответил на твой комментарий в свёрнутой ветке, при переходе по ссылке из почтового уведомления ты никогда не сможешь добраться до этого треда комментов на сайте – скрипт старательно подворачивает все подвёрнутые тобой ветки и не имеешь возможности добраться до своего коммента, чтобы ответить. Только если вручную, перелопачивая ВСЕ свёрнутые ветки. Изложенное замечено на мобильнике.
yasniy_ezh
00.00.0000 00:00Будет ни сложность влиять на ранжирование?
И влияет ли число просмотров статьи на ранжирование? А то видится что даже если это будут просто лейбочки - многие будут потреблять более лайтовый контент и только такие статьи будут выходить в топ. В итоге авторы длинных и сложных статей буду получать меньше мотивации что что-то делать -> меньше годного контента.
Но это так, диванная аналитика и предположения :)
mvv-rus
00.00.0000 00:00+8Ув. редакция! Вы забыли упомянуть ещё одно свое нововведение - указание времени публикации от текущего: 2 часа назад, 6 часов назад и т.п. И зря забыли, IMHO
Можно как-нибудь это отключить - реально мешает, когда смотришь в несколько часов назад открытое окно ленты и пытаешься при этом вспомнить, когда это окно открывал? А вместо этого показывать дату/время, как раньше было?
Cerberuser
00.00.0000 00:00На ПК, по крайней мере, можно просто навести курсор и увидеть дату и время во всплывающей подсказке.
ZakharS
00.00.0000 00:00+4Это повсеместная беда - стараются упростить восприятие, а получается наоборот. Дату/время гораздо понятнее видеть, чем N часов/дней/лет назад. Согласен, что это вопрос предпочтений. Но хорошо бы было иметь настройку.
CaptainFlint
00.00.0000 00:00Я себе подменялку давно написал. Правда, не работает для комментариев, подгружаемых кнопочкой, но с ними проще, обычно они сразу прочитываются. И английский не умеет, так как делал для себя, а у меня интерфейс на русском; если нужно, то надо там соответствующие строки поправить. И в новой версии не проверял.
Userscript// ==UserScript== // @name Habr Real Dates // @description Replaces relative dates with absolute ones // @author Konstantin Vlasov (@CaptainFlint) // @namespace Habrahabr // @version 1.0 // @include https://habr.com/* // @grant none // ==/UserScript== "use strict"; !function(win) { if (window != window.top) return; // Convets month names (in relative form) to the number var monthNames = [ 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря' ]; var loadDate = new Date(); var yesterDate = new Date(loadDate.getTime() - 24 * 3600 * 1000); var today = loadDate.getDate() + ' ' + monthNames[loadDate.getMonth()] + ' ' + loadDate.getFullYear(); var yesterday = yesterDate.getDate() + ' ' + monthNames[yesterDate.getMonth()] + ' ' + yesterDate.getFullYear(); function convertDate(timestampElem) { var timestamp = timestampElem.text(); var timestampNew = timestamp.replace('сегодня в ', today + ' в ').replace('вчера в ', yesterday + ' в '); if (timestampNew != timestamp) { timestampElem.text(timestampNew); } } win.addEventListener("load", function() { convertDate($('span.post__time')); $(".js-comment").each(function (index, el) { var timestampElem = $('> .comment > .comment__head > time', el); convertDate(timestampElem); }); }, false); }(typeof unsafeWindow == 'undefined' ? window : unsafeWindow);
Maccimo
00.00.0000 00:00Правда, не работает для комментариев, подгружаемых кнопочкой
Подгружаемые комментарии можно ловить вот так: https://github.com/Maccimo/HabraUnread/blob/a0586f3f81b50f43cdbb79c1761cc7f381959b05/HabraUnread.user.js#L172-L208
installMutationObserver()
регистрирует callback, а уже в нём можно разобраться с тем, что появилось нового в комментариях.
Nurked
00.00.0000 00:00-2@Boomburum а можно ещё разделить входящие сообщения на две категории. Первая - это сообщения, которые начинаются с "ошибка в публикации", а вторая - это всё остальное.
А то меня вечно преследуют грамнайцисты.
nin-jin
00.00.0000 00:00+3Особенно весело искать это место в статье. Жаль, что системы контроля версий ещё не изобрели.
csharpreader
00.00.0000 00:00+5Жаль, что Ctrl+F ещё не изобрели.
Nurked
00.00.0000 00:00+2Не надо. Некоторые звери пишут примерно вот так:
Ошибка в публикации "самая крутая публикация":
Нет.
А ты сиди и думай, чего там было с нетом?
Иногда поправляющий пытается указать на логическую ошибку. А в итоге ты сидишь и ищешь.
Mike-M
00.00.0000 00:00Давайте будем честными: Вы не исправляете даже обычные ошибки, понятные без всякого комментария.
Поэтому я против выделения сообщений про ошибки в отдельную категорию.Nurked
00.00.0000 00:00-1Зависит от настроения. Обычно я делаю это в конце дня. Но среди этих бесконечных "Сообщений" могут затеряться полезные ссылки.
Mike-M
00.00.0000 00:00Снова лукавите.
Даже если ваше желание исправлять ошибки зависит от настроения (чего быть по определению не должно), те недочеты, о которых я вам сообщил более полугода назад, до сих пор не исправлены.
Еще про одну ошибку сообщил вам месяц назад. Тоже под плохое настроение попал? )
У автора, который уважает своих читателей, ссылки, в том числе, полезные не теряются.
Да и насчет «бесконечных сообщений» не стоит преувеличивать — в целом, у вас достаточно грамотные статьи.
deamondz
00.00.0000 00:00+2так потому что интерфейс создания/отправки ошибки так устроен - я выделяю конкретный текст и отправляю - почему я должен задумываться как автору найти это в статье, а не сервис, который предоставляет эту фичу?
я, когда заправляюсь, просто говорю номер колонки, а не кол-во залитого топлива. Сервис в состоянии сам это обработать. А если бы меня можно было просто идентифицировать и соотнести с колонкой, то и её номер мне бы не пришлось называть
Perlovich
00.00.0000 00:00+3А то меня вечно преследуют грамнайцисты.
Осуждаю риторику. Многие пользователи хабра, судя по комментариям в некоторых статьях, и так стремаются отправлять автору ошибки, которые видят. После подобных унижительных пассажей людей, пытающихся помочь вычитать статью, может стать еще меньше.
ZakharS
00.00.0000 00:00+2Улучшение отличное, спасибо. Но если абстрагироваться - это просто еще один атрибут статьи. И по нему добавлена возможность фильтрации. Причем не очень гибкой - читаем только сложные статьи, независимо от хаба/тематики, либо только простые.
Я давно прошу сделать универсальный фильтр по всем возможным атрибутам с возможностью их объединять по AND/OR и скобками. Ну то есть классические условия SQL-запросов. Здесь же все свои, разберутся. А то "смузи", "торт"...
Выиграют все: вам не придется анонсировать каждый новый атрибут, а читатели смогут настраивать максимально персонализированную ленту.
Навскидку из неудобств текущего подхода:
- нельзя создать сложный фильтр по рейтингу/просмотрам/комментариям для статей из избранных хабов
- нельзя фильтровать ленту по ключевым словам/авторам
- нет возможности составить RSS для созданного фильтра
Если вам важно, чтобы люди не читали из RSS, а сидели на сайте - сделайте возможность показывать только непрочитанные статьи по выбранному фильтру. А если вы хотите всеми силами заставить человека листать ненужные статьи в ленте, как это делает известная забаненная соцсеть, то это неправильно в долгосрочной перспективе.
То, что я предложил, добавит нагрузку на вашу базу и немного ее раздует. Но если прикинуть, то увеличение размера не будет уж очень заметным, а по поводу нагрузки - это вопрос правильной оптимизации SQL, наличия нужных индексов, вьюшек на самые популярные фильтры и т.п.
Очень надеюсь, что реализуете! Спасибо!ZakharS
00.00.0000 00:00Если накладно это включать для всех посетителей - можно для начала разрешить тем, у кого рейтинг/карма высокие. Заодно и стимул будет у авторов.
domix32
00.00.0000 00:00@Boomburumа почему в английской версии кнопка Abstain в опросах уже достаточно длительное время существует только в виде Decline?
QtRoS
00.00.0000 00:00Ничего себе! @Boomburum, а отсылку к автору идеи не сделаете? :)
И отдельно вопрос: можно ли реализовать возможность скрыть статью в ленте? Я люблю мониторить "Лучшие за неделю", изо дня в день листаю одно и то же, хотя уже прочитал, либо уже не интересно.Boomburum Автор
00.00.0000 00:00+1Идея как хороший виски, должна настояться! :) Спасибо за идею!
Насчёт скрытия — пока не обещаю, давно просят, но пока тоже «настаивается».
csharpreader
00.00.0000 00:00Очень непривычно и, честно говоря, не нравится штамп времени «15 часов назад». Было гораздо удобнее и понятнее, когда на статье просто стояли дата и время публикации.
Alendorff
00.00.0000 00:00Имхо, уровень сложности скорее вредное нововведение, которое может сократить переходы на статьи, особенно на мобильной версии где нет ката а только заголовок и теперь сложность.
А ещё лейблы сложности слишком бросаются в глаза на мобильной версии. Думаю монохромный вариант был бы лучше. А ещё лучше просто без лейблов сложности. Отпугивают.
avakyansamson
00.00.0000 00:00+1Да, фича с временем - давно ждал. Спасибо!
Можно ли добавить возможность выбора от уровня и выше? Сейчас только один уровень могу выбрать или все.
K-pop_Poyehavshiy
00.00.0000 00:00+2@Boomburum Огромное спасибо вам за нововведения! Было бы идеально, если б ещë добавили сортировку по просмотрам, возможность выбора диапазона дат для подборки статей и, как подметили выше, корреляцию сложности материала со временем на чтение.
vconst
00.00.0000 00:00Думается мне, что возможность отсортировать публикации автора: по рейтингу, каментам и просмотрам — была бы очень интересна
Захожу я в профиль и вижу несколько десятков статей, они все по дате. А хочется увидеть самую рейтинговую статью — это же интересно, посмотреть то, что выше всего оценили читатели — и никак. Только руками перебирать несколько страниц (иногда — много!) и вычислять, какие из них оценены лучше. Оченьно неудобственно это
Boomburum
Nomad_77
freeExec
Т.е. выбор сложности для всех тем сразу, а не по каждому тегу?