Начнём с важного и разберёмся, зачем нужна лента новостей и почему в ней опять что-то меняется. В ленте мы общаемся с друзьями и самыми разными авторами: это развлекательные паблики, бизнес, СМИ, блогеры, тематические медиа. Лента помогает узнавать новости, выражать мнение, обсуждать события и быть в курсе всего, что происходит прямо сейчас.
У нас очень амбициозные задачи по развитию ленты:
- сделать идеальный сервис для коммуникации между читателями и авторами;
- выделить среди огромного количества информации самое важное и показывать новости в правильном порядке;
- создать удобный и быстрый интерфейс для просмотра текстов и медиа, а также общения на всех платформах.
Можно выделить две ключевые подзадачи: интересный контент и удобный интерфейс.
Эксперименты с содержанием
У нас параллельно работают сотни разных моделей умной ленты и рекомендаций — не все эксперименты заметны для пользователей. Иногда они отличаются мелочами: показываем на 1% больше контента от друзей, чем от паблишеров, и смотрим, как это влияет на использование ленты новостей. Иногда тесты более радикальные: принципиально по-разному ранжируем ситуативный контент и то, что актуально всегда. Это сильно меняет состав ленты для читателей. Некоторые посты актуальны только в течение нескольких часов (новости СМИ, анонсы, спортивные результаты), а другие публикации могут быть интересны на протяжении многих дней (обзоры, статьи, фотографии из отпуска).
Какие-то эксперименты можно оценить за пару дней — тогда обновления быстро включаются для всех пользователей. Другие тесты, наоборот, могут продолжаться больше месяца. Привычки пользователей меняются не так быстро, а нам важно оценить результаты через несколько недель.
В сложном продукте невозможно сразу выявить идеальную формулу, это путь итеративных улучшений. Мы шаг за шагом проверяем сотни гипотез. Например:
- посты с большим количеством комментариев интереснее;
- долгое прочтение поста — более важный сигнал, чем лайк;
- посты, добавленные в закладки, максимально интересны;
- лонгриды и короткие текстовые посты надо показывать в разные моменты дня для каждого пользователя;
- посты, которые комментировали друзья, интереснее других.
Все эти гипотезы мы проверяем в первую очередь на себе: реализуем новую фичу в алгоритме и начинаем сами пользоваться. Если нам нравится, включаем на тестовую группу пользователей. Смотрим объективные метрики, оцениваем статистическую значимость эксперимента. Делаем выводы: либо выкатываем на всех, либо дорабатываем дальше. И так уже несколько лет с момента запуска умной ленты. Тысячи разных гипотез и экспериментов. По итогам каждого появляются новые мысли и предположения, впереди ещё огромный список идей.
Работа над интерфейсом
Кажется, что в ленте новостей ничего сложного и нечего изобретать в плане интерфейсов? Но на самом деле это тоже постоянный поиск прекрасного.
Так менялось отображение поста на протяжении прошлых лет:
При этом в рекомендациях посты выглядят принципиально по-другому. Почему? Там совсем другие паттерны потребления и акценты в плане восприятия. В ленте мы подписались на конкретных авторов, нам важно, кто написал пост, когда, обсуждают ли его друзья. И можно ли быстро отреагировать, поставить лайк, написать комментарий.
А в рекомендациях мы не знаем автора. Скорее всего, нам важен контент, поэтому мы вообще по-другому представляем посты:
В рекомендациях тоже были эксперименты. Мы показывали по-разному автора поста, выносили кнопку лайка в компактный режим ленты и так далее. Даже сейчас на iOS и Android интерфейсы немного отличаются, так как эксперименты не заканчиваются.
Мы смотрим, какие задачи пользователи чаще всего решают в ленте, и пробуем сделать интерфейс идеальным для этих задач. И вот над чем работаем сейчас.
1. Лента без лишних счётчиков
В ленте хочется максимально удобно читать сам контент и меньше отвлекаться на разные счётчики. Поэтому в рамках одного эксперимента мы не показываем количество лайков и репостов, оставляем только комментарии. Есть гипотеза, что это может позитивно повлиять на вовлечение и количество активности в ленте в целом, а со временем сделать сами лайки более осмысленными.
Почему комментарии оставили? Это не просто счётчик. Комментарии — это тоже контент, информация, которая дополняет пост. Счётчик комментариев помогает понять, стоит ли переходить на отдельный экран поста, чтобы почитать обсуждения. Иногда они интереснее самой публикации.
Как будем оценивать эксперимент? По объективным метрикам и фидбэку от пользователей. Иногда встречаем жалобы, что непривычно, но есть и много позитивных отзывов, что действительно удобно, когда лента более лаконичная и нет перегрузки ненужной информацией. Но интерфейс запущен недавно, объективные продуктовые метрики оценивать рано. В начале всегда есть период привыкания.
Мы планируем проверять и другие версии интерфейса, в котором отсутствуют счётчики, но будет акцент на контент. Если объективные метрики покажут прирост активности в ленте (время, количество сессий, вовлечение и так далее) и фидбэк читателей и авторов будет скорее позитивным, то, возможно, эту версию в какой-то момент выкатим на всех.
2. Простое добавление в закладки
Ещё одна идея, которая сейчас тестируется, — вынести кнопку добавления в закладки на экран ленты. В общении с пользователями мы много раз слышали мысль, что лайки можно использовать как способ сохранить пост «на потом». Для этого во «ВКонтакте» есть более удобный инструмент, чем лайк, — сервис закладок. Поэтому мы в эксперименте заменяем в ленте счётчик просмотров поста на кнопку добавления в закладки. Этот тест уже запущен, мы собираем мнения и метрики.
3. Компактное отображение постов
Помимо счётчиков и кнопок действий, уже достаточно давно занимаемся компактностью постов. К сожалению, есть много примеров, когда запись в ленте может занимать два-три экрана телефона, что объективно неудобно. Поэтому мы запустили эксперимент, где показываем не все аттачи, а только ключевые.
В данном подходе есть много плюсов: лента становится визуально приятнее и удобнее. Но он сильно ломает ряд привычных паттернов. Например, удобно сделать опрос и две фотографии, чтобы выбрать лучшую. И если для такого поста скрыть фото и оставить только опрос, то теряется всё удобство. Поэтому проработка этого эксперимента продолжается.
4. Скорость работы
Помимо визуально заметных экспериментов, мы сейчас активно прорабатываем задачу по ускорению работы самого интерфейса. Речь о скорости загрузки ленты, медиаконтента, открытия экрана с комментариями.
Наши серверы обрабатывают десятки тысяч запросов ленты в секунду. Поэтому быстрая загрузка ленты и раздела рекомендаций требует не меньше креатива и усилий, чем идеальный по расположению элементов интерфейс. Для улучшений такого плана у нас есть отдельная команда, которая создаёт специальные базы данных, максимально оптимизированные под наши задачи.
Помимо этого мы реализуем хитрую логику многоступенчатого кеширования информации. Она включает кеш на мобильном клиенте — для мгновенной загрузки данных, полученных в предыдущие сессии. А ещё — разнообразные кеши на сервере, которые позволяют много вычислений делать заранее.
5. Удобные комментарии
За последний год многое изменилось в комментариях. Мы сделали их двухуровневыми — этого очень не хватало. Но впереди ещё огромный план очевидных улучшений.
Обсуждения с десятками разных веток и сотнями участников беседы уже сложно просматривать с телефона. Не так давно запустили удобное ранжирование веток комментариев: можно смотреть самые интересные или самые новые. Но в целом мы ещё в начале пути. В планах — значительно улучшить алгоритмы определения интересных комментариев и показывать их выше, реализовать обновление и получение комментариев и ответов в реальном времени. Кроме того, сделать интерфейс максимально удобным для общения в формате, похожем на диалог, и реализовать уведомления и интерфейсы, которые позволят быть в курсе самых интересных для пользователя обсуждений.
Заключение
Дьявол в деталях. Мы много работаем над охватами, разными форматами, возможностями монетизации и прочим, чтобы сделать контентную систему максимально удобной для авторов и читателей. Но при этом верим, что параллельно с общей стратегией и фундаментальными запусками критически важно прорабатывать все мельчайшие детали ленты новостей и рекомендаций. Ждите ещё больше экспериментов и обновлений.