TestFlight SDKが便利過ぎる件

TestFlightがリモートロギングやクラッシュレポートの取得管理までやってくれるTestFlight SDKをリリースしたので、早速使ってみました。
最近は専らTitaniumなので、早速モジュール化。モジュールはgithubに公開してあります。

GitHub - tryden/TiTestFlight: TestFlight SDK for Titanium mobile

組み込んだコードはこんな感じ。

使い方は基本的には最初にtestflight.takeOffするだけです。あとは普通にログ出力するだけでTestFlightに反映されます。こんな感じで。

さらにチェックポイントを設定しておけば、TestFlight上でそのチェックポイントをどの程度の割合で通過するかを集計してくれます。

質問を設定しておけば、チェックポイント通過時にダイアログが表示されるおまけ付き(日本語は無理っぽい)。



さらに、クラッシュした場合もレポートをばっちり残してくれます。

うーん便利。これからますますTestFlightへの依存率が高まりそうです。

radiko + twitterなiPhoneアプリ「radikker」をリリースしました


radikker

超今更アプリ。無料です。

radikoを視聴しながら、放送局に関連するつぶやきを見たり、つぶやけるアプリです。イメージとしてはらじったーのアプリ版といいますか。名前も似てますし。

すでにradikoの公式アプリが存在し、なおかつiOS4マルチタスク対応によってradikoを聞きながらtwitterを見ることなど容易に行えるため、現在ではこのアプリの存在意義がほとんどありません。ただ開発当初は公式も無かったし、バックグラウンド再生もできなかったから需要があると思ったんですよ。開発遅れるとすべてが水泡に帰す良い例です。

とはいえ今回の公開にあたって、iOS4のバックグラウンド再生対応をはじめ、それなりに使えるものにはなっていると思うので、数あるradikoアプリの中の1つとして試しに使ってみていただけたら幸いです。

なお、radikkerはgithubでソース公開してます。

GitHub - saiten/radikker: radiko + twitter for iPhone

iCab mobile用NicoHTML5

いつの間にかiPadsafariニコニコ動画の動画ページを見ると、アプリの方にリダイレクトされるようになってました。これ自体はUserAgentで判別しているだけなので、iCab mobileのUserAgentを変更すればNicoHTML5自体は問題なく利用できるようです。ただiCabを使うのであれば、bookmarkletでいちいち動画URLをコピーペーストするよりはモジュール化した方が何かとスマートです。

NicoHTML5自体はすでにiCab用のモジュールに対応させたモノはあるんですが、モジュールの中にNicoHTML5のコードも入ってるため、最近やった修正がまだ反映されてない模様。

そういうわけで、NicoHTML5自体をiCabのモジュールに対応させてみました。やってることは先のモジュールと同じで、クロスドメイン通信可能なgetRequestを用いているだけですが、NicoHTML5の本体とモジュールとで分離してるので、モジュール自体は更新しなくても修正をすぐ反映できます。

モジュールは、iCab mobileを使って以下のページにアクセスし、iCab Moduleのリンクをタップすればインストールできます。

NicoHTML5

一応、現状でiPadでそれなりにコメント表示できるようにはなってるかと思います(少なくとも速度的不満は無くなってきたかと)。いい加減、コメント非表示機能位は付けたいところ。気が向いたときにしかやらないのでいつになるか分かりませんが。(^^;

NicoHTML5をiPadで試す

結論から言うと今のとこ、コメントを載せての再生は無理です。

まず、対応してると思われる動画でbookmarklet実行しても動画が読み込まれない。タイミングの問題かなーとアレコレタイミングを変えても原因がよく分からないので、とりあえず動画のリロードボタンを付けることで回避。h.264な動画についてはとりあえず見られるようにはなった。

で、肝心のコメントなんですがこれがどーにも上手くいかない。CanvasのfillTextが使えないことは分かってたので、CSSで再現する方法を中心にアレコレ試したんですが、どーもvideoに対して上手いことオーバーラップできない。z-indexがうまく効かない。たまーにちゃんとオーバーラップできる事もあるんですが、それじゃあねぇ。

とりあえず、現状はニコニコの一部の動画がiPadで(横にコメント表示付きで)再生できるよって程度の状態です。一応報告まで。

javascript:(function(){NicoHTML5_OverlayType="dom";var e=document.createElement("script");e.src="http://labs.isidesystem.net/nicoh5/nicohtml5.js";document.body.appendChild(e);})();

ご無沙汰です

卒論、卒論発表も無事終わりまして、無事卒業が決まりました。尽きましては4月より「何故かまだ学生のblog」のタイトルを変更しまして、「やっぱりまだ学生のblog」を始めたいと思います。

以上、よろしくお願いします。

ニコニコ動画をHTML5で見るbookmarklet


性懲りも無くニコニコネタです。

iPadでも結局Flashが搭載されなかったこともあって、最近Flashの代替手段としてHTML5がやけに押されているので、ものは試しでニコニコ動画FlashプレイヤーをHTML5で構成したプレイヤーに置き換えるbookmarkletを作ってみました。iPhone/iPadのvideoタグの動作がマシになってれば、iPhone/iPad上でも動くかもってな期待込みで。

使い方は、下記のbookmarkletニコニコ動画の再生ページ(http;//www.nicovideo.jp/watch/*)上で実行するだけです。実行すると標準のFlash製プレイヤーを、HTML5+javascriptで構成したプレイヤーに置き換えます。

javascript:(function(){var e=document.createElement("script");e.src="http://labs.isidesystem.net/nicoh5/nicohtml5.js";document.body.appendChild(e);})();

動作条件として、アップロードされた動画がh.264の形式であることが条件です。また、ブラウザについてもh.264をvideoタグでサポートしている必要があります。こちらの環境ではmacsafari4とchrome5、Windows XPのchrome4で動作を確認しています。


上が本家のFlash版プレイヤーで下が今回作成したHTML5版のプレイヤーです。mpeg4でアップロードされている動画は大体再生できるんですが、これまで再生できたのに再生できなくなる事もあって、結構不安定。コメントの再現性もあまり良くないですが、動画の方はFlashに比べれば結構滑らかに動きます。初代macbook air+safariだと、Flash版ではカクカクだった画像の動画が、HTML5ならヌルヌル動くあたり、ジョブスが「Flashビデオは遅い」と言ってしまうのもまぁ、わかります。(もちろん本家プレイヤが機能豊富すぎるというのもありますが)HTML5版プレイヤーの上下にニコ割枠とコメント入力欄がありますが、これはただの飾りですので機能しません。(^^;

動画URLの取得やNGリストの取得はXMLHttpRequestで行っていますが、コメントサーバは別ドメイン(msg.nicovideo.jp)となるため、今回はJSONPで取得できるよう、GAE上にコメントプロクシを作成し中継しています。動画情報を取得する際に得られるthread_idというパラメタを渡しますが、セキュリティ上は特に問題ないと思います・・・(自信なし)。

また、デフォルトではコメントはcanvasを用いて描画していますが、ついでにdivタグでコメントを再現するバージョンも作りました。このバージョンのbookmarkletは以下になります。(速度的にあまりメリットはありません)

javascript:(function(){NicoHTML5_OverlayType="dom";var e=document.createElement("script");e.src="http://labs.isidesystem.net/nicoh5/nicohtml5.js";document.body.appendChild(e);})();

とりあえず、卒論と卒論発表が終わった勢いで作ってしまいましたが、ドワンゴ内でもHTML5製プレイヤーを作っている様(http://twitter.com/kawango/status/8668680800)なのでそちらに期待。

一応、今回作成したソースコードは、コメントプロクシ含め、github上に置いておきます。

2010/5/17 追記

ニコニコ動画の動画取得用のAPIが、www.nicovideo.jpからflapi.nicovideo.jpにリダイレクトされるようになったため、Ajaxを用いた動画取得が出来なくなった模様です。

これといった解決策も思い当たらないので、今のところ当ブックマークレットは利用できません。ご了承ください。

2010/5/28 追記

とりあえず再生までに2手間ほど増やすという(ユーザが動画URL文字列コピー&ペースト)超暫定的措置でとりあえずAPI変更に対応。こんな面倒くさいことしなくても済むようにするには、flapi.nicovideo.jpがXHR2に対応してくれるとか期待するしかないかなー、と。(本家のHTML5対応が一番なんですが)

あと、iPadではiCab Mobileを利用してAPI対応させたモジュールを開発してくれた方がいるようです。iCab Mobileを持っている人はこちらを使った方が幾分か簡単です。

http://www37.atwiki.jp/icabmobilemodule/pages/20.html