Оригинал доступен на сайте cs.brown.edu
Обзор
WebView является визуализацией того, как на сегодняшний день используется Интернет. Оно предназначено для мониторинга сайтов, которые просматриваются в данный момент, а также для накопления указаной информации с разбивкой по категориям для содержательного (и интересного) ее отображения. В то же время, оно является демонстрацией потенциала системы программирования TAIGA.
Чтобы сделать указанную визуализацию интересной и эффективной, нам необходимо, чтобы люди ей пользовались. Поэтому мы предлагаем вам скачивать, устанавливать и запускать это программное обеспечение.
Отображение данных
С точки зрения пользователей, webview – это простой скрипт, выводящий согласно категориям то, что люди просматривают в текущий момент. Пример отображения данных показан ниже:
Отображение данных состоит из концентрических колец, каждое из которых изображает период времени от одной минуты до нескольких дней. Каждое кольцо делится на участки, отражающие отдельно взятую категорию веб-страниц (на сегодняшний день мы используем классификацию Open Directory, но подойдет любая категоризация). Категории расположены в алфавитном порядке и в направлении против часовой стрелки, начиная с позиции, указывающей на 3 часа (что логично, по крайней мере, для математиков). Цвета являются произвольными, но выбраны таким образом, чтобы по возможности сделать максимальную разницу между близлежащими категориями. Внутри участка каждой категории находится волнистая линия, где зашифрована информация о страницах, которые были просмотрены в указаной категории. Отображение данных обновляется ежеминутно или около того.
Отображение данных предоставляет пользователю информацию нескольких видов. Интервал дуги у каждой категории пропорционален количеству просмотров (запросов браузером) страниц указанной категории за промежуток времени. Оттенок участка обозначает категорию; насыщенность цвета отображает относительное число просмотров. Таким образом, если интервал содержит относительно небольшое количество просмотров (где показатель опирается на количество времени, охватываемое интервалом по отношению ко всей истории), то участок будет светлее; если интервал содержит множество просмотров, то он будет темнее. Сама волнистая линия может нести информацию об относительном количестве различных URL-адресов за период времени в частоте повторяемости изгиба линии. Так, например, если бы все страницы, просматриваемые в рамках одной категории, относились бы к одному URL, то линия была бы ровной, а если бы все они относились к разным, то линия была бы довольно волнистой. Толщина линии используется для отображения относительного числа пользователей, которые просматривают страницы данной категории. Если бы все просмотры были произведены одним пользователем, то линия была бы довольно тонкой; если же они соответствуют множеству различных пользователей, то линия будет толстой.
Отображение данных также может нести информацию посредством яркости участков (становясь темнее) и амплитуды линий. У пользователя имеется возможность изменять различные свойства отображения данных посредством соответствующих диалоговых окон. Это включает в себя: изменение статистики, связанной со всеми графическими свойствами; изменение цветов, связанных с различными категориями; мэппинг категорий; изменение неодинаковых интервалов.
Сбор информации
Чтобы отобразить информацию о том, что происходит в Интернете, нам необходимо собрать информацию. Следовательно, данная программа является шпионским программным обеспечением. Она отслеживает историю ваших посещений и сообщает о просматриваемых вами страницах центральному серверу, где они классифицируются и где фиксируются категории. Однако программа не записывает идентификационную или личную информацию. «Пользователи» представлены уникальным случайным ID, который используется исключительно для подсчета пользователей. ID являются произвольными и не могут быть отслежены вплоть до источника (насколько мне известно). Шпионское программное обеспечение работает только при запуске программы просмотра и только для того пользователя, который запускает программу. Если вы не убеждены, что это так, то предоставляется исходник.
Обратите внимание, что наше ПО подходит Windows, Linux и Mac OS/X для Safari, Mozilla, IE и Opera в различных комбинациях. Если вы желаете сделать свой вклад в данные проекта, но не хотите запускать визуализатор, то мы предоставляем скрипт, запускающий исключительно отслеживание истории.
Классификация
Система никогда не сохраняет URL или ID пользователей. Вместо этого, когда она узнает о странице, она находит соответствующую категорию и периодически сохраняет информацию о количестве страниц, пользователей и URL-адресов для каждой категории. Система не загружает страницу и не обращается к ней для того, чтобы найти ее категорию. Вместо этого она пытается найти категорию исключительно по URL.
Используя платформу TAIGA, мы предоставляем разнообразную реализацию классификаторов. В настоящее время мы предоставляем три разных варианта. Наш первый категоризатор использовал интернет-сервис Google, запрашивая у Google поиск конкретной страницы и изучая классификацию Open Directory, которую Google выдает в качестве части результата. Такой подход ограничен как тем, что Google не хочет, чтобы мы обращались к веб-службе более 1 000 раз в день, так и тем, что они не всегда дают отчет о классификации даже для относительно распространенных страниц. Альтернативой является проект MeURLin. У нас имеется классификатор, который обращается к их демонстрационной веб-странице (у них пока не настроен веб-сервис) и извлекает результат. Это довольно эффективно (с разной степенью точности), но для наших намерений все же слишком медленно. Наш третий классификатор считывает базу данных открытых каталогов при запуске и создает дерево классификации для URL. Как только дерево построено (что занимает 15 минут и 2 ГБ памяти), поиск выполняется довольно быстро. При том, что все три классификатора доступны и TAIGA может свободно выбирать, какой из них является самым подходящим в данный момент, наиболее удобный из используемых сейчас – последний.
Если у кого-либо есть классификатор получше или же такой, какой хотелось бы попробовать, то я был бы рад быстро интегрировать его в систему. Taiga позволяет реализации быть библиотекой, сервисом типа «клиент-сервер» или веб-сервисом.
Хранилище данных
Мы используем всемирные параметры файловой системы TAIGA для предоставления исходного хранилища информации. Накопленные результаты сбора информации периодически добавляются в текущий массив данных. Поскольку этот массив потенциально может становиться довольно большим, в настоящее время мы поддерживаем систему файлов с данными, где файлы связаны друг с другом. Предусмотрен отдельный сервер для идентификации текущего файла на определенное время запуска, для создания новых файлов (если файлы данных становятся слишком большими), а также для связи файлов между собой. Эта служба будет запущена автоматически (если она уже не запущена) на аппаратной платформе в Brown.
Сеть
В основе данного проекта находится система TAIGA. При запуске визуализатора на своей аппаратной платформе вы также запустите ядро TAIGA. Для обеспечения связи между различными ядрами и сервисами Taiga использует одноранговый пакет JXTA. При первом запуске вы, вероятно, увидите (по крайней мере, на сегодняшний день это так) диалоговое окно с настройками JXTA. Если все хорошо, то достаточно нажать на «ОК». Если вы jxta вам знаком – не стесняйтесь менять различные настройки. Используя JXTA, webview должен быть способным работать внутри брандмауэров и на случайных аппаратных платформах. Если вы хотите получить отчет ядра TAIGA в ходе его работы на вашем компьютере, то либо установите переменную среды TAIGASHOW (для Windows), либо задайте переменной среды TAIGALOG полный путь к соответствующему файлу отчета.
Статьи
Об этом проекте еще ничего не написано. Мы ценим любое ваше ознакомление с ним и приветствуем всякий и каждый отзыв на случай когда (и если) мы напишем отчет.
Обратная связь
Это программное обеспечение является (весьма) экспериментальным. Мы попытались выполнить множество различных установок, но у нас имеется лишь ограниченный диапазон доступных систем. Многое может пойти не по плану: как в ядре и в приложении, так и в сети, которая все это склеивает в кучу. Мы хотим устранить ошибки, но для этого нам нужно знать, что не работает (и, по вероятности, что работает). Мы приветствуем все отзывы, сообщения о багах, предложения, комментарии, вопросы и т. п. Электронные письма отправляйте по адресу [email protected].
Программное обеспечение
Если вы находитесь в Brown Computer Science, то последний выпуск программного обеспечения можно получить по адресу /home/spr/tryview (Y:\home\spr\tryview для Windows).
Если вы не находитесь в сети Brown Computer Science, то программное обеспечение можно получить с нашего ftp-сервера в (tar.gz) или (zip) формате.
Установка проста: скачайте и расширьте программное обеспечение. Его запуск также прост: простое выполнение скрипта runview (или runview.bat для Windows) для того, чтобы получить визуализатор (а для запуска программного обеспечения предназначенного исключительно для мониторинга используйте скрипты runspy).
Напоминаем, чтобы скачать программу:
СКАЧАТЬ webview.distrib.tar.gz
СКАЧАТЬ webview.distrib.zip