RadRace 25-го, OnlineEvents — представление offline мероприятий online

Как мы и договаривались, публикую небольшое ТЗ на первый экспериментальный проект для RadRace

Экраны:


Событие еще не началось:
dl.getdropbox.com/u/240611/onlinevents/Event-page-before.png

Событие началось:
dl.getdropbox.com/u/240611/onlinevents/Event-page-online.png

Событие закончилось:
dl.getdropbox.com/u/240611/onlinevents/Event-page-ended.png

Основной упор сделан на простоту, все что можно — унесено на внешние сервисы. Всего три экрана — до, во время и по окончанию. Все ссылки на каждом экране внешние. Например не важно где и как у вас и как представлен список мероприятий, просто укажите на них ссылку. Комментарии — disqus, чат — опять же просто ссылка на внешний сервис (например chatterous), задать вопросы можно через твиттер (написав на @твиттер_мероприятия #уникальный_номер_выступления. Вопросы из твиттера обновляются с определенной периодичностью без перезагрузки страницы.

Трансляция видео тоже из внешнего сервиса (напр. Smotri.com), презентация и шаринг экрана тоже.

Как публикуется мероприятие:


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

Условия RadRace


— Участники обязуются потратить на реализацию не более 12 часов.
— Участники обязуются опубликовать код под открытой лицензией (выбираете сервис сами Google Code, GitHub, etc)
— Один из участников планирует выступить на ближайшем coffee'n'code и рассказать о реализации приложения.
+6
19 апреля 2009, 13:19
1
Ike 14,9

комментарии (53)

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
0
bobry #
Насколько я понял,
«Экран» — то что будет на экране во время презентации (правдва несовсем понятно зачем)
«Презентация» — сам фаил

Вообще странно что блок Видео|Экран|Презентация имеется на всех трех стадиях.
0
Ike #
Видео | Экран | Презентация — переключалка между разными embed'ами по сути, например (Smotri.com/GoToWebinar/Scribd.com). Она показывается только в том случае если эти материалы есть, и показывает только ссылки на те материалы которые есть — нет шаринга экрана — ссылку Экран убираем. До мероприятия например может быть только презентация, тогда она показывается в блоке с видео а блока с этими ссылками нет.

Так более понятно?
0
thevery #
шаринг экрана в маленький блок экрана не влезет — его нужно открывать в отдельном окне, я так считаю.
0
Ike #
Согласен. С шарингом вообще большие проблемы.
0
thevery #
На первый взгляд всё достаточно понятно, но есть несколько вопросов:
1) Участники регистрируются сами?
2) «Например не важно где и как у вас и как представлен список мероприятий» противоречит «Список мероприятий только в админке.»
0
Ike #
Смотри — список мероприятий у нас есть внутренний, поскольку мы не делаем одну установку на одно мероприятие, а предполагаем что установив проект один раз, мы можем создать хоть 100 мероприятий. Следовательно внутри мы должны иметь какой-то список мероприятий, чтобы создавать/редактировать их. Но пока для всего этого нет надобности в интерфейсе, только в админке.
0
thevery #
ну в интерфейсе как минимум нужна возможность посмотреть все события на определённую дату.
0
Ike #
пока это можно только в рамках представленных экранов сделать.
0
Ike #
НЛО прилетело и опубликовало эту надпись здесь
0
habraname #
картинки есть, а собственно, ТЗ нет. что это? сервис для поддержки докладов и организации расписания?
0
Ike #
Сервис для представления события онлайн. Я не присутствую на событии, но хочу на него посмотреть, перехожу по ссылке и получаю трансляцию, место где можно задать вопросы/обсудить, все пруфлинки и так далее
0
thevery #
вопрос о разделении прав и регистрации:
1) как регистрируются участники — администратором/сами/по OpenID?
2) кто может создавать и редактировать встречи — только администратор или докладчик тоже?
0
Ike #
1) Никак
2) Пока только администратор.
НЛО прилетело и опубликовало эту надпись здесь
0
Ike #
Нет, именно никак. Нет никакой регистрации. Создается событие, заполняется и все.
НЛО прилетело и опубликовало эту надпись здесь
0
Ike #
Это заполняет администратор (или как я его называю) организатор, при создании ивента. Никакого входа и редактирования кроме админкского пока не нужно.
0
Ike #
0
kurokikaze #
Гм. Если время будет займусь конечно, но я думал задание будет в пятницу.
0
Ike #
К сожалению неделя выдалась без свободной минуты. Не страшно если все не реализуете, хорошо если будет просто готовый продукт к встрече, пусть и без всей функциональности
0
kurokikaze #
Засада в том что мне предстоит такая же :) Но задание интересное, на самом деле.
0
Ike #
0
thevery #
я, кстати, уже начал понемногу делать на grails.
если есть желающие присоединиться (особенно специалисты по css/ajax) — буду очень рад!
0
Ike #
Ссылку на репозиторий выкладывай как там что-то будет
0
thevery #
репо — это первое, что я сделал:

0
Ike #
Ссылка не вставилась
0
thevery #
code.google.com/p/gree/

ну и захостил:

thevery.info:8080/coffee-n-code/event/show/1

зы времени потрачено от силы часик (и то по большей части на дизайн, поэтому просьба относиться снисходительно)
0
thevery #
дурацкий парсер :(

before
online
after
0
tenshi #
мля, ну и тз, конечно…

чо тут делать-то надо?
0
Ike #
0
Ike #
Поясняю ТЗ

Основной обьект у нас это событие, у событие есть десяток текстовых полей в основном для ссылок, 3 поля которые могут быть как ссылкой так и embed'ом (видео|презентация|экран). Не сложно догадаться что обязательные поля — это имя докладчика, название мероприятия и дата. У остальных полей можно выбрать состояние — до, во-время и после, то есть например если трансляция еще не началась врятли есть смысл вставлять видео или например ссылку на чат.

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

Состояние до — сделано для того чтобы люди могли подписаться на мероприятие и не забыть о нем. Там пользователь может указать свой email или скачать iCal файл, и затем получить напоминание за день и за 2 часа до мероприятия. Во-время, это состояние в котором можно смотреть мероприятие и задавать вопросы. После — состояние когда мероприятие можно комментировать и обсуждать.

Часть функциональности завязано на представление — это например комментарии спихнутые на intensedebate/disqus etc., и трансляция из твиттера, у которой кроме аггрегатора тоже в основном представление. Для того чтобы сделать трансляцию при создании мероприятия мы должны указать пользователя которому будет приходить реплаи и хештег, чтобы у нас отображались только реплаи связанные с конкретным мероприятием. Так пользователем, например, может быть @ok, а хештег #2009 тогда мы будем получать вопросы о конференции ok2009, игнорируя кучу мусора. Мероприятию можно поставить оценку. По-хорошему возможность оценить мероприятие должна быть доступна только по прошествии половины оного. Трансляция из тви доступна только во-время мероприятия. Комменты и оценки во-время и по прошествию

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

TheVery в приватной беседе сказал что вам скучно, и надо добавить еще интересностей. Итак если вы успеваете ХОРОШО сделать вышеописанное, пожалуйста, можете размятся и дальше:

1. Интеграция с Google Calendar
Администратор указывает параметры доступа к определенному гугл календарю, активирует синхронизацию и все события которые он добавляет/удаляет/редактирует соответственно представляются и в календаре

2. Возможность вставки фото, например если в ленте появляеся @ok… #foto #2009 c ссылкой на картинку то показываем в отдельном блоке с фотографиями. Так же в этот блок можно добавить определенный RSS например. Все это доступно во-время и после мероприятия

3. Карта проезда
Отдельная ссылка показывающая в лайтбоксе карту проезда, адрес мероприятия

4. Социальщина
Кнопка «я пойду» после которой пользователю предлагают выбрать один из механизмов авторизации (facebook, openid и прочее), и в случае успешной авторизации показываем его юзерпик в списке тех, кто идет на мероприятие.

Если что-то непонятно — задавайте вопросы. Я постараюсь оперативно отвечать.
0
thevery #
1) фигня, к тому же сильно зависит от языка, а не фреймворка, вернее от наличия gdada биндингов к языку.
2) ну, это ещё куда ни шло, но с твиттером есть свои особенности…
3) опять же фреймворк итд совершенно ни при чём — берём любой лайтбокс и впихиваем в него ссылку на ембед карты.
4) ну это ещё куда ни шло…
0
Ike #
Ну мы же в 21 веке живем, сейчас 70% задач лежат в области найти биндинг или библиотеку или что угодно и допилить.

Авторизация например это тоже взять библиотеку и прикрутить по-хорошему то.

Предлагай свои варианты. Только учитывай что времени не вагон.
0
thevery #
>Ну мы же в 21 веке живем, сейчас 70% задач лежат в области найти биндинг или библиотеку или что угодно и допилить.
и именно поэтому у java практически нет конкурентов, ага, разве что python ;)

>Авторизация например это тоже взять библиотеку и прикрутить по-хорошему то.
0
thevery #
>Авторизация например это тоже взять библиотеку и прикрутить по-хорошему то.
не совсем. авторизация — это уже фича/плагин фремворка.

>Предлагай свои варианты. Только учитывай что времени не вагон.
я за классическую более нормализованную схему и саморегистрацию.
внешние сервисы, кстати, это не всегда хорошо, например, поиск организовывать сложнее.
0
Ike #
Если быть точным то обычно двух уровней — например python-openid + django-openid.

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

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

По поводу внешних сервисов я не согласен, потому что вариант что комментарии получатся проще и качественнее чем у intensedebate которые только комментариями и занимаются я сомневаюсь например. Лучше аутсорсить то, что можно аутсорсить концентрируясь на ключевом функционале.
0
thevery #
>На регистрацию я смотрю с практической точки зрения. Обычно у мероприятия есть некий организатор, он получает от докладчика материалы и публикует их.

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

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

а почему не мой вариант:
пользователь сам регистрируется, заполняет информацию о докладе итд, а администратор лишь апрувит и назначает время и место?
0
Ike #
Согласен

Можно и твой.
0
Ike #
Это тоже свойство языка и фреймворка. Есть еще .net кстати о котором мы забываем. Библиотек там конечно сильно меньше, но есть же.

Посмотрим на результаты.
0
thevery #
>Это тоже свойство языка и фреймворка.
весьма относительно. GWT и Grails не имеют ничего общего, кроме использования java.
0
tenshi #
да, уже лучше %-)
но не многого ли вы хотите на халяву? о_0
0
Ike #
Мой интерес тут, реализовать идею. Не более. Проект я надеюсь будет opensource, и надеюсь будет использоваться многими, а не только coffee'n'code. Можно было конечно написать еще один blog/microblog/etc движок, но согласитеь лучше сделать что-нибудь полезное.
НЛО прилетело и опубликовало эту надпись здесь
0
thevery #
значит у вас будет честный radrace в субботу :)
0
Ike #
0
thevery #
>Проект я надеюсь будет opensource
пока что желающих помочь мне как-то не видно, увы :(
0
Ike #
Я думаю знатоков grails е много, и исходя из моего опыта помогать никто не возьмется пока не будет продукта который хоть как-то можно использовать, только с появлением продукта у людей к нему возникает интерес, и они пытаются исправить недостатки которые им мешают.
0
thevery #
ну с grails-то как раз проблем нету никаких, нужно только авторизацию/регистрацию прикрутить.
у меня сложности скорее с js и особенно дизайном (css) — ибо я их не знаю совершенно :(
0
Ike #
Можешь сделать криво-косо, я сконтрибучу потом верстку.
0
junk #
Я с вами :)

github.com/junkde/radrace/tree/master

Пока просто болванка проекта.

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