Как стать автором
Обновить
0
e-legion
Делаем приложения, которыми пользуются миллионы

Nerd-o-meter — с чего пишут твитты

Время на прочтение 2 мин
Количество просмотров 4.5K
Серым и дождливым питерским вечером пара наших программистов, желая подтянуть знания в JS, HTML и CSS, написали интересный проект для любителей статистики.

image

Nerd-o-meter — это сервис, позволяющий узнать статистику устройств, с которых пишут твитты. Искать можно как по запросам, так и по конкретным пользователям.


Идея


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

Чуть позже это трансформировалось в идею небольшого сервиса, показывающего статистику по твиттер-клиентам: эта информация элементарно извлекается из API твиттера.

Создание


Сначала это представлялось в виде классического приложения, например на Rails, но в какой-то момент стало понятно что серверная часть тут попросту лишняя: всё что нужно, в частности доступ к Twitter API и построение графиков, доступно прямо в браузере. Таким образом, получился небольшой и легковесный single-page app.

Для построения диаграмм использовался Google Chart Tools, мельком взглянув в сторону нескольких альтернативных решений.

В поиске необходимых для разработки библиотек (хотя в таком небольшом проекте можно было, наверное, обойтись и без них) мне помог отличный сборник microjs.com.

Помимо Chart Tools пригодились следующие библиотеки:
  • Zepto.js: легковесная замена jquery, нацеленная в первую очередь на мобильные webkit-браузеры. Тем не менее, вполне пристойно работает и в качестве «взрослой библиотеки». В ходе работы был найден небольшой баг при работе с FF, но был быстро исправлен патчем, который был позже отправлен (и принят) обратно в проект zepto на GitHub. Используется для манипуляций DOM и аяксовых запросов к API.
  • Underscore.js: на работе один из программистов использовал Scala, поэтому без удобных функциональных способов работы с коллекциями (хотя бы map/filter) он чувствовал себя как без рук. Underscore предоставлял такую возможность и некоторые другие ФП-плюшки.
  • SugarSkull: первая версия приложения использовала самописный механизм для перманентных ссылок, способных работать целиком на стороне клиента. С введением ещё одного вида статистики (по твитам конкретного пользователя), схема урлов усложнилась и была прикручена эта библиотека. Она представляет собой простой механизм диспатчинга клиент-сайд урлов.
Одним из преимуществ работы целиком в браузере оказалась возможность хостить на гитхабе не только репозиторий, но и само приложение.

В результате мы получили рабочий инструмент для сбора статистики, за что хочется поблагодарить digal, damnerd и Филиппа Нурулина. Теперь мы знаем, например, что ответственный за твиттер Яндекса человек неравнодушен к продукции Apple :-)

image

P.S. Благодаря комментариям в Nerd-o-meter добавлена сортировка результатов по популярности.
Теги:
Хабы:
+26
Комментарии 12
Комментарии Комментарии 12

Публикации

Информация

Сайт
www.e-legion.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия

Истории