Как я фотоконкурс в группе ВК изобретал

несколько фото с текущего конкурса

несколько фото с текущего конкурса

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

А кто-то быть может идей по улучшениям накидает — милости прошу!

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

Предыстория

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

Где-то через месяц другой создатель группы предложил «запустить ещё какой-нибудь конкурс». Я немного озадачился — конкурсы в этой группе я видел раньше (1–2 штуки) — как раз в том стиле «у кого больше лайков». Предыдущий администратор большой молодец и относился к лайкам очень ответственно, вручную фильтровал, проверял кто из голосовавших как давно в группе и т.п…

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

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

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

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

Версия 1 — с оценками по пятибальной шкале

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

  • по завершении приёма работ присланные фотографии выгружаем, сохраняя их с айдишниками аккаунтов авторов

  • голосование происходит на отдельной веб-страничке, куда вход с помощью логина ВК — при этом проверяется (по айдишнику) что голосующий участвовал в конкурсе

А как оценивать, как голосовать? Первая попытка была простой — голосующему предъявляются в рандомном порядке все пришедшие на конкурс фотографии -, а он щёлкает одну из кнопок от 1 до 5 — выставляет балл.

Конечно на деле «просто» оборачивается набором мелких нюансов.

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

  • Оптимист первую оценил на 5, а вторую на 3.

  • У пессимиста о фотографиях обратное мнение, он считает что вторая лучше. Но он жадный и ставит хорошим работам 2 балла, а плохим 1.

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

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

В-третьих были конечно участники которые поставили 1 всем остальным и 5 единственному себе. Стратегия его ясна и в принципе допустима, но это не очень ценно в смысле понимания какие из «не-его» работ кажутся ему лучше, а какие хуже.

Первый конкурс был на тему «автопортрет» и в нём поучаствовало аж 30 человек из которых проголосовали 27. Вот пост с подробными результатами -, но это наверное не очень интересно, а снимки из «топа» по итогу представлены картинкой:

итоги конкурса

итоги конкурса «автопортрет», декабрь 2023

Версия 2 — «шахматная»

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

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

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

таблица турнира в Гронингене 1946 - первом крупном соревновании после войны

таблица турнира в Гронингене 1946 — первом крупном соревновании после войны

Сказано — сделано. Каждому голосующему предъявляются одна за другой N/2 пар фотографий и снизу три кнопки «первая лучше», «вторая лучше» или «одинаково».

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

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

характерный вид страницы голосования с очередной парой снимков (насчет

характерный вид страницы голосования с очередной парой снимков (насчет «немного лучше» см далее)

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

Результаты второго конкурса были оглашены в этом посте — поучаствовало аж 60 человек (и проголосовало 40) -, но опять же, для нас это не очень интересно, поэтому вот картинка «топов»:

итоги конкурса

итоги конкурса «зима»

Как видно, последней картинкой я оставил пользователям полный список результатов — да кроме того и json-файлы с подробностями голосований я обычно впоследствии подгружаю к фотографиям участников (на гитхаб) — на случай если кому-то захочется более тщательно перепроверить.

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

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

Несущественные подробности

С тех пор было проведено ещё несколько конкурсов (для любопытства упомянем их в конце) — в течение которых были добавлены лишь несущественные изменения. например появились кнопки «первая немного лучше» и «вторая немного лучше» или что-то в этом духе — они распределяют очки в паре как 0.75 и 0.25 — в надежде что это улучшит статистические показатели (насколько они улучшились сказать трудно -, но кажется голосующим стало чуть комфортнее).

Текущая версия страницы голосования живёт на github pages, а серверный скрипт на PHP к ней используется со вспомогательного сервера. Ощутимая часть логики воплощена на стороне JS что не очень хорошо, но вероятно впоследствии будет поправлено.

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

В частности страница логина кроме кнопки содержит только длинное пояснение по процессу:

e3d79fbdca3d3da12bb11679229cb0b5.png

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

Для подготовки к голосованию фотографии приходится уменьшать в размерах и объёме файлов — т.к. ВК их выдаёт и по нескольку мегабайт -, а скажем 60 фото по 5 Мб каждая — это уже может неслабо напрячь кого-то из участников если под рукой неидеальный интернет. Впрочем инновации в коммуникациях шагают по планете и думаю в скором будущем об этой проблеме можно будет забыть.

В последних конкурсах также добавил небольшой бонус (по-моему 5% к результату) для тех кто не забыл прийти на голосование. Это несколько нарушает «стройность» идеи, но пока хочется как-то подстегнуть людей не забывать (хотя и напоминать стараюсь). Опять же расчитываю что при увеличении количества участников от этой меры можно будет отказаться.

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

Заключение

Если вам любопытно посмотреть больше подробностей — то как упомянуто выше, их можно найти в отдельной теперь уже мини-группе конкурса. Например сейчас идёт (до конца января) конкурс по теме «на столе» (по идее это про натюрморты, но как можно видеть, присылают не только их). Между прочим, если вы тоже снимаете или снимали на плёнку — вполне можете присоединиться.

Вопрос который иногда задают участники — про призовой фонд. На текущий момент призы у нас выражаются крохотными денежными переводами и берутся попросту из личных финансов организатора (потому мероприятие не просто «некоммерческое», а даже с отрицательным финансовым эффектом). Тут дело в том что исторически (до меня) пробовали раздавать другие призы — фотоаппарат там или несколько кассет плёнки -, но это на удивление более сложная затея, оказывается! Кроме того что нужно ходить на почту и отправлять людям эти «ништяки» — так ещё вполне может выясниться что победителю не нужен этот великолепный дедовский Зенит-Е, даже обслуженный — или ему причитается горсть чёрно-белой плёнки -, а он снимает на цветную :))) в общем оказалось что по СБП наградить гораздо проще — обычно это удается сделать в течение часа-двух после объявления результатов.

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

Напоследок несколько картинок по результатам конкурсов которые мы успели провести в 2024 году:

Тема «Cherchez la Femme» (итоги) — мне он запомнился ещё и потому что довольно внезапно в нём победил я сам (и это был первый довольно случайный опыт ночной фотосессии в городе):

5ac2229edbc50c06547928bcfdbbdc43.png

Конкурс «Ушедшая Эпоха» (итоги) — тематика, прямо скажем, нарочно не была слишком строго определена, чтобы не получилось коллекции памятников или чего-то такого:

abfa5a8df8f0503649164d6e97d33adf.png

Конкурс «Природа» (итоги) — он проходил в разгар лета, но ктото и зимнее фото прислал :)

Конкурс «Ночь» (итоги) — это чуть более специфический жанр чем обычно -, но особенно с учетом осеннего времени фотографии ночью более «контрастны»:

d1e08d703350ba7375ffbf462d827df6.png

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

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

© Habrahabr.ru