読者です 読者をやめる 読者になる 読者になる

Weed.nagoya:便利ツールでネット活用

物理教育アプリを開発しています

ネコ動画

開発-iOSアプリ 開発-iOSアプリ:自作アプリ 開発-iOSアプリ:プログレスバー 開発-プロダクト 開発-プロダクト:iOSアプリ 開発-Web:開発支援:Heroku 開発-Web:開発支援 開発

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にはありません。