Social StreamはRuby on Rails/Ruby用のオープンソース・ソフトウェア(MIT License)です。

Facebookはグローバルなソーシャルネットワークですが、常にそれだけで良いという訳ではありません。もっと小さいグループや社内、特定のメンバーに対するソーシャルネットワークも求められます。そこで使ってみたいのがSocial Stream、Railsベースの独自のソーシャルネットワーク構築フレームワークです。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.14.44_thumb.1370399658.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.14.44.1370399658.png)
デモサイトです。ログインします。LinkedInやFacebookを認証に用いることもできます。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.15.15_thumb.1370399663.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.15.15.1370399663.png)
ダッシュボードです。中央にあるのがアクティビティで、グループやコンタクトの情報も掲載されています。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.15.54_thumb.1370399667.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.15.54.1370399667.png)
グループに移動しました。個人のダッシュボード同様に発言ができます。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.16.43_thumb.1370399672.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.16.43.1370399672.png)
リポジトリにはアップロードしたファイルがリストアップされています。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.17.14_thumb.1370399676.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.17.14.1370399676.png)
ステータスを投稿する際には公開先を指定できます。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.00_thumb.1370399680.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.00.1370399680.png)
コンタクトの一覧です。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.27_thumb.1370399685.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.27.1370399685.png)
メッセージです。ダイレクトメッセージができます。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.39_thumb.1370399689.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.39.1370399689.png)
OAuth2を使った外部アプリケーション認証にも対応しています。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.47_thumb.1370399692.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.47.1370399692.png)
スイッチセッションでページの管理者に切り替えることもできます。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.54_thumb.1370399696.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.18.54.1370399696.png)
お知らせ一覧です。

[![](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.19.04_thumb.1370399701.png)](http://images.moongift.jp/2013/06/Screenshot 2013-06-05 10.19.04.1370399701.png)
プライバシー設定ももちろんあります。権限によって管理されます。

一般的なSNSに必要な機能は概ね網羅されているようです。添付ファイルのアップロードはできますが、アルバムのような機能はないようです。そういった機能は追加開発しても良いでしょう。Social Streamは素のままで使うこともできますが、Rubygemsとして組み込んで、足りない機能は追加することが可能です。

MOONGIFTはこう見る

Webサービスの細分化と集約は随時繰り返されます。Facebookやmixiが登場した当時(その時はMySpaceが大きかったですが)、各種地域SNSや社内SNSが登場しました。しかし当時はまだSNSに対する理解はそれほど高くなく、流行りきらなかったように思います。しかしここ数年で個別のSNSに注目が再度集まっています。

特に顧客向けのカスタマーサービスの一環であったり、大企業の家族を含めた社員向けポータルの提供と言った形も注目されています。そうしたサービスはASPとしての提供よりも自社で構築したり、カスタマイズ性の高いシステムを用いることが多いようです。オープンソースのSNSも同様にニーズがあるはずです。

Social Stream - A framework for building distributed social network websites

デモ:Social Stream

ging/social_stream · GitHub