Программные технологии обеспечивают удобные рамки для разработки интерактивных онлайн-модулей. Ключевыми характеристиками этих технологий являются:
- простота использования - доступная кривая обучения для аспирантов с исследовательскими вычислениями, но не разработка программного обеспечения, базовые знания;
- поддержка - наличие достаточного количества учебного материала;
- пригодность - ранее существовавшие возможности для отображения астрономических изображений, интерактивного построения графиков или другой визуализации научных данных;
- доступность для пользователей - онлайн воспроизведение в веб-браузерах на общих платформах.
Исследователи определили четыре технологии из существующих направлений разработки ПО, которые наилучшим образом отвечают этим критериям.
1. Всемирный телескоп WorldWide Telescope
WorldWide Telescope (WWT) - это интерактивный пакет визуализации и агрегирования научных данных, разработанный компанией Microsoft Research.
WWT включает в себя широкий спектр астрономических снимков всего неба и высокого разрешения со всего электромагнитного спектра, а также 3D визуализацию Вселенной, которая может быть увеличена от Земли до Солнечной системы (анимирована физически реалистичной орбитальной механикой) до крупномасштабной структуры Вселенной (визуализация положения 3D галактики с помощью технологии Sloan Digital Sky Survey).
Пользователи могут импортировать свои собственные данные каталога или изображения в различных стандартных форматах, включая ASCII, VOTable и Excel для таблиц, а также JPEG и FITS для изображений.
Ключевой особенностью WWT является возможность создания интерактивных повествовательных туров. Экскурсии строятся из серии слайдов, состоящих из статических или анимированных представлений астрономических снимков. Тур продолжается переходом от одного вида к другому, и обычно сопровождается рассказом автора. Его можно приостановить в любое время и манипулировать изображениями, а также могут включать гиперссылки на веб-ресурсы с дополнительной информацией.
Флагманское клиентское ПО для WWT представляет собой бесплатный пакет программного обеспечения Microsoft Windows для персональных компьютеров. WWT веб-клиенты также были разработаны как для плагина Microsoft Silverlight, так и для браузеров с поддержкой HTML5.
Для разработки тура по WWT требуется наименьший технический программный опыт по сравнению с другими технологиями. Другие технологии обеспечивают большую гибкость, но для разработки усовершенствованных визуализаций требуется значительно больше технических знаний от авторов.
2. JavaScript / d3
JavaScript является интерпретируемым языком программирования. JavaScript широко используется в так называемых платформах "Web 2.0", таких как Google Gmail, и для выполнения небольших интерактивных функций на огромном количестве страниц в Интернете.
Функциональность JavaScript будет хорошо знакома пользователям других языков сценариев, популярных среди аспирантов-исследователей, таких как Python. В Интернете доступно несколько руководств по программированию на JavaScript. Многие библиотеки были разработаны и распространены для расширения основных функций JavaScript.
Популярной библиотекой JavaScript для визуализации данных является d3.js, что означает "документы, управляемые данными". d3 позволяет отображать научные данные в самых разных форматах, включая линейные графики и гистограммы, а также сетевые графические браузеры и картографические проекции. На веб-странице проекта доступны десятки страниц с примерами, выполненными в формате d3, с полным исходным кодом и файлами данных.
Кроме того, доступны веб-страницы, которые позволяют пользователям экспериментировать с модификациями JavaScript и кода d3, наблюдая за результатами в режиме реального времени в окне веб-браузера. Условием для разработки модулей с использованием JavaScript является знакомство с другими веб-технологиями, включая HTML для разработки веб-страниц, а также доступ к веб-серверу для хостинга.
3. Вычисляемые документы Wolfram
Формат вычисляемых документов (CDF), разработанный компанией Wolfram Research, использует интерактивный код, написанный в программном обеспечении Wolfram Mathematica и графически отображает его либо в отдельном плеере, либо через плагин браузера.
Система Mathematica - это язык вычислений высокого уровня, который широко используется в широком спектре научных и математических приложений, таких как решение уравнений, численная интеграция, двух- и трехмерное построение графиков и анализ данных. Является платным ПО.
CDF основан на команде системы Mathematica "манипулирование", которая позволяет вводить графики, настраиваемые пользователем с помощью интерактивных элементов, таких как ползунки, переключатели и меню.
Планирование обновляется динамически.
Код написан непосредственно на языке системы Mathematica и отформатирован соответствующим образом для просмотра в формате CDF.
Текст может быть встроен для создания тематического фона и ориентации пользователя с помощью модуля. Важно отметить, что пользователю достаточно иметь CDF проигрыватель, чтобы просмотреть документ, который доступен в виде бесплатного скачивания.
Демонстрационные исходные коды доступны для загрузки и могут служить шаблонами или примерами.
Дополнительным положительным побочным эффектом использования технологии Wolfram CDF для реализации модулей является повышение видимости, которое возможно благодаря такой рекламе.
4. Python
Как и JavaScript, Python является интерпретируемым языком программирования. Однако, он обычно используется для разработки настольных приложений или для написания сценариев на стороне сервера, а не в веб-приложениях, запускаемых в браузере.
Недостатком Python как технологии разработки модулей является то, что она требует, чтобы пользователи загружали и вручную запускали ПО на своих компьютерах, а сами пользователи уже установили фреймворк Python.
ПО, разработанное в Python, не обязательно должно устанавливаться конечными пользователями и может быть запущено в виде отдельного файла ASCII сценария.
Хостинг программного обеспечения может осуществляться с использованием любого веб-пространства или службы файлового хостинга.
Как и JavaScript, для изучения Python доступно много онлайн-учебников по программированию (например, CodeAcademy). Библиотека matplotlib позволяет создавать сложные визуализации данных с помощью Python.
Любая визуализация Matplotlib может быть выполнена анимированной и интерактивной с помощью объектно-ориентированного интерфейса программирования для добавления настраиваемых кнопок, переключателей, ползунков и других объектов интерфейса. Как и в случае с d3, код для графиков из библиотеки примеров может быть использован в качестве шаблонов для студенческих проектов.