Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
[ Закрыто] Архив темы "Решение проблем на сайте" 2011-2017 гг.
Простите, вмешаюсь не в мой разговор, но возникли вопросы :)

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

А на сервере разве не отмечается где-то, что один из дуэлянтов "отказался", и теперь эта дуэль в принципе не может играться?

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

Не совсем понятно - что именно вирус? Почему то, что посылается от браузера к серверу, и предусмотрено логикой приложения, считается вирусом?

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

Цитата
Такие штуки блокируются браузером без проблем, а нам искать, как обойти...
Опять-таки, какие штуки? Действительно не совсем понятно.


Я так понимаю, глобально разговор идет о том, что есть проблема, когда идет дуэль, но один соперник об этом уже не знает по какой-то причине (обрыв связи, баг, глюк и т.д.). Лично я от такой проблемы не страдаю, хотя пару раз случалось. Но меня заинтересовали ваши ответы в духе:
Цитата
Эти протоколы решаются на уровне предустановки софта - остальное от лукавого.

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

Чем софт принципиально отличается от браузера? С одной стороны, что за глупый вопрос: софт - это совсем другой стек технологий, это сокеты, это вообще исполнение программы на другом уровне. А с другой: в чем конкретно отличия? Клиентская часть софта все так же на стороне клиента, софт все так же можно дизассемблировать и что-то изменить/запретить. Так же может пропасть связь с интернетом, и надо предусматривать логику в этом случае. Также в браузере уже давно есть технологии тех же сокетов (websockets или более старые технологии long polling, comet). Да, возможно софт как бы более стабильный что ли, но чтобы это было единственным решением проблемы не от лукавого - сомнительно. Если я не прав - поправьте меня, пожалуйста.

Но ладно, меня занесло. Просто утверждение, что подобная проблема решается лишь софтом, и никак в браузере - это, извините, неправда. Есть масса игровых серверов в вебе, где это удачно решено. Может, некоторые из них на флеше, некоторые на html5+js, некоторые те же вебсокеты - но проблема решается. Другой вопрос - настолько ли это приоритетная задача? И возможно сейчас у вас есть намного более важные задачи. Вот тут не спорю.

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

Почему бы не начинать разгадывание по обоюдной готовности? Эта идея не нова, применяется на очень многих игровых серверах. То есть если соперник принял вызов на дуэль - мы сначала попадаем на страницу сканворда, но не видим ни слов, ни схемы сканворда. Для этого каждый игрок должен нажать кнопку "Готов играть". После этого появляется и сканворд, и игроки одновременно начинают игру. Кстати, это бы решило (или улучшило во всяком случае) проблему, когда у кого-то банально дольше грузится сканворд. Иногда бывает лишь сканворд откроется, а соперник уже отгадал несколько слов.
Естественно, будет так же возможность "отменить дуэль", если я нажал "готов", а соперник где-то пропал.
И в этом случае, конечно, проблема не решается на 100%. Потому что связь может пропасть и между тем, когда согласился 1й и 2й игроки. Но тут уже надо действительно серверу опрашивать клиентов прямо в момент начала игры или через какие-то периоды времени. С софтом эта проблема тоже автоматически не решится. Но в вебе она решаема так же, как и с софтом.
Изменено: Oleg Kashtanov - 21.08.2014 20:01:45
Предлагайте - сделаем
Я все-таки еще последний раз по рейтингу, обещаю :)

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

Тут же рейтинг, скажем так, "статичный". Что я имею в виду? Представим чисто гипотетически, что я значительно быстрее всех разгадываю здесь сканворды, но захожу на сайт нечасто, 20 мин в день, выигрываю в одни ворота у сильнейших здесь, и ухожу. Но в результате в рейтинге я буду ооочень далеко, а на первом месте будут те, кто больше времени проводит на сайте.

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

Иначе на Олимпиаде, на 100метровке побеждал бы не Усейн Болт с результатом 9.5 сек, а кто-то, кто пробежал за 12 секунд, но сделал это тысячу раз. А в футболе в каждом сезоне побеждал бы тот, кто выигрывал по 10 матчей в день у команд из 3й лиги.

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

Все, обещаю, за рейтинг больше ничего не буду говорить :)
Изменено: Oleg Kashtanov - 13.01.2014 21:28:26
Предлагайте - сделаем
Андрей, спасибо за развернутый ответ и за то, что правильно трактовали мое сообщение. Я боялся, что вам это покажется заносчивой недоброжелательной критикой, но вы всё правильпо поняли :)

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

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

Да, конечно, мне стоило и самому в первую очередь сказать, что я, собственно, по внешнюю сторону черного ящика. А что внутри - не знаю. Я даже уверен, все отнюдь не просто, проект непростой.
Это было вызвано лишь тем, что со стороны не кажется, что 20-30 просто одновременно открывающих конкурсный сканворд пользователей вызывают такую нагрузку, что чаты на 30% заполнены жалобами на задержки и висяки от нескольких десятков секунд до даже минут. Собственно, что же будет, если проект (дай бог) дорастет до 100-150 юзеров онлайн? По одному выделенному серверу на каждые 20-30 пользователей? Неподъемно никому.

Цитата
По рейтингу. У нас в отличие от шахматистов, есть такая вещь, как время.

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

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

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

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

Для особо любознательных можно в FAQ написать саму формулу, только вот вникнут в нее 10 человек из всех, просто из любопытства.

И кстати, между шахматами и вашим сайтом практически прямая аналогия. Я обратил внимание, что вы акцентируетесь на времени. Но давайте проведем аналогии. Что является победой в шахматах? Шах и мат. А в дуэле сканвордной? Кто быстрее решил сканворд. То есть просто другой критерий победы. А идея та же самая. Кто-то выиграл, кто-то проиграл. И в конкретно взятой дуэли между двумя людьми не важно, как долго они решали сканворд (это зависит от сложности сканворда и даже удачи), а лишь кто быстрее справился. Ведь условия были равные у обоих (сканворд то один и тот же).

Аналог конкурсного или ОД - это прямо аналог шахматного турнира, например по швейцарской системе. В конце мы имеем отсортированный список, от 1го места и до бесконечности :) Как в шахматах, так и у вас.

Наверное, тут слишком часто упоминается слово "шахматы", но елки-палки, аналогия действительно прямая.

Цитата
Тем не менее, попробуйте предложить другую формулу расчета баллов, чтобы а) было просто, б) стало интереснее.

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

А сами формулы существуют, все давно придумано. Далеко ходить не будем, заглянем на тот ресурс, который я указывал в пред. своем посте. http://codeforces.ru/blog/entry/102 Там описана формула, упомянуто, что это очень близко к ЭЛО. И снова-таки, если проводить аналогии, то на том ресурсе, можно сказать, проводятся только конкурсные и ОД, без личных дуэлей. Все то же самое. И уверяю вас, хоть то и площадка для олимпиадных программистов, хорошо если 1% пользователей вникли в формулу. Они просто знают, что она рабочая и видят зависимость от успешности выступлений в турнирах.

Из личного опыта я также скажу (а скорее признаюсь сам себе), что все веб-ресурсы, на которых я много проводил времени, так или иначе связаны с тем, что был соревновательный момент, и я хотел быть лучше других. Где-то быстрее, где-то хитрее, умнее и так далее.
Я вот сам сейчас задумался об этом так, и аж не по себе стало, я навскидку перечислю с десяток таких ресурсов. И везде я был готов тратить время часами, только чтобы улучшить свое место в рейтинговой таблице или попасть в ТОП-10, если особо удачно :)

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

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

С одной стороны, очень согласен. Сканворды решать приятно, и суммы за это, по сути, копеечные. Но тоже личный пример: я плачу за 15 мегабитный стабильный интернет в месяц тоже около 200 рублей, а за мобильную связь в месяц около 100 рублей (да, я немного разговариваю по мобильному, но все же). И получаю стабильные услуги и круглосуточную поддержку.

А работу scanword.ru пока что нельзя назвать стабильной. Действительно есть проблема задержки при входе в конкурсный или ОД. А иногда и в личную дуэль заходишь, сразу смотришь - а у соперника уже 5-7 слов отгадано! Против сильного соперника - это уже безнадежно.

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

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

Но тем не менее я расписал чуть в деталях, так как, надеюсь, что фидбек от обычного пользователя никогда не будет лишним :)
Изменено: Oleg Kashtanov - 12.01.2014 15:00:34
Предлагайте - сделаем
Здравствуйте! Хотелось бы тоже поделиться частным мнением насчет всего этого. Пост получился ого какой, поэтому желаю терпения :)

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

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

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

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

Давайте сразу списком. Начнем с общего вида и юзабилити:

1) Вы пробовали решать сканворды в самом популярном браузере - Google Chrome (подтверждение: http://bit.ly/1aeripi , http://bit.ly/1aermoU, http://bit.ly/19iKhno)? Неюзабельно! Сканворд куда-то уезжает все время. Приходится использовать Firefox, Opera. Вы ведь не думаете, что новый пользователь (который, по статистике, чаще всего пришел из хрома) догадается и будет пробовать заходить на сайт под разными браузерами? К тому же, когда у него есть только 2 бесплатных игры.
P.S.: Местами буду пользоваться сервисами сокращения ссылок, так как не нашел возможности вставить в коротком виде в пост.

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

3) "Мертвые души": какую смысловую нагрузку выполняет вот этот поиск http://clip2net.com/s/6z2Htl ? Что бы я в него не вбил, он мне выдает пустую страницу.
А http://scanword.ru/statistics/ ? Какая же это статистика, только последних 500 дуэлей, и все.

4) Общий дизайн сайта. Тут спорно конечно. Но согласитесь, есть куда развиваться. Вы говорите, что есть средства на программистов... а на дизайнера? Ну вот та же статистика http://scanword.ru/statistics/ Ну честное слово, в таком представлении с нее нет смысла, нечитабельно, некрасиво, много лишней информации. Я понимаю, что основная задумка сайта совсем не в этом, тут не общество гламурных дам с собачками, а любители сканвордов. Но мы-то знаем, что люди любят красивый фантик.


А теперь несколько претензий программистам. Вы утверждаете, что вынуждены брать деньги за Участника, чтобы хотя бы частично окупать сервер.
Но извольте, у вас же в час пик несколько десятков людей, и это не realtime система. Давайте по пунктам:


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

2) А теперь обращения от программиста к программистам. Заходим на сайт, логинимся, в дуэль не заходим. Запускаем какой-нибудь Developer Tools и смотрим: ага, раз в пару секунд запрос на обновление чата, но подождите... каждый запрос возвращает всю переписку сайта? И всех пользователей? Да вы шутите! Зачем?
Судя по урлу, возможно, какой-то плагин для битрикса. Но если так, то стоит ли использовать такой комбайн как битрикс?

3) Заходим сюда http://scanword.ru/statistics/ Что? Загружается сразу все 500 записей? Но вы ведь вроде сделали уже нормальную пагинацию в рейтинге? Почему тут нет? По этой причине в статистике можно только 500 неинформативных записей посмотреть?

4) Смотрим в исходники страницы. Сайт функциональный да, много скриптов и стилей, согласен. Но почему не объединить в один файл js/css для значительно уменьшения кол-ва запросов к серверу? А css-sprite? Можно обновлять такие важные плагины как jquery, потому что они в новых релизах улучшает производительность ко всему прочему.
А почему так много инлайновых js/css, которые каждый раз передаются в теле страницы? Надо выносить в отдельные файлы, настраивать правильны http-заголовки, чтобы кешировалось.

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


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

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

Но вы даете лишь 2 игры в день, а дальше - плати. Хотя аудитория всего-то пара десятков человек (я имею в виду в один момент времени). Новый пользователь даже не успевает распробовать ваши сканворды (особенно если он из Гугл Хром, помните?)!

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

Ограничивать может и надо, но не так жестко. Оставьте базовые возможности, а плюшки - уже за денюжку. Так называемый фримиум http://ru.wikipedia.org/wiki/Freemium
Оставьте хотя бы один режим без ограничений - например Легкие Сканворды, чтобы пользователь имел возможность проводить на сайте время при желании. А иначе ему ничего не остается, как сыграть 2 игры и покинуть сайт.

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

1) Было бы классно какой-то глобальный рейтинг ввести. Аналог: шахматный рейтинг ЭЛО. Что-то, что повышается при каждой победе и понижается при поражении. Если выиграл у сильного (у которого выше рейтинг),
то и сильнее рейтинг повысился. Если выиграл у слабого - то едва-едва. А то нынешняя реализация в виде тура никуда не годится.
Почему я считаю что рейтинг - это классно.

Потому что Joel Spolsky (автор stackoverflow, разработчики меня поймут) говорил, что сделайте рейтинг, и люди будут делать все, только чтобы обогнать других.

Потому что я уже видел это в действии на многих ресурсах:
- на шахматных серверах (казалось бы, тут без этого никуда, но в чем отличие от этого ресурса?);
- на площадке для соревнований программистов - codeforces.ru (http://clip2net.com/s/6z3HVc) и http://community.topcoder.com/tc (http://clip2net.com/s/6z3H3A);
- на разных интеллектуальных играх, вроде викторин в IRC-чатах или conquiztador.ru (прикрыли недавно);

Возможно, вам все эти ресурсы ничего не говорят, но это флагманы в своих нишах, и везде рейтинг является неотъемлемой частью проекта, соревновательного духа, а для многих и просто основной стимул.
Можно напридумывать различны звания, цвета ника в зависимости от рейтинга и еще много чего, что будет отличным бонусым для поднятия мотивированности сканвордорешателей.
Оно вроде и мелочь, но практика показывает, что очень приятная.
К слову, тот рейтинг что сейчас - это совсем не мотивирующий рейтинг :) кол-во побед, игр, игр на участника по городу (кстати, почему нельзя смотреть людей из своего города?) - это отнюдь не интересный рейтинг. За повышение такого рейтинга не хочется рвать всех :)
Поэтому, на мой взгляд, введение рейтинга (а лучше разных и интересных) - это фича номер 1.

2) Еще больше различных видов турниров. Турниры - это классно. Вот и Одиночная Дуэль тому подтверждение. Можно ввести периодческие турниры на вылет (олимпийская система).
К примеру, только первых там 8 или 16 или 32 участника, кто первый успеет зарегистрироваться на турнир. И каждые пару часов такой запускать. Эта идея успешно функционировала
на conquiztador.ru, там плюс еще и анонимно было, то есть не знаешь своих соперников до окончания турнира. Но тут вряд ли это нужно.
Одним словом, мне кажется, надо придумывать различные интересные виды турниров. Хотя в этом вас упрекнуть нельзя.

3) Часто на подобных ресурсах проводят различные викторины в чатах. Можно анонсировать это дело и раз в неделю викторину на какую-то тематику.
Тут скорее даже суть не в викторине, а в привлечении аудитории.

4) Что-то еще хотел, но уже устал печатать :) Если вспомню - напишу.

Спасибо за внимание! Еще раз спасибо авторам сайта.
Изменено: Oleg Kashtanov - 11.01.2014 01:58:07
Страницы: 1