Знакомая каждому пипчанину ситуация: свёрнутый пост, нажимаешь "развернуть" и... он становится на два миллиметра длиннее.
Предвосхищая ваши пошлые шутеечки, скажу, что очень хорошо, что у пипчан такое только с постами случается.
Но вот такие ситуации создают стойкое впечатление недоработанности механизма сворачивания постов. Вроде если не влазит в лимит длины поста строчка-другая, то можно было бы и закрыть глаза на это небольшое превышение.
И вот сейчас при помощи картинок вам будет изложено, как это делается. Не потому, что разработчики не знают, а для наглядности и общего развития всем остальным, разумеется, чтобы когда это сделают, вы могли знать, как это работает, когда будете писать свои посты.
Итак, как оно сейчас:
Показан пример как раз такой ситуации, когда под сворачивание попадает совсем маленькая часть поста. И виной этому как раз то, что длина свёрнутого поста и длина, из-за превышения которой он сворачивается - это одно и то же. Но если сделать эти длины разными, увеличив допустимую длину до сворачивания поста, то механика начинает работать совсем иначе:
Как видим, если длина поста не достигла нижней линии, то он не будет сворачиваться. Появляется зазор в длине поста, позволяющий ему быть по длине больше свёрнутого, но при этом оставаться не свёрнутым.
Здесь как раз пример того случая, когда длина поста для сворачивания превышена (написанный в посте текст зашёл ниже второй линии). И такой пост сворачивается. Причём сворачивается не по нижнюю линию, а по верхнюю, то есть под сворачивание автоматически попадает значимый кусок контента, причём всегда.
Вот такой вот очень простой приём, позволяющий ощутимо улучшить удобство пользования сервисом, причём ценой весьма скромных усилий.
Привет, дорогие пипчане! Если вы вдруг пропустили, то тему о том, как так вышло, что полдесятка озорников развели на ресурсе подобие дедовщины, и как с этим можно бороться на системном уровне, мы уже практически исчерпали вот тут.
А значит что? А значит снова настало время для нудной хуйни теоретической базы! Прошлый пост из этой серии о том, что такое активность пользователя и как она рассчитывается, тут.
Сегодня будем говорить о классификации постов и обязательном тэгировании, тем более, что на уровне "сделано, чтобы было", некоторые наработки на пипмае уже имеются.
Но для начала:
Насколько мне известно, стратегия разработчиков по развитию ресурса обозначена, к сожалению, чуть лучше, чем никак. То есть какого-то конкретного документа, где были бы выражены основные цели и направления развития пипмая, я не нашёл ("о проекте" и "правила сайта" прочитал, если что). Может быть этот документ внутренний, но может и быть, что его нет вообще.
Для всех, кто сейчас подумал: "ёбаный душнила, мы тут вообще-то сидим чилим, а ему документы какие-то публичные подавай про стратегии развития и прочий бред..." Ну, юзеры могут тут думать что угодно, с них спрос небольшой, а вот если разработчики используют подобный подход к делу, то будьте добры, напишите в личку, чтобы я с чистым сердцем пошёл нахуй, а не накатывал тут теорию с практикой, когда она не всралась от слова совсем, если вдруг никакого серьёзного подхода к развитию пипмая не предусмотрено.
Все свои посты касательно разбора устройства пипмая и предложений по его усовершенствованию, я пишу исходя из предположения, что стратегия разработчиков по развитию ресурса в общих чертах примерно такая:
Целью пипмая является не стать "пикабу с минусами", а как минимум серьёзным переосмыслением, и как максимум более совершенной версией подобных ресурсов.
Тем более, что "пикабу с минусами", он же "вомбат", уже разработан куда более превосходящей по ресурсам командой, успевшей продвинуться существенно дальше, а это значит, что конкуренция в этом направлении обречена на провал.
Тут всё как в игрострое: большие компании делают трипл эй игры в заезженных жанрах, а все геймплейные инновации исходят из области инди разработки, потому что там масштабы меньше, и, следовательно, риски меньше, а значит, можно пробовать что-то принципиально новое, точнее не просто можно, а это по сути единственный выход, ибо по качеству исполнения продукта, против мастодонтов индустрии с их ордами профи и бюджетами, как у космических программ, инди не вывозит никогда.
Это в свою очередь значит, что пипмай должен развиваться своим путём, через анализ и избегание ошибок, имеющих место быть на других ресурсах. С непрерывной оглядкой на другие ресурсы, но при этом отрицанием какого-либо подражания ради подражания. Решения по дальнейшему развитию должны приниматься исходя из их потенциального эффекта, а не из того, насколько они присутствуют или не присутствуют на других подобных ресурсах.
Вообще, было бы очень замечательно, чтобы разработчики пояснили свою стратегию по развитию отдельным постом или хотя бы выразили в виде интервью для "Pips" на эту тему, к примеру. Полагаю, не одному мне будет интересно и полезно знать линию партии такую информацию.
На этом данное коротенькое отступление заканчивается, переходим к теме.
Если хочешь делать серьёзный научный подход, то в деле обработки информации почти никогда нельзя обойтись без такой штуки как классификация. Классификация используется для того, чтобы облегчить работу с данными, путём предварительной разбивки оных на группы и подгруппы, руководствуясь определёнными правилами этой самой разбивки.
Сегодня рассмотрим классификацию для постов.
Задача состоит в том, чтобы разбить все посты на определённое количество групп так, чтобы не было ни одного, который бы не вписался в одну из групп. Самое простое, что можно сделать, это в первую очередь посмотреть на информацию относительно её первичности. Если посмотреть на ленту, то можно заметить, что некоторые посты созданы на ресурсе, а некоторые просто являются в том или ином виде скопированы с других ресурсов.
То есть разделить можно как минимум по происхождению. Посты, созданные на ресурсе, назовём условно "продуктивными", потому что они содержат оригинальный контент. А посты, информация в которых является копией откуда-то ещё - "селективными" (от слова "selection", что значит отбор), потому что это как правило самые выдающиеся посты с других ресурсов, по сути выборка.
Итак у нас есть:
Вообще я и сам понимаю, что названия "продуктивный" и "селективный" совсем не благозвучный сахарок, а какая-то сухая терминология. Не привязывайтесь к названиям - их всегда можно поменять на другие. Тут важна суть.
Продуктивные посты хороши тем, что это первичный контент ресурса, то бишь явлённый в мир на нём.
Селективные посты хороши тем, что это выборка выдающегося контента с других ресурсов.
И то и другое по-своему полезно для развития ресурса и имеет право на жизнь. (Я не сказал равенство)
Все ли посты можно разбить на эти две группы? В целом плюс-минус да. Но всегда найдутся пограничные случаи, например, кто-то создал видео на ютубе и поделился им в качестве поста. С одной стороны вроде и притянуто из другого места, значит, "селективка", а с другой стороны, это контент, созданный тем же автором, который сделал пост. По этой причине нужно строгое правило, позволяющее чётко разделять группы между собой. Сформулируем его для начала так:
Продуктивным считается такой пост, контент которого создан пользователем, опубликовавшим этот пост.
Понятное дело, что раз группы всего две, то методом исключения, посты, не относящиеся к продуктивным, относятся к селективным.
В случае с постингом собственных видео с ютуба теперь всё понятно: такие посты будут относиться к группе продуктивных, поскольку создатель видео и постов один и тот же.
Но это не значит, что все спорные случаи исчерпаны. Ведь пост может содержать не только контент автора или только чужой контент, а и то и другое в разной степени.
Например, кто-то написал подробный текстовый разбор мемов и для наглядности в своём посте прикрепил картинки с этими мемами. Есть и контент, созданный автором, то есть сам текст с подробным разбором, и мемы из сети, которые он не создавал. Очевидно, что правило разделения надо модифицировать. Вот уже уточнённая формулровка, учитывающая посты, содержащие контент смешанного происхождения:
Продуктивным считается такой пост, у которого несущий основную смысловую нагрузку контент создан пользователем, опубликовавшим этот пост.
То есть в случае с разбором мемов основной смысловой контент заключается не в самих мемах, а в их разборе. Такой пост также относится к продуктивным.
Как известно, при разработке чего-либо важно учитывать все возможные случаи, все невозможные, а также ряд невероятных. Так что теперь представим, что пять человек собрались и запилили новогодний выпуск Pips, со вставочками из различных памятных постов и комментариев года, интервью, статьями и описанием локальных мемов. Каждый внёс свою лепту. И получается, что у контента поста не один автор, а несколько. А опубликовать можно только от лица одного. Ещё одна итерация правила:
Продуктивным считается такой пост, у которого несущий основную смысловую нагрузку контент создан как минимум при непосредственном соавторстве пользователя, опубликовавшего этот пост.
Оставим пока так.
Теперь перейдём к тому, что есть.
На пипмай уже существует разделение постов на категории. При публикации нужно обязательно выбрать, к какой категории относится пост. А правила, согласно которым можно было бы более-менее чётко понять, какую категорию выбрать, лежат в правилах сайта и в весьма общем виде. Короче, и категорий много, очевидно набросанных сугубо из соображений о том, чтобы хоть какой-то порядок был, и правила по разделению на эти категории написаны скорее как черновик.
Никого не обвиняю. Учитывая возможности команды разработчиков, уже замечательно, что сделано хоть как-то.
Зачем вообще нужны категории? На самом деле функционально - это механизм обязательного тэгирования. Иначе говоря, даже если технически категория не является тэгом, она является им по сути. И когда пользователь выбирает категорию поста, это на деле всё равно что выбор первичного тэга из предоставленного списка.
И самое замечательное тут то, что этот механизм обязательного тэгирования является зачатком системы классификации постов в её практическом исполнении!
Дело в том, что имея первичный слой обязательных тэгов (то есть разделение на категории), можно уже строить дальнейшие слои обязательных тэгов, получая весьма гибкую систему.
На примере: юзер делает пост об особенностях отдыха среди тюленей в осенне-зимний период. На этапе подготовки к публикации ему нужно выбрать категорию (она же первичный обязательный тэг): "продуктивка" это или "селективка", для чего ему всего-то надо ответить на вопрос, является ли он как минимум соавтором основного смыслового контента поста?
Например, он статью поста не сочинял, а скопировал из ЖЖ у одного геолога. Тогда он выбирает "селективка". И дальше механизм обязательного тэгирования продолжает свою работу, чтобы с достаточной точностью классифицировать пост. Раз это "селективка", то будь добр, гражданин юзер, выбрать теперь один тэг из вот этого списка: "ютуб, ЖЖ, одноклассники, вк, ... прочее", то бишь если ты это откуда-то припёр, а не сам сделал - что ты уже указал, выбрав "селективку" - то обязательно укажи, откуда дровишки.
Дальше выбери ещё один тэг из списка "юмор, странный юмор, чёрный юмор, грустняшка, непоняточка... прочее", характеризующий эмоциональную оценку поста.
И так далее, в зависимости от того, сколько таких списков было реализовано разработчиками.
Но предположим, что таких списков обязательно тэгирования пока есть только два. В этом случае юзер проставит своему посту уже как минимум три тэга из списков обязательных: "селективка", "ЖЖ", "странный юмор". То есть по сути юзер просто принуждается к тому, чтобы классифицировать свой пост, постановкой обязательных тэгов. Понятное дело, что есть и такие тэги, которые обязательны при определённом содержании контента поста, например "NSFW" или "Политика". И система обязательного тэгирования по-хорошему должна об этом напоминать. К тому же юзер волен поставить и какие-то необязательные тэги, на своё усмотрение.
Итого: обязательное тэгирование позволяет производить классификацию постов прямо на этапе подготовки к публикации.
А ЗАЧЕМ ВООБЩЕ НУЖНА КЛАССИФИКАЦИЯ ПОСТОВ И ОБЯЗАТЕЛЬНОЕ ТЭГИРОВАНИЕ, КАК ЕЁ ПРАКТИЧЕСКИЙ МЕХАНИЗМ?
1) "Ставь тэг "вертикальное видео"! - я уже запарился смотреть это говно и тэг забанил, но из-за таких рукопомойников, как ты, которые тэги нормально не ставят, всё равно всплывает!"
О да, всего при постановке тэгов не упомнишь...
И мы все в курсе, как была решена эта проблема на "пикабу": строгий регламент тэгов и тэгирование через предложение и голосование за них. Спорное и очень крупногабаритное, надо признать, решение.
Система обязательного тэгирования позволяет в каких-то рамках решить ситуацию. Она не спасёт от того, что какой-нибудь юзер начнёт шлёпать обязательные тэги от балды, но на то есть другие юзеры и модерация.
2) "Чё за говно? Я задобался уже копипсатеров минусить, а вся лента всё равно забита скринами из инсты!"
Хочешь первичного авторского контента? Ну так шлёпни по тэгам "продуктивка" и "творчество", попросив тем самым систему сортировки постов, работающую благодаря относительно налаженной классификации постов через обязательное тэгирование, вывести тебе в ленту только посты, у которых есть оба этих тэга. И скрин из инсты ты увидишь только в случае, если его сам автор этого контента в инсте запостил. Ну или если кто-то неправильно поставит тэг, пытаясь выдать явную "селективку" за "продуктивку", но поскольку минусы тут как раз есть, то аккаунты юзеров, творящих такое, скорее всего, долго не проживут.
3) "Кто-то постит годноту авторскую, а кто-то репостит чьи-то смешнявки из соцсеточек и имеет плюсов в десятки раз больше - несправедливо!"
Представьте себе, что на тэг "селективка" можно ввести коэффицент к плюсикам, прям официальный, всем известный и при этом изменяемый динамически методом голосования каждый месяц. Ну вот решили, что в этом месяце будет этот коэффициент равен 0.25, к примеру, то есть любой пост с тэгом "селективка", за каждый плюсик будет приносить не +1 к рейтингу, а +0.25. Ну и всё: упали котировки, подешевела "селективка" - поди наварись на репостиках из твиттера теперь, удачи. 1 к 4-м с "продуктивкой" - не шутка. Народ хочет авторских постов. Особенно актуально если будет какое-то денежное выражение плюсиков когда-нибудь (до которого ещё систему рейтинга надо как минимум привести в порядок).
Опять же, что приятно, если реализовать настройку коэффициента через голосование, то всесторонне бурление говн и внутренняя политическая жизнь ресурсу обеспечена, а значит и интерес к нему будет.
Послесловие:
Этот пост относится к авторскому контенту, а не к предложениям, по той простой причине, что здесь не предлагается какая-то конкретная уже продуманная система классификации постов, а лишь теоретически обосновывается, каким путём она может быть реализована на практике через систему обязательного тэгирования. Саму классификацию надо продумывать и итеративно разрабатывать - это уйма нудного интеллектуального труда. Так же следует отметить, что деление на две группы "продуктивка" и "селективка" - чисто условное, и, скорее всего, не полное - прежде всего было сделано для наглядного примера, а не как прямое указание на то, как именно надо сделать.