Поддержи Openmeetings

четверг, 26 января 2012 г.

Четвёртый квартал 2011 — в инкубаторе

Четвёртый квартал 2011 года, первый квартал нашей веб-конференции Openmeetings в инкубаторе Apache. Наша цель — влиться в Apache, привести в соответствие внешний вид проекта, код, лицензии и систему сборки. Отличная возможность для сторонников свободного программного обеспечения попробовать свои силы, обеспечить себе задачу на Google Summer of Code, получить небольшую стипендию от нас.

Пока же запущен новый веб сайт проекта, с отличной документацией и дизайном, перенесена система хранения изменений кода, запущены списки рассылки, система учёта дефектов (Jira) и вики (Confluence). Объявлен конкурс на логотип проекта с замечательными призами.

Хорошо рисуете логотипы? Любите свободное программное обеспечение? Выиграйте замечательную книгу на английском (или аналогичную на русском), создав дизайн логотипа для Apache OpenMeetings. Получите известность, как автор логотипа популярного проекта. Пишите о своих идеях и публикуйте свои работы в комментариях. Недавние новости — конкурс продолжается.

Работы для частного заказчика

Для частного заказчика были выполнены следующие работы.

Содержание РаботРезультаты, которые должны быть получены  по окончании РаботыСтатус
Вызов пользователя (с индикацией статуса)Приложение установлено на компьютер пользователяГотово 80%
Портирование системы на Flash 10Повышена производительность системыРецензируется и вливается в основную ветку
Портирование системы на OpenJPAGPL/LGPL код удалён из кода Телесовещаний (за исключением Red5)Завершено, более того достигнуто соглашение о перелицензировании Red5
Адаптивная регулировка скоростиУлучшено качество на слабых каналахДобавлена ручная регулировка скорости, не оплачено
Режим переключаемой лекции для сокращения требований к ширине канала, средства управления участиемУлучшено качество на слабых каналахДобавлен тип комнат «Restricted»
Доводка локализацииНадписи всех кнопок переведены на русский язык, текст помещается в отведённое пространствоЗавершено
Предоставление хостингаПредоставлен доступ к хостингу для размещения системыОплачивался хостинг трёх площадок: заграничной, основной и тестовой
Установка на сайт ЗаказчикаСистема запущена на хостинге у ЗаказчикаПроизведено четыре обновления системы у Заказчика
Итоговое тестирование, приёмкаВыявлен и согласован перечень доработок. При отсутствии у Заказчика претензий приемка работ по этапу.Проведено 5 совещаний по приёму работ, подписаны протоколы, исправлены замечания

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

Работы по функциональности «Дать слово»

Герман подготовил краткое описание выполненных работ.

Самая первая реализация была сделана 15 августа 2011 года. Ей занимался Тимур Тлеукенов. Она была сделана только для комнаты типа «Conference». В списке пользователей этой комнаты есть удобное свободное место для размещения маленькой кнопки, куда кнопка и была помещена. Эта кнопка отображалась только у модераторов конференции напротив каждого пользователя, и при нажатии её у выбранного пользователя микрофон включался, а у остальных выключался.

Затем, после тестирования 16 августа эта функциональность была реализована для остальных комнат.

Через полторы недели Тимур ушел в отпуск, и поддержка этой задачи вместе с полученными отзывами пользователей перешла к Герману.

Что потребовалось пользователям:

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

Было принято решение добавить кнопку управления микрофоном. Нажатие кнопки выключает микрофон, а повторное нажатие — включает. В качестве иконки для этой кнопки было взято общепринятое изображение микрофона, которое используется в большинстве программ этой области (например, в Skype):

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

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

     private Boolean hasMicroMuted = true;
     /**
      * @hibernate.property
      *  column=" hasMicroMuted"
      *  type="boolean"
      */
     public Boolean get hasMicroMuted() {
         return hasMicroMuted;
     }
     public void set hasMicroMuted(Boolean hasMicroMuted) {
         this. hasMicroMuted = hasMicroMuted;
     }

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

Решить эту задачу не так просто. Ведь в случае комнат «Audience» и «Conference» другого места для нее просто нет, а в видеоокне места хватает только лишь для маленькой кнопки.

В комнате типа «Restricted» же такое место в списке есть. Можно не прятать эту кнопку в появляющийся после того самого клика лоток с иконками, а можно сделать ее видимой всегда. Причём высота элемента списка пользователей этого типа комнат позволяла сделать кнопку большой.

В качестве временного варианта так и было сделано и предложено пользователю (15 сентября):

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

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

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

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

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

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

Другое пожелание пользователя — добавить горячую клавищу на «Дать себе слово». Горячая клавиша существенно смягчала горячность споров о расположении и размере кнопки.

С другой стороны Герман договаривался с лидером Openmeetings о том, как добавить необходимую функциональность в основную ветку проекта. Себастьян Вагнер предложил более сложное решение:

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

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

После обсуждения с Германом Себастьян всё же согласился, что для обыкновенного пользователя второй пункт — это точно перебор. Слишком много логики нагружено в малюсенькую кнопочку, которую трудно сразу понять даже продвинутому пользователю. Первый же пункт остался в текущей реализации.

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

Проделанная работа по трудоёмкости намного превышает две недели, а впереди ещё большой список пожеланий:

  • Добавление шкал громкости и чувствительности микрофона
  • Изменение индикации громкости звука
  • Улучшение внешнего вида видеоокон, в том числе их границ

Работы для Агентства по инновациям и развитию

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

Продвижение

В этом квартале мы вели блог на Хабре. Андрей Кульба публиковал замечательные статьи. Ожидаем, что в ближайшее время к Андрею присоединится Анна Давлетшина.

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

В первую очередь благодарим Вас за всяческое содействие как в спонсорстве так и в организации. Факт вручения приза состоялся! Приз зрительских симпатий и купленный Вами iPhone 4S достался идеи «Создание мобильных установок по переработке масличных культур для фермерских хозяйств»,а точнее его автору Копылову Максиму Васильевичу и вручил его Друзев Андрей Анатольевич [...] Чуть позже на сайте появится запись трансляции. Ещё одна благодарность лично от меня, если позволите, за оперативность и за простоту в общении!

[...] У нас, кстати, произошло несчастье. Вчера поздно вечером внезапно умер Андрей Друзев, который и вручал подарок. Как мне сегодня утром сообщила его жена, ему стало внезапно плохо как раз на вручении подарка. Вечером, приехав вместе с женой на машине домой, он сказал жене, что плохо себя чувствует. Вызвали скорую. Врачи порекомендовали лечь в больницу, и он стал собираться. Вдруг ему резко стало плохо, он захрапел, и... умер. Врачи спасти не смогли. Остановилось сердце. Андрей следил за собой, занимался спортом, играл регулярно в футбол и вдруг...

Мы скорбим о случившемся и приносим близким Андрея искренние соболезнования.

Внутренние продажи

История проектов этого квартала на российском рынке следующая:

Компания, занимающаяся авиаперевозкамиВнедрение завершено
Юридическая компанияИТ-служба проводила демонстрацию своими силами, но неудачно
БанкУспешно провели демонстрацию
Компания, занимающаяся ЖКХОбсуждается договор
Компания, занимающаяся метеопрогнозамиX
Организация, занимающаяся языковым образованиемОбсуждается договор, рассматривают другой вариант
Страховые компанииИз 200 лидов на встречу согласились три компании. Со временем интерес затух.
Политическая организацияX

Комментариев нет :

Отправить комментарий