Шрифт:
Хотя в США не проводили официального опроса среди групп, работающих с новостными приложениями, общепринятая точка зрения заключается в том, что большинство использует один из этих двух фреймворков для новостных приложений с базой данных. В ProPublica мы используем Ruby on Rails.
С появлением инфраструктуры веб–сервисов (например, Amazon Web Services) также решило проблему замедленного использования веб–приложений.
Помимо этого, мы используем и стандартные инструменты для работы с данными: Google Refine и Microsoft Excel для очистки данных; SPSS и R для создания статистики; ArcGIS и QGIS для создания геоинформационных систем; Git для работы с исходным кодом; TextMate, Vim и Sublime Text для написания кода; и сочетание MySQL, PostgreSQL и SQL Server для работы с базами данных. Мы разработали свой собственный фреймворк Glass на JavaScript, он помогает очень быстро создавать сложные приложения на JavaScript для внешнего интерфейса.
ProPublica— Скотт Кляйн
Зачастую простейший инструмент – лучший инструмент. Переоценить значение электронных таблиц сложно. Но когда все еще работали в DOS, электронные таблицы помогли мне понять сложную формулу партнерского соглашения для владельцев «Техасских рейнджеров» (тогда Джордж Буш еще был одним из них). С помощью электронной таблицы можно выявить резко отклоняющиеся значения или ошибки в вычислениях. Я могу написать скрипт для очистки данных – и многое другое. Для журналиста, работающего с данными, это основной инструмент. Мои любимые инструменты имеют еще больше возможностей: SPSS проводит статистический анализ, а программы для создания графиков позволяют увидеть географические закономерности.
Seattle Times— Шерил Филипс
Я очень люблю программировать на языке Python. Это отличный язык программирования с открытым исходным кодом, которым легко пользоваться (например, не нужно ставить точку с запятой в конце каждой строки). Более того, Python имеет огромный базовый контингент потребителей, поэтому есть плагины (расширения) практически для любых функций.
Мне кажется, журналисты редко пользуются Django. Это фреймворк для веб–приложений на языке Python, инструмент для создания больших приложений с базами данных. Для маленькой интерактивной инфографики это, конечно, чересчур.
Я также работал в QGis — это инструментарий в открытом доступе, который предлагает широкий набор функций для создания геоинформационных системы. Он будет полезен журналистам, которые периодически имеют дело с географическими данными. Если нужно преобразовать геопространственные данные из одного формата в другой, QGis — то что надо. Он может работать практически с любым существующим форматом геоданных (шейп–файлы, KML, GeoJSON и др.). Если нужно вырезать несколько регионов, с этим прекрасно справится QGis. К тому же, вокруг QGis сложилось огромное сообщество пользователей, поэтому в Сети вы найдете уйму ресурсов и рекомендацийпо работе с этой программой.
R создавался главным образом как инструмент визуализации научных данных. Вы вряд ли найдете метод визуализации или обработки данных, который не встроен в R. R содержит в себе все, это универсальное средство анализа визуальных данных. Единственный недостаток, о котором вам следует знать: вам придется выучить (еще один) язык программирования, так как R использует собственный язык. Но как только вы немного освоитесь, то поймете, что более мощного инструмента, чем R, нет. Подготовленные журналисты используют R для анализа огромных массивов данных, который выходит за пределы возможностей Excel (например, если вы работаете в таблице с миллионом строк).
Чем действительно хорош R, так это тем, что вы можете хранить точный «протокол» всех действий с данными на протяжении всего процесса, начиная с чтения CSV–файла до создания таблиц. В случае изменения данных, вы можете создать таблицу заново одним кликом мышки. Если кто–то усомнится в безошибочности вашей таблицы, вы сможете показать источник данных, который позволяет любому самостоятельно в точности воссоздать эту таблицу (или найти ваши ошибки, если они есть).
NumPy и MatPlotLib позволяют делать примерно то же самое, но на языке Python. Они подойдут вам, если вы уже хорошо программируете на Python. По сути NumPy и MatPlotLib — примеры ПО, созданного на Python. Их можно использовать для анализа и визуализации данных, но только для статической визуализации. В них нельзя создавать интерактивные графики с всплывающими подсказками и прочими наворотами.
Я не работаю в MapBox, но слышал, что в нем можно делать сложные диаграммы на основе OpenStreetMap. Например, можно настроить под пользователя стили диаграмм (цвета, легенды и т.д.). У MapBox есть дополнительное приложение, Leaflet. По сути это та же библиотека на JavaScript для составления диаграмм и графиков, но более высокого уровня. Leaflet позволяет с легкостью переключаться с одного поставщика карт на другого (OSM, MapBox, Google Maps, Bing…).
RaphaelJS — библиотека для визуализаций более низкого уровня, которая позволяет работать с базовыми элементами (круги, линии, тексты) и создавать на их основе анимацию, добавлять интерактивные элементы. Шаблонов для столбчатых диаграмм в нем нет, так что придется нарисовать пару прямоугольников самостоятельно.
Тем не менее, все графики Raphael будут открываться в Internet Explorer. Многие другие (даже очень хорошие) библиотеки для визуализации (например, d3) такого свойства не имеют. К сожалению, многие пользователи до сих пор работают в IE, а ни один ньюсрум не имеет права игнорировать 30% своей аудитории.
Помимо RaphaelJS, можно создавать резервный вариант флэш для IE. Именно так поступают в New York Times. Это значит, что каждое приложение придется создавать дважды.
Не уверен насчет полной совместимости визуализаций в RaphaelJS с IE и современными браузерами. Очень часто приложения RaphaelJS работают в IE очень медленно, почти в десять раз медленнее, чем в формате Flash в новых браузерах. Так что резервный вариант в формате Flash может быть хорошим решением, если вам нужна высококачественная визуализация для всех пользователей.