おやゆびでおの新回転システムについて

昨今の縦長動画の増加を踏まえ、再生時の画面回転方法についてリニューアルしました。従来、カメラ撮影動画くらいしか縦長動画がなかった為、カメラロールからの再生時以外はランドスケープ(横向き)再生を強制していました。端末の向きに自動で連動させるという選択肢もあったんですが、iPhoneだと縦画面固定にして使ってる人も多いだろうから、いちいちその設定をオフにしなくてもランドスケープになるようにとの設計思想です。ちなみにコントロールパネルからOSレベルで回転ロックをしてしまうと、アプリ側では端末の回転信号を受け取れなくなるので、常時縦固定モードにしている場合、自動回転も実現が難しいという前提があります。

そんな中でコンセプトとしては、

  • 縦長と横長が混在する動画をなるべくスムーズに手間無く切り替えたい
  • Plus系機種やiPadでホーム画面が回転するのがイヤで常に回転ロック設定にしている人が、わざわざ横長動画を観る度にコントロールパネルからロック解除しなくても済むようにしたい
  • 横長動画でも好きでポートレイト(縦向き)のまま見る人がいるようなので、その自由も阻害しない

などを重視しました。3番目は電車などでも見かけます。狭い車内では横に持ちにくいとか、あまり見ているものを周囲に大写しにしたくないなどの理由があると思われます。なので、再生しようとしてる動画が縦長か横長かを検知して向きを変えるという仕組みは見送りました(ストリーミング再生の時などに検知にタイムラグができるといった理由もあるんですが)。

で、今回以下の仕様にて開発を進めています。ご意見など伺いつつ改良を加えていきたいと思います。

写真は一時停止中に表示されるクイック設定バーです。従来は①と②のボタンでスキップ秒数を変更するくらいにしか使われてませんでしたが、ここに③の手動回転ボタンと④の回転ロックボタンを追加しました。

回転ロックはコントロールパネルから行うものとは独立のものです。ただしコントロールパネル側でロックされていると、ここでロック解除しても自動では回転しません。前述の通りOS側でロックされた状態ではアプリレベルでは端末の回転を検知できないからです。

そんな場合のために、手動で強制的に回転するのが③のボタンです。押す度に90°ずつ矢印の方向に回転します。ロック状態と再生の向きは保存され、次の動画を再生する時のデフォルト設定になります。

自分で制御したい人、従来通り基本横向きで再生したい人、寝転がって視聴する時に勝手に向きを変えて欲しくない人は、④をロック状態にして使えば良いと思います。たまに縦長動画があったら③で手動で回します。

端末の向きに自動追従させたい場合は、コントロールパネルで回転ロックをオフにした上で、④もオフ状態にします。残念ながら前述の理由で「コントロールパネルでは縦固定にしてるがおやゆびでおは自動回転」はできません。

従来できて新システムでできないことは、「横向きの2方向(ホームボタン右とホームボタン左)のみの自動回転)」くらいじゃないかと思います。

また手動回転をいちいちポーズしてクイック設定バーから③を押すのがめんどくさいという人の為に、再生中の下スワイプにも手動回転動作を割り当ててみました。

なおこれらの影響範囲は動画再生ビューのみです。リスト画面は現状従来通りです。

 

おやゆびでおのiOS11およびiPhoneX対応予定について

開発者向けにiOS11とiPhoneXシミュレーターが配布され、動作検証と最適化を行っています。
 
  • iOS11でも主要機能は問題なく使えているようです
  • iPhoneXの上部のでっぱりで各種情報や操作部が隠れないようレイアウトの最適化はほぼ完了
  • その他、iOS11関係ないですが、内蔵WebブラウザでURL欄をタッチしてキーボードを出した後、Go(ページ読み込み)以外でキーボードを消す方法がない件について、現行のSafariに倣ってキャンセルボタンを表示するよう変更
 
これらの修正をした次バージョンは一応iPhoneXの実機を入手してからと考えていますが、発売からそう送れずにリリースできるのではないかと思います。

おやゆびでお3.8を公開しました

しばらく更新なく放置してすみませんでした。あまり時間がさけていませんが、秋にiOS11が出るとまた色々互換性の問題が出てくると思うので、現時点で対応できている部分で一旦リリースいたしました。

[新機能]

  •  簡易ジョグダイヤルを刷新し、より細かい精度で時間指定可能になりました。中心からの距離によるスキップ単位制御は廃止になりました。
  • Bluetoothゲーム/VRコントローラーに対応(KuGi製VR-PARKにて動作確認)

[バグ修正]

  • iOS標準メディアライブラリへのアクセスできなくなっていたのを修正
  • レジューム再生開始直後、フリックジェスチャー操作が反応しなかったのを修正

[変更点]

  • サイレント(マナー)モード中でも音声を鳴らすように変更
  • いくつかのオンライン動画サービスで互換性向上
  • iOS8以降のみが動作対象となりました。

おやゆびでお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など大画面でこそ本アプリの片手操作のコンセプトは重要度を増すと思って、再びヤル気が盛り上がっているところです。

諸々今後をお楽しみに。