Upload
coleen-porter
View
236
Download
4
Embed Size (px)
Citation preview
1
Windows Vista Tablet PC:Windows Vista Tablet PC:
[email protected]@[email protected]@microsoft.comPRS315PRS315Program ManagersProgram ManagersMicrosoft CorporationMicrosoft Corporation
2
Tablet PC In The Windows Vista Tablet PC In The Windows Vista EraEra
Exciting new Tablet PC featuresExciting new Tablet PC featuresHandwriting recognitionHandwriting recognition
Shell and usability enhancementsShell and usability enhancements
Major investments in the Mobile PC Major investments in the Mobile PC spacespace
Developing Power Aware ApplicationsDeveloping Power Aware Applications
Synchronization ManagerSynchronization Manager
Auxiliary display technologyAuxiliary display technology
Support for touch-screen devicesSupport for touch-screen devices
3
What’s new for developers?What’s new for developers?Two new API sets!Two new API sets!
Ink in WPF – Second generation Ink Ink in WPF – Second generation Ink collection and rendering platformcollection and rendering platform
Ink Analysis – Second generation Ink Analysis – Second generation handwriting recognition platformhandwriting recognition platform
Not actually Windows Vista featuresNot actually Windows Vista featuresBoth APIs will be available down-levelBoth APIs will be available down-level(XP SP2 and later)(XP SP2 and later)
Tablet PC In The Windows Vista Tablet PC In The Windows Vista EraEra
4
Tablet PC TodayTablet PC TodayLots of great hardware!Lots of great hardware!
HP TC4200HP TC4200
Toshiba R15/M4Toshiba R15/M4
Fujitsu T4000Fujitsu T4000
ThinkPad X41TThinkPad X41T
GatewayGatewayAcerAcer
MotionMotionMotionMotion
5
Digital Ink In WindowsDigital Ink In WindowsPresentation FoundationPresentation Foundation
Tablet PC platform features are first-Tablet PC platform features are first-class citizens in Windows class citizens in Windows Presentation Foundation (WPF)Presentation Foundation (WPF)
Digital ink collection, rendering, and Digital ink collection, rendering, and editingediting
Stylus input events on all elementsStylus input events on all elements
Stroke object modelStroke object model
Partial trust supportPartial trust support
StickyNote annotationsStickyNote annotations
……much more!much more!
6
Digital Ink In WPFDigital Ink In WPF
Tablet PC platform features are first-Tablet PC platform features are first-class citizens in WPF. This means…class citizens in WPF. This means…
No separate SDK to build againstNo separate SDK to build against
No separate runtime to redistNo separate runtime to redist
Add ink to your desktop apps – why Add ink to your desktop apps – why not?not?
Anyone with a mouse can play along…Anyone with a mouse can play along…
7
Strange Bedfellows?Strange Bedfellows?
Many points of synergy between Many points of synergy between Tablet apps and WPFTablet apps and WPF
DPI-independence and vector graphics, DPI-independence and vector graphics, supporting a wide range of display supporting a wide range of display devicesdevicesand aspect ratiosand aspect ratios
Flowed layout features help maximize Flowed layout features help maximize screen real estate in screen real estate in portrait/landscape/widescreenportrait/landscape/widescreen
3D or no 3D? “Tier” the user experience 3D or no 3D? “Tier” the user experience to match hardware capabilitiesto match hardware capabilities
Tablet PC users demand out-of-the-Tablet PC users demand out-of-the-ordinary user interface designordinary user interface design
8
The <InkCanvas> The <InkCanvas> ElementElement
Centerpiece of Tablet PC support in Centerpiece of Tablet PC support in WPFWPF
Collects ink over any child element(s)Collects ink over any child element(s)
Provides a superset of functionality Provides a superset of functionality provided by the InkCollector, InkOverlay, provided by the InkCollector, InkOverlay, and InkPicture components in the and InkPicture components in the traditional Tablet SDKtraditional Tablet SDK
Inherits the layout characteristics ofInherits the layout characteristics of<Canvas> element<Canvas> element
9
Hello, InkCanvas!Hello, InkCanvas!
10
InkCanvas Editing ModesInkCanvas Editing Modes
All the modes you know and love…All the modes you know and love…Ink, EraseByStroke, EraseByPoint, SelectInk, EraseByStroke, EraseByPoint, Select
Plus, selection mode extended to Plus, selection mode extended to support direct manipulation of any support direct manipulation of any child element on the InkCanvas!child element on the InkCanvas!
Allows development of a mixed text/inkAllows development of a mixed text/inknote taking experience similar to Journalnote taking experience similar to Journalor OneNoteor OneNote
EditingModeInvertedEditingModeInvertedBuilt-in support for “top-of-pen-erase” Built-in support for “top-of-pen-erase” featurefeature
11
InkCanvas Editing ModesInkCanvas Editing Modes
12
Build Your Own Stylus Build Your Own Stylus InputInput
<InkPresenter> Decorator<InkPresenter> DecoratorProvides static rendering of ink strokesProvides static rendering of ink strokes
DynamicRendererDynamicRendererProvides dynamic (real-time) ink Provides dynamic (real-time) ink renderingrendering
UIElement.StylusXxxx eventsUIElement.StylusXxxx eventsProvide hooks to collect ink strokes into Provide hooks to collect ink strokes into your object modelyour object model
StylusInRange StylusInRange StylusOutOfRangeStylusOutOfRange
StylusEnterStylusEnterStylusInAirMoveStylusInAirMoveStylusLeaveStylusLeave
StylusDownStylusDownStylusMoveStylusMoveStylusUpStylusUp
StylusButtonDownStylusButtonDownStylusButtonUpStylusButtonUp
13
Deeper IntegrationDeeper Integration
MIL stands for “Media Integration MIL stands for “Media Integration Layer”Layer”
Collect ink over live video!Collect ink over live video!
14
InkCanvas Over InkCanvas Over MediaElementMediaElement
15
Deeper IntegrationDeeper Integration
MIL stands for “Media Integration MIL stands for “Media Integration Layer”Layer”
Collect ink over live video!Collect ink over live video!
UIElement.InputScopeUIElement.InputScopeApply bias for handwriting recognition on Apply bias for handwriting recognition on any input element – TIP picks it up!any input element – TIP picks it up!
16
TextBox.InputScopeTextBox.InputScope
17
What Is InkAnalysis?What Is InkAnalysis?
Windows Vista Windows Vista generation generation handwriting handwriting recognition APIrecognition API
Combines Combines Recognition Recognition Context and Context and InkDivider APIs InkDivider APIs
Architecture Architecture supports WPF, supports WPF, Windows Forms Windows Forms and COMand COM
COM COM ApplicationApplication
IACOM.dllIACOM.dllMicrosoft.InkMicrosoft.Ink.Analysis.dll.Analysis.dllIAWinFX.dllIAWinFX.dll
reco.dllreco.dllIALoader.dllIALoader.dll
IACore.dllIACore.dll
Windows Windows FormForm
ApplicationApplication
WPF WPF ApplicationApplication
18
InkAnalysis FunctionalityInkAnalysis Functionality
Recognition for 10 languagesRecognition for 10 languages
Writing/Drawing ClassificationWriting/Drawing Classification
Writing Region, Line and Writing Region, Line and Word/Character segmentationWord/Character segmentation
Handwritten OutlinesHandwritten Outlines
Basic ShapesBasic Shapes
Ink-on-Ink AnnotationsInk-on-Ink Annotations
Ink-on-Text AnnotationsInk-on-Text Annotations
19
InkAnalysis FunctionalityInkAnalysis Functionality
Easier to useEasier to useMultiple AnalysisHints (guides, wordlists,Multiple AnalysisHints (guides, wordlists,input scopes, etc) in a single inking areainput scopes, etc) in a single inking area
Multi-language recognition in one callMulti-language recognition in one call
Persists all results, including correctionsPersists all results, including correctionsor partial resultsor partial results
More in a minute…More in a minute…
20
How To Call InkAnalysisHow To Call InkAnalysis
Similar usage to RecognitionContext Similar usage to RecognitionContext APIAPI
Supports both synchronous analysisSupports both synchronous analysis
and asynchronous analysis and asynchronous analysis operationsoperations
System.Windows.Ink.InkAnalyzer myIA = new InkAnalyzer(this.Dispatcher);System.Windows.Ink.InkAnalyzer myIA = new InkAnalyzer(this.Dispatcher);myIA.AddStrokes(myInkCanvas.Strokes);myIA.AddStrokes(myInkCanvas.Strokes);myIA.Analyze();myIA.Analyze();string myResults = myIA.GetRecognizedString();string myResults = myIA.GetRecognizedString();
System.Windows.Ink.InkAnalyzer myIA = new InkAnalyzer(this.Dispatcher);System.Windows.Ink.InkAnalyzer myIA = new InkAnalyzer(this.Dispatcher);myIA.AddStrokes(myInkCanvas.Strokes);myIA.AddStrokes(myInkCanvas.Strokes);myIA.BackgroundAnalyze();myIA.BackgroundAnalyze();
......
void myInkAnalyzer_Results(object sender, ResultsEventArgs e)void myInkAnalyzer_Results(object sender, ResultsEventArgs e){{
string myResults = myIA.GetRecognizedString();string myResults = myIA.GetRecognizedString();}}
21
Basic InkAnalysisBasic InkAnalysis
22
t1
t2
UI Thread
IA IA updatedupdated
Add Stroke
Prune and Prune and CloneClone
BackgroundAnalyze
Private InkAnalyzer Background Thread
InkAnalyzer
IA background operation
Return
ResultsSync updates
Results Event
RecognitioRecognitionn
IA IA updatedupdated
Add StrokeLayoutLayout
AnalysisAnalysis
IA IA updatedupdated
Remove Stroke
t3
t4
t5
t6
t7
ReconcileReconcile
Application
IA IA updatedupdated
Remove Stroke
How InkAnalysis WorksHow InkAnalysis Works
Prune only Prune only what is what is neededneeded
Clone to Clone to backgrounbackground threadd thread
Reconcile Reconcile changeschanges
23
InkAnalysis FunctionalityInkAnalysis Functionality
Rich eventsRich eventsIntegrate results into existing document Integrate results into existing document modelsmodels
Integrate previous results back into the Integrate previous results back into the InkAnalyzerInkAnalyzer
Dynamically prune in ink and document Dynamically prune in ink and document content content
Integrate representations of non-ink Integrate representations of non-ink objects into the InkAnalyzerobjects into the InkAnalyzer
Support for Ink-on-Text AnnotationsSupport for Ink-on-Text Annotations2D spatial representation of non-ink 2D spatial representation of non-ink contentcontent
24
Handwritten Ink ListsHandwritten Ink Lists
25
How You Can Get StartedHow You Can Get Started
Visit the Mobile PC Developer CenterVisit the Mobile PC Developer Centerhttp://msdn.microsoft.com/mobility/http://msdn.microsoft.com/mobility/
Download the Mobile PC andDownload the Mobile PC andTablet PC September 2005 Beta SDKTablet PC September 2005 Beta SDK
Visit the Windows Vista Developer Visit the Windows Vista Developer CenterCenter
http://msdn.microsoft.com/windowsvista/http://msdn.microsoft.com/windowsvista/
26
Other Cool TalksOther Cool Talks
Mobile PC relatedMobile PC relatedDeveloping Power Aware Applications Developing Power Aware Applications (FUN319)(FUN319)
Synchronization Manager (DAT317)Synchronization Manager (DAT317)
Auxiliary display technology (PRS308)Auxiliary display technology (PRS308)
Support for touch-screen devicesSupport for touch-screen devices
WinFX relatedWinFX relatedContent and Reading (PRS330)Content and Reading (PRS330)
Performance and Tiering (PRS327)Performance and Tiering (PRS327)
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
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
29
ISV EcosystemISV Ecosystem
15% of professional developers have active 15% of professional developers have active projects that include Tablet PCsprojects that include Tablet PCs
300,000 developers working with Tablet PC 300,000 developers working with Tablet PC APIsAPIs
700+ registered ISV partners (300% increase 700+ registered ISV partners (300% increase since last year) since last year) http://www.tabletpcpartners.comhttp://www.tabletpcpartners.com
300+ applications enabled for Tablet PC300+ applications enabled for Tablet PCavailable today available today
http://www.tabletpcpost.com http://www.tabletpcpost.com
http://www.microsoft.com/windowsxp/tabletpc/http://www.microsoft.com/windowsxp/tabletpc/partners/software.mspxpartners/software.mspx
Tablet Partner Showcase getting 10,000 Tablet Partner Showcase getting 10,000 hits/day!!!hits/day!!!
30
ISV MomentumISV Momentum
Consumer spaceConsumer spaceDrawing, photo editing, note-taking Drawing, photo editing, note-taking Artrage, Alias, Corel Painter, Concept7Artrage, Alias, Corel Painter, Concept7
Education Education Leaders are adopting Leaders are adopting Tegrity, Agilix, DyKnow, OneNote Tegrity, Agilix, DyKnow, OneNote
Corporate and line of business applicationsCorporate and line of business applicationsTablet PC applications in >40% of Fortune 500Tablet PC applications in >40% of Fortune 50080,000 corporate developers using Tablet PC SDK80,000 corporate developers using Tablet PC SDKForms processing and note taking are key!Forms processing and note taking are key!Mi-Co, Design Universe, ActiveInkMi-Co, Design Universe, ActiveInk
Tablet PCs validated in enterprise solutionsTablet PCs validated in enterprise solutionsSAP CRM 4.0 is ink-enabledSAP CRM 4.0 is ink-enabledSiebel 7.7 supports running on Tablet PCSiebel 7.7 supports running on Tablet PC
31
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.