Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET 4.5
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Amazon Web Services
Analysis Services
Android
Architecture
Arduino
ASP .NET Web API
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
BDD
Big Data
Bing
BizTalk
Book Excerpts
Build and Deploy
Business Intelligence
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE Framework Info - non Technical
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Debugger
Design Patterns
Development Process
Display Technologies
Distributed Computing
Document Database
DotNetNuke
DSL
Dynamic Languages
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
HTML 5
Internet Explorer 8.0
Interviews
IOS
iPhone
Iron Ruby
Java
Java Script
JavaScript
jQuery
JSON
Lightswitch
LINQ
Linux
LUA
Mac OS X
MDX
Messaging
Metro
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
MVVM
MySQL
Network
NHibernate
node.js
NOSQL
Nuget
Object Oriented Development
Objective C
Odata
OLAP
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
PHP
Podcasts
Post Mortem
PowerPoint
Print/Output
Prism
Product News
Product Reviews
Project Management
Prolog
Python
Q&A
Rails
Rake
Razor
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Scheme
Search
Security
Services
SharePoint
SignalR
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server 2012
SQL Server CE/AnyWhere/Mobile/Compact
SSIS
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
TFS
Tips
TypeScript
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 11
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio 2011
Visual Studio 2012
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WebMatrix
WF
Whitepapers
Windows 7
Windows 8
Windows Azure
Windows Live
Windows Phone 7
Windows Phone SDK
Windows Server
Windows Vista
WinForms
WinRT
Workflow
WPF
XAML
Xiine Documentation
XML
XNA
XSLT



LearnNow


XAMALOT
 


LearnNow


Reader rating:
Click here to read 12 comments about this article.
Article source: CoDe (2005 - Vol. 3 - Issue 1 - Tablet PC and Mobile PC)


Article Pages:  1  2 3 4 - Next >


Introduction to Tablet PC Development

If you are familiar with development on PCs using Microsoft’s tools, you know most of what you need to develop for Tablet PCs. The main addition in the Tablet PC development arena is that of Digital Ink and the features that go along with it, such as Ink collection, Ink management, and Ink recognition. There are also a few minor additional things, such as new user interface considerations and screen operation in portrait mode.

Development for Tablet PCs and Mobile PCs is not a very unusual trade anymore, and Tablet PC functionality moves into the mainstream with Windows Vista. Mobile PCs (laptops) are already outselling desktop PCs in the US. The combination of these two facts means that every developer should be aware of Mobile- and Ink-enabled scenarios, as there are very few client applications that do not need to consider these environments anymore.

"
Every developer needs to be familiar with Mobile PC and Tablet PC development.
"

For this reason, the entire magazine you are holding in your hands focuses on Tablet PC and Mobile PC development. The aim is to arm you with all the information you need to successfully implement applications that take advantage of mobile and tablet features. A number of in-depth articles provide technical guidance on topics related to the subject. If you read this issue of CoDe cover-to-cover, you will have a good idea of everything that is involved and needs to be considered.

Before diving into all those details, you should take a look at the big picture and see how it all fits together. This article focuses on Tablet PCs and is meant to be a quick overview; for the details, check out the other articles in this issue.

Capabilities and Opportunities

Tablet PCs are regular PCs. Some developers and users still think that Tablet PCs somehow run on a special operating system, such as Windows CE,which is not the case. (Fortunately, the group that holds that belief seems to be shrinking.) The first generation of Tablet PCs (pre-Windows Vista) runs on a special version of Windows XP, called the Windows XP Tablet PC Edition. This is a super-set of Windows XP, which means that absolutely everything Windows XP has to offer is also available on Tablet PCs. In addition, there are components that are specific to Tablet PCs, such as Digital Ink collection components, and also some Tablet PC-specific applications, such as Windows Journal.

In the Windows Vista timeframe, Tablet PC functionality moves into the core operating system. For this reason, some people say that every version of Windows Vista is a Tablet PC OS. There is a lot of truth to that, although technically, there still will be a special version of Windows Vista for the Tablet PC containing components such as the TIP (Tablet PC Input Panel), which simply make no sense on a non-Tablet computer. These components and applications generally fall in the realm of accessories. Core Tablet PC functionality, such as the support for Digital Ink, is, in fact, available in all versions of Windows Vista. (For more information on Windows Vista Tablet PC features, see the “Into the Future” article in this issue.)

The main feature of Tablet PCs is the support for Digital Ink. Users can write on the device with a special stylus (the pen) that is recognized by the Tablet PC through an electromagnetic digitizer (and in future versions, through touch-sensitive displays). Digitizers sample stylus information at a very high resolution and at a very high sampling rate. Sampled information includes X and Y coordinates of the pen at a given point in time, and additional information such as pressure, and, depending on the actual hardware and developer choice, pen rotation, pen angles, and more.

Stylus data is received by the operating system and can be interpreted in different ways. For instance, pen information can always be interpreted as mouse input. In many scenarios, a series of pen data packets (individual measurements) is interpreted as a stroke of Ink-a line or curve based on a series of points. Strokes are generally drawn on the screen, generally in real time, and thus form the illusion of ink flowing from the pen or writing on the display.

Such Digital Ink can be used in a variety of ways. Users can take handwritten notes that get preserved as handwriting the same way they were originally written. Although such notes are really just series of lines, the Tablet PC ink recognizer can analyze these lines and turn them into meaningful data, such as text. This allows users to search their notes, or even to turn handwriting into regular text.

Digital Ink is also useful in combination with other data, such as text documents or images. Users can annotate their documents with attached Ink. All the new Microsoft Office products provide good examples of such scenarios.

Not all Ink is interpreted as handwriting. Perhaps the user is drawing lines, squares, and rectangles in an effort to draw a diagram. Or how about recognizing hand-drawn musical notes in a sheet music application?

A completely different way to look at pen input information is to interpret it as gestures. The user may draw a circle or a quick line to the right, or a similar gesture, which can be interpreted as a certain action. Or perhaps the user scratches out an area of the screen (a zigzagging line drawn back and forth over existing content), which can be interpreted as a delete operation for the data scratched out.

Possibilities are only limited by your imagination. Ultimately, the goal of Tablet PCs is not just to duplicate the experience of writing on paper, but it is to significantly improve that experience by adding functionality, fidelity, and features that are not available on a pad of paper.

&

By: Markus Egger

Markus is the founder and publisher of CODE Magazine and EPS' President and Chief Software Architect. He is also a Microsoft RD (Regional Director) and the one of the longest (if not THE longest) running Microsoft MVPs (Most Valuable Professionals). Markus is also a renowned speaker and author.

Markus' spends most of his time writing production code. The projects Markus has worked on include efforts for some of the world's largest companies including many Fortune 500 companies. Markus has also worked as a contractor for Microsoft (including the Visual Studio team). Markus has presented at many industry events, ranging from local user groups to major events such as MS TechEd. Markus' written work has been published extensively and in magazine ranging from MSDN Magazine, to Visual Studio Magazine, and of course in Markus' own CODE Magazine and much more. Markus is a supporter of communities in North America, Europe, and sometimes even beyond.

Markus currently focuses on development in .NET (Windows, Web, Windows Phone, and WinRT) as well as Android and iOS. He is passionate about overall application architecture, SOA, user interfaces and general development productivity and building maintainable and reusable systems.

In his spare time, Markus is an avid windsurfer, scuba diver, ice hockey player and world traveler. On a rainy day, he is known to enjoy a good game on his PC or Xbox.

megger@eps-software.com

Fast Facts

Development for Tablet PCs requires a skill set similar to development for regular PCs, plus an understanding of digital Ink collection, management, and analysis. Developing for Tablet PCs is surprisingly easy and powerful at the same time.



Article Pages:  1  2 3 4 - Next Page: 'Getting Started' >>

Page 1: Introduction to Tablet PC Development
Page 2: Getting Started
Page 3: Options for Ink Collection and Rendering(con't)
Page 4: More Power with the InkOverlay

How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
3.4 out of 5

51 people have rated this article.

Instantly Search Terabytes Of Text
“Lightning Fast”
– Redmond Mag
“Covers all data
sources” – eWeek
25+ fielded & full-text search options
dtSearch’s own document filters highlight hits in popular file types
Web Spider supports static & dynamic data
APIs for .NET, Java, C++, SQL, etc.
Win / Linux (64-bit & 32-bit)
www.dtSearch.com
 

      LearnNow

 

DevTeach