1 / 41

Introduction to Tablet PC Development

Introduction to Tablet PC Development. Gaurav Khanna gkhanna@microsoft.com Developer Evangelist Microsoft India. Agenda. Tablet PC platform overview Description of the object model Overview of key objects Demos Other features of the SDK Tablet PC development environment

kaiya
Download Presentation

Introduction to Tablet PC Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Tablet PC Development Gaurav Khanna gkhanna@microsoft.com Developer Evangelist Microsoft India

  2. Agenda • Tablet PC platform overview • Description of the object model • Overview of key objects • Demos • Other features of the SDK • Tablet PC development environment • Questions and answers

  3. Microsoft Mobility Platform Windows XP Windows CE+ Tablet PC • Complex document authoring, editing and active reading • Note taking and ink annotating • Keyboard centric at the desk, pen & keyboard away from the desk • Keyboard, mouse plus pen, ink, and speech input methods • Full .NET Framework preinstalled • Pen, ink, handwriting and speech recognition APIs Pocket PC Phone Smart Personal Objects Notebook PC • Complex document authoring, editing and reading • Keyboard centric at the desk • Keyboard and mouse input methods • Full .NET Framework available • Integrated PDA with phone • View and some data entry • Interoperability with Office, Exchange and SQL Server • .NET Compact Framework • One-way network • Information consumption Smartphone • Integrated phone with PDA • Data viewing • Interoperability with Exchange • .NET Compact Framework Increased Functionality

  4. Tablet PC Platform Overview • Ink collection • Ink data and management • Ink recognition

  5. Ink Collection (Input) • Digitizer basics • Very high resolution • Very high throughput • Packet properties • X, Y • Pressure, angle, rotation, etc … • Using the API to collect ink • InkCollector • InkOverlay • RealTimeStylus (SDK version 1.7)

  6. Ink Data and Management • Ink is a data type • Ink looks good • Bezier smoothed • Anti-aliased • Rich, extensible API • Copy to/paste from the clipboard • Multiple persistence formats

  7. Ink Recognition • 10 language recognizers available • Provides a full set of recognition results • Extensibility architecture allows for custom application recognizers tobe built

  8. Tablet PC Platform SDK • 2 full APIs: • COM automation compliant API • .NET API • Set of controls • Provides common functionality • Set of components • Provides building blocks for platform extension • Documentation and samples

  9. Object Model Overview InkCollector InkOverlay Ink Strokes Stroke Renderer DrawingAttributes Tablet Recognizers Recognizer RecognizerContext

  10. Hello Ink World

  11. Ink Collection Objects

  12. InkCollector • Top level object for collecting ink • Attaches to an HWND • Handles input from all attached digitizersand cursors (pens) • Intercepts pen/mouse movements and can draw Ink dynamically • Three ink collection modes: • Ink Only • Gesture Only • Ink and Gesture • Fires events

  13. InkOverlay • Superset of InkCollector • Adds editing modes • Ink – “Real-time” inking mode • Select – Selection mode • Delete – Eraser mode (point or stroke)

  14. Ink Collection Events • CursorInRange/CursorOutOfRange • NewInAirPackets • CursorDown • NewPackets • Stroke • Gesture • SystemGesture • Mouse Events

  15. ToDo - Ink Notepad

  16. Ink Data Objects

  17. Ink Object • Container of stroke data • Controls all means of persistence • Binary stream • Clipboard • Can be extended using the ExtendedProperties property

  18. Stroke Object • Represents a single ink stroke • Set of data captured in a single pen down, move and pen up sequence • ExtendedProperties – allows application to store any data on the stroke • DrawingAttributes – controls the renderingof the stroke • Rich API • Points, Bezier Points, BoundingBox, PacketData

  19. Strokes Collection • Represents a collection of referencesto stroke objects • Useful for grouping related strokes together: • By metadata – for filtering • For recognition – RecognizerContext takes strokes collection for recognition

  20. DrawingAttributes • Controls the appearance of ink • Color, width, transparency, smoothing,anti-aliasing • PenTip – round, rectangular, height, width • Can be scaled automatically using Renderer.Scale • Each InkCollector/InkOverlay has a DefaultDrawingAttributes property that specifies the drawing attributes for all cursors • Can be applied to a single stroke, to a strokes collection, or to a cursor (pen)

  21. Renderer • Two coordinate systems on a Tablet PC • Screen coordinates • Digitizer coordinates • Renderer object enables: • Mapping between digitizer and screen • Drawing Ink to a device context • Manipulating Ink rendering • Object and View transforms supported • Helper methods: Scale, Move, Rotate

  22. Clipboard Support • Use the Ink APIs to cut or copy multiple formats to the clipboard • ISF – Ink serialized format • Bitmap • Metafile • Applications interacting with the clipboard can then choose the best format

  23. ToDo - Ink Data Manipulation Demo

  24. Ink Recognition Objects

  25. RecognizerContext • Is the instantiation of a given recognizer • Allows recognition of a collectionof strokes • Synchronous recognition • Asynchronous recognition

  26. Enumerating Recognizers installed

  27. RecognitionResult • Has lattice structure with rich recognition results • Provides access to paths through the RecognitionAlternates • Can be stored on the strokes that created it

  28. ToDo – Recognizing Ink

  29. Additional Features in the Tablet SDK Version 1.7

  30. Context • What is Context? • Context is the ability to constrain the set of information used for recognition • Context can greatly improve recognition accuracy • Context can be applied in many ways • Lists of words • Types of expected text • URL, E-mail Address, Number, etc. • Where do you see Context? • Microsoft Internet Explorer Address bar • Any other application that enables context • Microsoft Office Outlook 2003 To: line

  31. Enabling Context • New applications • InputScope API (New Win32 API) • See Tablet PC developer center whitepaper for .NET support • Existing applications • Context Tagging tool

  32. Context Tagging Demo

  33. Tablet Trivia What is Context?Why use it? Context is the ability to constrain theset of information used for recognition Context can greatly improve recognition accuracy

  34. Web Support • Support for Windows Forms controls hosted in HTML • Allows you to ink in a control on aweb page • Support for Single Click Deployment • .NET application hosted in the Internet Explorer application domain

  35. Real Time Input Features • RealTimeStylus • Object Model that provides direct access to stylus input even before it is rendered • Allows for the creation of new Real Time components • Custom dynamic rendering, gesture recognition, disabled regions, etc. • Allows for the creation new Ink Collection components • Build your own InkOverlay or InkCollector

  36. Development Environment • The SDK can be installed on Tablet or Non-Tablet devices • Windows 2000 SP4 and above • External HID compatible digitizer or mouse can simulate tablet digitizer • Tablet OS available through MSDN • Install on a desktop or laptop for development purposes • The Recognizer Pack can be used for development purposes as well

  37. Distributing Tablet Applications • Redistributable Merge Module • MSM files for all parts of the tablet platform except recognition • Application deployment considerations • Recognition may be used only on the Tablet OS • Controls are designed to collect ink only on the Tablet OS • Input Panel usage will only work only on the Tablet OS • No support for the Win9x Platform

  38. Tablet Trivia Must you have a TabletPC to write tablet apps? No!

  39. Tablet & Mobile PC Developer Center http://msdn.microsoft.com/mobilepc

  40. Q & A: We want your feedback! Email: gkhanna@microsoft.comBlog: http://blogs.msdn.com/gkhanna/WWW: http://www.wintoolzone.com/

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

More Related