FRMSKI開発ブログ

AWS、iOS、AR/VRなど開発メモ

HIG - System Capabilities / Augmented Reality① 和訳

HIGのAugmented Realityについての和訳です。3回にわけて翻訳します。

Augmented Reality

 アップルのAR(拡張現実感)技術であるARKitは、仮想オブジェクトを現実の世界とシームレスに融合させる魅力的な体験を提供します。 ARアプリでは、デバイスのカメラは、現実の世界をライブでオンスクリーン表示します。 3次元の仮想オブジェクトがこのビューに重ね合わされ、実際に存在するという錯覚を作り出します。ユーザーは、さまざまな角度からオブジェクトを探索するためにデバイスの向きを変えることができ、経験に応じてジェスチャーや動きを使ってオブジェクトとやりとりすることができます。

Designing an Engaging Experience

  • ディスプレイ全体を使用してください
     現実世界とあなたのアプリの仮想オブジェクトを見たり、探索したりするのに可能な限り多くの画面を提供する。没入感を軽減するコントロールや情報で画面が乱雑にならないようにしてください。

  • 現実的なオブジェクトを配置するときに説得力のある錯覚を生み出します
     すべてのAR体験が現実的な仮想オブジェクトを必要とするわけではありません。それらには、配置される物理的環境に生息するように見えるオブジェクトが含まれている必要があります。最良の結果を得るには、リアルなテクスチャで詳細な3Dアセットをデザインします。 ARKitが提供する情報を使用して、検出された実世界のサーフェス上にオブジェクトを配置し、オブジェクトを適切にスケーリングし、仮想オブジェクトの環境照明条件を反映し、実世界のサーフェス上に仮想オブジェクトの影をキャストし、カメラの位置が変化するとビジュアルを更新させます。

  • 人々はあなたのアプリをARに最適でない環境で使用することを想定してください
     人々は、移動する余地があまりないか、大きくて平坦な表面がない場所でアプリを開きます。課題を提示するシナリオを予測し、要件や期待を明確に人々に伝えてください。さまざまな環境で使用するためにさまざまな機能を提供することを検討してください。

  • ユーザーの快適さに注意してください
     一定の距離または角度で長時間デバイスを保持すると、疲労の原因となります。あなたのアプリケーションを使用するときに人々がデバイスを保持する方法を検討し、不快感を引き起こさない楽しい経験に努めてください。たとえば、デフォルトでは、距離を置いてオブジェクトを配置すると、デバイスをオブジェクトの近くに移動する必要がなくなります。ゲームは短いレベルで短時間のダウンタイムで混在させることができます。

  • アプリがユーザーの動きを奨励する場合は、徐々に導入してください
     ゲームでは、ユーザーはARに入るとすぐに仮想発射物を避けるために途中で移動する必要はありません。最初に経験に適応する時間を与えてください。その後、徐々に動きを促します。

  • ユーザーの安全に注意してください
     あまりにも多く移動すると、他の人や物が近くにいると危険です。アプリを安全に運用する方法を検討してください。ゲームは大きな動きや突然の動きを避けることができます。

  • 臨場感あふれる体験を高めるために、オーディオと触覚フィードバックを使用してください
     音響効果またはバンプ感覚は、仮想物体が物理的表面または他の仮想物体と接触したことを確認するための優れた方法である。没入型ゲームでは、バックグラウンドミュージックはユーザーを仮想世界に巻き込むのに役立ちます。

  • 可能な限り、ヒントを文脈で提供してください
     たとえば、オブジェクトの周りに3次元回転インジケータを配置すると、オーバーレイにテクスチャベースの命令を表示するよりも直感的になります。ただし、サーフェス検出が優先の場合、テクスチャオーバーレイヒントは保証されます。これはユーザーがコンテキストヒントに応答していない場合のみです。

  • オフスクリーンの仮想オブジェクトに向けて人々を誘導することを検討してください
     画面外に配置されたオブジェクトを特定するのが難しい場合があります。オフスクリーンオブジェクトを見つけるのが難しいような場合は、視覚的または聴覚的な手がかりを提供することを検討してください。たとえば、オブジェクトが左側にオフスクリーンの場合は、画面の左端にインジケータを表示して、カメラをその方向に向けることができます。

  • 指示テキストを表示する必要がある場合は、親しみやすい用語を使用してください
      ARは、一部のユーザーを脅かす可能性のある高度な概念です。それを近づけやすくするために、ARKit、世界の検出、追跡などの技術的、開発者指向の用語を参照しないでください。代わりに、ほとんどの人が理解できるフレンドリーな会話の言葉を使用してください。

【マッキンゼー調査】2019年に向けて『デザイン』について全ての企業が知るべきこと

 マッキンゼーの調査によると、5年間で2百万件の財務データと10万回のデザイン措置を徹底的に調査した結果、デザイン主導の企業は、他社と比較して32%の収益と56%の株主利益率を達成していることが明らかになっています。以下は米ウェブサイトFastCompanyによる調査の記事についての翻訳です。

 数年間に渡り、デザインコミュニティはデザインが重大なビジネス価値を持つケースを構築するよう努めてきました。コンサルティング会社のMcKinsey&Companyによる画期的な新しい調査では、デザインがビジネスに与えるインパクトを数値で表しています

 マッキンゼーは、500万件の財務データと10万件のデザインアクションを分析。その結果、5年間で300社のデザインをより顕著なものにしようと試みた公開企業で、デザイン原則の最も熟練した実行が、32%の収益と56%以上の株主への総収益をもたらすことが判りました。この発見は、医療技術、消費財、リテールバンキングという3つの別々の産業に当てはまりました。

 「この5年間、シニアビジネスリーダーは、"助けてくれ、製品やサービスの設計に関してゲームを強化する必要がある"と言っている」と、マッキンゼーのパートナーであるベネディクトシェパード氏は述べています。英国での開発と設計の実践 "製品やサービスを群衆から際立たせることはますます困難になっています。"

 Sheppard氏とその研究の他の著者は、回帰分析を使用して、デザインリーダーをCスイート(経営幹部レベル)に入れたり、経営幹部のボーナスを使いやすさスコアに結びつけるなどして、300社にわたる財務実績にどのような影響を与えたかを評価しました。デザインに関して、彼らが業界の競争相手に対しての立ち位置を学習することを目的にしました。著者らは、収入と総収益が最も増加した4つの異なる分野を明らかにし、McKinsey Design Index(MDI)と呼ばれる指標を使用して、これらの4つの分野で300社をランク付けしました。これらのテーマは次のとおりです。

  1. コストと収益を追跡するのと同様に、厳密に測定基準としてのデザインの影響を追跡する
     マッキンゼーは、ホームページのユーザビリティの微調整によって25%売上アップを実現したゲーム会社を1つ挙げています。

  2. 実際の対話によってユーザーを優先させる
     これにより、標準的なユーザーエクスペリエンスの外で考えることができます。マッキンゼーが強調した1つのホテルは、ホストシティのイメージを浮き彫りにしたお土産のゴム製のアヒルを訪問者に提示し、ホテルの他の場所からより多くのゴ​​ム製のアヒルを集めることを奨励しました。イニシアティブは、時間の経過とともにリテンションを3%向上させました。

  3. クロスファンクショナルチームにデザイナーを組み込み、トップデザインの人材を奨励する
     マッキンゼーSpotifyを例に挙げています。同社はデザイナーに多様な環境での自律性を与えています。これはデザイナーに血を流させるコンシューマーパッケージ商品会社とは異なります。マーケティングチームにとってはスライドデッキを見せるのにデザインに時間を費やす必要があったためです。

  4. 研究、早期プロトタイプ作成、反復を促す製品やサービスが立ち上げるだけで、設計作業が終了させない
     マッキンゼーがハイライトした1つのクルーズ船会社は、決済データを見てどの活動が最も人気があるのか​​を評価し、機械学習アルゴリズムでセキュリティフィードを分析して船のレイアウトの非効率性を発見しました。

 これら4つの事柄のすべてを常に一貫して実行してきた企業は、MDIに関して高い評価を得ていました。調査された300社のうち、MDIを4得点した企業は、各四分位の差異がごくわずかであった3得点、1得点と比較して、収入と総収益が急上昇していました。言い換えれば、その魔法を働かせるデザインのためには、Mckinseyが特定した4つの分野すべてにおいて、ビジネスが本当にコミットし、優れている必要があります。シェパードにとって、それは驚きでした。チームは、デザインに費やされた1ドルが収益を向上させると予測しましたが、実際にはデザインに優れた企業には財務的に不均衡がありました。

 シェパード氏は、「人々は決断を下す必要がある」と語ります。 「デザインについて真剣に取り組むのか、それとも全く投資しないのか」と言います。

マッキンゼーが調査した多くの企業は、これらの4つのテーマについて実行できませんでした。彼らの40%以上が開発中にユーザーと対話をしません。約50%はデザインチームの成果を客観的に評価する方法がありません。リーダーシップがデータ駆動の客観的な方法でデザインに関連した意思決定を行うことができると報告したのはわずか5%未満でした。プロトタイプを早期に使用し、ユーザーからのフィードバックを頻繁に繰り返す代わりに、調査対象企業の約60%は、開発プロセスの後半でプロトタイプを使用しています。これらはトップダウンの問題であり、企業の設計者が自分で修正することはできません。著者が書いているように、

"シニアリーダーは、デザインをビジネスヘルスに結びつける明確な方法がないため、希少なリソースをデザイン機能に転用することにしばしば気がつきません。当社の研究で明らかにされた強固で一貫したデザイン環境の主要な推進要因の多くは、企業レベルの意思決定と投資を求めているため、問題があります。多くのデザイナーは4つのMDIテーマのいくつか、またはすべてを熟知していますが、これらは一般的にデザイナーだけでは対処できず、しばしば確立するリーダーシップコミットメントを何年も必要とすることがあります"

 それでは、デザイン中心の文化を持たない企業はどのように構築するのでしょうか?この研究の著者は、1つのプロジェクトをパイロットとして選択し、次に4つの主要分野のそれぞれにコミットすることを推奨しています。彼らは、全社的な設計重視イニシアチブを一度に実施しようとするのではなく、パイロットを出発点として、より良い財務成績が得られることを発見しました。

 例えば、 1つの医療機器メーカーは、機能の異なるチームや共同設置されたチームを編成し、110種類以上のプロトタイプとコンセプトを構築し、2年間にわたってテストと反復を行い、経営陣のボーナスをユーザビリティスコアと外科医のフィードバックに結びつけました。同社は、マッキンゼーに、最終製品のユーザビリティスコアが競合製品より12ポイント高く、最終的に同社の市場シェアが40%増加したと報告しています。

 シェパードは、今後MDIをより多くの産業に拡大したいと考えています。現時点では、デザイナーが長い間認識してきたことを定量化するための重要なステップですが、企業のリーダーはそれを受け入れるのが遅れています。 「この報告書が認めていることは時代遅れです」とシェパードは言います。デザインはCスイートのトピックとなりました。

HIG - User Interaction / Undo and Redo 和訳

HIGのUndo and Redoについて和訳です。

Undo and Redo

 多くのアプリでは、デバイスを振ることで、入力や削除などの特定の操作を取り消したりやり直したりすることができます。アラートによって、ユーザーに取り消しまたはやり直し操作の確認が求められます。

f:id:frmski:20181031164656p:plain:w300

  • 元に戻すまたはやり直す操作を簡単かつ正確に記述する
     元に戻すとやり直しの警告タイトルには、自動的に「元に戻す」または「やり直し」という接頭辞が付きます(末尾のスペースを含む)。このプレフィックスの後に表示される、取り消しまたはやり直しの対象を説明する追加の単語を1つまたは2つ追加する必要があります。たとえば、「名前の取り消し」や「アドレス変更のやり直し」などのアラートタイトルを作成できます。

  • 取り消しとやり直しのためにシェイクジェスチャーを使用する場合、それ以外の操作には使用しないでください
     振る舞いに複数の意味をプログラムで与えることはできますが、人を混乱させる危険性があり、アプリケーションを予測できなくなる危険性があります。

  • 元に戻すとやり直しボタンを余すところなく提供します
     アプリが同じタスクを実行するための複数の方法を提供すると、混乱します。あなたのアプリケーションが本当に専用の取り消しとやり直しボタンを保証している場合は、標準のシステム付属のアイコンを使用して、ナビゲーションバーなどの予想される場所に配置します。


  • 現在のコンテキストでのみアンドゥとリドゥ操作を実行します
     取り消しとやり直しは、以前のコンテキストではなく、現在のコンテキストに対して明快で即座の効果をもたらすはずです。

開発者向けのガイダンスについては、UndoManager(UndoManager - Foundation | Apple Developer Documentation)を参照してください。

HIG - User Interaction / Near Field Communication 和訳

Human Interface GuidelinesのNear Field Communicationについての和訳です。

Near Field Communication

 ニアフィールド通信(NFC)は、互いに数センチ以内のデバイスが情報を無線で交換できるようにします。サポートされているデバイスで実行されているiOSアプリケーションは、NFCスキャンを使用して、実際のオブジェクトに添付された電子タグからデータを読み取ることができます。たとえば、ユーザーはおもちゃをスキャンしてビデオゲームに接続し、買い物客は店頭のサインをスキャンしてクーポンにアクセスしたり、小売従業員は商品をスキャンして在庫を追跡することができます。

f:id:frmski:20181030090951p:plain:w300

 開発者向けのガイダンスについては、CoreNFC(Core NFC | Apple Developer Documentation)を参照してください。

In-App Tag Reading

 アプリでは、アプリがアクティブなときに単一または複数のオブジェクトのスキャンを有効にし、ユーザーが何かをスキャンすると予想されるときはスキャンシートを表示できます。

  • 人々に物理的な物体との接触を促さないでください  タグをスキャンするには、iOSバイスをタグのすぐ近くに配置する必要があります。タグに実際に触れる必要はありません。人々にオブジェクトのスキャンを依頼するときは、タップの代わりにスキャンと把握のような用語を使用してください。

  • 親しみやすい用語を使用してください  近くのフィールドコミュニケーションは、一部の人には馴染みがないかもしれません。 NFC、Core NFC、Near Field Communication、タグのような技術的、開発者指向の用語を参照するのは避けてください。代わりに、ほとんどの人が理解できるフレンドリーな会話の言葉を使用してください。

  • スキャンシートのための簡潔な指示テキストを提供する  文章の場合、句読点を終える完全な文章を提供する。スキャンするオブジェクトを特定し、その後のスキャンで適切にテキストを修正します。切り捨てを避けるために、テキストを短くしておきます。

HIG - User Interaction / Gestures 和訳

iOS Human Interface Guidelines のGesturesについての和訳です。

Gestures

人々は、タッチスクリーン上でジェスチャーを実行することによって、iOSバイスと対話する。これらのジェスチャは、コンテンツとの密接な個人的なつながりを引き出し、画面上のオブジェクトの直接的な操作感を高めます。

  • 原則として、標準ジェスチャーを使用してください
     人々は標準的なジェスチャーに精通しており、同じことをするためのさまざまな方法を学ばなければならないことを忘れてしまいます。ゲームやその他の没入型アプリケーションでは、カスタムジェスチャーが楽しい体験の一部になることがあります。他のアプリでは、標準的なジェスチャーを使用することをお勧めします。

  • 非標準的な操作を実行するために標準的なジェスチャーを使用しないでください
     あなたのアプリがアクティブなゲームプレイのゲームでない限り、標準的なジェスチャーの意味を再定義するすれば混乱と複雑さが生じます。

  • システム全体の画面エッジジェスチャを妨害しないようにしてください
     デバイスに応じて、スクリーンエッジジェスチャーによって、ホーム画面、アプリスイッチャー、通知センター、コントロールセンター、およびドックにアクセスできます。人々はこれらのジェスチャーを利用してすべてのアプリで作業します。まれに、ゲームなどの没入型アプリでは、システムのジェスチャーよりも優先するカスタムのスクリーンエッジジェスチャーが必要になる場合があります。最初のスワイプではアプリ固有のジェスチャーが呼び出され、2回目のスワイプではシステムジェスチャーが呼び出されます。このような動作(エッジプロテクトと呼ばれる)は、システムレベルのアクションにアクセスすることが難しくなるため、控えめに実装する必要があります。

  • インターフェイスによるナビゲーションとアクションを補完する(置き換えるものではない)ショートカットジェスチャーを提供する
     可能な限り、余分なタップまたは2つを意味する場合でも、ナビゲートまたはアクションを実行するためのシンプルで目に見える方法を提供します。多くのシステムアプリには、ナビゲーションバーがあり、クリアしてタップ可能なボタンを前の画面に戻します。しかし、ユーザーは画面の横からスワイプして戻ることもできます。 iPadでは、[ホーム]ボタンを押すか、4本の指で挟むようなジェスチャーを使用して、ホーム画面に戻ることができます。

  • マルチフィンガージェスチャーを使用して、いくつかのアプリの経験を向上させます
     一度に複数の指を含むジェスチャーはすべてのアプリには適していませんが、ゲームや描画アプリなど、いくつかのアプリでその経験を豊かにすることができます。たとえば、ゲームには、同時に操作できるジョイスティックや発射ボタンなどの複数のオンスクリーンコントロールが含まれている場合があります。

Standard Gestures

 一般的に、次の標準的なジェスチャーは、システム全体およびすべてのアプリで同じように動作することが期待されます。
* タップ
* ドラッグ
* フリップ
* スワイプ
* ダブルタップ
* ピンチ
* タッチアンドホールド
* シェイク

【Swift】ARSceneViewの基点を指定する

ARSceneVIewでの基点は下記コードで変更できます。

let sceneView:ARSCNView
self.sceneView.session.setWorldOrigin(relativeTransform: simd_float4x4( transfrom ))

simd_float4x4は4x4の行列でトランスフォームの値になります。

simd_float4x4 - simd | Apple Developer Documentation

ちなみに、基点の表示はdebug optionsで設定可能です。

sceneView.debugOptions = [ARSCNDebugOptions.showWorldOrigin]

HIG - User Interaction / File Handling 和訳

iOS、Human Interface GuidelinesのFile Handlingについての和訳です。

File Handling

 ファイルを作成、表示、操作する際、ファイルシステムについて考える必要はありません。あなたのアプリケーションが正常に動作する場合、可能な限りファイル操作を軽視してください。

  • 取り消されたり削除されたりしない限り、作業は常に保存されると確信させる
     一般的に、人々に明示的にファイルを保存させないでください。代わりに、定期的な間隔で自動的に変更を保存したり、ファイルを開いたり閉じたりするときや、別のアプリケーションに切り替えるときに変更を保存します。いくつかのケースで、既存のファイルを編集しているときなどは、保存やキャンセルオプションは、編集内容がまだ残っているか確認するために意味をなします。

  • ローカルのみのファイルを作成するオプションを指定しないでください
     ユーザーはしばしば、すべてのデバイスですべてのファイルを使用できると考えています。可能な限り、アプリはiCloudなどのサービスを通じてクラウドベースのファイルストレージをサポートする必要があります。

  • 直感的でグラフィカルなファイルブラウジングインターフェイスを実装します
     理想的には、システムの使い慣れたドキュメントピッカーをブラウジングに使用します。カスタムファイルブラウザを実装する場合は、直感的かつ効率的であることを確認してください。ファイルブラウザは、高度にグラフィカルな場合に最も効果的で、ファイルの視覚的表現を提供します。より速いナビゲーションのために、新しい文書ボタンを用意して、新しい文書を作成するために他の場所に行く必要がないようにしてください。

  • ユーザーがあなたのアプリを離れずにファイルをプレビューできるようにする  クイックルックを使用すると、Keynote、Numbers、Pagesのドキュメント、PDF、画像、およびその他の種類のファイルの内容を実際に開いていなくても表示できます。クイックルック(Quick Look - System Capabilities - iOS - Human Interface Guidelines - Apple Developer)をご覧ください。

  • 必要に応じて、他のアプリとファイルを共有します
     それが合理的であれば、あなたのアプリはドキュメントプロバイダの拡張機能を使って他のアプリケーションとファイルを共有できます。あなたのアプリは、人々が他のアプリからのファイルをブラウズして開くことも可能にします。