Гибкая строка
Начинается сразу после предыдущей. Задержка переносится на неё целиком.
Как считать время
Конференция почти никогда не идёт по плану. Хороший тайминг — не тот, который угадал, а тот, который умеет пересчитаться, когда первый же доклад ушёл на семь минут вперёд.
План — это договорённость. Он хранит локальную дату, локальное время и часовой пояс события, и он не меняется от того, что происходит в зале. По плану сверяются с клиентом, с площадкой и с подрядчиками.
Прогноз — это ответ на вопрос «когда строка начнётся, если дальше всё пойдёт как идёт». Он пересчитывается от того, что уже случилось, и живёт отдельно от плана.
Факт — это когда строка реально началась и закончилась. Он записывается в момент события и дальше сам становится входными данными для прогноза следующих строк.
Если все три величины лежат в одной ячейке, после первой же задержки нельзя ответить ни на один полезный вопрос: ни «на сколько мы отстаём от договорённости», ни «во сколько выйдет докладчик после обеда». Что такое рандаун вообще и зачем в нём эти колонки — на отдельной странице.
Задержка расходится по программе не одинаково: это зависит от того, как строка привязана ко времени. Способов три.
Начинается сразу после предыдущей. Задержка переносится на неё целиком.
Начинается не раньше своего планового времени. Если программа идёт с опережением, пауза перед строкой сохраняется, а не съедается.
Держится за своё плановое время и не двигается. Если предыдущее переработало, сервис показывает конфликт, а не молча сдвигает якорь.
Разница между гибкой и мягкой строкой видна только при опережении. Кофе-брейк, поставленный мягким стартом, не начнётся в 11:40 только потому, что доклад закончился раньше: люди придут к 12:00, как написано в программе для гостей. Гибкая строка на его месте уехала бы вперёд и разошлась бы с тем, что раздали залу.
Жёсткий якорь — это строка, время которой задано снаружи и не обсуждается. Типичные случаи: обед в заявленное площадке время, включение спикера из другого часового пояса, начало федеральной врезки, окончание аренды зала.
Главное свойство якоря: он не сдвигается. Если программа перед ним переработала и расчётное время прошло его плановый момент, сервис не двигает якорь и не подрезает предыдущую работу. Вместо этого он ставит на строке пометку: пауза — между строками образовалось окно; пересечение — строки наложились друг на друга; дефицит до жёсткого старта — до якоря времени не хватает. Решение остаётся за человеком: что-то сократить, что-то пропустить, что-то перенести. Инструмент не принимает это решение за режиссёра, потому что цена ошибки здесь не техническая.
Есть и обратная тонкость. Пока в программе выше есть строка с неизвестной длительностью — например, дискуссия без регламента, — неопределённость распространяется дальше. Жёсткий якорь после неё остаётся виден, но не делает следующие гибкие строки ложно определёнными: сервис не выдаёт догадку за расчёт.
На форуме с тремя залами общий тайминг — вредная идея. Задержка в главном зале не должна двигать секцию в соседнем, а строка из другого дня не должна двигать вообще ничего.
Поэтому время считается по независимым полосам: у каждой пары «полоса плюс день» свой курсор. Строки внутри одной полосы могут переходить через местную полночь, а строка из другого дня или из другого зала на этот курсор не влияет. Одновременно идущей в полосе может быть только одна строка.
Длительность задаётся целым числом секунд, а не парой времён «с» и «по». Из-за этого программа корректно переживает и переход через полночь, и перевод часов: сервис не сравнивает голые строки вида «ЧЧ:ММ», а работает с настоящими моментами в часовом поясе события. Локальное время, которого в этот день не существует из-за перевода часов, сервис отклоняет явно, а не выбирает молча одно из двух.
Во время события строку ведут четырьмя действиями. GO одним движением закрывает предыдущую строку и запускает выбранную следующую. Finish записывает окончание. HOLD отмечает ожидание — и важно, что он не переписывает уже записанное время и не останавливает реальные часы. Skip помечает строку пропущенной, и для него обязательна причина.
Состояние живёт на сервере в одном экземпляре, а не в браузере у каждого. Команды отправляет только тот браузер, который взял аренду ведущего на тридцать секунд и продлевает её, пока держит связь; перехват возможен, но только осознанным действием. Каждое изменение получает ревизию и попадает в историю действий, а повтор той же команды не выполняет её дважды. Пульт работает только онлайн: очереди на случай пропавшей связи у команд ведения нет.
Кроме этого есть поправки: ручной старт, изменённая ожидаемая длительность и оставшееся время. У каждой поправки обязательна причина, записывается автор и время. Поправки хранятся как история и не переписываются задним числом — а те, что перестали относиться к делу, в расчёт больше не попадают, но из истории не исчезают.
Порядок работы, если собирать тайминг с нуля: разложить программу по дням и залам; задать длительности вместо времён окончания; расставить жёсткие якоря там, где время задано снаружи; во время события вести факт кнопками, а не пересчитывать программу руками.
Нужен аккаунт владельца — без входа программу не создать. Интерфейс русский. Сервис не угадывает длительности за организатора и не предлагает «оптимизировать» программу: он считает то, что в неё внесли, и показывает, где расчёт не сходится.
Считать тайминг в реальном времени и одновременно вести событие получается не у всех. Тогда программу события ведём мы: продакшн OKVideo.pro проводит трансляции конференций под ключ — со своим режиссёром, своим таймингом и своей техникой.
Если делать самому — создайте аккаунт владельца и соберите сценарий сами. В интерфейсе нет ни оплаты, ни тарифов, ни формы заказа. Но без аккаунта инструмент не работает: программа события — не публичный документ.