Top Banner
DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant
33

DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Dec 24, 2015

Download

Documents

Maude Roberts
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

DEV389

Getting started with the Tablet PC SDK

Name: Lester MaddenTitle: Developer Consultant

Page 2: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Agenda

Introducing the Tablet PC

How do I write applications

Design Guidelines

Page 3: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

What is a Tablet PC?Full Function Mobile Business PC

Runs Windows XP Tablet PC Edition (superset of Windows XP Pro)

Runs all existing Windows applications

Enables New PC Usage ScenariosUnprecedented PC mobility

New Pen and Speech technologies

A Powerful PlatformEnables a new generation of business solutions

E.g., MS Office, many third party ISV applications

The Smartest .NET Client Most mobile PC, most powerful OS

Includes full .NET framework

Page 4: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Hardware Requirements

Limited to a Minimal SetEM Digitizer with active pen

Support surprise removal from dock

5 second resume from Standby

Legacy free (no serial or parallel ports)

Supports both portrait and landscape modes

Dedicated button for Ctl-Alt-Del (security)

Page 5: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Convertible Tablet PCs

Integrated keyboard

Clamshell design

Page 6: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Docking Station

Allows classic Desktop PC use

Page 7: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Tablet PC Tablet PC ApplicationsApplications

Page 8: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Tablet PC and Windows Powered Smart Display

Tablet PC Windows Powered

Smart Display

What is it?

Business Mobile PC with additional Tablet

functionality

Cordless Smart Display, PC peripheral for the

home

Who Will Use it?

Corporate Knowledge Workers

Home Users and Families

Where can it be used?

Anywhere,from the desktop,

to taking digital notes in meetings, to on an

airplane

In the Home, within range of wireless

Windows XP PC or wireless access point

Page 9: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Environment

DevelopmentWindows XP Tablet PC Edition

Install on Tablet or Non-Tablet devices

External Wacom digitizer can be used to simulate Tablet digitizer

Mouse can also be used to collect Ink

DeploymentWindows XP Tablet PC Edition

Windows .NET Server 2003

Windows 2000 + with Tablet modulesCan be part of your setup

Page 10: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Platform Overview

Tablet PC platform is exposed in several way

Class Libraries

COM Object Model

Dual Interfaced

.NET Interop Layer

Thin layer over the COM Object Model

Available in all .NET languages (C#, VB.NET, etc)

Set of controls

Available in C++, .NET and VB6

Page 11: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Ink is not a bitmapSerialize as

Binary (ISF) XML ImageRTF (Clipboard)

Ink as TextControls convert inputInput saved at text by defaultOriginal Ink lost in translationInk as Ink scales to the current Font Size

- Great for Forms based scenarios

Your application goal

Page 12: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Pen CharacteristicsPen “tip” identified by cursors

Same concept as mouse cursor

Pen can have multiple cursors

Some Tablets allow for multiple pen’s

Pen may have buttonsTip and first button simulate mouse

Supports up to 16 buttons

Cursor may have rich propertiesPressure, angle, etc.

EraserEraser

StylusStylus

Page 13: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Stroke

Represents a single Ink Stroke

Set of data captured in a single mouse down, move and mouse up sequence

ExtendedProperties – allows application to store any data on the Stroke

DrawingAttributes – controls the rendering of the Stroke

Rich API Points, Bezier Points, BoundingBox, PacketData

Page 14: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Top level object for handling ink (CoCreatable)

Attached to any HWND

Handles input from all attached Tablets and Cursors

Intercepts mouse movements and can draw Ink dynamically (default)

Three Ink Collection modesInk Only

Gesture Only

Ink and Gesture

Events – Stroke, Gesture, SystemGesture, more…

InkCollector

Page 15: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

InkOverlaySuperset of InkCollector

Adds Select and Delete EditingModes

Cursor is changed and maintained by the InkCollector

Customizable by the application

Deleting Strokes – two EraseModes

StrokeErase – erase an entire stroke by passing the cursor anywhere over it

PointErase – erase segments of a Stroke

Selecting Strokes - lasso selection

Highlights selected Strokes by outlining them

Page 16: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Collecting InkCollecting Ink

Page 17: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

DrawingAttributes

Controls the appearance of InkColor, width, transparency, smoothing, anti-aliasing

PenTip – round, rectangular, height, width

Can be scaled automatically using Renderer.Scale

Each collector has a DefaultDrawingAttributes property that specified the DrawingAttributes for all Cursors

Can be applied to a single Stroke, to a Strokes collection, or to a Cursor

Page 18: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Drawing AttributesDrawing Attributes

Page 19: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

What is a gesture? Anything you can do with a pen

Similar to keyboard shortcuts – e.g. ”Ctrl C”

System Gestures− Gestures supported by the Operating System by default

• To be notified subscribe to the ‘SystemGesture’ event• 14 gestures, examples: Tap, Double-tap, Drag

Application Gestures− Gestures your application can choose to support

− To be notified• Subscribe to the ‘Gesture’ event• Advise the platform of the specific gestures your app wants

−38 gestures, examples: Scratchout, Scroll up, Scroll down

−Gestures have confidence levels

Understanding Gestures

Page 20: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

GesturesGestures

Page 21: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Allows recognition of a collection of Strokes by a specific Recognizer from the Recognizers collection

Synchronous recognition Call the ‘Recognize’ method

Asynchronous recognition Call the ‘BackgroundRecognize’ method

Subscribe to the ‘Recognition’ event

- or -

Call the BackgroundRecognizeWithAlternates’ method

Subscribe to the ‘RecognitionWithAlternates’ event

RecognizerContext

Page 22: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

RecognitionRecognition

Page 23: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

PersistencePersistence

Page 24: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Controls• InkEdit

Super-class of Rich Edit control

Win32, .NET, ActiveX versions

Intended for text and ink-to-text scenarios

Works well in forms scenarios

• InkPictureSimilar to InkCollector

Allows ink annotations on images in .jpg, .bmp, .png, or .gif format

.NET, ActiveX version

Great for Forms

Great for easily adding Inking support into an existing app

Page 25: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Ink ControlsInk Controls

Page 26: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Design Guidelines

Page 27: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Tablet PC vrs PC Applications Mice stay where you park them

Features requiring hover should have generous tolerances

For instance, tooltips

Bigger easily-targeted controls

User hand placement (menus etc)InkEdit Control should be big enough to write in

How will the user know the control is inkable

Don’t mix edit and inkedit controls

Page 28: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Recognition Expectations

Handwriting recognition is highly variable by person

Errors are expected

Perceived good or bad handwriting effects expectation of accuracy

GuidelineBe realistic about recognition accuracy rate, don’t rely heavily on it for authoring

Page 29: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Localization

Languages−Tablet V1

• US English, International English, Japanese, German, French, Simplified and Traditional Chinese, Korean

• Future – Spanish and Italian + others

• Extensibility architecture allows for custom recognizers to be built

Page 30: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Resources

Building Tablet PC Applications- MS Press – ISBN 0-7356—1723-6

Code Resources- http://www.tabletpcdeveloper.com/- http://msdn.microsoft.com/tabletpc

- General Info- http://www.tabletpctalk.com

Page 31: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

Community Resources

Community Resourceshttp://www.microsoft.com/communities/default.mspx

Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/

NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx

User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx

Page 32: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

evaluationsevaluations

Page 33: DEV389 Getting started with the Tablet PC SDK Name: Lester Madden Title: Developer Consultant.

© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.