Pump.io
作者 | Evan Prodromou |
---|---|
開発元 | E14N |
最新版 | |
リポジトリ | |
プログラミング 言語 | JavaScript / Node.js |
対応OS | クロスプラットフォーム |
種別 | Web application framework,ミニブログ |
ライセンス | Apache License, Version 2.0[3] |
公式サイト | pump.io |
Pump.io("ポンプアイオー"と発音)[4]とは﹁本当に人々がソーシャルネットワークに期待していることのほとんどができる﹂と称する[1]汎用Activity Streamsエンジンであり、連合型ソーシャルネットワークプロトコルの実装の一つである。StatusNetの後を追ってEvan Prodromouによって開発が始められ[5]、2013年には最大のStatusNetサービスであったidenti.caのバックエンドを置き換えるに至った[6]。Twitterに似た機能の提供を志向するStatusNetに対し、Pump.ioはより汎用的なSNSとしての機能を提供し、他のウェブサービスとの相互連携に注力する作りになっている[7]。
技術[編集]
先行しているStatusNetに対しより軽量かつ効率的であることを目指して設計されており、 Node.jsで動作する。データ転送や操作にはシンプルなRESTの受信APIであるActivity Streamsを用いている。 Pump.ioの動作環境は以下のようなものである: ●node.js ●npm ●データベース(通常はMongoDBやRedisのようなNoSQL データベースなどを使用するが、データバンクと呼ばれる抽象化レイヤーを用いて他の方法を用いることもできる。 ) ●GraphicsMagick "gm"コマンド Pump.ioはRaspberry PiやBeagleBone Blackのような低性能のハードウェアでも快適に動作する。Web UIの他にもクライアントAPIを用意している。連合[編集]
分散型SNSの一つであるPump.ioにおいては、ユーザーは所属するサーバーだけでなく他のサーバーのユーザーとフォローを交わすことができる。制限および課題[編集]
2017年現在でもPump.ioではグループ[8]、ハッシュタグ[9] や人気投稿のリストページ[10]などのStatusNet(現GNUSocial)の幾つかの機能が未実装のままである。標準化[編集]
2014年に立ち上げられた[11]W3C Federated Social Web Working Groupは、OStatusプロトコルの後継としてpump.ioのプロトコルを基にActivityPubプロトコルの策定を開始した[12]。2017年8月現在[update]、勧告候補の状態である。脚注[編集]
(一)^ abpump.io
(二)^ “Releases · pump-io/pump.io”. Github. 2017年8月5日閲覧。
(三)^ “website”. 2014年3月22日閲覧。 “Licensed under the Apache License, Version 2.0 (the "License")...”
(四)^ “E14N Post”. 2014年3月21日閲覧。
(五)^ Behrenshausen, Bryan. “pump.io: the decentralized social network that's really fun”. opensource.com. 2014年3月21日閲覧。
(六)^ Nathan Willis (2013年3月27日). “StatusNet, Identi.ca, and transitioning to pump.io”. LWN.net. 2014年3月20日閲覧。
(七)^ Christopher Allan Webber (2013年10月24日). “Pump API progress video”. mediagoblin.org. 2014年3月22日閲覧。
(八)^ “Groups”. 2014年3月20日閲覧。
(九)^ “Automatically link hash tags”. 2014年3月20日閲覧。
(十)^ “'Popular'”. 2014年3月20日閲覧。
(11)^ https://www.cnet.com/news/w3c-tries-building-social-networking-into-the-web/
(12)^ https://zenhack.net/2016/05/29/sandstorm-and-the-social-web.html