2010/02/09 段組をキレイにしました!詰まった状態で読んでいただいた方、本当にすみませんでした、、、。
smashmediaの河野さんが自身とブックオフオンラインのアカウントでtwitterにおけるフォロワーのデータをまとめられてたので、それならプログラムを書けば僕も一覧でもっと取得できたり、それをデータベースにためてみて統計を出したり、そのデータで色々議論が生まれればいいなぁなんて思ったりしてプログラムを書き始めてみました。(ちょうどTwitterAPIの勉強もしようかなと思っていたところでしたし。)
Twitterフォロアー実態調査/smashmedia
結論から言うとまだうまく取得できてません。正確にいうと取得できてるんですけどTwitterのAPI制限にひっかかって150件/1hしかとれないのでちょっと工夫が必要な感じ。
とりあえず生のJavaをちろっと書いただけなのでどこまで結局できるか(やるか)わからないんですがここまでの分をとりあえず整理します。
1.アカウントを指定するとフォロワーの統計情報を取得
今回取得してみようとしたデータは以下の項目
・ID
・スクリーンネーム
・名前
・twitterを始めた日付
・最後につぶやいた日付
・つぶやきの数
・フォローしてる数
・フォローされてる数
・URL
上記はアカウントごとにすぐに取得できるので、調べたいアカウントを指定するとまずはフォロワーのID一覧を取得し、そのひとつひとつに対して上記の情報を持ってこれれば一覧で生データリストが作成できます。
つぶやきの一日平均や最後につぶやいてからの時間、フォロー/フォロワーの差などなど色々な切り口であとは見てみるだけですね。
あとは投稿をすべてもってきたりしたら出せるもの
・URLがついているかどうか
・RTかどうか
・@返信かどうか
・特定のワードが入っているかどうか
2.企業アカウントの定点調査
実はコチラのほうが数が少ない分現実的に簡単にできる気がします。
基本的には1番のアプリとデータ内容は変わらないんですが、cronで1日一回定点的にデータを取得して、データベースに保存。
あとから推移を表示したり企業ごとに比較してみたりできれば面白いかと。
日本の企業アカウントに関しては
http://twitter.com/jp_company
で結構まとまっていたりするのでそこを起点にすれば新しいアカウントなども取得していけますね。
個人的には海外のアカウントの情報とも比較してみたいです。絶対数が増えると何が違うのかとか、気になります。
—
技術面でいうと僕の個人的な勉強だったりするのでいろいろと組み合わせて試してみてます。
・開発言語:Java
・開発環境:Eclipse + Google SDK
・実行環境:GoogleAppEngine(クラウド!)
・APIラッパークラス:twitter4J
・DB:BigTable
・フレームワーク:Slim3
・グラフモジュール:amCharts
・proxy:birdnest
[追記]
こういったもので出したデータってもっと公開されてみんなが各々の見解を出せるようにするべきですよね。
[追記2]
まだ全然データ取得とかできてないので「いつか何かで」の話になりますが、twitterに限らず日本市場でのレポートが作れたらぜひ英訳して海外の人にも意見がききたい。日本のデータは結構ニーズありますよ。日本のモバイルのデータとか英訳したら海外で欲しい人たくさんいるとおもうんだけどな。
本家のブログSEM-Analyticsでも書いたのですが、10月から開発部門に異動することになり、えせホリデープログラマーから職業プログラマーになることになりました。
もちろん開発経験は無いので現在Javaの猛勉強中。
3ヶ月間の研修をみっちり受けてついに開発の世界に入ります。
これまで以上にこのブログも更新していかないとと思います。
昨日はちょっと技術よりのイベント「DeskTopLive.xna」に行ってきました。
会場であるsuperdeluxeのサイトを引用すると
「プログラミング環境 (言語)・デザイン環境をテーマにしつつも、プロ向けではなく、デザイン・プログラミングに興味のある方なら誰でも楽しめ「自分もやってみたい」と思っていただけるようなエンターテインメント性の高い場を提供することを目的としています。
難しいことはヌキにして”神”の生プログラミングにドキドキしながら、楽しくお酒でも飲みませんか。という会です。 」
ということで普段のセミナーとかと違って、ライブスペースを貸し切ってプログラマーなどが集まり、プログラムに関連したコンテンツをお酒を楽しみながら、という一風変わったイベント。
コンテンツとしてはそんなに数は多くなくて、いくつかのプレゼンと、ライブプログラミング。
この「ライブプログラミング」というのがすごい。その道の「神」というひとが制限時間内(昨日は2時間半)でお題にそったプログラムをその場でつくっていき、その様子がひたすらプロジェクターで映されるというもの。(解説もあります。)
↑工芸大学の学生チーム
↑「神」ABAさん
今回はxnaというXboxのゲーム開発の統合環境についてで、マイクロソフトさんが協賛だったのでなんとXboxエリートが4台プレゼント!ということでお題は「当選者4人を当てるゲームをつくる」でした。
人がプログラミングをし続けているのを見るというのはあまり機会が無いのですごく刺激的。開発する時の裏話なんかもきけちゃってすごくおもしろかったです。
プログラミングってクリエイティブだと思っているので、たまにはこうやって勉強勉強していない「空気感で伝えるプログラミング」のイベントって必要だと思うんですよね。
僕もいつかは開発系のイベントとかしてみたいなーと思います。
おすすめの詳細レポート!
■「プログラミング」で「ライブ」するイベント、「DeskTopLive.xna」に行ってきたよ!(小太郎ぶろぐ)
□Ustreamによる録画
desktoplive.xna #1
desktoplive.xna #2
desktoplive.xna #3
desktoplive.xna #4
desktoplive.xna #5
desktoplive.xna #6
desktoplive.xna #7
desktoplive.xna #8
desktoplive.xna #9
プログラムというのはヒトの作業をアシストしてくれるというのが役割として大きいんですが、やはり自動処理という部分も性質として大きいですよね。
繰り返し処理とか、ランダム処理とかはやはりプログラムにはかなわなくて、それを活用した自動生成ものを2つ紹介したいと思います。
① Pixel City
3Dによる夜の街を自動生成するオープンソースです。
百聞は一見にしかず、ということで紹介ビデオ。
たくさんのビルをランダムに処理していって、すごく雰囲気のある夜の街を作り出しています。
② Elevated by RGBA and TBC
一見いったい何がすごいの?ただの風景映像?あ、もしかして全部CGだとか?まあ、このくらいのCGはもう結構映画で使われてるよね。
なんて思った方、この映像がすごいのには理由があります。
なんと、ドイツのプログラミングイベント『Breakpoint 2009』で優勝したプログラムで、その部門名、
「4KB部門」
、、、おわかりですか?この映像、たった4KBのプログラムから自動生成されているんです。
4KBといえば4,096バイト。そこら辺のテキストファイルより軽いです。
もう、絶句ですね。レベルの高さ以上に、テクノロジーのすごさを感じます。
1個の細胞からできあがっていく「生物」にはまだまだかなわないですけどね。
Pixel City
Elevated
昔一度は押したことのあるあのコマンド。
そう、コナミコマンド(wiki)です。
「↑↑↓↓←→←→BA」
というシンプルなコードに昔はときめいた(?!)
もんです。
ウェブサイト上でもそのコマンドで遊んでしまおうという
ことで、コナミコマンドで裏技が出てくるサービスを
まとめたサイトが登場しました。
Konami Code Sites
http://konamicodesites.com/
ちなみに、このサイト自体もコナミコマンドじゃないと
入れません、、、笑。
少年の頃の遊びの思いでは、絶対今旬だと思うんですが、
どうなんでしょう?
「仕組み作りの達人」→プログラマー
もう一つのブログ「SEM-Analytics」に書評を
あげました。
仕組み作りという仕事の教科書(SEM-Analytics)
小飼弾の 「仕組み」進化論
posted with amazlet at 09.05.07
小飼 弾
日本実業出版社
売り上げランキング: 750
Amazon.co.jp で詳細を見る
・プログラマーの三大美徳(怠惰、短気、傲慢)
・DRY(RoRで有名になりましたね)
などプログラムを使って仕事をされている方には
当たり前なところがベースにはなっているのですが、
是非プログラムをやらないヒトにも読んでいただきたいです。
「プログラム」というとコードの羅列のイメージですが、
この本の中では使うヒトの「自立した意識」まで含めて
「仕組み」と説いています。
使うヒトと使う目的によってその書かれたコードが
うまく活用されるかは変わってくるのが「テクノロジー」
のおもしろいところです。
エンジニアとマーケターのコミュニケーションギャップにも是非。
ついに「mixiアプリ」が公開されました。
ミクシィは23日、SNS「mixi」上で動作するアプリケーションのプラットフォーム「mixiアプリ」を、8月から正式公開することを明らかにした。
「mixiアプリ」は、外部の開発者でもmixi上で動作するアプリケーションを開発・公開できるプラットフォーム。4月8日に個人でも開発者 に参加できるオープンベータテストを開始しており、8月には一般ユーザーに向けて正式公開する。また、携帯電話向けのmixiアプリについても、5月から ベータテストを開始し、9月に正式公開する予定。
アプリ開発者に対する報酬も発表された。mixiアプリの1ページビュー(PV)あたり最低0.01円が報酬となり、金額はPVに応じて上がっ ていく。また、アイテム課金などを行うための課金システムの仕組みも用意され、課金収入の8割は開発者の取り分となる。このほか、アプリに広告を表示する ことも可能で、独自の広告を表示することができるほか、ミクシィもアプリ向けの広告プログラムを用意する。
(「mixiアプリ」を8月に正式公開、開発者への報酬も公表/Internet Watch)
Facebookはアプリケーションで伸びたといっても過言ではないので、すごく楽しみですね。
個人的には、このようにプラグインやガジェットの開発で、継続的に開発者にお金が回る仕組みが出来上がってくると、いろいろなイノベーションが生まれて面白くなってくるかなと思います。
AppleのApp Storeみたいになっていくのか、楽しみです。
追記:
こんなガジェットあったらいいなー、なんて物があればコメント欄まで。
作れそうなものがあったら作ってみようと思います。
オンラインでPHPファイルを編集できるオンラインエディタ
Online PHP Editor – PHPanywhere.net
外出先とかで開発環境や接続情報が手元になくても
手軽にリモートのPHPファイルを調整できるので
いいかもしれません。
参考:オンラインのPHPエディタ『PHPanywhere』(CREAMU)
Google Visualization API - Google Code
いろいろなデータをビジュアルで表現するときのライブラリとして
使える様々なパターン集。
トップページの説明書は難しいですがギャラリーのサンプルは
すごくわかりやすいです。
Google Visualization API ギャラリー
個人的にはmotion chart(バブルチャート+時間みたいなチャート)
がお気に入りです。Webならではの表現ですしね。
僕みたいな「えせテクニカルスタッフ」にはものづくりのスピードを
あげていけるのですごくうれしいですね。
これらを最適に組み合わせる力が必要だけど。
ブックマークレットからTinyURL!すると自動的にtwitterからの流入ををGoogle Analyticsで計測されるようにしたいっていう話です。
Twitterに新着記事のお知らせから流入しているのかみてみたいところなんですが、現在使っているGoogle Analyticsで何も設定していないとリファラでしか特定できなくて、Firefoxのプラグインからとかいろいろ測定できないんですよね。
ちなみにGoogle Analyticsでするためには
?utm_source=twitter&utm_medium=twitter
をURLの後につけて流せばきちんと測定できます。
(こちらで作れます。)
ただ、毎回それをつけるのも面倒なので、毎回使うTinyURL!のブックマークレットを押したときに自動的にそのパラメータをつけてくれないか、ということでブックマークレットをいじってみます。
javascript:void(
location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href)
)
とりあえずTinyURL!ブックマークレットの中身。
javascript:void(
location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+'?utm_source=twitter&utm_medium=twitter')
)
単純にパラメータを追加
押してみる
おお!動きますね。
でもこれだとどんなURLにでもつけてしまうのでめんどくさい。
ということで、
javascript:(
function(){
lo=location.href;
if(lo.indexOf('lifexweb.com')>-1){
para='?utm_source=twitter&utm_medium=twitter';
}else{
para='';
}
void(location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+para));
}
)();
「lifexweb.com」というドメインの場合のみパラメータをつけるように改良。
これでほかのページではパラメータをつけずに変換可能。
あとは既にほかのパラメータがついているといけないので、
javascript:(
function(){
lo=location.href;
if(lo.indexOf('lifexweb.com')>-1){
if(lo.indexOf('?')>-1){
para='&utm_source=twitter&utm_medium=twitter';
}else{
para='?utm_source=twitter&utm_medium=twitter';
}
}else{
para='';
}
void(location.href='http://tinyurl.com/create.php?url='+encodeURIComponent(location.href+para));
}
)();
とすると
既にパラメータがついていても大丈夫。
利用されたい方がいらっしゃればバグだらけかもしれないですがおいておきます。ドメインのところはそれぞれ修正をお願いします。
TinyURL!+GA