locked
Handwriting recognition RRS feed

  • Question

  • Hi,

    A customer of mine ask me to deliver to him a mobile application for tablet PC.

    In his features list he enumerate many time the need to write comments and that they will be handwriting recognized.

    I haven't already develop for tablet PC and I currently don't know how the proceed to the recognition.

     

    Does someone  can :

     point me to MSDN (or not) articles that emphasis this code purpose.

     point me to MSDN (or not) articles that explains the handwriting recognition difference on XP and on vista.

     point me to a code sample I can run to see a .Net application that use handwirting recognition.

     

    The application's users will have to work on ambulatory situations, is the tablet pc handwriting enought capable to be ready for such usage?

     

    Regards,

     

    WoZoI

    Thursday, September 13, 2007 7:23 AM

Answers

  • Hi AlexBB.

     

    I am very glad to hear that you are interested in Tablet PC development. I will try to answer all of your questions. If I miss any, don't hesitate to reply.

    The Tablet PC API (sometimes referred to as The Tablet and Touch Technologies) is available on three platforms: native (for C++), managed (for C# and Visual Basic .NET), and Windows Presentation Foundation (for XAML). As a C# developer, most of the functionality you are interested is in the Microsoft.Ink namespace.

    "Tablet PC" is mostly a software concept. Although there is a hardware aspect to it, it is not a dependency. To develop for Tablet PC, you should install the Microsoft® Windows® Software Development Kit for Windows Vista™ and .NET Framework 3.0 Runtime Components. All of our DLLs are included in that release and it is compatible with the downlevel, Windows XP operating system. If you must use an earlier version of the SDK, you have to install the Update for Microsoft Windows XP Tablet PC Edition Development Kit 1.7. You merely add the proper references to your application, code in the functionality, and you're good to go.

    If you do not have the proper OS (currently Windows XP Tablet PC Edition or Windows Vista Home Premium or greater) on y our development computer, you can also download the handwriting recognizers. Bear in mind that these are the Windows XP version of the recognizers (we made enhancements in Windows Vista) and that you may not redistribute the recognizers. If your development computer is running Windows XP Tablet PC Edition or Windows Vista Home Premium (or greater) you already have the recognizers.

    For your application to work when distributed, the computer running it must have either the functionality in the proper OS (currently Windows XP Tablet PC Edition or Windows Vista Home Premium or greater) or you must have created a redistributable setup for the project (see Creating a Redistributable Setup).

    Then, you can enter ink into the application, either as drawing or handwriting. You do this either through the use of an internal digitizer (such as those on an OEM's Tablet PC), an external digitizer (such as those produced by Wacom), or the mouse. Ink applications respond to mouse messages, but trust me when I say that it is extremely difficult to write anything more than "WOW" with a mouse.

    You are right to want to get a hold of a Tablet PC. While you can develop and test applications on a computer that is not a Tablet PC, to get a true idea of the application's usability, you really do need a tablet. Tablet PCs come in all sorts of shapes, sizes, and prices. You can look at the Microsoft website or check Tablet PC enthusiast sites, such as GottaBeMobile or WhatisNew.

    I hope this helps. If you have any other questions, please let me know, either here or in a separate thread.

    Good luck!

    Eliot - MSFT

     

    Sunday, September 16, 2007 3:38 PM

All replies

  • Hi WoZoI,

     

    what language are you using to build the app? What type of app are you creating (Winforms, Win32, WPF, web site, etc.)?

     

    The TabletPC SDK 1.7 and the Windows Vista SDK contain several sample applications for handwriting recognition.

     

    The difference between handwriting recognition APIs in XP and Vista are very small. Vista, however, provides better accuracy and support for more languages.

     

    >>work on ambulatory situations

    Is your question whether or not the recognizer understands medical terms?

    You can extend the recognizer's dictionary by adding your list own of words. This will improve the accuracy for special terminology, like medical terms.

     

    A couple of links:

    http://msdn2.microsoft.com/en-us/library/ms840440.aspx

    http://msdn2.microsoft.com/en-us/library/ms839537.aspx

    http://msdn2.microsoft.com/en-us/library/ms704040.aspx

    http://msdn2.microsoft.com/en-us/library/ms812511.aspx

     

    Thanks,

    Stefan Wick

     

    Microsoft - Windows Experience

     

     

    Thursday, September 13, 2007 4:19 PM
  • Hi WoZoI.

     

    A couple of other resources you may want to look into:

     

    We have a collection of hands-on labs (http://msdn2.microsoft.com/en-us/windowsvista/aa904995.aspx) that guide you through developing applications. You may especially want to look at "Getting Started with the Tablet and Touch Technology."

     

    Also, the Mobile PC Developer Center (http://msdn2.microsoft.com/en-us/windowsvista/aa905027.aspx) is a good way to find information.

     

    Good luck,

     

    Eliot - MSFT

    Thursday, September 13, 2007 5:48 PM
  • Thank you very much to both of you.

     

    I will configure my dev station monday morning to dig in the tablet PC challenge.

     

    The OS will be XP. Do you have special recommandation ?

     

    Do I need to include recognizer pack (the application's users are french people) and what power toys are you using (required, needed ..) to develop ?

     

     

    regards

     

    Friday, September 14, 2007 9:22 AM
  • Hi WoZoI,

     

    on XP you will need to install the Tablet PC SDK 1.7 [1] and the 2005 Recognizer Pack [2]. In case you want to use the new InkAnalysis API for recognition purposes, you will also need to install the InkAnalysis Supplement for the Tablet PC SDK [3].

     

    For feeding your own list of words (e.g. medical terms) in the dictionary you could use the Dictionary Power Tool [4] or do it programmatically as outlined in [5].

     

    Assuming that your dev station is a desktop computer (and not a TabletPC), it might be useful to get an external Tablet device for testing purposes, for example I am using this one [6 ].

     

    [1] http://www.microsoft.com/downloads/details.aspx?familyid=69640b5c-0ee9-421e-8d5c-d40debee36c2&displaylang=en

    [2] http://www.microsoft.com/downloads/details.aspx?familyid=080184dd-5e92-4464-b907-10762e9f918b&displaylang=en

    [3] http://www.microsoft.com/downloads/details.aspx?familyid=884012e7-dd97-4dbc-bf79-68ce8ee2b590&displaylang=en

    [4] http://download.microsoft.com/download/9/3/c/93c19abf-affa-4aac-a0f7-1b454573f89d/DictionaryTool.exe

    [5] http://msdn2.microsoft.com/en-us/library/ms812511.aspx

    [6 ] http://www.wacom.com/intuos/4x6.cfm

     

    Thanks,

    Stefan Wick

     

    Microsoft - Windows Experience

     

    Friday, September 14, 2007 11:56 AM
  • Hi there,

     

    I am a developer working with VS 2005, C#, creating C# apps, dealing with ADO .NET & Sql Server Express. I have been looking into Tablet PC stuff for some time for two reasons. Number one there is a very nice wave file creation demo in C# for Windows CE which I won't mind to use. I tried to convert it to WinXP so far unsuccessfully. I have to find out why I am getting some errors but do not really have time to dig deep. Number two, I have to eventually get into ArtRage 2 type software for painting. I really need it. I have a few DELL workstations with Vista on some partitions and I would prefer to stick with this OS although I also have WinXP partitions as well.

     

    My questions are:

     

    What is the HARDWARE configuration for a Tablet PC? Is it a laptop?

     

    Where can I get a computer that you call a Tablet PC?

     

    Or perhaps a Tablet PC is just a software notion?

     

    I am an MSDN Pro subscriber and I can download almost anything software wise.

     

    What is eMbedded Software? I have DVDs with eMbedded C++. If I start working with Tablet PC apps do I have to use C++ or it is possible to use C#?

     

    Can I get by with just a desktop?

     

    Where do you get those panels where you draw on with a light pen?

     

    How do you input them into a desktop or laptop and the OS?

     

    The person who did the first post in this thread (he is interested in handwriting recognition) said that he would download an add-on for VS2005 .NET v3 to eneble it to work with Tablet PC. I went to some of those links and read them. It looks like those downloads are necessary? Yes?

     

    If you answer some of these questions you will put a lot of my fantasies on a realistic footing.

     

    Many thanks.

    Saturday, September 15, 2007 4:48 PM
  • Hi AlexBB.

     

    I am very glad to hear that you are interested in Tablet PC development. I will try to answer all of your questions. If I miss any, don't hesitate to reply.

    The Tablet PC API (sometimes referred to as The Tablet and Touch Technologies) is available on three platforms: native (for C++), managed (for C# and Visual Basic .NET), and Windows Presentation Foundation (for XAML). As a C# developer, most of the functionality you are interested is in the Microsoft.Ink namespace.

    "Tablet PC" is mostly a software concept. Although there is a hardware aspect to it, it is not a dependency. To develop for Tablet PC, you should install the Microsoft® Windows® Software Development Kit for Windows Vista™ and .NET Framework 3.0 Runtime Components. All of our DLLs are included in that release and it is compatible with the downlevel, Windows XP operating system. If you must use an earlier version of the SDK, you have to install the Update for Microsoft Windows XP Tablet PC Edition Development Kit 1.7. You merely add the proper references to your application, code in the functionality, and you're good to go.

    If you do not have the proper OS (currently Windows XP Tablet PC Edition or Windows Vista Home Premium or greater) on y our development computer, you can also download the handwriting recognizers. Bear in mind that these are the Windows XP version of the recognizers (we made enhancements in Windows Vista) and that you may not redistribute the recognizers. If your development computer is running Windows XP Tablet PC Edition or Windows Vista Home Premium (or greater) you already have the recognizers.

    For your application to work when distributed, the computer running it must have either the functionality in the proper OS (currently Windows XP Tablet PC Edition or Windows Vista Home Premium or greater) or you must have created a redistributable setup for the project (see Creating a Redistributable Setup).

    Then, you can enter ink into the application, either as drawing or handwriting. You do this either through the use of an internal digitizer (such as those on an OEM's Tablet PC), an external digitizer (such as those produced by Wacom), or the mouse. Ink applications respond to mouse messages, but trust me when I say that it is extremely difficult to write anything more than "WOW" with a mouse.

    You are right to want to get a hold of a Tablet PC. While you can develop and test applications on a computer that is not a Tablet PC, to get a true idea of the application's usability, you really do need a tablet. Tablet PCs come in all sorts of shapes, sizes, and prices. You can look at the Microsoft website or check Tablet PC enthusiast sites, such as GottaBeMobile or WhatisNew.

    I hope this helps. If you have any other questions, please let me know, either here or in a separate thread.

    Good luck!

    Eliot - MSFT

     

    Sunday, September 16, 2007 3:38 PM
  •  Eliot - MSFT wrote:

    Hi AlexBB.

     

    I am very glad to hear that you are interested in Tablet PC development. I will try to answer all of your questions. If I miss any, don't hesitate to reply.

    The Tablet PC API (sometimes referred to as The Tablet and Touch Technologies) is available on three platforms: native (for C++), managed (for C# and Visual Basic .NET), and Windows Presentation Foundation (for XAML). As a C# developer, most of the functionality you are interested is in the Microsoft.Ink namespace.

    "Tablet PC" is mostly a software concept. Although there is a hardware aspect to it, it is not a dependency. To develop for Tablet PC, you should install the Microsoft® Windows® Software Development Kit for Windows Vista™ and .NET Framework 3.0 Runtime Components. All of our DLLs are included in that release and it is compatible with the downlevel, Windows XP operating system. If you must use an earlier version of the SDK, you have to install the Update for Microsoft Windows XP Tablet PC Edition Development Kit 1.7. You merely add the proper references to your application, code in the functionality, and you're good to go.

    If you do not have the proper OS (currently Windows XP Tablet PC Edition or Windows Vista Home Premium or greater) on y our development computer, you can also download the handwriting recognizers. Bear in mind that these are the Windows XP version of the recognizers (we made enhancements in Windows Vista) and that you may not redistribute the recognizers. If your development computer is running Windows XP Tablet PC Edition or Windows Vista Home Premium (or greater) you already have the recognizers.

    For your application to work when distributed, the computer running it must have either the functionality in the proper OS (currently Windows XP Tablet PC Edition or Windows Vista Home Premium or greater) or you must have created a redistributable setup for the project (see Creating a Redistributable Setup).

    Then, you can enter ink into the application, either as drawing or handwriting. You do this either through the use of an internal digitizer (such as those on an OEM's Tablet PC), an external digitizer (such as those produced by Wacom), or the mouse. Ink applications respond to mouse messages, but trust me when I say that it is extremely difficult to write anything more than "WOW" with a mouse.

    You are right to want to get a hold of a Tablet PC. While you can develop and test applications on a computer that is not a Tablet PC, to get a true idea of the application's usability, you really do need a tablet. Tablet PCs come in all sorts of shapes, sizes, and prices. You can look at the Microsoft website or check Tablet PC enthusiast sites, such as GottaBeMobile or WhatisNew.

    I hope this helps. If you have any other questions, please let me know, either here or in a separate thread.

    Good luck!

    Eliot - MSFT

     

     

    Thank you very much, Eliot.

     

    You've saved me a lot of time.

     

    To summarize, the best way to get into the culture is to purchase a Tablet PC hardware such as for instance a Fujitsu from the link you've provided: http://www.microsoft.com/windowsxp/tabletpc/evaluation/products.mspx

     

    BTW, what would be the best one, just off hand, on a hunch basis, from hearsay?

     

    My understanding is that I could also do programming on this what is essentially a specialized notebook, right?

     

    Do they come with any of the OS's you mentioned, like Tablet PC XP?

     

    Now after I downloaded and installed Vista on three of my workstations a week ago I would prefer to deal with this OS.

     

    I really appreciate your post. I hope it will also help others I am sure. There is no from scratch explanation out there to figure out how it is done.

     

    I will have to read it a few more times, check the links and I may be back with more questions. I am nototiour for that.

     

    Thanks again.

    Monday, September 17, 2007 2:04 PM
  • Hi AlexBB.

     

    Asking me what Tablet PC is the best is like asking me which notebook computer is the best. There are so many out there, with different features and different price ranges. Look to the enthusiast sites. They will give their frank reviews.

     

    All Tablet PC computers come with either Windows XP Tablet PC Edition or they come with Windows Vista Home Premium or greater. Those are the editions of Windows that include ink, recognition, and natural pen input.

     

    You can certainly develop your applications on a Tablet PC. A Tablet PC is nothing more than a portable computer that has a digitizer built in and the operating system to enable Tablet and Touch Technology. On the Toshiba M400 that I use as my main computer, I run Windows Vista Enterprise, with Visual Studio 2005, Microsoft Office Professional, the MSDN Library, Source Depot, Visual SourceSafe, SQL Server 2005, Windows Vista SDK, and a whole host of other software. Everything runs just fine.

     

    Because you are using the Windows Vista SDK, do make use of the InkAnalysis API for handwriting recognition. It is a vast improvement over  the earlier Divider and RecognizerContext objects.

     

    Best of luck.

     

    Eliot - MSFT

    Monday, September 17, 2007 5:43 PM
  •  Eliot - MSFT wrote:

    Hi AlexBB.

     I run Windows Vista Enterprise, ....

     

    Best of luck.

     

    Eliot - MSFT

     

    Thanks so much. I usually stick with Pro/Business software category. I downloaded and installed Vista Business on my w/s's.

     

    Would it be sufficient for me to purchase a Tablet PC with a Vista Business instead. I mean, from my previous experience I've learned that my needs are always in the medium range. I am not limited monetarily, it is just a reflex to avoid learning what I do not immediately need.

     

    What I need is a very COMPREHENSIVE, and I mean first class, Art Painting capabilities, to create cartoons and even paintings.Also I want a lot of templates for this, a big library. I have no idea if this could be a part of any package though. Hopefully, I phrased everything correctly.

     

    Many thanks.

     

    Your answers have made a great deal of difference and saved me tons of time.

    Monday, September 17, 2007 7:24 PM
  • Hi AlexBB.

     

    Glad I can be of help.

     

    As far as the OS is concerned, you can take a look at the Microsoft Choose an Edition site to see what each edition offers. Home Premium, Business, and Ultimate are all the same as far as the Tablet PC functionality is concerned. Only Home Basic edition does not have the Tablet PC functionality available.

     

    The graphics program is out of my field. Bear in mind that whatever application runs on a computer running Windows Vista will run on your Tablet PC running Windows Vista. There's not a specific Tablet PC version of Corel Graphigo, say. However, you will have the ability to interact with whatever application you choose by using the pen and the digitizer. ArtRage is a fine program, but I know that there are many others, too. Whether Microsoft's Blend, Adobe's Fireworks or Illustrator, Corel Graphigo, ArtRage, or any other, you'll find that drawing directly onto the screen with a pen will change how you interact with the computer. But as I said, I am not an expert on that kind of software.

     

    Sounds like you're off and running. Best of luck.

     

    Eliot - MSFT

    Monday, September 17, 2007 9:45 PM