HOME

TheInfoList



OR:

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

*
Comparison of software and protocols for distributed social networking Distributed social network projects generally develop software, protocols Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affai ...


References


External links


Pump.io homepage
{{Microblogging Free software programmed in JavaScript Social networking services Web applications Microblogging software Distributed computing