Home > Webサービス

Webサービス Archive

Skypeで毎度出て来るアイツを消す方法

この記事の所要時間: 045

Skypeを使ってて毎度出てきて気になるアイツの話です。

気が付くとイベント一覧に上がってくるこれ。

これはムードメッセージフィード更新のお知らせです。それほど頻繁では無いのですが、ちょろちょろとイベント一覧に通知が来るので何となく気になります。

ずーと放置していたのですが、やっぱり気になるので表示させない方法を探してオフにしました。

まずムードメッセージフィード更新を一切通知しない方法。

「設定」-> 「詳細」にある「コンタクトのムードメッセージフィードをチャットで表示」にあるチェックを外せばok。

これでムードメッセージが更新されてもイベントが上がらなくなりました。

特定のコンタクトだけ通知をオフにするにはコンタクトの設定にある「ムードメッセージをフォロー」のチェックを外します。

あーすっきり。

朝Twitterにメッセージが届く「ついもーにん!」を作りました。

この記事の所要時間: 354

お知らせ:2010/04/26

「ついもーにん!」をご利用頂きありがとうございます。

サービスイン当初は、毎朝全てのユーザさんにメッセージを送信することを想定していましたが、今後は一日数十ユーザさんに変更したいと思います。

結果、メッセージが届く頻度はばらつきはありますが、数日に一度程度となります。

主な理由としては、Twitterのpost制限の回避、そして多くのpostによってタイムラインが @twmorning の発言で埋まってしまう問題を回避するためです。

なおDMでメッセージを登録頂くと、投稿者アカウントがメッセージに含まれますので、よりmentionが反応する機会が増えます。是非これを機会にメッセージを登録下さい。

まだまだ生まれたばかりのサービスですが、今後とも「ついもーにん!」をよろしくお願いします。

朝あなたのTwitterにメッセージが届く「ついもーにん!」を作りました。


@twmorning

朝起きた時、通勤電車の中、会社についた時、ついつい見てしまうのがTwitter。誰かのつぶやきを見るのも面白いですが、やはり自分宛に投稿があると嬉しいもの。それが誰からのステキなつぶやきやお役立ち情報なら尚更です。

そんなほんの少しだけ朝を彩るサービスが「ついもーにん!」です。

朝メッセージを受け取る

メッセージを受け取るにはTwitterで @twmorning をフォローして下さい。

朝あなた宛にメッセージが届きます。

朝天気情報を受け取る

メッセージの他に天気情報を受け取ることもできます。

@twmoringをフォローした後に、@twmoringあてにreplyで以下のコマンドをつぶやいて下さい。

すると翌朝から天気情報が届きます。

なお「大阪」の部分は天気予報を知りたい地方名を入力します。

地方名はこのエントリ下部のリストから一つ選択して入力して下さい。

メッセージを送る

朝届くメッセージを登録することができます。

このメッセージが誰にいつ(どの朝に)届くかは分かりません。見知らぬ誰かの朝をステキなメッセージを届けて下さい。

メッセージの内容は @twmorning に DM を送って下さい。

登録されたメッセージは翌朝以降に @twmorning をフォローしている人に届けられます。

なおメッセージには送信者であるあなたのTwitterアカウントが記載されます。これをきっかけに良い関係が気付けるようにステキなメッセージを送って下さい:D

ご質問、ご要望は

@shin1x1まで。

天気情報の地方名

以下から一つ選択して@twmorningあてにつぶやいて下さい。

天気予報を設定する

  • 稚内
  • 旭川
  • 留萌
  • 札幌
  • 岩見沢
  • 倶知安
  • 網走
  • 北見
  • 紋別
  • 根室
  • 釧路
  • 帯広
  • 室蘭
  • 浦河
  • 函館
  • 江差
  • 青森
  • むつ
  • 八戸
  • 秋田
  • 横手
  • 盛岡
  • 宮古
  • 大船渡
  • 仙台
  • 白石
  • 山形
  • 米沢
  • 酒田
  • 新庄
  • 福島
  • 小名浜
  • 若松
  • 水戸
  • 土浦
  • 宇都宮
  • 大田原
  • 前橋
  • みなかみ
  • さいたま
  • 熊谷
  • 秩父
  • 東京
  • 大島
  • 八丈島
  • 父島
  • 千葉
  • 銚子
  • 館山
  • 横浜
  • 小田原
  • 甲府
  • 河口湖
  • 富山
  • 伏木
  • 金沢
  • 輪島
  • 福井
  • 敦賀
  • 新潟
  • 長岡
  • 高田
  • 相川
  • 長野
  • 松本
  • 飯田
  • 静岡
  • 網代
  • 三島
  • 浜松
  • 名古屋
  • 豊橋
  • 岐阜
  • 高山
  • 尾鷲
  • 大津
  • 彦根
  • 京都
  • 舞鶴
  • 大阪
  • 神戸
  • 豊岡
  • 奈良
  • 風屋
  • 和歌山
  • 潮岬
  • 岡山
  • 津山
  • 広島
  • 庄原
  • 松江
  • 浜田
  • 西郷
  • 鳥取
  • 米子
  • 下関
  • 山口
  • 柳井
  • 徳島
  • 日和佐
  • 高松
  • 松山
  • 新居浜
  • 宇和島
  • 高知
  • 室戸
  • 清水
  • 福岡
  • 八幡
  • 飯塚
  • 久留米
  • 大分
  • 中津
  • 日田
  • 佐伯
  • 長崎
  • 佐世保
  • 厳原
  • 福江
  • 佐賀
  • 伊万里
  • 熊本
  • 阿蘇乙姫
  • 牛深
  • 人吉
  • 宮崎
  • 延岡
  • 都城
  • 高千穂
  • 鹿児島
  • 鹿屋
  • 種子島
  • 名瀬
  • 那覇
  • 名護
  • 久米島
  • 南大東島
  • 宮古島
  • 石垣島
  • 与那国島

約半月で 4,000,000PV を華麗にさばく Google App Engine

この記事の所要時間: 66

なんでも判定ツクール」へ多数のアクセスありがとうございますm(_ _)m

1月末にリリースした当初は僅かのアクセスだったのですが、Twitterで火が付いてからは一気にアクセスが集まり、気が付けば2月1日〜2月16日で4,000,000PVを超えました。

自分では絶対に考えつかないであろうユニークな判定がたくさんできて、私自身もとても楽しんでいます:-D(面白い発想をする人は世の中にたくさんいるものです)

このサイトはGoogle App Engine(GAE)+Pythonで構築しているのですが、このアクセス数ならではのGAE上で体験できたことをざざっと書いていきます。

無料?課金?

まずはじめに大事なこと。

「なんでも判定ツクール」ではGAEを課金状態にしています。無料のQuotaではとてもではないですが、このアクセスは捌けません:D

GAE公式サイトには

月間約 500 万ページ ビューに対応できる十分な CPU と帯域幅を、すべてのアプリケーションで完全に無料で利用できます。
Google App Engine について – Google App Engine – Google Code

といった記載があるのですが、少なくともDataStoreを使うような動的サイトでは5,000,000PV/月を無料Quotaで捌くのはかなり難しいと思います。

秒間200リクエスト

アクセスは日によって時間によってバラツキがあるのですが、瞬間最大風速では200超req/s(GAE DashboardのChart上)を記録しました。

この200req/sを記録したのは 2010/02/15 夜だったのですが、ブラウザでサイトにアクセスする分にはそれほど重さは感じませんでした。ですが、実は裏では結構なアクセスをさばいてくれています。

これはGAEの真骨頂とも言える「チャージ金額上限まで自動でリソースを割り当ててくれる」サービスのおかげですね。まさにクラウドです。チャージ上限金額までは負荷に合わせて勝手にリソースを確保していってくれるので、アクセスどんと来いという気持ちになります(比例して財布は少し寂しくなりますが><)

もちろん、これにはアプリケーションの設計も大きく関連します。いくらプラットホームであるGAEがスケールしていっても、アプリケーションがそれを想定していた作りになっていなければアプリケーション側がボトルネックとなります。「なんとか判定ツクール」は業務システムに比べると単純な作りになっているので、このあたりもGAEのスケーリングの恩恵が受けやすいということはあるでしょうね。

1日680,000PV

1日単位で見ると 2010/02/09 に 680,000PV を記録したのが最高値でした。

数値はGoogle Analyticsに記録されたものです。これはPC版の数字なので携帯版を加えるともう少し上乗せされます。

この日は秒間リクエストのピークは160くらいだったのですが、ピーク時以外もアクセスが続いたのでPVが伸びました。PVが伸びた分、課金額も一番です。

この数値を元に単純計算すると 680,000 * 30 = 20,400,000PV/月 はこなせそうです。

DataStoreの総エンティティ数が3,000,000

DataStoreのエンティティ数(RDBMSのレコード数のようなもの)の合計が3,000,000を超えました。

DataStoreにはいくつかのkind(テーブルのようなもの)があるのですが、これは全ての合計です。

中でも一番多いのが判定結果を表すエンティティで、1,500,000くらいです。つまりこれは延べ1,500,000回の判定(!)が行われたということです。(実際は、1,600,000エンティテイあるのですが、初期アプリケーションのゴミデータが含まれるので実質は1,500,000程度。)

これだけのデータがあってもキーを使った読み込みならとても高速に動作します。(これくらいのデータ量ならインデックスが効けばRDBMSでも早いですけどね。)

DataStoreエラー

負荷が上がった際、サイト自体は概ね動いているのですが、実はDataStore周りでいくつかエラーが発生しています。

例えば、平常時は瞬時に返答がある Model.get_by_key_name() でデータを取得するという単純な処理でも高負荷時は DeadlineExceededError が発生する場合があります。

これは避けがたい現象のようなので、クライアント側でリトライ処理を実装するなどして上手く付き合うしかないようです。

bit.ly

当初、判定結果をTwitterに報告する際にURLを短縮する方法としてbit.lyのAPIを利用していました。

これはとても上手く動いていたのですが、アクセス数が伸びるのに従って、bit.ly APIでエラーが発生するようになりました。一度この状態になるとエラーレスポンスが返ってくるばかりで短縮URLへの変換を行ってくれません。数十分経過すると復活するのですが、また負荷がかかると停止してしまいます。

bit.ly API のドキュメントでは1IPあたり同時アクセス数5未満とされているので、制限を超えるアクセスで止められるのは当然だと思います。なのでこれに関しては利用させて頂いてありがとうございますと、ごめんなさいという感じです。

いくらGAE自体がスケールしても、外部サービスに引っ張られて処理できないと元も子もないので、結局短縮URL機能を自作しました。

これには @kis さんとのTwitterでのやりとりが大いに参考になりました。ありがとうございました!

サイボウズさんキャンペーン

サイボウズさんのキャンペーンにて「なんでも判定ツクール」を利用して頂きました。

=>サイボウズコミュニティ – 特集 – 【終了しました】サイボウズ謹製ツバメノートプレゼント!

サイボウズさんにまつわる判定をやって、Twitterで報告するとノベルティが貰えるというキャンペーンだったのですが、多くの方が参加されて盛り上がったようです。

こういったキャンペーンに使えるという視点は当初は持っていなかったので面白かったです。

今後も絶賛募集中ですので、キャンペーンに使ってみたい、という方はご一報頂ければ嬉しいです:D

Google App Engineは使える!

「なんとか判定ツクール」を運営している感覚では、今更ながらですが、やはりGAEは十分に使えるなという印象を持ちました。

なんといってもチャージさえしておけば自動的にスケールしてくれる感覚は素晴らしいですね。これまで突発的な負荷に悩まされた経験がある方なら有難みが特に分かると思います。

もちろんGAEならではの制約(処理時間やDataStore仕様等々)があるので全てのアプリケーションをGAE上で動かすべきとは思わないですが、特性にマッチするアプリケーションであれば検討してみる価値がありますよ。

え、PHPしか書けない?PHP書けたらPython書けます。大丈夫:-D

はてブホットエントリーを見るWebサービス「hot.hatebu」を作りました

この記事の所要時間: 257

はてブホットエントリーを集計して見るWebサービス「hot.hatebu」を作りました。

はてブのホットエントリーを集計して一覧で見るサービスです。機能をざっくり挙げると以下です。

  • 「エントリ」「時間」「タグ」「ユーザ」の集計データを表示
  • 日付範囲を指定して、合算した集計データを表示
  • パネル機能

詳細については説明ページがありますので、こちらをどうぞ。
hot.hatebu | 説明ページ

ここでは作った経緯や使い方のポイントなどを。

週間はてブホットエントリーを見たい

そもそものきっかけは週間ホットエントリーを見たいというものでした。イベントやネットラジオなどで話す時のネタにホットエントリーを使うのですが、公式サイトでは一日単位で見る方法しかありません。

例えば、先週のホットエントリーをまとめて見る場合は1ページづつページを辿るしかありません。

そこで複数日のホットエントリーを合算して見られるサイトが欲しいと思いました。

あとちょうどGAEを試していたので、何か作ってみたいというのも理由の1つです。

平日は12時台、休日は23時台がピーク

実際にやってみて面白かったのが時間別のブックマーク数です。

平日と休日ではっきりと推移が異なります。

・平日(2009/12/07〜2009/12/11)
hot.hatebu | 2009/12/07〜2009/12/11の時間別

・休日(2009/12/12〜2009/12/13)
hot.hatebu | 2009/12/12〜2009/12/13の時間別

平日はオフィスで昼休みにRSS ReaderやTwitterからブックマーク、休日は家に帰って寝る前にWebを眺めてブックマーク、という使い方が多いのかもしれませんね。

パネル機能

あったら面白いなと思っておまけで付けた機能です。

勉強会やネットラジオをやる時、何となく話すネタが欲しい時ありませんか?そんな時にプロジェクタでこの画面を映して、表示されたエントリーについて話ができれば考えています。

イメージとしてはテレビのバラエティで見るパネルですね。

データは2009/12/01〜

データはまだ2009/12/01以降のものだけです。今後のデータは随時、追加していきます。

DataStoreで悩む

GAE+Pythonで作りました。

悩んだのはDataStore周りの実装ですね。どうしてもRDBMS感覚で作ってしまうので、パフォーマンスが出なかったり、30秒制限にひっかかったりで試行錯誤を繰り返しました。

TaskQueueを使う方法が分かってからは何とか形になりました。色々な制限があるGAEでは、TaskQueueをどう上手く使うかがキーですね。

無料のQuotaを超えて課金をはじめると分かりやすく「リソース浪費=コスト(金銭)の浪費」に繋がります。例えば、ロジックの組み方が悪くてCPUを無駄に使えばその分費用がかかります。これまで以上にチューニングや処理の分散化(ブラウザでできることはブラウザにやらせる)といったアプローチが重要になりそうです。

ホッテントリーは面白い

ホットエントリー、はてなブックマークのデータは題材として面白いですね。自分で作ってみても色々な見方ができて楽しいです。

ホッテエントリーのチェックに、話のネタ探しに、ブックマークの分析に使って頂ければ嬉しいです。

Ustream 録画動画のviewsをはてブ風に表示する

この記事の所要時間: 237

Ustreamで録画した動画のviews数をはてブ風に表示するサービスを作りました。

ust録画動画のURLを渡すと以下のように表示します。

64views

使い方

1. views数を表示する

このサービスではviews数をHTMLタグ+JavaScriptで出力します。views数を表示したいページで、以下のscriptタグを記述します。src属性のURLでviews数を表示したいust録画動画のURLを指定します。

<script type="text/javascript" src="http://www.u-st.tv/views?url=%ust録画動画のURL"></script>

ブラウザで見ると以下のタグが表示されます。

<span class="ust_views_10">64 views</span>

今はタグ表示だけですが、要望があればJSON出力とかも考えます。

2. CSS読み込み

はてブ風に表示するスタイルシートを用意しています。以下のスタイルシートを任意の場所に記述するなり、外部ファイルにして読み込むなりして下さい。

span.ust_views_1 {
  color: #f00;
  font-weight: normal;
  background-color: #fcc;
}
span.ust_views_10 {
  color: #f00;
  font-weight: bold;
  background-color: #fcc;
}

viewsが10未満なら「ust_views_1」、10以上なら「ust_views_10」がspanタグのclass属性に割り当てられます。見た目を変えたい方はスタイルシートで調整して下さい。

ブックマークレット

簡単なブックマークレットを作りました。ブラウザのブックマークツールバー等にドラッグして利用して下さい。

[http://www.ustream.tv/recorded/3535672

その状態でブックマークレットをクリックします。すると以下のようなHTMLタグが別窓に表示されます。

<a href="http://www.ustream.tv/recorded/3535672" target="_blank">第0回 Webなんたらかんたら 2009.12.28., shin1x1 on USTREAM. Radio</a><script type="text/javascript" src="http://www.u-st.tv/views?url=http://www.ustream.tv/recorded/3535672"></script>

あとはこのタグをblog等に貼れば、views数が表示されます。

第0回 Webなんたらかんたら 2009.12.28., shin1x1 on USTREAM. Radio

GAE+Pythonでさくっと

作りました。

独自ドメイン(u-st.tv)をGAEサイトに割り当てています。実はnaked domain(http://u-st.tv)にしたかったのですが、GAEでは割り当てができないようで、www.u-st.tvにしています。

あと表示の度にustream.comにリクエストを投げるのは非効率なので一定時間キャッシュするようにしているので、ご注意を。

使い方も簡単なので、ust動画リンクのお供に使ってみて下さい。

写真から年齢を当てるサイト howoldareyou.net

この記事の所要時間: 056

ドメイン名そのままのサイト。

howoldareyou.net

「この人は何歳だと思いますか?」

という感じで、表示される顔写真を見て年齢を当てます。

年齢は以下から選択します。

年齢をクリックすると画面右に正解が表示されます。

実年齢(20才)、回答の実年齢との差分(+10才)、そして写真下には平均回答年齢(28.5833才)が出ていますね。

若そうに見えて意外と、と狙って30才にしたら20才の方でした。。。でも平均で28.5ということは実年齢より上に見える人なのでしょう。

という感じで遊ぶサイトです。

PCで一人でやると何枚かやるともうお腹一杯になってくるので、iPhoneとかでみんなでやると面白いかもしれませんね。

あと画面右上の「Add Your Picture」から自分の写真を登録することもできます。削除方法が明示されていなかったりするので、試す人は自己責任でどうぞ。

自分のも上げてみたのでもし遭遇した人がいれば、よろしくお願いします。

携帯サービス「おでかけくん」をリリースしました

この記事の所要時間: 38

ちょっと便利な携帯サービス「おでかけくん」をリリースしました。

odkk

お出かけ先を登録することで、天気予報やグルメ情報、ニュースといった情報を携帯で見ることができます。またアラートメール機能を使うと設定した時間に帰宅時間を知らせるメールが送信されます。これでうっかり終電を逃すことも避けられますね:-D

サービスの内容はサイトを見て頂くのが早いと思うので、ここでは制作について。

女性向け

デザインを見て頂ければお分かりだと思うですが、女性を意識したサイトになっています。

Webサービスは数あるのですが、特に個人で作れるような小規模なものとなると、どちらかと言うと「Webに詳しい人のためのサービス」というのが多くて、もっと普通の人が使えるサービスを作りたいという想いがありました。

なかでも女性向けのWebサービスは少ないので、この企画を考えました。

技術志向のサービスはもちろん素晴らしいのですが、それだけではなく技術的にはありきたりのものでも、誰かの役に立つサービスがもっと増えれば良いですね。

Mashup Award 5

マッシュアップサイトのコンテストであるMashup Award 5に応募しています。

作品#220 おでかけくん

目標があった方が開発も進むだろうということで応募することを決めたのですが、開発開始から応募締め切りまであまり時間が無かったので、最後はバタバタでした。。。

賞は、、、どうなるか分かりませんが、このイベントのおかげで目標設定ができ、おでかけくんを構築することができました。

技術構成

構成は1×1では定番の PHP + CakePHP + PostgreSQL です。CakePHPには社内標準ライブラリをまとめたプラグインがあるのでそれを活用しています。

技術的にはそれほど特筆すべき点は無いのですが、マッシュアップサイトならではの苦労というか悩みがありました。

いくつかの外部WebAPIを利用させて頂いているのですが、目的は合致していても欲しい項目が足りなかったり、制限があったりで、WebAPIにコンテンツ内容を合わせざるを得ないところがありました。

チーム開発

これまで幾つか自社(自分)運営のWebサービスを作ってきたのですが、それらはどれも私が一人で構築していました。

「おでかけくん」はここがこれまでとの大きな違いで、今回は1×1としてチームで構築を行いました。私自身は意識的にコードは書かないようにして、企画やディレクションといった「口を出す側」に徹しました。

結果として無事にサービスをリリースすることができ、これはとても良い方向に向かったと感じています。

開発スキルとしては社内で十二分に構築できるのは分かっていたのですが、意識の面で主体的にアイデアを出して実装を考えて構築するというのが経験できたのが収穫でした。

また口うるさいクライアント(私)が近くにいるというのも一つの経験になったかと:-D

締め切り直前に

10月入った段階ではまだ真っ白な状態でそこから本業もやりつつの開発だったので、とにかく時間が足りませんでした。

とくに締め切り直前にCakeMatsuriがあって、さらに私が新型インフルエンザで床に伏すという事態になり、どうなるかと思ったのですが、前途したチーム開発のおかげで無事にリリースすることができました。

リリース時は、布団の中で携帯でサイトを見て、にやにやしていました:-D

しっかりとサービスを構築してくれたスタッフには感謝の気持ちで一杯です。ありがとう!

それほど派手な機能は無いですが、ちょっと便利なWebサービスになっています。登録も簡単なので是非使ってみて下さい。

おでかけくん

シンプルなTwitter検索「findTwitter」を作りました&ソース公開

この記事の所要時間: 326

AutoPagerize対応したシンプルなTwitter検索「findTwitter」を作りました。

findTwitter

Twitterのつぶやきを検索

機能はシンプルです。テキストボックスに検索したいキーワードを入力して、「検索する」ボタンをクリックするとキーワードに合致したつぶやきを表示します。

「shin1x1」で検索

find_twitter_screen

検索パターンとしては以下のような組み合わせが可能です。

  • 単語で検索。(ex. [CakePHP])
  • スペースで単語を連結してAND検索。(ex. [PHP カンファレンス])
  • 「OR」で単語を連結してOR検索。(ex. [shin1x1 OR msng])

仕組み

TwitterAPIを叩いているだけ

仕組みはごくごく単純でTwitterの検索APIを叩いてるだけです。

検索結果はAPIの挙動に依存しているので、検索漏れや古いつぶやきが検索対象にならないなど現象があります。

CakePHP

CakePHP1.2.4を利用しています。上記のようにAPIを叩いてるだけなのでDBは使っていません。

レンタルサーバで動作

ごく普通のレンタルサーバに置いているだけです。

ソースを公開

このサービスの本質はこちらです。

findTwitterのソースコードはgithubにて公開しています。

動作環境は、PHP5以上でCakePHPが動けば問題無いと思います。ライセンスはCakePHPに習ってMITライセンスにするので、ご自由にご利用下さい。

githubは分からない方にはZIPアーカイブも用意しています。下のリンクからもダウンロードして下さい。

CakePHPで動くサンプルを

CakePHPはフレームワークとしては多くの導入事例があるのですが、CakePHPを利用したオープンソースシステムが公開されている例は実はあまりありません。

最近では、私も(いちおう)参加しているPHP版Redmine「candycane」があるですが、これはRedmineという開発のプロが実務で利用しているシステムの移植ということで、これからCakePHPを使いたい人が参考するには大きいかな、という印象があります。

そこで全体は小さいものの、一つのシステムとして稼働するサンプルとしてfindTwitterを作りました。

WebサービスAPIを使ったシステムということで、手軽にサービスを作ってみたい人にはサンプルとして参考になるかと思います。

フレームワークを除いたソースは少しだけなので、特に難しいところは無いと思うのですが、いずれblogで解説を書くなり、発表するなりしたいと思います。findTwitterをベースにWebサービスを作る勉強会なんかも良いですね:-D

フレームワークだけで

こういった主旨なのでCakePHPの機能だけで作りました。

普段は自社で蓄えているプラグインやライブラリを活用しているのですが、今回は素のCakePHPだけで作っています。まあ、findTwitterは仕様も単純ですし、もともとCakeは機能が揃っているので特に困りませんでした。

また、どこでも動くようにということでfind-twitter.inはレンタルサーバ(チカッパ!)に設置しています。

レンタルサーバに設置するだけで動くCakePHPの良さを再認識しました:-D

楽しさを

Webサービスを作るのは大変なこともありますが、本当に楽しいものです。特にTwitterがある今ではユーザさんからリアルに反応を貰うことができます(もちろん非難もありますが><)。自分が作ったサービスで誰かがわくわくしているかもと思うと、ニヤニヤが止まりません:-D

findTwitterをきっかけに新たなWebサービスが生まれて、その楽しさを皆で享受できれば嬉しいです。

Twitter フォローokな人を探す「follow ok」を作りました

この記事の所要時間: 31

Twitterでフォローokな人を探すサービスを作りました。

follow-ok

誰をフォローすれば?

ある時、ふとTwitterでフォローする人を増やしたいなと思い立ちました。そこでふと湧いた疑問が2点。

1. フォローする人をどうやって探す?
まず誰をフォローしようかと。フォローする人リストはあちこちのサイトにあるので、そこからフォローするのが早いです。(ちなみにPHPな人ならこんなリストがあります。)
ただこういったリストに入っている人は有名人な分野が偏っていたりで、多様な人をフォローしたいというニーズには合いません。また有名人系はそもそもフォローしてたりするので、さらに増やすとなると他で探す必要があります。
フォローするためにユーザ一覧が欲しいな
2. この人フォローしてもok?
何とかフォローしたい人は見つけたとして、いざフォローしようとした際、フォロー/フォロワーが20人以下のユーザだと何となく気が引けませんか?
もちろんTwitterではprotectedな人以外はフォロー自由なので、特に気にする必要は無いのですが、フォローする人のフォロー/フォロワーが少ないと「身内だけで楽しんでいるのかな?」といらぬ気を遣って、何だかフォローするのをためらってしまいます。
フォローしてもokなことを表明してくれるとフォローしやすいな

follow ok

という流れで作ったのが 「follow ok」 です。

「follow ok」では、二つの機能があります。

1. ユーザを探す

フォローしたいユーザを探します。このサービスではユーザが自ら登録を行っているので、安心してフォローすることができます。

1-1. キーワードを入力して検索

follow_ok_textbox

登録ユーザは自分のキーワード(タグ)を登録してるので、キーワードを指定することにより、該当するユーザを検索することができます。

1-2. キーワード(タグ)をクリックして検索

follow_ok_user

ユーザ表示の下部にはそのユーザが登録したキーワード(タグ)が表示されています。これをクリックすると同じキーワードを登録しているユーザが表示されます。

2. 自分を登録する

自分自身もフォローokなら「follow ok」に登録しましょう!

登録はTwitterから「@follow_ok」につぶやくだけでokです。

follow_ok_twit

つぶやいて数分経つと 「follow ok」 に表示されます。

キーワード(タグ)を登録する

つぶやく時はキーワード(タグ)を指定しましょう。登録したいキーワードを[]で囲んで下さい。上の画面例なら[cakephp][iphone][大阪]の4つがキーワードとして登録されます。

@follow_ok」につぶやけば何度でもキーワードを登録することができます。キーワードは毎回上書きされるので、最後につぶやいたものが登録されます。

下のアイコンをクリックするとそのまま@follow_okにつぶやけますよ:-D

follow_ok_register

follow okからのフォローも

Twitterでリリースをつぶやいて、100人超の方に登録頂けました(ありがとうございます!)。Twitterだと反応が直ぐに貰えるので、とても嬉しいです。中には「follow okからフォローしてもらえたよ」と言って頂ける方もいらっしゃいました。

今後も何か気になることがあれば「@shin1x1」までつぶやいて下さいm(_ _)m

フォローする相手を探す方も、フォロワーを募りたい方も、活用して頂ければ嬉しいです。

よろしくお願いします!

ATND 参加イベントサーチを作りました

この記事の所要時間: 153

いまやイベント開催には欠かせない「イベント開催支援ツール:ATND」のAPIが公開されたのでサービスを作ってみました。

euser

参加イベントサーチ

名前は「参加イベントサーチ」です。

何ともひねりのない名前ですが、あえてひねらず「直球」でいきました:-D。

blogやTwitterで知っているあの人がどんな勉強会、イベントに参加しているかを検索するサービスです。ATND APIを使っているので、検索対象となるのはATNDで参加申込をしたことがある人です。

また自分がどのようなイベントに参加しているかを示す履歴としても見れますね。

使い方

使い方はいたって簡単です。

テキストボックスにATNDに登録しているユーザ名(ニックネーム)を入力して「参加イベントを見る」ボタンをクリックするだけです。

入力したユーザがATNDからで参加したイベントが一覧で表示されます。今のところイベント開催日時の逆順で並べています。

ちなみに結果のURLはpermlinkとなっているので、blogに貼ったり、Pokenに登録したりできます:-D

地味にTwitter連携

地味というかアクセント的にですが、Twitterへリンクを貼っています。

euser_twitter
検索ユーザ名と同名でTwitterにアカウントがあれば、表示されます。
アイコンをクリックするとTwitterページへリンクへ遷移します。

euser_twit_this
検索結果のURL(permlink)をTwitterに投稿します。

スペック

CakePHP1.2.3ベースで動いてます。今回はAPIでデータは完結するので、DBは一切使ってません。

いやあ、この手のサイトを作るなら、ホントにCakeは早いッス(作るのが)。

これから機能追加

ちょうど別件でサービスを仕込んでいるのですが、ATND APIを使うとわりと近いことがささっとできそうだったので、速攻で作りました:-D

このサイトは試験的なのですが、機能追加するならば、参加履歴をblogに表示できるようにblogパーツが良いかなと思ってます。

近いうち(テンションが落ちなければ><)に同じ系統のサービスを公開するつもりですので、良かったら使ってやって下さい。

ホーム > Webサービス

検索
フィード
メタ情報

Return to page top