おやゆびでお3.7の更新予定内容

おやゆびでお3.7を審査に提出しました。

今後、なるべく更新内容についてログも兼ねて公開していきたいと思います。

[New] 内蔵ブラウザのアドレス欄で検索に対応(検索エンジンと自動付加ワードを設定で指定可能)

標準ブラウザのSafariに近い使い勝手を実現するべく対応してみました。アドレス欄にURL以外の文字を入れると、(設定で指定した検索エンジンで)検索します。検索エンジンは現在、Google、Bing、Yahoo(.comと.co.jp)が選べます。

また、「ねこ」と入れると「ねこ 動画」で検索してくれるような、自動付加ワードも設定できます。

[New] メニューから設定アプリへの遷移に対応

悲願がようやく。アプリからの設定画面呼び出しはiOSのバージョンによって禁止されたり解禁されたりでしたが、ようやく正規ルールが作られたっぽいので対応してみました。

[Change] ストリーミング再生中のストール復帰処理を見直し

前バージョンで全く無しにしたのを復活。5秒待って復帰しないようなら処理を実施します。この辺りはサーバーやファイル形式(.m3u8かmp4か)によっても最適値が違うように思えて、色々試行錯誤しています。是非動作報告をお寄せ下さい。

[Change] 内蔵ブラウザのスクロールリボンを短くした

iPad Proなど大画面では、内蔵ブラウザのスクロールリボンが長すぎてはあまり意味がないので、iPhone6を横持ちした時の立て幅くらいを上限にし、アプリ名の原点に立ち返って、親指の可動範囲内で制御できるように変更しました。ただ垂直スライダーのようにタッチ位置に出現するような処理は組み込んでおらず、常に真ん中固定です。垂直スライダーと違ってブラウザ上でタップ判定を横取りすると本来のリンクがクリックできないとか問題が起きそうなので、移動のためのジェスチャーが難しいのです。画面外からのスワイプとかもiOS標準で色々使われがちなので迂闊に使えないかなとか。ということで現状は位置固定の出しっ放しにしています。

でもこれ手前味噌で恐縮ですが結構便利なんじゃないかなと。慣れるとSafariにも欲しくなります。

[Fix] iPad Proでメニュー表示が崩れるのを修正

メニューの紺色の部分の下が切れる、という程度の問題でしたがシミュレーターで発覚したので一応直しました。それ以外は実機が届いてから検証します。

[Fix] ストリーミング再生中の垂直スライダーの安定性改善

スライダーのノブ位置は1秒毎に動画の再生位置を調べて対応する位置に跳ばしていますが、例えば自分でノブを移動してジャンプさせても、ストリーミングなどで読み込みが遅く1秒以内に再生位置が移動しなかった場合、ノブは元の再生位置に戻ってしまっていました。これを抑止したつもりですが、まだたまに発生する気がします。再生位置の移動自体は指示されているので、読み込まれて再生が始まればノブも再び指定位置に跳ぶんですが、まぁ見苦しいので今後もなるべく対応していきたいと思います。

[Fix] 外部モニタ接続時のレジューム再生のカクつきを軽減

外部モニタをつないだ状態で再生を再開した時、レジューム処理(再生点の移動)が複数回行われ、レコードの針飛びのように(若者に通じない例え)2,3度同じ箇所を再生してしまう現象がたまに発生します。これを抑止したつもりですがまだ完全ではなさげです。

再生を開始するとiOSから動画ファイルの総再生時間がアプリに通知されます。これより前にレジューム処理(何分何秒時点に移動せよ)をしても失敗してしまうので、タイミングを見計らって処理をかけるわけですが、ローカルファイルかストリーミングかで総再生時間が判明するまでの時間がバラつくんですよね。なのでいくつかのトリガでレジューム処理を実施しつつ、成功したら以降行わない、というルールになっているんですが、何故かそれでも複数回実施されてしまうようです。これも見苦しいので改善を続けて行きたい課題です。

 

というわけで、いくつか完全解決できてない部分があるのですが、iPad Proが発売されてしまうのでとりあえずできてる分だけでもリリースしてしまおうってことで提出しました。


おやゆびでお3.6の更新予定内容

現在おやゆびでお3.5が審査中になりました。問題なければじきに公開されると思います。

さて、そんな間にも更新作業は続けてまして、はやくも次のバージョンで機能を2つほど追加できそうです。

Webページにvideoタグで埋め込まれた動画の再生に対応

内蔵ブラウザでWebページにリンクされた動画を再生することはできていましたが、一部動画サイトでは対応しきれていませんでした。「おやゆびでお」ではAタグによる動画ファイルへのリンクがタップされた時のみ「おやゆびでお」が再生を横取りして独自UI付きの再生ビューで再生する仕組みだったのですが、サイトによってはリンクではなくHTML5のvideoタグによってインライン再生する作りになっていて、その再生ボタンではブラウザ(UIWebView)の再生機能が呼び出されてしまい、「おやゆびでお」独自操作は適用されませんでした。

3.6(予定)ではWebページ内からvideoタグを探しそのsrc属性を取得して「おやゆびでお」の再生ビューで再生する仕組みを採り入れました。ただしWebページを書き換えると色々と問題があるので、通常の再生操作をせず、アクションボタン(画面下部センターのボタン)から「埋め込み動画を再生」を選ぶ方式になります。ちょっとめんどくさいですが、、

なおYouTubeもvideoタグを使っているサイトのひとつですが、この方法でもまだ再生には成功していません。個別対応をしないとダメそうですが、個人的にあまりYouTubeに興味が無く保留中ですw。

AirPlayボタンの復活

iOS8の動画コントロールでなぜかAirPlayボタンが出て来なくなり、iOSのコントロールパネルから切り替える必要がありました。iOS標準の動画コントロール自体はこちらではいじれないので諦めてたんですが、ふと一次停止中に出るクイック設定バーに配置すればいいんじゃね?ってことに気づきさっそくその通りにしました。一次停止している時でないと操作できないですが、若干便利になるんじゃないかと。

ストリーミングのストール処理の見直し

ストリーミング再生で読み込みが追いつかなくなってストールした時、以前のハードやiOSではそのまま止まってしまい復活しないことがよくありまりた。そこで3秒から5秒しても再生が再開されない場合、接続をリセットして同じところから再開する処理を組み込んであったんですが、現在iOS9+iPhone6sではその発生頻度が激減した上、ストールしても待っていればちゃんと再開することがほとんどになってきました。そこで今は一旦再接続処理を無効化して、iOS自体がもつ再生続行処理にまかせるテストをしています。iPhone6sやiPad Air2、mini4といった最新機種はWi-Fiが866MbpsのMIMO規格に対応して通信が速くなったせいもあるかも知れません。ただそれに非対応のAirでも改善してる気がするので、iOS9で少し処理が最適化されたのかも知れません。基本的に最新OSバージョンでしか検証しきれないですが、iPod touch 5thのような少し古めの機種でも検証して、大丈夫そうならそのままリリース版にも採用しようかなと思っています。

ご興味のある方は是非TestFlightでのβ版評価にご参加ください。


「おやゆびでお」をSiriで起動する方法

最新のiOSではSiriで「(アプリ名)を起動」と話しかけてアプリを起動することができます。しかし「おやゆびでお」のような日本語の一般単語として認識されない名称のアプリは、まずSiriの音声認識サーバーが聞き取ることができず「親湯ビデオ」などとなってしまい、結果としてiPhoneが自分の中に当該するアプリを見つけることができません。Siriは入力された音声を一旦クラウドにある音声認識サーバーに投げて、そこでテキストとして返ってきた文字列をiPhoneが解釈してコマンドとして実行するので、クラウド上で「親湯ビデオ」みたいなへんてこ変換をされてしまうとどうしようもない訳です。Siriの日本語辞書に「おやゆびでお」という単語が登録してもらえるくらいメジャーになれるといいんですが…

アプリ側(Info.plistなど)に正しい読み情報を書いておくと正しく認識されるような仕組みがあるかと思って探してみたんですがいまのところ見付かりません。

で、暫定的な対処方法として「連絡先」として登録する、という手段があります。唯一連絡先に登録された読みだけは、Siriサーバーが知らない言葉でもiPhone側でテキスト変換してくれるようなのです。具体的には、姓と読みに「おやゆびでお」と書いた連絡先データを作成して保存しておきます。この状態でSiriに「おやゆびでお」と話しかけると正しくひらがなで「おやゆびでお」と聞き取ってくれるはずです。こうなればしめたもので、「おやゆびでおを起動」コマンドも機能するようになります。


TestFlightを用いた「おやゆびでお」βテストを開始しました

Appleのβ版配布サービス「TestFlight」を利用したβ版テスト配布を開始しました。

従来のUDID(端末固有番号)を登録する方式より簡単に、より多くの方にお試しいただけるようになります。登録にはAppleIDが必要です。「おやゆびでお」の新機能やバグ修正版をいち早く試したいという方はお気軽にお知らせ下さい。


iOS9対応のおやゆびでお3.5を試験中です

更新が滞っていてすみません。大仕事が一段落したのと、iOS9やiPhone6sで面白そうな機能が盛りだくさんで対応モチベーションが上がり更新作業に取り組んでいます。ずっと放置していた特定条件でレジュームが効かなくなるバグを修正した3.4.10を審査提出済みで、その次にリリース予定の3.5をテストしています。

3.5の変更点は以下のようになる予定です(検証仮定で変更になる可能性もあります)。

■3D Touchに対応(iPhone6s/Plusのみ)

・クイックアクション

ホーム画面で「おやゆびでお」アイコンを強く押し込むと、クイックアクションが表示され、「最後に再生した動画」および各タブへのダイレクトリンクが選択できるようになります。ただしクイックアクションは4項目までしか配置できない為、(なんとなく利用してる人が少なそうな)カメラロールを省略しました。

・プレスによる再生速度変更

設定アプリで「長押し時の動作」を「早送り」にしている場合、長押しではなく画面を押す強さに応じて、2x、4x、6x、8x、10xと速度が変化するようになりました。また、タップ&ホールド(一度短くタップしてすぐに長押し)の場合は逆戻し動作になります。逆戻し方向への切換方法は悩んだんですが、画面の左半分とか上半分みたいな位置による切換だと、「片手持ちで親指一本で操作」という基本コンセプトにそぐわない気がして、少し慣れが必要ですがタップ&ホールドとしてみました。

またHTTP Live Streming形式のストリーミング(拡張子が.m3u8)の場合は、そもそも早送り巻戻し(再生速度変更)ができないぽいので、長押し設定が「早送り」でも自動的に「簡易ジョグ」動作に切り替わるようにしています。

■アクション機能拡張に対応(iOS8以降)

Safariで見ているページをシェアボタン内の「おやゆびでおで開く」から、本アプリのWeb画面に遷移させることが可能になりました。例えば、動画リンクを含むページを見ていて、この動画をおやゆびでおで見たいな、と思ったらこの機能を使い、おやゆびでお上で動画の再生リンクをタップすることで視聴できます。

ただし全てのサイトの動画を再生できるわけではなく、mp4やmovの直置きしてるサイトか、HTTP Live Streaming(.m3u8)など従来通りです。YouTubeなどは非対応です。

■一部動画配信サイトに最適化(レジューム対応)

HTTP Live Streamingで、.m3u8ファイルのファイル名が一定の某サイト(名前を出すのは控えます)で個々の動画を識別できるような処理を組み込みました。また再生準備が整う前にレジューム処理を行うと失敗して最初からになってしまうので、ある程度読み込みができてからレジューム処理を実施するように変更しました。ネットワーク環境や配信ファイルの作りによってはこれでも失敗するかも知れませんがとりあえず。

■一時停止解除のジェスチャーがダブルタップからシングルタップに変更

どちらかという不具合の産物なんですが、ダブルタップでポーズ&解除だったのが、ダブルタップでポーズ、シングルタップで解除というルールに変更になりました。バグとしてそうなってたんですが、使っててこれはこれで楽かなと。再生中のシングルタップは標準コントロールの表示などにも使うのでダブルタップのままです。

バグを修正し、ダブルタップのトグル動作に戻しました。

■動画再生時のiOS標準コントロールを極力出ないように変更

iOS8からこれがやたら鬱陶しくなりまして気になっていました。色々試した感じ、比較的接続速度が遅いサイトからのストリーミングでフリックやスライダー操作によるジャンプをした際に、読み込み遅延が発生するとiOS標準コントロールが表示されてしまう仕様のようです。完全に無くすと音量スライダーや音声トラック切換ができなくなるので困りものです。完全ではないですがなるべく出さないようにしました。その弊害でiOS標準コントロールの中でも下側だけにスライダーが出るパターンもたまに見えてしまいますがご了承ください。

どのみち今使用しているMPMoviePlayerというAPIがiOS9でdeprecateされており、近い将来(iOS8サポートをやめる際)全く別のコンポーネントで作り直すことになるので、ここま多分これ以上手を入れないで根底から作り直す予定です。その際に標準コントロールとの関係がどうなるかはまだ不明です。


おやゆびでおのiCloudバックアップを抑止する方法

「おやゆびでお」をお使いいただきありがとうございます。

本記事では「おやゆびでお」のバックアップをiCloudにとらないようにする方法をご紹介します。

「おやゆびでお」に動画データをコピーして利用されてる方の中には、PC側にバックアップがあるのでことさらiPhoneのバックアップに含める必要が無い、という方も多いでしょう。特にiCloudバックアップの場合は単価が高いので数百MBや数GBといった大量のデータがバックアップされてしまうとコストも通信料も無駄になってしまいます。

ということで、「おやゆびでお」内のデータ(設定含む)をiCloudバックアップ対象から外す手順です。※iCloudバックアップを有効にしてある人向けです。

  1. 「設定」アプリを開く
  2. 「iCloud」→「容量」→「ストレージを管理」をタップ
  3. 「バックアップ」という見出しの下のiPhone名と「このiPhone」と書いてある行をタップ
  4. 「情報」という見出しの画面になるので、「バックアップオプション」から「おやゆびでお」を探す。見つからない時は「すべてのAppを表示」をタップしてみてください。
  5. 「おやゆびでお」の右のスイッチをオフにする

以上です。動画データだけでなく、設定やレジューム情報もバックアップされなくなるのでご注意ください。


おやゆびでお3.1をリリースしました

iOS7対応をすっとばし1年3ヶ月も間があいてしまい申し訳ありませんでした。さきほどiOS8/4.7&5.5インチ対応を果たしたおやゆびでお3.1をリリースしました。恒例のバージョンアップ記念100円セールを実施中です。

iOS7/8対応の概要としまして、

  • 新アイコンデザイン
  • 新UIデザイン(スライドメニュー、半透明バーなど)
  • 秘密フォルダがTouchIDによるアンロックに対応
  • iTunesライブラリが読み込めていなかったのを修正

などになります。その他の変更点として、再生画面長押しで、押してる間の早送り(10倍速)ができるようになったり、Web画面で長いWebページを素早くスクロールできる半透明バーを追加したりしています。

また、iOS8のiTunesライブラリの仕様で、自炊動画が「ホームビデオ」という分類になり、それがおやゆびでおでは表示されていないことが判明したので、既に対応版の3.2を審査に提出しました。一週間ほどでリリースできると思います。

また、iOS8では再生中のバー表示が仕様変更されていて、音声トラック切換や音量調整が可能になった一方、おやゆびでおのツールバーとかぶって表示されたり、ダブルタップ(おやゆびでおでは一時停止)毎に拡大表示モードに切り替わったり干渉するようになっています。ここら辺については追々折り合いをつけていきたいと思います。あと流行の初回起動時などの紙芝居インストラクションをつけたいなと思っています。

iPhone6や6Plusなど大画面でこそ本アプリの片手操作のコンセプトは重要度を増すと思って、再びヤル気が盛り上がっているところです。

諸々今後をお楽しみに。


おやゆびでお用サーバースクリプトのiOS7風デザインバージョンを公開しました

全国数?人の「おやゆびでお」ユーザの皆さん、iOS7対応版のリリースが遅れてしまっており申し訳ありません。ほぼほぼ動くものはできているのですが、細かいバグ取りをする時間がなかなかとれずに延び延びになっております。プロジェクトを放棄はしておりませんのでもうしばらくお待ちいただければと思います。多少バグがあっても使わせろー、って方は是非βテストにご協力下さい。

あと、申し訳ないのですが次期バージョンからはiOS7以降のみの対応とさせていただきたいと思います。

さて、それでも少しずつは前進してますよって証として、PHP環境向けのファイル一覧HTML自動生成スクリプトThumbvideo Serverの新バージョンを公開いたしました。iOS7ちっくなデザインになっております。またアプリ本体同様、暗い環境でも眩しく無い様にダーク配色も用意いたしました。URLに「?t=dark」をつけるとダーク配色になるので、必要に応じてブックマーク時に書き足してもらうと良いと思います。トップページのところでつけておいてもらえば、以降のリンク先には自動的に引き継がれるようになっています。

それでは画面例です。現在開発中のおやゆびでお3.0β版のチラ見せも兼ねつつ。

 

 

server2

 

全体にiOS7iOS7した見た目になります。実際に表示しているのは、「フォルダ」と書いてある行より下です。

また、画面右端に見えるスクロールバーのような透明角丸の長方形はスクロールリボンと呼んでいる新しいスクロールUIです。Webタブは画像ファイルも多くページが長くなりがちなので実装してみました。スクロールボックスがないスクロールバーのようなものです。長いページから目的のファイルを探し出すのがかなり楽になったと自画自賛しております。お楽しみに。

こちらがダーク配色です。アプリ自体もダーク配色設定にした状態。

server2_dark

 

Thumbvideo Server Script v2.0はこちらの解説ページからダウンロードできます。


おやゆびでお v2.6をリリースしました

半年ほどぶりになりますが、「おやゆびでお」のアップデートをリリースしました。更新内容は、

[New]一時停止時、クイック設定バーからスワイプスキップ秒数を変更可能に
[New] 垂直スライダーを自動で隠すまでの秒数設定に「手動(自動で隠さない)」を追加
[New] iTunesファイル共有で置いたhtmlファイルをLocalFileタブから開けるようにした(簡易ブックマークとして)。
[Change]ストリーミングのストールによりポーズした時のアイコンを変更
[Fix]ストリーミング再生中にストールした時の復帰処理を改良

となります。UI的に大きいのはクイック設定バーです。ポーズをした時に画面下部にバーが表示され、いくつかの設定が(「設定」アプリに切り替えることなく)行えます。とりあえず、前後スキップ秒数をここから調整できるようにしてみました。今後他の設定も追加していこうと思います。

HTMLファイルの対応については、現在「おやゆびでお」のWebタブは2つのお気に入りのURLを保持することができますが、それでは足りないという人向け。もう少しちゃんとしたブックマーク機能をつければいい話なんですが、まぁ、まずは今できる範囲で、ということで。HTMLファイルはLocalFileタブ内で動画ファイルと同じ様に扱えるので、秘密フォルダに移動して隠しブックマークとしても使えますよ(笑)。

残りはWebタブでNASからストリーミング再生した時の挙動に関する修正です。そもそもこの機能をどれくらいの人が活用していて、どれくらいストール(読み込みが追いつかなくて再生が止まること)が発生しているのかわからないのですが、我が家の環境でもHDクラスの動画ファイルだとたまに起きるので色々試行錯誤をしています。v2.5ではストールが発生したのを検知して自動的に再接続処理を行うようにしたのですが、v2.6では発生後直ぐに再接続をせず1秒ほど待つようにしました。ストールの発生状態を解析したところ、数百msで自動的に復帰するケースもあることがわかったので、その場合は再接続するよりも自然に再生継続できるようにという配慮です。この辺り、他の環境でもデータがあまりないので、困ってらっしゃる方がいればフィードバックをお寄せいただけると助かります。

さて、まことに勝手ながら今回のリリースをもってiOS5のサポートは打ち切らせていただく予定です。次はiOS7への対応を視野に入れることになるわけですが、Appleの開発環境が基本的に1つ前のメジャーバージョンまでにしか対応しないので、基本的にそうならざるを得ない事情もありますし、iOS7はUIの外観が大幅にかわるので、この機会に少し3.0と呼べるような大改訂をしたいなと思っています。例えば動画再生中にオーバーレイパレットは今までは半透明の黒が標準でしたが、iOS7からは白い磨りガラス状のボカシが入ったものになります。当然本アプリでもそれに対して違和感のないUIデザインを考えてまして、そうすると逆にiOS6以前はどうするんだ?的な悩みも。OSバージョンを検知して2種類のデザインを切り替えるようにするのは制作負担も大きいですしね。最悪、iOS6でも動くことは動くけど画面テイストがiOS7っぽくなるとか、iOS6も早々に打ち切るという可能性も…。まぁこの辺りは情報が出揃い、実際に着手してみてから検討したいと思います。


みまもり2Go、Google Mapsアプリに対応しました

「みまもり2Go」のマップ呼び出し機能が、iOS標準の「マップ」、Safari上でのGoogleマップ、「NaviCon」(対応カーナビにBluetooth経由で位置情報を送信できるDENSO製のアプリに加え、先日リリースされたGoogle製の「Google Maps」アプリにも対応しました。

他の地図もカスタムURLスキームさえ分かれば対応したいのですが、緯度経度を渡すフォーマットまで含めて公開しているものがあまり見付からず。個人的には「MapFan Eye」なんて対応できると便利そうだと思うのですが。情報が入り次第対応していきたいと思います。