Поиск по тегу «посты» — ПИПМАЙ: Лучшее со всей сети
Акцентный цвет
Фон
Игровой блок на главной
Праздничное оформление
Для всех устройств

Поиск по тегу «посты»

от
до

О сворачивании постов

Знакомая каждому пипчанину ситуация: свёрнутый пост, нажимаешь "развернуть" и... он становится на два миллиметра длиннее.

Предвосхищая ваши пошлые шутеечки, скажу, что очень хорошо, что у пипчан такое только с постами случается.

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

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

Итак, как оно сейчас:

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

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

Здесь как раз пример того случая, когда длина поста для сворачивания превышена (написанный в посте текст зашёл ниже второй линии). И такой пост сворачивается. Причём сворачивается не по нижнюю линию, а по верхнюю, то есть под сворачивание автоматически попадает значимый кусок контента, причём всегда.

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


Раскрыть

О рейтинге постов

Здрасте здрасте, мои ненаглядные! Угадайте, что у меня есть для вас? Да это же ваша любимая теоретическая база! *Пипчанские яшперицы агрессивно шипят* Но-но! Полегче! Это скучно. Но это и важно.

Сегодня про анализ той информации, которую можно собирать и получать из постов. Так что не совсем только про рейтинг будет.

Итак, для начала надо определиться, какие параметры можно получить с опубликованного поста в процессе его существования. Я уже постарался, так что вот списочек:

Pg - PositiveGrades, количество плюсов

Ng - NegativeGrades, количество минусов

Us - UsersSeen, количество пользователей, видевших пост в ленте

- ViewsComments, количество захождений в комментарии поста

Uvс - UsersViewedComments, количество пользователей, заходивших в комментарии поста

С - Comments, количество комментариев

Uc - UsersCommented, количество пользователей, оставивших комментарии 

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

Отдельно стоит заметить, что даже и C - ужасно непоказательные параметры. считается от количества заходов в комментарии, даже если это делает буквально один и тот же пользователь. Можете сами убедиться в этом, прожав "обновить страницу" несколько раз, когда вы зашли в комментарии к посту - количество просмотров будет повышаться на 1 с каждым обновлением страницы. Этот параметр отображается под пиктограммой в виде мишени возле поста.

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

Теперь представим, что все означенные параметры из списка собираются. Какую информацию можно было бы получить на их основе?

Для начала самое очевидное:

R = Pg - Ng

где:

R - Rating, значение рейтинга поста

Pg - PositiveGrades, количество плюсов

Ng - NegativeGrades, количество минусов

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

 

Далее можно рассчитать то, насколько пост не оставляет равнодушными пользователей:

W = (Pg + Ng) / Us

где:

W - Warmth, неравнодушие пользователей

Pg - PositiveGrades, количество плюсов

Ng - NegativeGrades, количество минусов

Us - UsersSeen, количество пользователей, видевших пост в ленте

W буквально отражает, какая часть от общего числа пользователей, видевших пост, поставила ему оценку. Диапазон значений от 0 до 1, где 0 - никто не поставил оценку, 1 - все, кто видел пост, оценили его.

Опять же не стоит забывать про репрезентативность данного показателя, выражаемую значением Us.

 

Ещё один любопытный показатель: насколько пост вызывает желание зайти что-то обсудить или посмотреть, что там думают на его счёт. Разумеется, он может быть объективным только если количество комментариев C не будет отображаться, как это делается сейчас.

A = Uvc / Us

где:

A - Attraction, насколько пост завлекает в свои комментарии

Uvс - UsersViewedComments, количество пользователей, заходивших в комментарии поста

Us - UsersSeen, количество пользователей, видевших пост в ленте

0 >= A >= 1; Репрезентативность: Us. A отражает какая часть пользователей из тех, кто видел пост, заинтересовалась его обсуждением, зайдя в комментарии.

 

И самое, пожалуй, интересное - обсуждаемость поста:

По сути этот параметр находится в прямой зависимости от количества людей, оставивших комментарии, и количества самих комментариев. Можно просто получить произведение для C и Uc.

Например если в комментариях отписалось 8 человек, а всего комментариев 48, то обсуждаемость = 8 * 48 = 384, а если пришёл 9-й и написал ещё комментарий, то уже 9 * 49 = 441. В таких числах сложно ориентироваться - они достаточно быстро растут и очень сложны для анализа.

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

D = ln(C) * ln(Uc)

где:

D - Discussion, уровень обсуждаемости

С - Comments, количество комментариев

Uc - UsersCommented, количество пользователей, оставивших комментарии

Что отдельно приятно в этой формуле: если 1 человек оставил под постом сколько угодно комментариев, то обсуждаемость будет равна 0, потому что ln(1) = 0. То есть логика такова, что если нет хотя бы двух человек, оставивших комментарии, то ничего не обсуждается.

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

На примерах:

Под постом 25 комментариев от 3-х юзеров. D = ln(25) * ln(3) ~  3,54

Тут присоединяется ещё один, написав один комментарий. D = ln(25 + 1) * ln(3 + 1) ~ 4.52 (рост обсуждаемости почти в единицу)

И ещё один: D = ln(26 + 1) * ln(4 + 1) ~ 5.30 (рост уже заметно меньше, чем на 1)

Но вот если никто новый не приходит, то вот на 5-х +10 комментариев и: D = ln(27 + 10) * ln(5) ~ 5.81 (рост не такой значительный: +0.51 за прибавку в 10 комментариев)

Пишут ещё +10 комментариев и: D = ln(37 + 10) * ln(5) ~ 6.19 (+0.38)

В общем, всё логарифмически: чем больше есть, тем хуже рост. Таким образом достигаются вменяемые, в пределах 10-и пунктов, значения параметра обсуждаемости. 

 

Ну и как обычно в финале ответ на вопрос: "нахрена, а главное зачем?"

Да на самом деле за тем же, зачем и всегда: для работы всяких автоматизированных систем ресурса. Много чего можно придумать. Статистику опять-таки для анализа собирать, по пользователям или по тегам, например. Как привлекают посты с тегом "политика" или насколько обсуждаемы с тегом "NSFW"...

В общем, теоретическая база на то и база, что не ней уже можно какую-то теорию базировать, что от чего зависит, выявлять. Ведь чтобы когда-то выяснить, что F = m * a неплохо сначала понимать что за m, a и F такие.

А на этом пока всё, граждане пипчане. До новых встреч!


Раскрыть

О классификации постов

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

А значит что? А значит снова настало время для нудной хуйни теоретической базы! Прошлый пост из этой серии о том, что такое активность пользователя и как она рассчитывается, тут.

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

Но для начала:

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

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

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

 

Целью пипмая является не стать "пикабу с минусами", а как минимум серьёзным переосмыслением, и как максимум более совершенной версией подобных ресурсов.

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

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

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

 

Вообще, было бы очень замечательно, чтобы разработчики пояснили свою стратегию по развитию отдельным постом или хотя бы выразили в виде интервью для "Pips" на эту тему, к примеру. Полагаю, не одному мне будет интересно и полезно знать линию партии такую информацию.

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

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

Сегодня рассмотрим классификацию для постов.

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

То есть разделить можно как минимум по происхождению. Посты, созданные на ресурсе, назовём условно "продуктивными", потому что они содержат оригинальный контент. А посты, информация в которых является копией откуда-то ещё - "селективными" (от слова "selection", что значит отбор), потому что это как правило самые выдающиеся посты с других ресурсов, по сути выборка.

Итак у нас есть:

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

Продуктивные посты хороши тем, что это первичный контент ресурса, то бишь явлённый в мир на нём.

Селективные посты хороши тем, что это выборка выдающегося контента с других ресурсов.

И то и другое по-своему полезно для развития ресурса и имеет право на жизнь. (Я не сказал равенство) 

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

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

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

В случае с постингом собственных видео с ютуба теперь всё понятно: такие  посты будут относиться к группе продуктивных, поскольку создатель видео и постов один и тот же.

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

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

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

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

Как известно, при разработке чего-либо важно учитывать все возможные случаи, все невозможные, а также ряд невероятных. Так что теперь представим, что пять человек собрались и запилили новогодний выпуск Pips, со вставочками из различных памятных постов и комментариев года, интервью, статьями и описанием локальных мемов. Каждый внёс свою лепту. И получается, что у контента поста не один автор, а несколько. А опубликовать можно только от лица одного. Ещё одна итерация правила:

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

Оставим пока так.

Теперь перейдём к тому, что есть.

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

Никого не обвиняю. Учитывая возможности команды разработчиков, уже замечательно, что сделано хоть как-то.

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

И самое замечательное тут то, что этот механизм обязательного тэгирования является зачатком системы классификации постов в её практическом исполнении!

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

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

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

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

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

Но предположим, что таких списков обязательно тэгирования пока есть только два. В этом случае юзер проставит своему посту уже как минимум три тэга из списков обязательных: "селективка", "ЖЖ", "странный юмор". То есть по сути юзер просто принуждается к тому, чтобы классифицировать свой пост, постановкой обязательных тэгов. Понятное дело, что есть и такие тэги, которые обязательны при определённом содержании контента поста, например "NSFW" или "Политика". И система обязательного тэгирования по-хорошему должна об этом напоминать. К тому же юзер волен поставить и какие-то необязательные тэги, на своё усмотрение.

Итого: обязательное тэгирование позволяет производить классификацию постов прямо на этапе подготовки к публикации.

А ЗАЧЕМ ВООБЩЕ НУЖНА КЛАССИФИКАЦИЯ ПОСТОВ И ОБЯЗАТЕЛЬНОЕ ТЭГИРОВАНИЕ, КАК ЕЁ ПРАКТИЧЕСКИЙ МЕХАНИЗМ?

1) "Ставь тэг "вертикальное видео"! - я уже запарился смотреть это говно и тэг забанил, но из-за таких рукопомойников, как ты, которые тэги нормально не ставят, всё равно всплывает!"

О да, всего при постановке тэгов не упомнишь... 

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

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

2) "Чё за говно? Я задобался уже копипсатеров минусить, а вся лента всё равно забита скринами из инсты!"

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

3) "Кто-то постит годноту авторскую, а кто-то репостит чьи-то смешнявки из соцсеточек и имеет плюсов в десятки раз больше - несправедливо!"

Представьте себе, что на тэг "селективка" можно ввести коэффицент к плюсикам, прям официальный, всем известный и при этом изменяемый динамически методом голосования каждый месяц. Ну вот решили, что в этом месяце будет этот коэффициент равен 0.25, к примеру, то есть любой пост с тэгом "селективка", за каждый плюсик будет приносить не +1 к рейтингу, а +0.25. Ну и всё:  упали котировки, подешевела "селективка" - поди наварись на репостиках из твиттера теперь, удачи. 1 к 4-м с "продуктивкой" - не шутка. Народ хочет авторских постов. Особенно актуально если будет какое-то денежное выражение плюсиков когда-нибудь (до которого ещё систему рейтинга надо как минимум привести в порядок).

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

Послесловие:

Этот пост относится к авторскому контенту, а не к предложениям, по той простой причине, что здесь не предлагается какая-то конкретная уже продуманная система классификации постов, а лишь теоретически обосновывается, каким путём она может быть реализована на практике через систему обязательного тэгирования. Саму классификацию надо продумывать и итеративно разрабатывать - это уйма нудного интеллектуального труда. Так же следует отметить, что деление на две группы "продуктивка" и "селективка" - чисто условное, и, скорее всего, не полное - прежде всего было сделано для наглядного примера, а не как прямое указание на то, как именно надо сделать.


Раскрыть

Мой первый пост

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


Раскрыть

Срочно пилите скрипты

Админы, займитесь скриптом, который скрывает просмотренные посты, мотать одно и тоже до свежего надоедает


Раскрыть

Просмотренные посты

Дорогие товарищи администрация, а можно ли сделать так, чтоб просмотренные посты в ленте больше не отображались?


Раскрыть

Не очень удобно читать посты

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

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


Раскрыть

В новой вкладке

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


Раскрыть

Видимость оценки и поста в ленте

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

И по поводу скрытия из ленты постов с 5-ю минусами. Может стоит добавить настройку в профиле? Я например иногда не против почитать за что так опустили пост. 

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

С уважением hemul1983.


Раскрыть