Presentation is loading. Please wait.

Presentation is loading. Please wait.

9/18/2018 11:01 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.

Similar presentations


Presentation on theme: "9/18/2018 11:01 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."— Presentation transcript:

1 9/18/ :01 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Windows7: マルチタッチ アプリケーションの開発
9/18/ :01 AM Windows7: マルチタッチ アプリケーションの開発 Ver. 1.00 高橋 忍 エバンジェリスト Microsoft Corporation © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Agenda マルチタッチがもたらすもの マルチタッチ環境 マルチタッチAPIs マルチタッチアプリケーション マルチタッチに向けて

4 マルチタッチがもたらすもの

5 マルチタッチ環境 ハードウェア ソフトウェア コンシューマメッセージ
マルチタッチ対応のハードウェアはすでにいくつか市場で発売されている、今後対応デバイスは拡大予定 ソフトウェア Windows 7 Win32 API .Net 4.0 コンシューマメッセージ 新たなPCの利用方法の提供 新しいユーザーエクスペリエンス 新しい価値の提供

6 タッチインターフェースと Windows 7 ベースとなる4つの投資: マルチタッチ 技術を使った アプリケーションでの利用例:
開発プラットフォーム: ベースとなるタッチプラットフォーム プラットフォームをベースとして公開されるAPI群 UI の強化: コアUI要素の多くが、タッチ操作に対応した形で最適化される ジェスチャー: 多くのアプリケーションで、ズームや移動操作を実現できるようにマルチタッチ ジェスチャーが追加される アプリケーション: 今後マルチタッチをベースとしたアプリケーションがリリースされる。 ただしWindows7とは別で出てくる マルチタッチ 技術を使った アプリケーションでの利用例: Web 上でのナビゲーションやコンテンツ捜査 メールチェックやソート 写真閲覧 ボードタイプのゲームなど 音楽やビデオ観賞 ウィンドウのナビゲーションやレイアウト捜査 オフィスアプリケーション すべては消費者

7 マルチタッチでできること タッチであること マルチであること フィンガータッチオペレーション マウスと同じ動作(1次元の入力)
ドラッグ:スクロール、移動 マルチであること 複数の同時ポインタ マウスでできなかった新しい動作 パン:平行移動 ↑↑ ズーム:拡大縮小 ← → ローテーション:回転 ↑↓

8 マルチタッチ操作 パンニング ズーミング ローテーション

9 タッチ対応へのステップ どのようなアプリケーションがタッチインターフェースのメリットがあるのか? 効果的な投資のレベルを見極める
コンテンツ操作 モバイル、メディア エンターテインメント 効果的な投資のレベルを見極める Good – サポートなし, UX を修正する程度 Better – ジェスチャーをサポート,   タッチな感じの UX Best – タッチに最適さしたエクスペリエンス

10 マルチタッチ環境

11 Microsoft Surface Multi-touch

12 タッチ開発のロードマップ NET 4.0 / Surface 2.0 Release Windows 7 Release Native
Application WinForms Application WPF Application Surface Application Surface SDK 2.0 Surface SDK 1.0 Multi-Touch Controls Surface Multi-Touch Controls & API Multi-Touch API Managed Wrapper and Interop Managed Wrapper and Interop WPF 4.0 WPF 3.5 SP1 WPF 3.5 Multi-Touch API and Controls Surface Hardware Windows 7 Surface Hardware Windows Vista Windows 7 Multi-Touch API

13 マルチタッチ環境 マルチタッチ対応パネル Application .NET4.0 ドライバ Win32 API OS : Windows7

14 Touch and Take タッチすると何がもらえるのか? Mouseイベント? 複数のタッチデータがもらえる?
No! Touch イベント 複数のタッチデータがもらえる? Yes! 複数のタッチデータを解析が必要 No! and Yes! 動きのパターンから3つのメッセージ ジェスチャー 自分で解析することももちろん可能

15 マルチタッチ操作:ジェスチャー パンニング ズーミング ローテーション

16 タッチプラットフォーム Good Better Best 即対応可能! 移動/ズーム 右クリックで ジェスチャー ジェスチャー メッセージ
API 即対応可能! 移動/ズーム 右クリックで ジェスチャー ジェスチャー メッセージ 移動/ズーム/回転/等々 タッチ生データ 操作,慣性プロセッサ Win32 標準のスクロールバーでの操作 WM_GESTURE メッセージ WM_TOUCH COM ベースの 操作,慣性プロセッサ WPF WPF 4.0 ScrollViewerでの スクロール操作をサポート Gesture イベント 慣性の設定 Touch イベント WinForms P/Invoke Microsoft.Ink.DLL対応操作、慣性プロセッサ リアルタイム スタイラス、インクコレクター

17 マルチタッチAPI

18 2つのメッセージ Touch Gesture

19 Gesture WM_GESTURECOMMAND 合成されたジェスチャー タッチ操作を合成したもの メッセージバブル&キャプチャ
Better: Good gesture support is key アプリケーションは Window メッセージの形でジェスチャーの情報とイベントを受け取る 利用例:よりリッチなイベントとして スムース、高感度なスクロール&ズーム 合成されたジェスチャー タッチ操作を合成したもの メッセージバブル&キャプチャ 従来通りのハンドリングも可能

20 WM_GESTURECOMMAND BOOL WINAPI GetGestureCommandInfo( __in UINT uMsg,
__in WPARAM wParam, __in LPARAM lParam, __in LPARAM lExtraInfo, __inout PGESTUREINFO pGestureInfo ); typedef struct _GESTURECOMMANDINFO { UINT cbSize; DWORD dwFlags; DWORD dwCommand; DWORD dwArguments; POINTS ptsLocation; } GESTURECOMMANDINFO, *PGESTURECOMMANDINFO;

21 WM_GESTURECOMMAND 送信される情報: dwCommand dwArguments ptsLocation パン 移動距離
中心点 ズーム ろーテーと 絶対角(開始時) 回転角(更新時) 2点タップ NA 右クリック ジェスチャー 最初のタッチ点

22 WM_GESTURE 今後の Windows 7 Build で追加予定
9/18/ :01 AM WM_GESTURE 今後の Windows 7 Build で追加予定 Gesture API WM_GESTURE メッセージ GESTUREINFO 構造体 GetGestureInfo() メソッド etc その他 GESTUREINFO 内に追加 gesture 設定情報関連 API WM_GESTURENOTIFY メッセージ GESTURECONFIG 構造体 Set/GetGestureConfig() メソッド © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23 シングルポイントパンニング この後の Windows 7 Build に実装予定
シングルポイントパニング (SFP) によってより簡単にパンニングを実現 アプリケーションでのSPIの設定方法: SetGestureConfig() for GC_PAN GC_PAN_WITH_SINGLE_FINGER_VERTICALLY、 GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY のいずれか・もしくは両方を指定 SFP をデフォルトにしない場合 通常のスクロールバーを利用 SBM_GETSCROLLINFO WM_GESTURE に対応させる

24 Touch WM_TOUCH* 関連メッセージ Best: WM_TOUCH タッチ操作に最適化したエクスペリエンスを実現
WM_TOUCHDOWN WM_TOUCHMOVE WM_TOUCHUP 意味的にはマウスメッセージに類似 Win32 アプリケーションにタッチ情報を送信 利用例: 指ペイント、カスタムジェスチャ、 より高いレベルのUI操作を実現するために利用 等々

25 WM_TOUCH BOOL WINAPI RegisterTouchWindow( __in HWND hwnd,
__in ULONG ulFlags); BOOL WINAPI GetTouchInputInfo( __in HANDLE hTouchInput, // input event handle __in UINT cInputs, // number of elts in the array __out_ecount(cInputs) PTOUCHINPUT pInputs, // array of touch inputs __in int cbSize); // sizeof(TOUCHINPUT) typedef struct tagTOUCHINPUT { LONG x; LONG y; HANDLE hSource; DWORD dwID; DWORD dwFlags; DWORD dwMask; DWORD dwTime; ULONG_PTR dwExtraInfo; DWORD cxContact; DWORD cyContact; } TOUCHINPUT, *PTOUCHINPUT; typedef TOUCHINPUT const * PCTOUCHINPUT; BOOL WINAPI CloseTouchInputHandle( __in HANDLE hTouchInput); // input event handle

26 マルチタッチ アプリケーション対応

27 マニピュレーション タッチに最適化されたUIのための基盤 マニピュレーションとは?: 要生データ: WM_TOUCH or RTS
2Dアフィン変換(変換, スケーリング, 回転) 対応するジェスチャのスーパーセット 複合マニピュレーションにも対応 要生データ: WM_TOUCH or RTS Surface APIs に類似 インターフェース: IManipulationProcessor IManipulationEvents

28 慣性:Inertia(イナーシア) 基礎物理 マニピュレーションと連携して動作 インターフェース: IInertiaProcessor
IManipulationEvents マニピュレーションと 同じイベントインターフェース

29 .Net Framework における マルチタッチ
WPFへの対応: 3.5 アップデートが Windows 7 発売と近い時期にリリース予定 マルチタッチ, gesture APIs 4.0 リリース Multi-touch 対応新コントロール WinForms への対応 ネイティブWin32 APIs への Interrop マネージド Manipulations/Inertia ラッパー

30 Multi-Touch In WPF UIElement and UIElement3D の変更 マルチタッチ 対応コントロール:
Gesture イベント (tracking) Touch system gesture イベント(single) 生のタッチイベント タッチ/タッチデジタイザデバイス対応 マルチタッチ 対応コントロール: ScrollViewer は パンニングに対応 マルチタッチに合わせて ベースコントロールをアップデート マルチキャプチャをサポート 新しいマルチタッチ対応コントロール Surface SDK 2.0 と下位互換性

31 Gestures In WPF UIElement & UIElement3D ジェスチャーイベントに対応
TouchGestureStarted TouchGestureChanged TouchGestureEnded マルチキャプチャ対応のためルートにはならない Gesture はマニピュレーションベース TouchGestureStarted 時に慣性動作 完成動作 の TouchGestureChanged イベント タッチシステム gestures

32 Touch Events In WPF UIElement and UIElement3D
TouchDown, TouchMove, TouchUp TouchEnter, TouchLeave Preview 順序: Touch → Stylus → Mouse マルチキャプチャ CaptureTouchDevice(TouchDevice) ReleaseTouchDeviceCapture(TouchDevice) ReleaseAllTouchDeviceCaptures() TouchDeviceCollection TouchDevicesCaptured { get; } TouchDeviceCollection TouchDevicesCapturedWithin { get; } IsAnyTouchDeviceCaptured(); IsAnyTouchDeviceCapturedWithin();

33 タブレット拡張 リアルタイム スタイラス(RTS) InkCollector からのタッチデータの取得 タッチ生データ生成のベース
IRealTimeStylus3::MultiTouchEnabled() InkCollector からのタッチデータの取得 ATOM m_atom = ::GlobalAddAtom(MICROSOFT_TABLETPENSERVICE_PROPERTY); m_dwProperty = TABLET_ENABLE_MULTITOUCHDATA; ::SetProp(m_hwnd, (LPTSTR)m_atomPenService, (HANDLE)m_dwProperty);

34 UX Considerations General guidelines: Gesture guidelines:
Big targets Gesture guidelines: Whitespace Use common gestures Avoid hover See UX guidelines Gestures need to be intuitive and natural Be aware of hardware: Moving away from shortcut style gestures to manipulations and direct manipulation Form factor Avoid on-hover UI Edges, jitter, etc

35 マルチタッチに向けて

36 マルチタッチの時代がやってくる ISVs には好反応 すでに対応を開始しているISV: AutoDesk Avoco Secure
Corel Cyberlink Fuel Industries Identity Mine Sonic

37 タッチアプリケーション開発にあたって まずは何から始めるか 対応させるアプリケーションの検討 最適な対応レベルを考える 投資対効果の検討
何か面白いものを作ってみよう!

38 始めるために 何が必要か?? WPF Multi-touch ハードウェア: ソフトウェア:
マルチタッチベータドライバ対応 PC: HP TouchSmart Dell Latitude XT ソフトウェア: Window 7 Beta build Touch Platform SDK and samples WPF Multi-touch .NET 4.0 Preview Releases in 2009 .NET 3.5 update

39 9/18/ :01 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "9/18/2018 11:01 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered."

Similar presentations


Ads by Google