воскресенье, 24 января 2010 г.

Идея: применяем проект Code Swarm для визуализации истории форумов

Преамбула
Где-то года  полтора назад я узнал о двух связанных друг с другом вещах: роевой визуализации (swarm visualization) и o проекте с открытым кодом code_swarm.

Роевая визуализация построена на следующих принципах:
  • объекты визуализации превставляются как точки
  • изменния их статуса показывается изментнием цвета или яркости
  • связь с другим обьектом визуализации - движением к нему и группированием вокруг него - формированием роя.
Проект code_swarm применил роевую визуализацию для отображения работы над софтверным проектом. Визиализация показывает добавление программистами новых файлов в репозиторий кода (систему контроля версий) и изменение уже существующих файлов по следующим принципам:
  • изменение файла отображется как появление новой точки определенного цвета в слючаино выбранном месте экрана
  • яркость точки постепенно уменьшается, так что  через некоторый промежуток времени она пропадает.
  • при добавлении нового файла показ точки предваряется вспышкой
  • одновременно с показом изменний в файлах на экране, в случайном месте появляется имя автора изменения и начинает двигаться  в центральную область изображения
  • точки двигаются к автору изменений и группируются вокруг него
  • цвет точек можно связать с определенными характеристиками файла, например цвет может выбираться в зависимости от полного имени, отображая таким образом изменения в определенной части проекта.
 Проект реализован на языке Java ираспространяетса по лицензии GNU General Public License v3. Источником информации для него является XML файл с информацией об изменениях в репозитории кода, результат работы можно лицезреть в GUI или сохранить в виде фреймов в формате PNG, которые потом можно объеденить в видео файл, добавить музыку, титры и т.д.
Вот несколько примеров визуализации:








Амбула
У меня зачесались руки сделать такую визуализацию для текущего проекта на работе. Но множество объективных и субъективных факторов мешали мне реализовать задуманное.
Неделю назад, когда code_swarm снова попался мне на глаза, я вдруг обнаружил, что все объективные помехи улетучились, а субъективные - легко преодолимы. И в стране дураков закипела работа. Скачал проект, без особых усилий запустил прилагавшийся пример и застрял - в проекте не было нормального способа экспортировать нужную инфу из нашего репозитория - Perforce. Не беда - ведь у нас есть шаманский бубен, под звуки которого я разобрался с форматом файла для проекта, написал софтинку, для извлечения инфы из репозитория и вуаля! Завораживающая картина битвы наших программистов с непослушным кодом предстала перео мной :) Немного пришлось повозиться с поиском и настройкой софтины для объединения картинок с фреймами, в видео, но и эта проблема была благополучно разрешена.

Теперь собственно идея
Такую визуализацию пожно изпользовать и для иллюстрации истории жизни форума:
  • Вместо программистов у нас будут авторы постов в форуме
  • Вместо файлов у нас будут посты авторов
  • Цвет точек будет определяться разделом форума
Для создания визуализации мне нужна следующая информация:
  • Дата создания / изменния поста
  • Имя автора поста
  • URL поста
  • Новый топик или пост в существующий
  • Раздел форума куда автор запостил сообщение
Формат файла - текстовый (CSV) или XML.

Т.к. для меня сейчас наиболее близким является форум Kadets.Info, то предлагаю свои услуги его администрации в деле визуализации истории форума :.

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