вебдев
29 заметок
терапия
Сейчас этот блог в основном про психотерапию.
как правильно
Слушайте меня, я вас научу правильно жить.
психология
Буржуазная лже-наука, пытающаяся выявить закономерности в людях.
практика
Случаи и выводы из психотерапевтической практики.
кино
Фильмы и сериалы.
книги
Это как кино, но только на бумаге.
nutshells
«В двух словах», обо всем.
дорогой дневник
Записи из жизни (скорее всего, не интересные).
беллетристика
Мои литературные произведения и идеи.
духовный рост
Когда физический рост кончается, начинается этот.
дивинация
Как предсказывать будущее.
половой вопрос
Про секс и сексуальность.
заяижопа
Творческий дуэт с моей женой.
магия
«Магическое — другое название психического».
Карл Юнг
игровой дизайн
Раньше я делал игры.
игры
Компьютерные игры.
язык
Слова там всякие.
людишки
Уменьшительно-ласкательно и с любовью.
культ личности
Про великих людей (то есть, в основном про меня).
hwyd
Уникальная Система Прививания Привычек.
буклет
я
идеи
блоги
spectator.ru
дети
wow
вебдев
музыка
контент
программирование
религия
дейтинг
диалоги
яндекс
кулинария
coub
fitness
символы
йога
шаманизм
tiny
ребенок

Голосуй сердцем

16 лет назад в категории вебдев

Во всех голосованиях, типа +1/-1 должно быть на самом деле +N/-M, где N!=M (N не равно M).

Так как почти никто не понял моей гениальной гипотезы, поясню.

Но сначала — в чем смысл голосования вообще. Но это кто-то должен сказать все равно. Голосование — это выбор. Перед вами поставили пять президентов и под каждым повесили radiobutton. Выбери одного.

Понятно, что проголосовать одновременно за Жирика и за Зюгу нельза. А очень хочется.

Другое дело, когда у тебя есть много материала, и каждой твари можно проставить по паре оценку от 1 до 5. Конечная цель для голосования «на той стороне», то есть для сайта — всё тот же выбор, верней — отбор, отсеивание говна и составление более-менее адекватных топов.

Цель голосования для пользователя же совсем другая, ибо выбора нет. Пользователь может всем оцениваемым сущностям поставить 5 баллов. Полный аналог «я хочу, чтобы все были президентами одновременно». Понятно, что ценность этих голосов равна нулю, и в чистом виде такое почти не встречается, но возможность проголосовать так есть.

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

Разграничивать «понравилось, но не очень», то есть ставить «четверку» вместо «пятерки», смысла тоже нет: «вам что, жалко, что ли?». Нет, не жалко. Мы — добрые! А вот если нас, таких добрых, разозлить...

С точки зрения голосования, как выбора, дискретность шкалы имеет значение: чем больше шкала, тем выше точность. Наиболее подходящая шкала — стобалльная (при этом надо понимать, что голосование, типа 7.5 — это тоже стобалльная шкала, которая к тому же понятно для пользователя приводится в десятибалльной).

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

И 75-95% людей будут сводить любую шкалу к бинарной.

Gamespot.com - почти идеальное голосованиеОтсюда промежуточный вывод: как ты шкалу ни назовешь, ее все равно будут использовать ровно одним способом, как только поймут, что в ней «хорошо», а что – «плохо».

Дискретная шкала просто имеет чуть больше смысла для 10% адекватных людей, которые будут использовать ее «идеологически верно». Еще один побочный эффект: чем больше делений у шкалы, тем больше шансов, что «щедрый» человек поставит 9.7/10 вместо 5/5: «это не так обидно».

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

Налицо конфликт между авторами сайта и посетителями.

Наглядный пример: на картинке представлен результат разброса голосов на imdb.com по фильму «Крестный отец», который занимает первое место в top-250.

Видно, что 6% людей поставили фильму 1 из 10, то есть считают «Крестного отца» невероятным феерическим говном, после просмотра которого у них выпали глаза, случился самопроизвольный фимоз головного мозга и развилась патологическая боязнь кинематографа.

Очевидно, что это не так, даже чисто математически: далее график проседает аж до «семерки», и куда делись те люди, которые оценили фильм в промежутке от 1 до 7 — не понятно. Согласно математическим ожиданиям, их должно быть в разы больше.

Средний балл при этом у лучшего фильма всех времен и народов всего 8,7.

Конфликт «разруливается» элементарно: «one man, one vote» — принцип для наивных дураков, которого придерживаться не нужно.

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

На imdb используется weighted vote averages:

IMDb publishes weighted vote averages rather than raw data averages. Various filters are applied to the raw data in order to eliminate and reduce attempts at ’vote stuffing’ by individuals more interested in changing the current rating of a movie than giving their true opinion of it.

The exact methods we use will not be disclosed. This should ensure that the policy remains effective. The result is a more accurate vote average.

Простым языком это значит только одно: «не все голоса одинаково полезны».

Возвращаясь к «Во всех голосованиях, типа +1/-1 должно быть на самом деле +N/-M, где N!=M (N не равно M)» это значит только одно: «есть гипотеза, что люди опускают“ с большей охотой, чем поднимают“ (или наоборот), если эта гипотеза верна, то собранные статистические данные полезней считать не как тупую сумму, а с применением веса».

То есть, почти всё то же самое, что написано выше, но применительно к бинарной системе.

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

С другой стороны, «голосование», типа +1/-1 — практически идеальный инструмент для «опускания», поэтому использовать его нужно именно так: как массовое коллективное опускание. «Мне карму заминусовали». Еще один плюс такого голосования состоит в том, что влияние одного человека является понятной константой, и понятно, «как с этим бороться». В отличие от голосования по N-балльной шкале и подсчете среднего балла.

На skill.ru, кстати, я испробовал примерно четыре разных системы (с кучей вариаций), в конце концов пришел к формулам, согласно которой помимо всего прочего голоса некоторых людей в крайних случаях вообще не учитываются, причем на основе их всех предыдущих голосов. То, что вес каждого голоса учитывается индивидуально — тоже очевидно. Причем ручного «бана» там нет, все подчиняются одним и тем же математическим правилам. Теперь топы, по крайней мере, можно смотреть без содрагания.

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

Таким образом, идеальная система голосования:

1. Предлагает не бинарную шкалу, главным образом для себя, но еще и для маленького процента нормальных людей.
(Пользователи говорят, что им «привычна» пятибалльная, но они просто врут, ее просто проще привезти к бинарной. На «серьезных» проектах я бы делал 100 балльную и приводил всё к виду 7.5/10).
2. Не навязывает пользователям трактовку этой шкалы (!).
3. Не обязана и не должна учитывать каждый голос одинаково.
4. Имеет закрытые механизмы подсчета конечного рейтинга.

PS.

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

Голосование меряет только человеческий интерес. И всё. Те, кто думают, что голосованием можно измерять качество — в лучшем случае заблуждаются. Если будет анонимно голосовать одна и та же группа экспертов по всем работам, при этом никак с этими работами не связанная, — тогда может быть.

Голосование измеряет популярность.

В этом плане десять «четверок» гораздо ценней, чем одна «пятерка», да и вообще, количество оценок — тоже релевантный фактор.

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

То есть всякие артхаус и прочее geekery — это не показательный пример вообще. Другое дело, что на основе все того же голосования можно сделать фичу, типа «люди, которые поставили этому фильму пять“, так же поставили пять“ следующим фильмам», — тогда это будет работать даже на примере артхауса.

Принцип, кстати, всё тот же: пользователю на входе дается N-балльная шкала, всё остальное — просто работа с данными.

0

Плюсодин

16 лет назад в категориях вебдев идеи

Гипотеза.

Во всех голосованиях, типа +1/-1 должно быть на самом деле +N/-M, где N!=M (N не равно M).

Да?

0

Wiki 2.0

16 лет назад в категориях вебдев контент

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

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

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

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

1. WYSIWYG.

Да-да, именно оно. Вики-синтаксис – это полумера, half-assed решение для полугиков. Выделять наклон, как //а вот это наклон// якобы интуитивно понятней, чем тэги, но на самом же деле это такая очень странная реализация WYSIWYG для бедных: «палочки-то наклонные».

Другое дело, что почти все WYSIWYG системы делали тоже какие-то странные люди и почему-то с прицелом на хомячков.

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

Ибо оно все-таки WYSIWYG, а не WYGIWYGD (What you get is what you get, duh).

2. Отделение метаинформации от котлет.

HTML-тэги являются «невидимым» мета-слоем текста («разметкой»). Желающие могут взять любой несуществующий тэг, например, и посмотреть его в браузере. Выдается что? Правильно — пустота.

Другое дело, что так исторически сложилось, что правим мы документ сразу вместе со включенной в него разметкой, хотя самый первый html-редактор был, конечно же, WYSIWYG’ным. Если бы html был бинарным форматом, а не текстовым – всё могло бы сложиться хорошо.

Это было лирическое отступление.

Есть текст, к нему есть метаинформация, например, те же комментарии. Текст – отдельно, метаинформация – отдельно. Должным образом это реализовано, например, в MS Word’е в режиме правки текста: исходный текст, а к нему – правка. Их можно сливать, но это все равно разные слои.

Правка текста – это и есть дополнение текста актуальной метаинформацией.

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

Да здравствует анти-семантика.

Минусы очевидны: когда нам вдруг понадобится «просто текст», пусть даже и не в самой утвержденной версии, придется отчищать текст от правок. Ну, или брать старую версию. (Механизм версий, кстати, — это единственная правильная вещь, которая есть в Вики).

«Комментарии к тексту» не работают: люди комментируют обычно какую-то одну конкретную мысль из текста; комментировать весь текст целиком можно только в виде «спасибо, прочитал».

Вполне очевидно, что доступ к созданию метаинформации и доступ к ее закреплению в документе – это два разных доступа. Как и доступ на чтение метаинформации и доступ на чтение документа вообще.

3. Работа с атомарными единицами.

Как правильно отделить метаинформацию от остального не понятно до тех пор, пока мы не решим, что является минимальной неделимой единицей текста.

Ей является абзац. А не документ.

Смотри Библию. До тех пор, пока не наступит просветление. После того, как мы осознали эту мысль и смирились с ней, всё становится совсем просто:

  • Каждый абзац можно комментировать.
  • К каждому абзацу можно предложить правку. (Исправление опечаток смысловой правкой не является и должно быть реализовано через ОРФУС-подобную систему).
  • На каждый абзац можно сослаться (ну, это само собой).
  • К каждому абзацу можно поставить сноску (сносками к каждому слову можно пожертвовать). Сноска, впрочем, всего лишь расширение следующего: каждый абзац может иметь ссылки/связи, типа «смотри также» или «читай до этого», — типы связей, строго говоря, могут быть совсем разные. Ссылки отдельно от текста нужны, если нельзя поставить ссылку в тексте без ущерба для смысла или лаконичности. (Это функционал совсем для гиков, он не обязателен, но показывает общее направление мысли).
  • Каждому абзацу можно выставить статус. Статус «переписать, устарело» у абзаца гораздо более осмысленен, чем у всего текста.

    Ну и так далее. Перемещение, добавление, удаление абзацев отслеживается легко.

    При этом у нас WYSIWYG (помните?), поэтому внутренности, типа

    пользователь не увидит. Самые умные уже догадались, как осуществляется контроль версий. Да, тоже поабзацно. (Он и сейчас так осуществляется, но только потому, что так проще).

    На уровне дизайна реализовать это всё тоже легко: у каждого абзаца есть «плюсик», раскрывающий всю метаинформацию о нем и дающий доступ ко всем инструментам. Там же – индикатор, что крестик не пустой, «этот абзац имеет 4 новых комментария и статус КГ/AM».

    Опять-таки, ajax и прочий вебдваноль.

    Когда все плюсики закрыты, текст является нормальным «человеческим» текстом, который и людям показать не стыдно. Опция expand all тоже есть.

    При этом – хаха – вики должна быть настраиваема для работы на двух мониторах: в первом текст, во втором (окне браузера) – содержание «плюсиков».

    Главное, в чем стоит отдавать отчет: текст для совместной работы – совсем не художественный текст, а писать в формате «абзац = мысль» нормальный человек обучается быстро. А если не обучается – то атата по попе ему, по попе.

    Деление на абзацы — не искусственное «ограничение» на уровне движка, оно должно поддерживаться авторами на уровне структуры текста и быть всегда в голове.

    Правка же чужого текста в формате «если ты такой крутой, предложи абзац другой» гораздо более продуктивна.

    4. Автоматизация связей и гипертекстовость.

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

    Создал я в Вики два документа: something/terrible и something/awful. Что должно быть по адресу something/, если там ничего не было? Правильно — список документов в something/*, с возможностью его перезаписать на что-то свое, а не «ой, тут ничего нет, хотите создать?». Раз уж мы имитируем папочную структуру.

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

    Не могут люди нецентрализованно создать структурообразующую вещь. А она нужна, потому что иначе не навигация, а каша.

    Выхода три: либо закреплять правила адресации на уровне договоренности, либо – на уровне «движка», либо нужен «модератор».

    Из удобных «автоматизаторских» возможностей в Вики есть только автоматическое создание оглавления — {{TOC}}. Хотя по такому же принципу можно было сделать много полезного: список всех внешних/внутренних ссылок в тексте, например.

    Ну и прочие мелочи. Например, при расстановке ссылок, если описание ссылки не задано, то надо считывать содержимое title указанной страницы и ставить его в описание. Title и есть заголовок страницы, алё!

    Итого:

    Есть текст. К тексту есть обновляемая метаинформация. Слияние текста и метаинформации и есть работа над текстом. У текста есть минимальная смысловая единица (абзац), все действия производятся, прежде всего, над ней.

    Ну и в конце – почему это все не будет работать. Дело в том, что есть – увы – интерфейс в разы лучше. Называется он «говорить голосом». Ничего более эффективного, чем «человек пишет текст – мы собираемся и обсуждаем текст вслух – человек дорабатывает текст и потирает жопу» не придумать всё равно.

    Поэтому «пугающие» цифры, типа «85% страниц в Вики были написаны авторами в одиночку» — отражение вполне нормального и эффективого способа, с учетом внешней коммуникации.

  • «Таро как инструмент самопознания», курс от создателя spectator.ru

    Баксокарма

    Некие (видимо, хорошие) люди попросили у меня придумать им «карму» на сайт (ссылку дам, как запустят). Ну, я придумал за 2 часа вечерком (идею просьба не тырить, пока не заплатили). Разрешение на публикацию, однако, есть (информация должна быть свободной, ага). (еще 612 слова)

    Заголовки нужны

    Заголовки нужны. Dixi. Расширенная версия: первая версия моего блога была без заголовков. Ух я потом заебался с этим, когда переходил на новые движки. Поверьте мне. Да и вообще, заголовок банально идентифицирует текст. Вплоть до того, что я помню некоторые заголовки и могу их найти в поиске. (еще 94 слова)

    Белогривые лошадки

    Про облако тэгов хотелось бы понудеть. Движки, которые выводят облако тэгов на каждой странице, не кэшируя его — ущербны. Например, Wordpress генерирует страницу «пост с комментариями» с помощью 28 (!) запросов к базе данных. Поэтому посещаемые сайты на wordpress-е (не будем показывать пальцем) тормозят безбожно. (еще 523 слова)

    Изобретение вебдваноля

    There was a second part of the dream, too, dependent on the Web being so generally used that it became a realistic mirror (or in fact the primary embodiment) of the ways in which we work and play and socialize. Вебдваноль изобрел — правильно! — Тим Бернес-Ли. Он же вел первый блог — сразу после основания интернета. (еще 96 слов)

    Гипертекст, веб и html

    Гипертекст — идея хорошая. Прочитать про нее можно (и нужно) в моем дипломе. Но конкретно так называемый «веб» и html — предельно кривая ее реализация. Вот только некоторые «родовые травмы»: 1. Односторонние ссылки. Абсолютный и полный бред. Если я связываю документ А с документом Б, то велика вероятность, что документ Б тоже как-то связан с документом А. (еще 915 слов)

    Last.fm

    Один из немногих гениальных сайтов «в стиле web 2.0» — это, конечно же, last.fm. Гениальность этого сайта заключается в том, что пользователям не дается возможности генерировать этот самый поносный user-generated content. Вместо этого анализируется отношение пользователей уже к существующему контенту, и на этом основании строятся хитрые связи и чарты. (еще 95 слов)

    Ajax vs gzip

    Ajax — незаслуженно раздутая технология. Не, получить ответ с сервера, не перезагружая страницу, иногда может быть полезным. (На skill.ru, например, при голосовании страница не перезагружается, а грузится маленькая хэтэмэлька в iframe, которая выводит окошечко, типа «спасибо, ваш голос засчитан». (еще 126 слов)

    CSS и борьба со спамом

    Изящный способ борьбы со спамом веб формах с помощью CSS. Хитрость заключается вот в чем: надо создать фиктивное поле в форме, скрытое с помощью CSS. Человек, пользующийся обычным браузером, это поле не увидит и не заполнит, в отличие от спам-бота, которые в большинстве своем CSS вообще не понимают. (еще 156 слов)

    Версия для печали

    На одном сайте у статей есть «печатная версия».
    Видимо, все остальное по умолчанию — непечатное.

    True story.