Что за штука Pump.io ?

                        Что за штука Pump.io?

pump-io

Давайте начнем с простого вопроса: не могли бы вы дать определение pump.io?
Pump.io (http://pump.io) — это открытая программа, способная выполнять и поддерживать все функции, ныне имеющиеся в классических интернет- или мобильных соцсетях. Эван Продромоу [Evan Prodromou] выпустил ее в конце 2012 на смену другому своему проекту: StatusNet, лежащему в основе Identi.ca — популярной альтернативы Twitter.

Что?.. Зачем?! Что не так со StatusNet и Identi.ca?
— Да в целом, все в порядке… кроме одного. Громкий успех службы микроблоггинга в Identi.ca не оставил времени и/или потребности для создания других, независимых сервисов, что и являлось главной целью написания StatusNet.
Поэтому Продромоу заявил, что в 2013 StatusNet будет «закрыт» в пользу pump.io. На практике, код StatusNet будет доступен как и прежде, и уже есть люди, готовые его поддерживать. Identi.ca же станет одним из сервисов на pump.io.


Это обнадеживает, но в чем же главные преимущества pump.io?
— В основе всего проекта лежит идея сделать так, чтобы сами люди (наконец-то) стали важнее отдельно взятой социальной сети или приложения, выступающего средством их общения. Для этого в pump.io используется лицензия Apache (дабы ускорить его внедрение в максимальное число продуктов), простой интерфейс REST и, что самое главное, федерация.

Что такое программная лицензия, я знаю, а что это за REST?
REpresenrtational State Transfer — это открытый протокол, предназначенный для обмена запросами между независимыми клиентами и серверами, и ответами о состоянии обобщенных ресурсов. Отдельные URL в Twitter или Flickr, по которым вы щелкаете, чтобы посмотреть чью-нибудь ленту, являются примерами использования служб REST на практике.

Технологически, главные преимущества REST — простота и то, что для сообщений используются открытые форматы, такие как XML или JS0N, которые легко читаются многими различными программами.

Вы упомянули, что в pump.io REST служит только как простой API?
— Вы правы. Pump.io сознательно разработан так, чтобы лишь немного превосходить обычный программный интерфейс сервера или приложения. Создание приложений для соцсетей в явном виде передается другим компаниям.

Смотрите так же   Опыт прохождения собеседования в иностранную компанию

А что насчет федерации? Star Trek ведь тут ни при чем, верно?
— Ни при чем, и с этим все тоже очень просто. Чтобы написать в Twitter, нужна учетная запись на одном из его серверов и возможность к нему подключиться. Чтобы прочитать ваши твиты, всем вашим друзьям необходимо также иметь учетную запись, или, если они в открытом доступе, по крайней мере зайти на сайт Twitter.

To есть федерация — это противоположность тому, что есть на Twitter, Facebook и Google Plus?
— Вроде того. Федерация — это свободное объединение разных программных пакетов, расположенных на абсолютно независимых серверах, посредством открытых стандартов, так что на вид общение протекает с использованием единой службы и интерфейса. Одна из ключевых целей федерации в pump.io — вытеснить, хотя бы частично, централизованные инфраструктуры, поддержка которых очень дорого обходится организациям, и в то же время они легче отслеживаются методами наподобие PRISM.

Так, вот это уже интересно, но что именно я получаю, заведя учетную запись на сервере pump.io?
-Типовая реализация pump.io позволяет своим пользователям «что-нибудь» публиковать, а подписчикам — видеть ленту их активности. В это самое «что-нибудь» может входить практически все, что можно оцифровать, при условии правильного форматирования: географическое положение, события, тексты любого объема, мультимедиа и даже ходы в игре. В текущих версиях pump.io уже поддерживаются самые распространенные функции соцсетей, такие как следование за друзьями или выставление оценок.

Как же мне попробовать общение через pump.io?
— Способов два. Первый — это установить собственную версию сервера. Второй, гораздо проще, — загрузить в своем обозревателе страницу http://pump.io/tryit.html, которая наугад выберет любой из уже открытых серверов и перенаправит вас туда. Делается это специально: и для того, чтобы распределить нагрузку между максимальным количеством серверов, и чтобы «запустить» федерацию, в отличие от того, как это было со StatusNet и Identi.ca.

Смотрите так же   Отключаем отслеживание нажатий клавиатуры в Windows

А как я потом буду попадать в созданную мною учетную запись? Только через браузер?
— Не обязательно. Прямо сейчас есть, по крайней мере, один настольный клиент pump.io, называется он Dinara (_http://iancoding.wordpress.com/dinara) и предоставляет прямой доступ к вашей учетной записи. Надеемся, вскоре число подобных клиентов — и настольных, и мобильных— увеличится.

Минуточку. Разве социальные сети не для общения? Как же мне найти других людей, без центрального-то сервера?
— Хороший вопрос. Действительно, децентрализованная природа pump.io несколько усложняет эту задачу по сравнению с Facebook или другими аналогичными соцсетями. Сегодня для того, чтобы отслеживать других пользователей, нужно сначала узнать их сервер pump.io и перейти туда. Далее вы щелкаете на Вход (не спрашивайте, зачем), а затем на появившуюся кнопку Отслеживать. Со временем это все, конечно, станет проще, но навряд ли поиск друзей станет таким же гладким, как на Facebook. Это необратимый минус федерации, но, уверяю вас, дело стоит того, чтобы немного повозиться.

А как насчет содержимого, в таком случае?
— В Facebook и Twitter есть единая строка поиска, через которую можно найти любые посты. — В pump.io такое возможно?
— И нет… и да (отчасти). У любого пользователя pump.io есть лента внешней активности, где отражаются все его события, и внутренней, куда поступают уведомления обо всех событиях его друзей по данной учетной записи. Естественно, эти данные может просматривать кто угодно, но единого хранилища информации по всем пользователям нет.

Я понимаю, что pump.io принципиально избегает централизации, но вы все-таки сказали «да… (отчасти)».
— Имелось в виду вот что. По умолчанию, все серверы pump.io перенаправляют все открытые данные на резервный сайт. Подключившись к нему, любое приложение или поисковик получает к ним доступ. В качестве основного выступает сайт _http://ofirehose.com. однако администраторы pump.io могут выбрать другое расположение или отменить пересылку информации.

Смотрите так же   Настройка связки nginx + php-fpm

Bы упомянули события и ленты активности. Что конкретно имеется в виду?
— Под событиями в pump.io понимаются описания всего, что происходит с, или между, пользователями. Поскольку данные форматируются, то почти все, что имеет так называемую структуру «подлежащее-сказуемое-дополнение», например: Джон-загрузил-изображения или Конни-подружилась-с Марком, может быть событием pump.io.
Создание новых объектов, например, постов, считается важным событием. К маловажным относится, в основном, изменение уже существующих объектов, включая тип взаимоотношений между пользователями в так называемом социальном графе.

Похоже, все довольно просто. Значит, ленты — это просто последовательность событий, объединенных общей темой, так?
— Да. Еще одно важное свойство лент — видят их только те, кому они предназначены, от одного пользователя до всех на свете и всего, что в этом промежутке, включая членов конкретного списка или проекта. Можно сказать, что вся работа pump.io и состоит в том, чтобы распространять ленты по разным группам пользователей.

Расскажите, как запустить pump.io самому, на собственном сервере? Что для этого нужно сделать?
— Для начала, вам нужно скачать ПО и, не вдаваясь в технические детали, запустить его как web-сервер с портом TCP 80 или 443. Естественно (если только вы не используете какой-нибудь прокси), это действие перекроет любой привязанный к этому -адресу web-сервер. Далее важно будет определить драйвер банка данных. Банк данных — это основной уровень абстракции, поддерживающий NoSQL и связанные с ним базы данных. На текущий момент, с pump.io рекомендуется использовать СУБД Couchbase, MongoDB и Redis.

Пожалуй, перспективы у соцсетей на базе pump.io многообещающие. Где можно узнать о нем побольше?
— Помимо домашней страницы pump.io, я бы советовал посетить _http://activitystrea.ms и _https://e14n.com/evan.

В следующей статье опишу мануал по настройке pump.io на своем сервере.

Может быть интересно:

Добавьте комментарий