last.fmの再生履歴を表示するmixiアプリを作った

opensocialの勉強がてら作ってみました。

リスニンなう (source js)
良かったら使ってみて下さい。
last.fmの再生履歴を表示するだけの簡単なお仕事。じゃあんまりなんで、iTSの検索結果を表示してみました。

色々思った事

どうにもテストがしにくい

viewrとownerとがfriendかどうか・viewrがアプリインストールしてるかどうか、で挙動が変わるのでテストしたいんだけど、mixiは一人一アカウントに結構厳格なんで原則に従うと自分のアカウントでしか動作確認できないんすよね。
常にviewer.isOwner == true。
というか規約違反承知で新規登録しようとしたんだけど、携帯の認証が必要(いつ頃からだろう?)でなんとiPhoneはNG、登録不可能。
中々素敵な仕様ですね。
ちなみに法人なら10アカウントテスト用にくれるらしい。しばらくしたら個人にもくれるようになるのかな。
まぁ'open'socialな訳で、他のプラットフォームでもっと試すべきだった。

非同期の連続でこんがらがる

ユーザー情報を使うには必ずapiを叩く事になるんで、複数の非同期処理の協調動作の連続になる。今回はお勉強目的だったんでゴニョゴニョ書いてみたけど、JsDeferred的なライブラリ必須だと思います。
この手の非同期処理連携のベストプラクティスって言うかデザパタ的な物ってないのかな?
と言うかJsDeferredのソースをまじめに読んでみようかな。

persistence apiは使い方難しい

データの保存が出来るんで、jsで全部やれるかなぁ、とか想像してたんだけどこれは中々難しかった。
データの保存には「誰が」保存するかを宣言する必要があって、mixiの場合(他のcontainerも同じポリシー多いみたい)はこれがviewerのみに制限されてる。誰かがページ表示した時にownerのデータをちょろっと書き換えるってのはNG。
KVSが自由に使える、って感覚とはかなり違うと。
結局裏にバックエンドを立てて簡単なapi用意して、データはそこ使うのが良さそう。実際そういうアプリが多いですね。
簡単なapiとデータの保存、gaeがぴったりな気がします。python勉強しよっと。

カンプ・素材を自前で作成してみた

fireworksで。
前職ではこの辺完全にデザイナーさんの仕事だったんで、超久しぶりでした。楽しいもんですね。
でもやっぱりパワポよりfireworksより、html/cssでのプロトタイピングが一番効率が良い気がするなぁ。前2つは途中でどうしても「これは最終成果物にはならない」と思って、作業がいい加減になるんすよね。



後はgit使ってみてるんだけど、自由度が高くていいっすね。
まぁコマンドが多すぎるんで逆に忙しい時に「俺はコミットがしたいだけなんだよ!キィ!!」みたいになりそうな気もしますけど。

ってなわけで今からpythonの勉強をします。

初めてのPython 第3版

初めてのPython 第3版