Just as an FYI, when you are referencing the Microsoft.Ink assemblies in your applications, there are a few you need to use. The Microsoft.Ink assembly is the 1.0 version which has most of what you will need in it. The Microsoft.Ink.1.5 has the PenInputPanel and InkDivider Objects in it and the 1.7 has those things that were added for what is the current beta (eg web enabled controls and context tagging). So you need to combine these assemblies in your application. I am mentioning this because, twice now, I have started out by just adding the new assembly into my app and then wondering where all of my darned classes were!
Daily Archives: June 13, 2004
Unit Testing in VS2005
So you want morts (VB and C#) to do unit testing? Put it where they can’t miss it. Don’t stick it in Team System only.
Unit Testing support should be included with all versions of Visual Studio 2005 and not just with Team System.
Programming Hand Writing Recognition
I have not had to work with the part of the tabletpc api that deals with hand writing recognition. I only have used the results of other’s labor – in other applications.
As I am digging deeper into this part of the sdk in preparation for my upcoming DevTeach presentation I am amazed at how complex the API is and how far one can go with the tools and some creativity. I am looking forward to talking further with Arin Goldberg to understand some more of what’s going on in the background here.
Here is a link to the recognitionresult object which is just part of the puzzle. If you can imagine what must be going on when the reco is doing it’s thing. It has to look at so many possible combinations of what your ink can represent and it goes through and readjusts for every stroke. If you are drawing and H and not using cursive, then you are picking your pen up after each of the 3 strokes it takes to write that “H”. The machinations that the engine has to go through just to get that you are working on an H is amazing. It’s first best guess is a “1” and then it has a whole bunch of alternates. Then my next stroke is the other vertical so it’s next best guess is the number 11 (with alternates). FInally I draw the horizontal line and it’s guess is now an H. And that’s just the first letter of a word. So as you build the word, upon each stroke it reanalyzes the entire combination and tries to guess what the word is. It doesn’t even wait until you say “ok, now that was the whole word…go for it”.
So add to that the fact that there is a pool of guesses somewhere that it is drawing from. An entire dictionary? I guess it goes for the letters first than based on the letters it goes for the words. So it’s not guessing at words from your strokes, just at the letters. Or something like that. Whatever the case may be it’s mind-boggling. Especially when you realize that the reco works for quite a few languages including some asian ones which means not just different words but different characters! Wow.
taking the fun out of programming?
This made me laugh so I have to spread it
from a conversation between Don Box and Clemens Vasters which Don talked about in a post:
Clemens says to Don: “your job is to make my current job so miserably boring and unnecessary that I must join Microsoft to survive”
At last year’s TechEd I saw a bunch of presentations where Clemens showed how he was extending Web Services to fill in some SOA type concepts. Then at PDC I saw Indigo for the first time and immediately realized that chunks of what I was seeing were fulfilling what Clemens had found missing before and found it necessary to write himself.
Whidbey Beta teaser from VS Smart Device Team developer
xinyan says “Whidbey Beta1 is on the way!”. Now I bet he (?) just means to show that they are working on it and the post title could mean “sometime in the next year..” but it is sure to start a flurry of speculation about beta release dates…That will be fun.
Blog readers can change stylesheet on the fly
I love this new feature on Shelley Powers’ blog.