Feel Physics Backyard

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

新着動画

f:id:weed_7777:20160613133911j:plain

「新着動画」は、「作ってみた」などのタグを指定すると、そのタグに関する最新の動画の一覧を表示して閲覧することができるアプリです。

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

f:id:weed_7777:20160613133928j:plain

f:id:weed_7777:20160613133930j:plain

f:id:weed_7777:20160613133924j:plain

f:id:weed_7777:20160613133934j:plain

f:id:weed_7777:20160613133937j:plain

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

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

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

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

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

このアプリは現在は公開していません。