Node Knockout 2013 にでたよ!
一人アドベントカレンダーも達成できず,年明けるまでにこの記事も投稿しておこうと思うも投稿できず,酔っ払ってテレビ見てました.あけましておめでとうございます.
先日(11/9-11),Node Knockout 2013に出ました! 書こう,書こうと思ってずっとほったらかしにしてしまいました..
Node Knockoutはnode.jsを使って行われるハッカソンで, 日をまたいで3日間,48時間開催されます. 今年で,4回めだか5回めだかだそうです.
チームmesolabsで,参戦し100位以内(75位くらい)に入ることが出来ました.
作ったもの: Walk Sharing
今回何を作ったかというと,Walk Sharingというサービス(?)です.nodeは初心者で良くわかってなかったんですが,nodeパイセンがガリガリ書いてくれたので,完成しました.
Google ストリートビューの視点を共有するもので,Navigatorの操作してるWalkingに参加すると同じ風景をリアルタイムで共有できます.Youtubeにアップロードした動画はこちら.
また,誰かが観た視点や位置を記録しておき,後から再生することができるタイムシフトもつけました.
公開した1,2日後くらいに非推奨パラメータを利用していたため,Googleの仕様変更(?)にハマってしまい審査期間に体験できないという残念なコトになってしまいました. 非推奨のものは使わないようにしましょう.
やったこと
簡単に説明すると,TwitterでのOAuth認証はPassportというLibraryを使って,簡単に出来ました. ツイートも,TwitterのAPI叩くだけなので難しくなかった.
一番面倒くさかったのが,スクリーンショットを撮る機能で,完成しませんでした.ストリートビューが真っ白になってしまったり,コメントだけ撮影出来てしまったり...上手く保存する方法が見つかりませんでした.本当は画像付きでツイート出来たら良かったです.
あとは,コメント描画.とりあえず,Canvasでニコニコっぽくコメントを流すようにしました.ただ,すごいファンが回り出したりしてもっと最適化する必要があると思います.コメント描画のロジックはなかなか複雑で,大変だなぁと思いました.ただ,JavaScriptでも出来なくはないんじゃあないか..と思ったので,機会があったらなにか作りたいですね.