Pump.io

Last updated
pump.io
Original author(s) Evan Prodromou et al.
Developer(s) E14N
Initial releaseSeptember 23, 2016;7 years ago (2016-09-23)
Final release
5.1.4 [1] [2] / 18 September 2020;3 years ago (2020-09-18)
Repository https://github.com/pump-io/pump.io
Written in JavaScript, Node.js
Operating system Cross-platform
Type Web application framework
License Apache License, Version 2.0 [3]
Website pump.io

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". [4] [1] Started by Evan Prodromou, it is a follow-up to GNU social (formerly StatusNet), and is designed to be more lightweight and usable for general data instead of just microblogging. [5] The largest StatusNet instance at the time, Identi.ca, which was the largest StatusNet service and ran by Prodromou, switched to pump.io in June 2013. [6]

Contents

As a distributed social network, 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.

The protocol was later used as a template for the creation and standardization of the ActivityPub standard, and development of pump.io has since been discontinued, with the latest version of the engine being released in 2020 and further development of the codebase ending in 2022. [7]

Technology

Designed to be much more lightweight and efficient than its StatusNet predecessor, [5] Pump.io is written in Node.js and uses Activity Streams as the format for commands and to transfer data via a simple REST inbox API. [6]

Pump.io requires:

Pump.io can run easily on low-resource hardware (such as a Raspberry Pi or BeagleBone Black). It can be used via the Web UI, or other clients via the API.

Standardization

The W3C Federated Social Web Working Group, launched in July 2014, [8] has produced the ActivityPub standard, based on the protocols used in pump.io as a likely successor to OStatus. [9] It was officially published as a Recommendation on 23 January 2018. [10] The protocol has since gone on to become the main standard used in the fediverse.

See also

Related Research Articles

<span class="mw-page-title-main">Document Object Model</span> Convention for representing and interacting with objects in HTML, XHTML, and XML documents

The Document Object Model (DOM) is a cross-platform and language-independent interface that treats an HTML or XML document as a tree structure wherein each node is an object representing a part of the document. The DOM represents a document with a logical tree. Each branch of the tree ends in a node, and each node contains objects. DOM methods allow programmatic access to the tree; with them one can change the structure, style or content of a document. Nodes can have event handlers attached to them. Once an event is triggered, the event handlers get executed.

<span class="mw-page-title-main">OpenSocial</span> Public specification aimed at social networking applications

OpenSocial is a public specification that outlines a set of common application programming interfaces (APIs) for web applications. Initially designed for social network applications, it was developed collaboratively by Google, MySpace and other social networks. It has since evolved into a runtime environment that allows third-party components, regardless of their trust level, to operate within an existing web application.

identi.ca Open source social networking and micro-blogging service

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 other pump.io-based hosts provided by E14N which continue to accept new registrations.

<span class="mw-page-title-main">GNU social</span> Free and open source software microblogging service

GNU social is a free and open source microblogging server written in PHP that implemented the OStatus and ActivityPub standard for interoperability between installations. While offering functionality similar to Twitter, GNU social seeks to provide the potential for open and distributed communications between microblogging communities. Enterprises and individuals can install and control their own services and data.

OpenMicroBlogging is a deprecated protocol that allows different microblogging services to inter-operate. It lets the user of one service subscribe to notices by a user of another service. This enables a federation of new communities, as potentially an organization of any size can host a service. OpenMicroBlogging utilizes the OAuth and Yadis protocols and does not depend on any central authority.

A distributed social network or federated social network is an Internet social networking service that is decentralized and distributed across distinct service providers, such as the Fediverse or the IndieWeb. It consists of multiple social websites, where users of each site communicate with users of any of the involved sites. From a societal perspective, one may compare this concept to that of social media being a public utility.

Web of Things (WoT) describes a set of standards by the World Wide Web Consortium (W3C) for the interoperability of different Internet of things (IoT) platforms and application domains.

<span class="mw-page-title-main">Activity Streams (format)</span> File format

Activity Streams is an open format specification for activity stream protocols, which are used to syndicate activities taken in social web applications and services, similar to those in Facebook's, Instagram's, and Twitter's.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

In computing, Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable Web service APIs in a standard way. Microsoft initiated OData in 2007. Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 was standardized at OASIS, with a release in March 2014. In April 2015 OASIS submitted OData v4 and OData JSON Format v4 to ISO/IEC JTC 1 for approval as an international standard. In December 2016, ISO/IEC published OData 4.0 Core as ISO/IEC 20802-1:2016 and the OData JSON Format as ISO/IEC 20802-2:2016.

<span class="mw-page-title-main">OStatus</span> Open microblogging protocol

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, WebSub, Salmon, and WebFinger, can be used together, which enables different microblogging server implementations to route status updates between their users back-and-forth, in near real-time.

WebRTC is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication and streaming to work inside web pages by allowing direct peer-to-peer communication, eliminating the need to install plugins or download native apps.

JSON-LD is a method of encoding linked data using JSON. One goal for JSON-LD was to require as little effort as possible from developers to transform their existing JSON to JSON-LD. JSON-LD allows data to be serialized in a way that is similar to traditional JSON. It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group for review, improvement, and standardization, and is currently maintained by the JSON-LD Working Group. JSON-LD is a World Wide Web Consortium Recommendation.

Distributed social network projects generally develop software, protocols, or both.

<span class="mw-page-title-main">Evan Prodromou</span> American software developer and open source advocate

Evan S. Prodromou is a software developer and open source advocate. He is a co-editor of ActivityPub, the W3C standard for decentralized social networking used by platforms such as Mastodon.

<span class="mw-page-title-main">Fediverse</span> Network of federated social media servers

The fediverse is a collection of social networking servers which can communicate with each other, while remaining independently controlled from each other. Users on different social networks and websites can send and receive status updates, multimedia and other files to and from others across the network.

Micropub (MP) is a W3C Recommendation that describes a client–server protocol based on HTTP to create, update, and delete posts on servers using web or native app clients. Micropub was originally developed in the IndieWebCamp community, contributed to W3C, and published as a W3C working draft on January 28, 2016.

<span class="mw-page-title-main">ActivityPub</span> Decentralized social networking protocol

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 delivering notifications and content.

<span class="mw-page-title-main">Thing Description</span>

The Thing Description (TD) (or W3C WoT Thing Description (TD)) is a royalty-free, open information model with a JSON based representation format for the Internet of Things (IoT). A TD provides a unified way to describe the capabilities of an IoT device or service with its offered data model and functions, protocol usage, and further metadata. Using Thing Descriptions help reduce the complexity of integrating IoT devices and their capabilities into IoT applications.

References

  1. 1 2 "pump.io". pump.io.
  2. "Releases · pump-io/pump.io". Github. Retrieved 2020-12-11.
  3. "website" . Retrieved 2014-03-22. Licensed under the Apache License, Version 2.0 (the "License")...
  4. Prodromou, Evan. "E14N Post". Archived from the original on 22 March 2014. Retrieved 21 March 2014.
  5. 1 2 Behrenshausen, Bryan. "pump.io: the decentralized social network that's really fun". opensource.com. Retrieved 21 March 2014.
  6. 1 2 3 Nathan Willis (March 27, 2013). "StatusNet, Identi.ca, and transitioning to pump.io". LWN.net. Retrieved 2014-03-20.
  7. "Commits · pump-io/pump.io". GitHub. Retrieved 2024-04-04.
  8. Shankland, Stephen. "Social networking built into the Web? W3C gives it a go". CNET.
  9. "Sandstorm And The Social Web". zenhack.net. Archived from the original on 2020-10-30. Retrieved 2017-08-20.
  10. "ActivityPub". www.w3.org.