усы2

Стой под стрелой

Поступки и мысли, о которых могу вспомнить не краснея

Previous Entry Поделиться Next Entry
ClojureCup 2015
усы2
tonsky

По традиции, мы опять упоролись хакатоном.

TL;DR видео-демка

(Ссылка на голосование внизу поста)

Про идею

Меня давно волновало, что все сервисы для докладчиков какие-то, ну, никакие. Да, хочется поделиться слайдами после доклада (speakerdeck, slideshare), но хочется чтобы у презентации какая-то жизнь была после этого, а не «слил и забыл». Или можно «делать слайды» (google docs, prezi, slides.com), но мне вот не кажется, что ключ к крутому докладу в эффектных слайдах или головокружительных переходах. Т.е. это вишенка, но на торте, которого сейчас ни у кого нет. А то что есть — всё в разных уголках, сделал на google docs, показал из pdf, залил на slideshare, на вопросы отвечаешь в ЖЖ.

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

Начинается все с markdown-редактора. Текст накидывается прямо на сайте, и markdown, на мой взгляд, идеальный формат для того, чтобы быстренько записать, упорядочить разрозненные мысли и составить план. Беда всех редакторов слайдов — в них невозможно «думать», слишком много возни, чтобы поправить текст, поменять порядок, добавить пару мыслей. У нас вся презентация — один сплошной текстовый документ. Что может быть проще?

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

У редактора есть WYSIWYG, так что в реальном времени видно, что там получается из слайдов (не переносится ли заголовок, входит ли код, не мешает ли фон). Подготовка заканчивается выбором цветовой темы.

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

И наконец презентация! Тут у нас все для этого и даже больше. Полноэкранный режим — разумеется.

Есть еще режим зрителя: когда ты заходишь на главную страницу, там есть секция «Live right now», т.е. презентации, которые прямо сейчас идут.

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

Ну и вторая важная фича — вопросы докладчику. Пока идет доклад, можно открыть специальный попап, задать вопрос или проголосовать за чужой (ради этого, например, существует целый отдельный сервис sli.do).

В конце доклада вставляется специальный слайд, на котором показаны наиболее популярные вопросы (да, больше не надо специально делать слайд «Вопросы?»). Естественно, всё это в реальном времени, без перезагрузок, на server push и вебсокетах. Мне нравится, как традиция (слайд в конце со словом «вопросы») реализуется современными технологиями на качественно новом уровне и начинает буквально выполнять ту функцию, которую она до этого только обозначала.

Наконец, что происходит после доклада? У вас хорошая порция материала, он уже структурирован, глупо выбрасывать его. Выложить слайды часто недостаточно. Видео делают долго (а ажиотаж штука быстро протухающая), да и смотреть его потом часто мучительно медленно. Декатрон позволяет доклад грамотно выложить — разбавить слайды комментариями, чтобы получился такой блог-пост с картинками. Можно начать с поста, потом добавить слайдов, можно сделать слайды, потом дописать комментарии — как больше нравится. Главное, что другие люди смогут это прочитать и извлечь пользу. Идея родилась два с половиной года назад, опробована тут, тут и тут.

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

Наконец, уже просто веселухи ради, мы прикрутили кнопку «Fork this deck», которой можно скопировать себе презентацию и поправить как угодно. Осмысленный вариант использования — самому делать вторую/третью/четвертую версию однажды уже рассказанного доклада. Неосмысленный — социализация, что ли?

Про реализацию

Мы сделали это все за двое суток командой из четырех человек. Clojure, ClojureScript, Http-kit, Rum, Transit, Instaparse. Без DataScript-а.

Экраны мы проектировали в Precursor (проект, выросший из ClojrueCup, между прочим), его даже можно посмотреть

Очень много углов срезано, держится буквально на соплях. Из страшного — markdown парсер мы писали сами, и он получился, что называется, «с особенностями». Синхронизация данных работает только по оптимистичному пути — если что-то пойдет не так, в лучшем случае undefined behaviour. Презентации хранятся в обычных файлах. Логинов нет, аутентификация по автоматически выдаваемой куке.

Короче, все, что не портит в первом приближении user experience, сделано по максимально простому пути. Фокус — на фичах, а не техническом совершенстве, которое, скорее всего, на таких масштабах никто не сможет оценить.

Из хорошего — мы сделали довольно изящную систему синхронизации. Взяли clojure.data/diff чтобы вычислять дельты между произвольными словарями и написали функцию patch которая может эти дельты применять. Дальше, на любое изменение мы шлем, бродкастим и применяем эти дельты где можем. Кайф в том, что механизм универсальный и автоматический, поэтому вся работа со стейтом локальная, ничем не ограниченая (меняй как хочешь), и где-то в фоне по волшебству просасывается ко всем. Например, вопросы на слайды я добавил где-то за час (из него минут 20 я сердечко для лайков искал), и написал 0 строк кода чтобы они были риалтаймовыми — они по-другому просто получиться не могли. В идеальном мире, конечно, данные будут не словарями, а CRDT, а редактор текста вообще OP, и тогда это еще и надежно заработает, но за два дня такого не успеть (ну или нужен опыт работы со swarm.js, которого не было).

Что я хочу сказать — в будущем, когда клиент-серверное общение будет настраиваться одной кнопкой по принципу «вот ip сервера, общайтесь», и дальше оно как-то само, в фоне, с fallback на localStorage и прочими оптимизациями, тогда заживем. Стоимость веб-приложений упадет до нуля практически (ну, если еще вместо box модели нормальные констрейнты прикрутят).

Заключение

Я больше всего горжусь идеей — мне кажется, это вполне серьезное продуктовое предложение, без скидок на хакатон. Т.е. если бы оно работало, я бы им только и пользовался. Плюс то, что все собрано в одном месте, ценно само по себе. Мне нравится, что презентацию можно начать, сделать, доложить и опубликовать, не выходя из одной вкладки в браузере. Презентационным платформам пора бы запрыгнуть на поезд Web 2.0 и начать думать дальше PowerPoint модели.

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

ВАЖНО!

Как обычно, нам нужен ваш голос. Да-да, именно ваш! Если идея вас впечатлила, пройдите на clojurecup.com/voting, залогиньтесь через github и проголосуйте за Deckatron (команда The Other Guys).

В главных ролях:

Олександр Шишко, Михаил Акованцев, Ренат Идрисов и я.

Предыдущие серии: 2013, 2014


  • 1
Круто конечно, но как-то много всего для хакатона. То есть нет ответа на вопрос: "в чём фишка?"
Стоит переформатировать проект из хакатона в полноценный сервис, решить вопрос монетизации и привлекать инвестиции.

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

Кроме маркдауна, какие альтернативы?

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

Тогда смысл теряется — текстовое редактирование

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

т.е. маркдаун все-таки остается?

Форумы как пример идеального UI я бы не брал. Medium уже куда интереснее. Но там с картинками возня ручная

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

MS Word и не надо. Я не хочу догонять PowerPoint в выразительном плане — иначе детали оформления начнут отвлекать от содержания. Less is more

Кайфовая идея, проголосовал за. У самого кложакап-сайта дизайн - ад. My eyes are bleeding.

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

+1, более того, очень неудобно было смотреть всех кандидатов, UX вообще кошмарный. Кое-как осилил и честно всех просмотрел, честно проголосовал за deckatron.

Понравилось

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

Re: Понравилось

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

В репозитории не хватает лицензии.

Отлично, проголосовал! Идея мне очень близка, только я для себя тихо кропаю не "Powerpoint", а "Excel" из маркдауна со встроенными вычислениями, чтобы можно было писать документы типа тех, которые делает Брет Виктор (например как http://worrydream.com/Tangle/)

классная идея. кроме вопросов, в зависимости от темы, мне кажется можно также собирать пожелания / feedback:

deckatron.co:

drag and drop images 28 likes
recording audio would be super 15 likes
markdown rules! 13 likes
dislike markdown 5 likes

так же было бы прикольно линкнуть их к гитхабу. я делаю презентацию на гитхабе (markdown) и презентаю на "deckatron.co". fork на гитхабе = fork на "deckatron". можно наверно еще и pull request фичу sync'ать с github'a.

насчет вопросов из аудитории, это оч здорово. давно не мог понять почему это отсутсвует во всех presentation tools. я когда то начал че т делать: https://github.com/tolitius/auqlue но потом отвлекся.

в любом случае, удачи!

Не-не-не, не надо линкать к гитхабу. Гитхаб тяжелый и неудобный, а у нас легкий и воздушный сервис.

(Анонимно)
Идея сама по себе очень дурацкая, для techy, она может быть интересна, а для “нормального” пользователя, а их армия, deff или не deff, особой разницы нет.

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

А в остальном, проекту светит только уагасающая свеча.

Ну вам точно виднее, у вас вон даже правила грамматики свои

И все же, чем это лучше Хадупа? :)

а там написано про CRDT и OP, первое гуглится, а что такое OP?

Круто. Проголосовал.

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

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

Спасибо за голос!

Да, смысл в простоте, поэтому редактирование только через текст. Гипотеза в том, что такой примитивный медиум позволяет сосредоточиться на мыслях, а не на презентации. Если сделать как у всех (fill the gaps шаблоны, редактор мышкой), получится как у всех — зачем?

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

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

Пауэрпоинт не сам такой стал, жизнь сделала — людям проще когда не надо знать язык. Именно эту правду было сложно принять в Xerox когда её сотрудники придумали GUI в 70-х.

янипонил, всё сдохло? попробовать-то можно?

(Анонимно)
org-mode + beamer + "Export to LaTeX as PDF file"?

  • 1
?

Log in

No account? Create an account