Feel Physics Backyard

HoloLensの出張授業をする会社で、教材を開発しています

ネコ動画

f:id:weed_7777:20160613141413j:plain

「ネコ動画」は、「猫」というタグを打たれた最新の動画の一覧を表示して、それらを閲覧することができるアプリです。

猫動画が三食の飯より栄養になる、という方々に使ってもらおうと考えました。

対象となる動画サービスは、タグがキチンと打たれている動画サービスということで、ニコニコ動画・Vimeo・はてなブックマークの動画の3つです。YouTubeはタグがめちゃくちゃなので採用していません。

f:id:weed_7777:20160613141411j:plain

f:id:weed_7777:20160613141408j:plain

f:id:weed_7777:20160613141405j:plain

f:id:weed_7777:20160613141403j:plain

f:id:weed_7777:20160613141417p:plain

このアプリと「新着動画」を組み合わせて課金しようとしたのですが、「ネコ動画」の方がApp Storeの審査が下りず、夢と化しました。

書いたコードは3000行くらいの完全なスパゲティ・コード。この反省からテスト駆動開発に目覚めることになります。そのだいぶ後ですが、.netのAsync/Awaitの素晴らしさに気づいたのも、このアプリの非同期処理(ダウンロードのプログレスバー表示)がスパゲティ化したからでした。

また、サーバーのレスポンスの遅さにも悩まされました。Herokuというサーバーを使っていた(まあ細かい話はやめましょう)のですが、US西海岸にサーバーがあるために以下のようにパケットが行き来しました:

  1. 日本(iPhone)→US(サーバー)
  2. US→日本(ニコニコ動画
  3. 日本(ニコニコ動画)→US
  4. US→日本(iPhone

これが遅い。太平洋をまたぐのに1秒くらいかかります。結局できあがったと思ったあとのチューニングの方が大変でした。ニコニコの吐くRDF/XMLの中にはそのまま使うことができるHTMLが入っているので、パースせずに正規表現でゴソッと抜き出したり。いろいろ勉強になりました。

このアプリは公開されなかったため、App Storeにはありません。