31
1 Windows Vista Tablet PC: Windows Vista Tablet PC: [email protected] [email protected] [email protected] [email protected] PRS315 PRS315 Program Managers Program Managers Microsoft Corporation Microsoft Corporation

1 Windows Vista Tablet PC: [email protected] [email protected] [email protected] [email protected] PRS315 Program

Embed Size (px)

Citation preview

Page 1: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

1

Windows Vista Tablet PC:Windows Vista Tablet PC:

[email protected]@[email protected]@microsoft.comPRS315PRS315Program ManagersProgram ManagersMicrosoft CorporationMicrosoft Corporation

Page 2: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 3: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 4: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 5: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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!

Page 6: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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…

Page 7: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 8: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 9: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

9

Hello, InkCanvas!Hello, InkCanvas!

Page 10: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 11: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

11

InkCanvas Editing ModesInkCanvas Editing Modes

Page 12: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 13: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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!

Page 14: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

14

InkCanvas Over InkCanvas Over MediaElementMediaElement

Page 15: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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!

Page 16: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

16

TextBox.InputScopeTextBox.InputScope

Page 17: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 18: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 19: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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…

Page 20: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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();}}

Page 21: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

21

Basic InkAnalysisBasic InkAnalysis

Page 22: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 23: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 24: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

24

Handwritten Ink ListsHandwritten Ink Lists

Page 25: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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/

Page 26: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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)

Page 27: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

27

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 28: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

28

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 29: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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!!!

Page 30: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

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

Page 31: 1 Windows Vista Tablet PC: Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com Shawn.VanNess@microsoft.com Jamie.Wakeam@microsoft.com PRS315 Program

31

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.