Pump.io (pronounced "pump eye-oh") is a general-purpose
activity streams engine that can be used as a
federated social networking protocol which "does most of what people really want from a social network".
[ Started by ]Evan Prodromou
Evan S. Prodromou (born 14 October 1968) is a software developer and open source advocate. His major contributions have been Wikitravel (with Michele Ann Jenkins), Identi.ca, and StatusNet.
In 2015, he launched Fuzzy.ai, an artificial intell ...
, it is a follow-up to StatusNet; Identi.ca
identi.ca was a free and open-source social networking and blogging service based on the pump.io software, using the Activity Streams protocol. Identi.ca stopped accepting new registrations in 2013, but continues to operate alongside several o ...
, which was the largest StatusNet service, switched to pump.io in June 2013.
Technology
Designed to be much more lightweight and efficient than its StatusNet predecessor, Pump.io is written in Node.js
Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code ou ...
and uses Activity Streams as the format for commands and to transfer data via a simple REST
Rest or REST may refer to:
Relief from activity
* Sleep
** Bed rest
* Kneeling
* Lying (position)
* Sitting
* Squatting position
Structural support
* Structural support
** Rest (cue sports)
** Armrest
** Headrest
** Footrest
Arts and entert ...
inbox API.
Pump.io requires:
* node.js
Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code ou ...
* npm
* a database server (typically NoSQL
A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
databases such as MongoDB
MongoDB is a source-available cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Serve ...
or Redis
Redis (; Remote Dictionary Server) is an in-memory data structure store, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Redis supports different kinds of abstract data structures, su ...
, though there are other options through the database abstraction layer called Databank)
* GraphicsMagick
GraphicsMagick is a fork of ImageMagick, emphasizing stability of both programming API and command-line options. It was branched off ImageMagick's version 5.5.2 in 2002 after irreconcilable differences emerged in the developers' group.
In additi ...
with the `gm` command
Pump.io can run easily on low-resource hardware (such as a Raspberry Pi
Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
or BeagleBone Black
The BeagleBoard is a low-power open-source single-board computer produced by Texas Instruments in association with Digi-Key and Newark element14. The BeagleBoard was also designed with open source software development in mind, and as a way of de ...
). It can be used via the Web UI, or other clients via the API.
Federation
As a distributed social network
A distributed social network or federated social network is an Internet social networking service that is decentralized and distributed across distinct service providers (similar to email, but for social networks), such as the Fediverse or the Ind ...
, Pump.io is not tied to a single site. Users across servers can subscribe to each other, and if one or more individual nodes go offline the rest of the network remains intact.
Limitations and issues
Features that were present in StatusNet are still (as of October 2017) not implemented in Pump.io, such as Groups, hashtag
A hashtag is a metadata tag that is prefaced by the hash (also known as pound or octothorpe) sign, ''#''. On social media, hashtags are used on microblogging and photo-sharing services such as Twitter or Instagram as a form of user-generated ...
s, and page listing popular posts.
Standardization
The W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
Federated Social Web Working Group, launched in July 2014, has produced the ActivityPub
ActivityPub is an open, decentralized social networking protocol based on Pump.io's ActivityPump protocol. It provides a client/server API for creating, updating, and deleting content, as well as a federated server-to-server API for deliver ...
standard, based on the protocols used in pump.io as a likely successor to OStatus
OStatus is an open standard for federated microblogging, allowing users on one website to send and receive status updates with users on another website. The standard describes how a suite of open protocols, including Atom, Activity Streams, WebS ...
. It was officially published as a Recommendation on 23 January 2018.
See also
*
References
External links
Pump.io homepage
{{Microblogging
Free software programmed in JavaScript
Social networking services
Web applications
Microblogging software
Distributed computing