Выношу сюда стихийно возникшее обсуждение
И вот еще статьи по теме:
Механизм подсчета рейтинга и силы
Сила и рейтинг
Рейтинг юзеров и блогов
Опишу реализацию, к которой я склоняюсь:
1) Модуль рейтингования выделяется в отдельный плагин. Алгоритм подсчета — это отдельный разговор, он может быть какой угодно. Можно в стандартном комплекте движка два плагина поставлять — хабраподобный (потому что он уже есть), и простой (реализуется быстро и просто).
2) В конфиге плагина задавать: за что юзеры могут «лайкать», могут ли они «дизлайкать». Плюс могут задаваться какие-то доп.параметры (напр., «весовые коэффициенты и проч.)
3) Сами кнопки голосования за сущности — топики, юзеров, комменты и проч. — сделать в виде виджета. И вставлять этот виджет в шаблоне, где это нужно. Тогда внешний вид „голосовалки“ может легко изменяться в зависимости от конфигурации плагина, и сторонние плагины его тоже могут изменять. А если плагин рейтингования отключен, то эти кнопки вообще не будут выводиться.
января
28
2015
+4
Рейтинг и сила — как это должно работать
Похожие статьи
-
Параметры расчета рейтинга топика при голосовании за него
Параметры расчета рейтинга топика при голосовании за него — не работает , ставлю галачку сохраняю и после сохранения галачка пропадает !
-
Alto 1.1: Изменения в рейтинговой системе
Спасибо большое всем кто принимал и принимает участие в обсуждении существующей в Альто рейтинговой системы. В ней, действительно уже назревали изменения и, было решено их воплотить в жизнь. Сразу скажу, что все...
-
Механизм подсчета рейтинга и силы
Здравствуйте. Сегодня набрел на топик, решил отписать Автору, но объем не влез в комментарий. По ходу в excel-е наваялся калькулятор, который очень наглядно демонстрирует весь механизм и может помочь в подборе...
-
Сила и рейтинг
Наверное ни об одной функции в движке нет столько тем, сколько есть о силе и рейтинге. Причина этому, как мне кажется очень спорная система начисления рейтинга и наличие непонятной для «не хабропользователей»...
Простая система рейтинга
рейтинг < 100
1 голос + (статьи, в профиле) добавляет еденицу к рейтингу, минус отнимает еденицу.
1 голос + (комментарии, записи на стене) 0,5 к рейтингу, минус соотв. -0,5
Далее если в конфиге например указано (задает админ) у пользователя рейтинг 100 и более
1 голос + (статьи, в профиле) добавляет 2 еденицы к рейтингу, минус отнимает 2 еденицы.
1 голос + (комментарии, записи на стене) 1 к рейтингу, минус соотв. -1
Т.о рейтинг 100 говорит о том, что пользователь может использовать 2 голоса.
Это простая система, в которой рейтинг одновременно выполняет функции силы, т.е грубо говоря от количества рейтинга зависит сколько голосов может использовать пользователь.
Опять же использование сотых в существующей системе рейтинга действует пугающе на обычных пользователей )
В конечном итоге владелец сайта сам определит, что использовать в качестве единицы измерения — рейтинг, лайки, сердечки, классы etc. Простая и в тоже время гибкая система покроет запросы большей части аудитории )
Так и проще и понятнее.
Для блога
— число подписчиков блога
— число комментариев топиков
— число просмотров топиков
— число добавлений в избранное
— время жизни блога
— …
Для юзера
— число созданных блогов
— топиков
— комментариев
— френдов
— …
весовые коэффициенты нужно иметь возможность настраивать в админке.
Насчет того чтобы упростить систему рейтинга до банального счетчика лайков… честно говоря уже не уверен. Раньше я был всеми руками и ногами за, а сейчас мне начинает казаться что в этом есть смысл. Ну любят люди замороченные системы рейтинга, особенно сделанные так что в них хрен разберешься =) Реально. Им важно чувствовать зачастую, что система умнее их, или что ее делали умные люди умнее их. В каком-то смысле… Плоская примитивная система применяется в частности в instantcms и некоторых форумах и выглядит это очень убого.
Другое дело что было бы неплохо придумать как трансформировать бездушные цифры во что-то прикольное. В статусы, в уровни, в касты, хз))) В подарки. Так чтобы плагином это можно было бы легко корректировать и делать РАЗНЫЕ системы. Вы кстати прикольную идею предлагали как-то в свое время с шкалой. У меня тогда тоже была похожая, но руки не дошли…
Кстати в новой версии ЛС читал что они упростили как раз и народ там весьма опечален сим фактом…
А для ~ 10% гиков вполне подойдет плагин с силой и всеми прибамбасами )
Сейчас давайте посмотрим правде в глаза, делая новый проект рассчитанный на широкую аудиторию — приходится выпиливать, допиливать и распиливать ))) систему рейтинга изначально скопированную с хабра и подходящую только для людей в теме.
Кстати с хабром это было интересно, потому что он был первым в своем роде сообществом гиков.
А насчет того что система рейтинга местами слишком перекручена или непродумана — я согласен. Но счетчик лайков все же убог еще больше.
В том то и дело, что система рейтинга с хабра, новой была только на хабре. На данный момент она просто неудачный клон с этого ресурса.
Веб 2.0 диктует свои условия — проще, легче, быстрее. А если я на своем проекте буду заставлять людей испытывать трудности с использованием сайта, они уйдут туда, где проще, легче, быстрее ))
Насчет Хабра. Люди стали гнаться за формой — пытаться клонировать Хабр реализуя те же самые блоги, рейтинги и т.д. везде где только можно. Люди путают по сути задачу и инструмент который эту задачу решает.
Но как я уже говорил мне то кажется, что Хабр выстрелил совсем не поэтому что он мультиблоговая платформа, а потому что такая ниша для ИТшников существовала, а сделать можно было и на простом форумном движке. Пример — 4pda и другие успешные проекты.
Удачных проектов на ЛС-подобном функционале очень мало, но если брать еще глобальней, то вообще удачных проектов на чем угодно не много =)
Теперь насчет рейтинга, если абстрагироваться от Хабра то в этом рейтинге есть некий шарм, но он конечно должен быть уместен. Я очень хочу сделать один проект, но там этот рейтинг будет просто лишним. Этот и любой другой. Поэтому я и написал что нужно предлагать что-то новое. Но при этом считаю все же этот рейтинг интересней, чем счетчик лайков.
Принципиальной разницы если речь идет об учете нажатых плюсиков я не вижу, кроме того что понятные системы, типа счетчика лайков и спасибок людям быстро надоедают. Как и соцсети)) Если и там и там речь идет о нажатии плюсика или лайка, то в чем собственно трудности?
Ну пока судя по посещаемости yotube, facebook, vk — популярность соцсетей на текущий момент только растет )
Я и сама не очень люблю лайки, для меня идеальная и сбалансированная система — рейтинги youtube +1 -1. Здесь altocms.ru/965.html#comment17857 механизм, который я вижу, абсолютно всем он конечно не подойдет, но 90% проектов покроет запросто )
Сейчас у кого есть материальные возможности или знания выпиливают существующую систему и дорабатывают, а у кого нет — либо мирятся с таким положением дел или же ищут альтернативы.
Это не совсем так =)
www.vedomosti.ru/tech/news/38531801/aktivnaya-auditoriya-facebook-snizilas-na-9-v-2014-g
Старички типа vk и fb превращаются просто в мессенджеры и хранилище контента… Сейчас на коне watsapp и telegram. youtube все-таки не соцсеть, хоть сейчас и прянято все соцсетями называть…
Да про watsapp я в курсе =)
Не нада из крайности в крайность :) я ls=>alto нарыл как раз только из-за системы рейтингов… Вообще странно, что при всем буйстве технологий и социалок, до сих пор алгоритмы реагирования системы на поведение пользователей(лайки, оценки, голосования и тд) довольно таки примитивные и плоские… и вообще никак это поведение не влияет на (системный)статус самого пользователя…
Итого: систему рейтингов нада как развивать, так и упрощать, но в виде отдельных модулей.
И плоские лайки, и навороченные «ролевухи» :) — все по отдельным модулям — кому чего нада! Ляпота :)
Что по идеям, то у меня все вертится что-то типа старого доброго гуглевского PageRank. То есть какая то циферка, всегда конечная(0..10 например), но при расчете вместо ссылок(у PR) будут учитываться лайки, друзья и тд и тп… при этом, конечно, как и в случае с PR, учитывается «циферка» «ссылающегося» (друга, лайкующего и тд)… таким образом, система итеративная и постоянно будет обновляться… Идея сделать систему, где был бы какой то полностью автоматический статус/авторитет/рейтинг юзера — вообще по сайту или в группе… Но это отдельно нада наверное обсуждать… тут много неупорядоченных мыслей :)
mmozg.net сила здесь заменена энергией, но по сути выполняет совсем другие функции. За действия на сайте (комментирование, голосования, активность) человек получает энергию, которую потом можно тратить на дополнительные возможности не доступные простому пользователю. Похожая система была на news2. Это мотивирует пользователя к активности.
Знаете, в эпоху wap интернета у нас (моих старших друзей) был свой чат с викториной и «Умником». Пользователь, даже если никого не было в чате играл с Умником, а потом шел тратить заработанные баллы в рулетке или др. игре, т.о человек мог найти себе занятие и повысить свои показатели на сайте вне зависимости от того, есть ли другие пользователи онлайн, ну и конечно конкуренция — 10000 ответов в викторине это было круто ))). Очень быстро у нас было около 100 человек онлайн почти круглосуточно. Это был если не ошибаюсь 2002-3 год и один из первых wap чатов с викториной и играми )
Так к чему это я — у пользователя должна быть мотивация быть активным, если он оценил 10 топиков и оставил 10 комментариев, а его показатели по прежнему нулевые, то велика вероятность, что он больше не вернется на сайт.
P.S. aVadim , нельзя ли эту ветку обсуждения перенести в отдельный топик? )
У меня в фантазиях основное — система, чтоли, авторитета… не просто сила, которую можно потратить, а циферка, которая описывает значимость, важность, авторитетность этого юзера в системе(группе). Типа даже изначально отталкиваться что есть юзеры-боты или спамеры. Для таких тоже предусмотреть какую то позицию в системе. Ну и дальше какой то механизм «очеловечивания» — автоматика основанная на дейстивях пользователя и и действиях других связанных с этим пользователем… о как :) Если это не утопия, то в итоге можно такой параметр много где применять… вплоть до выборов президента :)
бессознательноеминусование и прочие «социальные» игры. При том она никак не позволяет ранжировать качество содержимого и стимулировать именно качество контента. Политика приносит больше очков чем усердный труд.(На самом деле любая рейтинговая система имеет такую отрицательную сторону, но это прямо наихудшая из возможных реализация помноженная на форумную стилистику)
Кстати по правилам форума запрещено любое обсуждение репутации, а уж тем более выпрашивание плюсов. Думаю это сыграло свою роль в функционировании системы.
Как итог — на этом примере можно самостоятельно убедиться, что система работает, нужно только уметь правильно ей пользоваться.
Более того, хочется сделать так, чтоб в систему рейтингования можно было включать любые сущности, напр., загруженные фотографии и видеоролики, или компании и товары (т.е. сущности, создаваемые сторонними разработчиками) и т.д.
В общем, тема это большая. И явно назревшая :)
Т.е. можно будет вывести этот виджет например на стену и можно будет оценивать записи на стене(избранное, в личных сообщениях, голосование за фото)? В этом случае возможности такой системы просто безграничны и новый simple рейтинг от ls уйдет в небытие ) Только один вопрос, будет ли возможность влияния этих виджетов на общий рейтинг пользователя?
1) В нужном месте шаблона вставляется код типа:
И там выводится панелька с кнопками голосования непосредственно при рендеринге страницы на сервере.
2) Панелька может втыкаться яваскриптом в заданных местах.
Минус первого варианта в том, что чтобы добавить голосовалку к новой сущности (напр., к стене), нужно явно править шаблон в нужном месте. Но зато код отрабатывает на сервере и весь HTML-код генерится там.
Минус второго варианта — немного больше возни с реализацией, больше нагрузка на клиента. Но зато вешается практически на любой шаблон без всяких доработок.
В обоих вариантах при клике на кнопку +\- идет запрос на сервер и передается информация, кто проголосовал, за что. А там уж от алгоритма обработки запроса зависит, на что этот голос будет влиять, и от настроек плагина. Если нужно — будет влиять, не нужно — не будет.
Вообще, можно саму задачу логически разделить на две основных — сбор статсов и их обработка, анализ, расчет конечных параметров. Ну и треться задача — вывод этого всего(виджеты, сниппеты и тд).
Так вот, развивая мысль inliquid про различные показатели, в модуль статсов(он как раз может быть inbox) по сути должен быть хуком(хуками) на все возможные действия в системе — не только очевидные лайки и тд. Пишется все что можно. Такое, кстати, могет пригодиться не только для рейтингов.
Ну а дальше эти статсы можно использовать в отдельном модуле рейтингов или чего угодно. Например, можно делать какие то выводы о пользователе или его постах, даже из паузы между ними…
На мой взгляд, только так можно что-то навычислять, не принуждая юзера к какой то отдельной активности на эту тему. С одной стороны, статсы собираются для юзера полностью прозрачно. Но с другой — уже какие то данные модно наковырять, для анализа и росчетов каких то показателей.
Понятно что писать все в бд — затратно. Но это можно заоптимизировать(писать в времянку, а в бд скидывать периодически). Ну и все это настраивается и если не нада, то ради производительности отключается полностью или частично.
теперь я знаю как это называется :) спс :)