PRS315 Tablet Enabled Applications

Download Report

Transcript PRS315 Tablet Enabled Applications

Windows Vista Tablet PC:
[email protected]
[email protected]
PRS315
Program Managers
Microsoft Corporation
1
Tablet PC In The Windows Vista Era
Exciting new Tablet PC features
Handwriting recognition
Shell and usability enhancements
Major investments in the Mobile PC space
Developing Power Aware Applications
Synchronization Manager
Auxiliary display technology
Support for touch-screen devices
2
Tablet PC In The Windows Vista Era
What’s new for developers?
Two new API sets!
Ink in WPF – Second generation Ink collection
and rendering platform
Ink Analysis – Second generation handwriting
recognition platform
Not actually Windows Vista features
Both APIs will be available down-level
(XP SP2 and later)
3
Tablet PC Today
Lots of great hardware!
Fujitsu T4000
ThinkPad X41T
Toshiba R15/M4
Gateway
Acer
HP TC4200
Motion
4
Digital Ink In Windows
Presentation Foundation
Tablet PC platform features are first-class
citizens in Windows Presentation
Foundation (WPF)
Digital ink collection, rendering, and editing
Stylus input events on all elements
Stroke object model
Partial trust support
StickyNote annotations
…much more!
5
Digital Ink In WPF
Tablet PC platform features are first-class
citizens in WPF. This means…
No separate SDK to build against
No separate runtime to redist
Add ink to your desktop apps – why not?
Anyone with a mouse can play along…
6
Strange Bedfellows?
Many points of synergy between Tablet
apps and WPF
DPI-independence and vector graphics,
supporting a wide range of display devices
and aspect ratios
Flowed layout features help maximize screen
real estate in portrait/landscape/widescreen
3D or no 3D? “Tier” the user experience to
match hardware capabilities
Tablet PC users demand out-of-the-ordinary
user interface design
7
The <InkCanvas> Element
Centerpiece of Tablet PC support in WPF
Collects ink over any child element(s)
Provides a superset of functionality provided
by the InkCollector, InkOverlay, and InkPicture
components in the traditional Tablet SDK
Inherits the layout characteristics of
<Canvas> element
8
Hello, InkCanvas!
9
InkCanvas Editing Modes
All the modes you know and love…
Ink, EraseByStroke, EraseByPoint, Select
Plus, selection mode extended to support
direct manipulation of any child element on
the InkCanvas!
Allows development of a mixed text/ink
note taking experience similar to Journal
or OneNote
EditingModeInverted
Built-in support for “top-of-pen-erase” feature
10
InkCanvas Editing Modes
11
Build Your Own Stylus Input
<InkPresenter> Decorator
Provides static rendering of ink strokes
DynamicRenderer
StylusInRange
StylusOutOfRange
Provides dynamic (real-time) ink rendering
UIElement.StylusXxxx events
StylusEnter
StylusInAirMove
StylusLeave
Provide hooks to collect ink strokes
into your
StylusDown
StylusMove
object model
StylusUp
StylusButtonDown
StylusButtonUp
12
Deeper Integration
MIL stands for “Media Integration Layer”
Collect ink over live video!
13
InkCanvas Over MediaElement
14
Deeper Integration
MIL stands for “Media Integration Layer”
Collect ink over live video!
UIElement.InputScope
Apply bias for handwriting recognition on any
input element – TIP picks it up!
15
TextBox.InputScope
16
What Is InkAnalysis?
Windows Vista
generation
handwriting
recognition API
Combines
Recognition Context
and InkDivider APIs
Architecture supports
WPF, Windows
Forms and COM
COMWindows FormWPF
Application
Application
Application
Microsoft.Ink.A
IAWinFX.dll
IACOM.dll
nalysis.dll
IACore.dll
IALoader.dll
reco.dll
17
InkAnalysis Functionality
Recognition for 10 languages
Writing/Drawing Classification
Writing Region, Line and Word/Character
segmentation
Handwritten Outlines
Basic Shapes
Ink-on-Ink Annotations
Ink-on-Text Annotations
18
InkAnalysis Functionality
Easier to use
Multiple AnalysisHints (guides, wordlists,
input scopes, etc) in a single inking area
Multi-language recognition in one call
Persists all results, including corrections
or partial results
More in a minute…
19
How To Call InkAnalysis
Similar usage to RecognitionContext API
Supports both synchronous analysis
System.Windows.Ink.InkAnalyzer myIA = new InkAnalyzer(this.Dispatcher);
myIA.AddStrokes(myInkCanvas.Strokes);
myIA.Analyze();
string myResults = myIA.GetRecognizedString();
and asynchronous analysis operations
System.Windows.Ink.InkAnalyzer myIA = new InkAnalyzer(this.Dispatcher);
myIA.AddStrokes(myInkCanvas.Strokes);
myIA.BackgroundAnalyze();
...
void myInkAnalyzer_Results(object sender, ResultsEventArgs e)
{
string myResults = myIA.GetRecognizedString();
}
20
Basic InkAnalysis
21
How InkAnalysis Works
Private InkAnalyzer
Background Thread
Application
Prune only
what is
needed
Clone to
background
thread
Reconcile
changes
UI Thread
t1
InkAnalyzer
Add Stroke
Remove Stroke
t2
t3
t4
t5
t6
t7
IA updated
IA updated
BackgroundAnalyze
Return
Add Stroke
Remove Stroke
Prune and
Clone
IA background
operation
Layout
Analysis
IA updated
IA updated
Recognition
Sync updates
Results Event
Results
Reconcile
22
InkAnalysis Functionality
Rich events
Integrate results into existing document models
Integrate previous results back into the
InkAnalyzer
Dynamically prune in ink and document content
Integrate representations of non-ink objects into
the InkAnalyzer
Support for Ink-on-Text Annotations
2D spatial representation of non-ink content
23
Handwritten Ink Lists
24
How You Can Get Started
Visit the Mobile PC Developer Center
http://msdn.microsoft.com/mobility/
Download the Mobile PC and
Tablet PC September 2005 Beta SDK
Visit the Windows Vista Developer Center
http://msdn.microsoft.com/windowsvista/
25
Other Cool Talks
Mobile PC related
Developing Power Aware Applications
(FUN319)
Synchronization Manager (DAT317)
Auxiliary display technology (PRS308)
Support for touch-screen devices
WinFX related
Content and Reading (PRS330)
Performance and Tiering (PRS327)
26
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
27
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
28
ISV Ecosystem
15% of professional developers have active
projects that include Tablet PCs
300,000 developers working with Tablet PC APIs
700+ registered ISV partners (300% increase since
last year) http://www.tabletpcpartners.com
300+ applications enabled for Tablet PC
available today
http://www.tabletpcpost.com
http://www.microsoft.com/windowsxp/tabletpc/
partners/software.mspx
Tablet Partner Showcase getting 10,000 hits/day!!!
29
ISV Momentum
Consumer space
Drawing, photo editing, note-taking
Artrage, Alias, Corel Painter, Concept7
Education
Leaders are adopting
Tegrity, Agilix, DyKnow, OneNote
Corporate and line of business applications
Tablet PC applications in >40% of Fortune 500
80,000 corporate developers using Tablet PC SDK
Forms processing and note taking are key!
Mi-Co, Design Universe, ActiveInk
Tablet PCs validated in enterprise solutions
SAP CRM 4.0 is ink-enabled
Siebel 7.7 supports running on Tablet PC
30
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
31