CountDown LastFM Rankingというサービスをリリースしました。


CountDown LastFM Rankingというサービスをリリースしま(した|す)。


http://koba04.com/cdlm/track/jp


  • 正直α版にもいかないくらいのクオリティなのですが、クオリティが上がるのを待っていたらいつまで経ってもリリース出来ないし、リリースすることでちゃんと改善していこうという意識が高まるかなと思いリリースすることにしました。(君のラジオに触発されたこともあり)

なにそれ?

  • Last.FMでは国ごとに再生された上位50位のランキングを毎週APIで公開しているので、その上位50位の曲をYouTubeから取ってきてカウントダウンしながら連続再生するというウェブアプリです。
  • 今のところ自分が見たい日本とアメリカのイギリスのランキングだけを取得してて、それぞれ下記で公開しています。
  • 日本のランキングはかなりカオスな感じで面白いのですが、洋楽好きな人はukやusのを聴くと楽しいかもしれません。
  • 「アーティスト / 曲名」の下はYouTubeのビデオ名です。
  • Chartタブではランキングを見ることが出来ます。そのうちリンク化します。
  • 別の国のランキングでのリンクをとりあえず「Other」タブに追いやっています。
  • どのタブでもビデオが表示されているのは再生を止めないためです。

コンセプト

受動的なサービス
  • 何か音楽聴きたいけど具体的なアーティスト名が思い浮かばかなかったり、CDTVを観るように音楽を聴きたいというニーズはあるのかなと思い作っていました。
  • ホントはLast.FMのアカウント名を入れるとその情報を元にYouTubeの動画を連続再生するものを作りたいのですが、その前段階として、Last.FMのTop Chartをカウントダウンするアプリにしました。
  • これを応用することでビルボードオリコン版も作ることが出来るかなと思います。
  • Last.FMのデータ更新のタイミングに合わせているのでランキングは毎週火曜くらいに更新されます。

構成

  • フロントのWebサーバーはnginxで、appサーバーはStarlet、DBはKyoto Tycoon(Cabinet)を使用しています。
  • 特に意図があって上記の構成にした訳ではないのですが、
    • nginx・・・Starletにプロキシさせたいだけだしapacheの必要がない
    • Starlet・・・Starmanでもよかったんですがなんとなく使ってみたかっただけです。
    • Kyoto Tycoon(Cabinet)・・・永続化出来るKVSが使いたかったので、Tokyo Tyrantを調べたところKyoto Tyconnを使えと書いてあったので使ってみました。
  • WAFは使うほどの機能ではなかったので、Plackをそのまま使って書くという非推奨なことをしています。しかもpsgiにそのまま。。
  • StarletとKyoto Tycoonはdaemontoolsで動かしています。

課題

githubのIssuesを活用しようと思っているのですがとりあえずここにも書いてみます。

  • Chartをリンク化してランキングをそこから再生出来るように。
  • 多分連続再生が止まる動画があるのでその対応。
  • アクセス元の国を取得して、その国で再生可能な動画を取得する。(現時点では日本で再生可能な動画を取得している)
  • push stateなどを使ってランキングの順位にパーマリンクを付ける。
  • デザイン。。。
  • 動画取得の精度。本人以外の動画がヒットしている。。
  • ドキュメント書く。
  • I.Eで確認していないので動かないかも。。


ソースはgithubに公開しています。Last.FMYouTubeAPIを取得するところはそれぞれ別モジュールとしています。
Twitterとかどこででもリアクション頂けたりすると嬉しいです。脆弱性はこっそりと。。


Let's Enjoy Music !!!