When I was at DevTeach, Rob Windsor who is the user group leader for the Toronto Visual Basic User Group, was very happy to show me his new Acer C110 tablet. This is the same as the one that I have and love. He told me he bought it because I am always talking/writing about how much I love mine.
Category Archives: Tablet
“Why I bought a tablet pc” (Michael Hyatt)
Because I subsribe to the blogs of a number of tablet pc people, I am seeing this a lot and then realized that I can still share it with people who do not subscribe to those same blogs (www.whatisnew.com, www.kstati.com/tabulapc, www.tabletpctalk.com, http://journals.tuxreports.com/lch).
This is from a weblog by Michael Hyatt. He is not a programmer. He does not sound like a techno-geek. He is an end-user. So he fits into the same category of consumer as my friend who is the UVM Business School Dean who is nuts for her tablet pc. THere is a market out there besides the vertical markets. And these people don’t even require “the killer app“. As Rocki said to me, pointing to Excel, Word, I.E. and PowerPoint… “what more do I need?“
Below is what Michael Hyatt says in his blog. Perhaps he will continue to write about his experiences.
About three weeks ago, I bought a Toshiba M205-S810 Tablet PC. I’ve always thought it would be a big boost to my productivity if I could actually take my computer with me to meetings. Then I would have access to everything I need—my calendar, e-mail messages, documents, spreadsheets, etc. I tried using a PDA, but that didn’t really cut it. The interface was too primitive and scrolling documents was a drag…So far, I have been very pleased. The biggest problem has been getting used to the Toshiba keyboard. I’ve used ThinkPads for years, and many of the keys are just in different places. Also, I’m not crazy about the touchpad as a mouse pointing device. I still prefer IBM’s “trackpoint” technology (i.e., the red eraser head in the middle of the keyboard). I think it’s more accurate. But, over time, I’m sure I’ll get used to both.
Referencing the tablet api’s in your .net app
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!
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.
Larry O’Brien is back with TabletPC Design Considerations
http://www.devx.com/TabletPC/Article/21302
Larry addresses the harshest things that come up with Tablet PC App design that, believe me you would NEVER think of, until you have tried to do some of this stuff.
I wrote about a number of these while I was going through my first tablet pc app design process. I had not personal experience as a user to draw on so everything came as a surprise to me. Peter Rysvay actually encapsulated my posts very well in one – so I can point you to that if you are curious.
Three types of Tablet PC Applications
I sometimes find it useful to go back to introductory info on a topic after I have been using the technology for a while. This works because my focus will have changed dramatically since the first read-through.
That is the case with Frank Gocinksi’s Getting Started with Tablet PC Development article on the tablet pc developer center (This is the first of the articles Tablet PC 101 Column). Besides doing some quick tricks with the SDK, Frank talks at the end about the 3 levels of TabletPC Integration that ISVs can build into their applications.
The first is ISV Supported Applications
These are apps that are not specifically designed to leverage Tablets, but have some features that make it easier to use the app on a tablet
Next is Pen-Centric Applications
These apps again are not designed soley for Tablets, but have features in them that allow the user to leverage ink. So the developer may have added some special ink functionality (though it is still accessible via keyboard and mouse) like drawing, throughout the application. Pen-Centric apps will also take advantage of the new context-tagging feature so that it will be easier for the end-user go leverage context-tagging. Hmm there’s no article on that yet…but basically you can define the type of data that a particular field expects and then take advantage of filtering in the recognizers or a more flexible Tablet PC Input Panel. This is a feature of Lonestar and of TabletPC SDK 1.7 which is in beta right now. There is a tool you can use to define the context and then it is stored in an xml file which makes for some serious flexibility in programming and sharing the definitions. Very slick implementation.
Third and most TabletPC intense is Pen-Perfect Applications
These are the apps that have been designed to make it a LOT better to use with the Pen than mouse & keyboard. These apps take advantage of gestures, symbols, pen pressure. They may even do things that you just wouldn’t or couldn’t do with a keyboard. Additionally, they are written using the Tablet PC Design Guidelines and as Frank says, these are the apps that are going to sell Tablets.
Here’s Frank’s hit list:
- Are optimized to run on the Tablet PC.
- Fully support ink interoperability.
- Use gestures as part of their user interaction model.
- Adhere to our collection of Tablet PC Design Guidelines.
Definitely check out this article for a more indepth look at these types of applications and links to examples.
Replacing the nice readable computer font with your crappy handwriting
People are uploading their personal handwriting fonts to www.TabletPCPost.com for others to download. Peter Rysavy (and Chris Coulter in his comments) are voting against the idea.
I, for one, with the crappiest handwriting in the world, am not grokking the point of the font program as a whole. Okay – I get the personalization of it. But I can’t READ my handwriting. I can read Times New Roman, Arial, Verdana, etc.
I guess if I had nice handwriting, but still can type faster, and wanted to send a more personal note to someone, I could use that font so it looked a little more like I took the time to site down and write something to them by hand.
Nah – who’s going to fall for that?
Okay …I guess I don’t understand the point of the personal font. What I do think is that it does point to some interesting potential (that I haven’t conceived yet myself) with tablet development and is just a cool little step on the way and a fun tool. I think kids would really dig it actually. It really is a fun idea. Just doesn’t happen to be practical for me. But then that points back to what I think is a very important quote from Evan Feldman:
those who are evaluating Tablet’s today aren’t necessarily the target user and thus don’t see the value and promise in the platform, but instead are looking towards all the cool things that the technology could do rather than the simple and mundane tasks that it actually enhances.
Evan Feldman from the Mobile PC Team talks about Microsoft and Tablet PCs
Evan Feldman just started a blog and already jumps into the deep end to address a big question we all have about TabletPC’s – who the heck is their target market. He has an explanation of what they are thinking over there in the TabletPC hallways of Microsoft and sums it up with this interesting statement:
those who are evaluating Tablet’s today aren’t necessarily the target user and thus don’t see the value and promise in the platform, but instead are looking towards all the cool things that the technology could do rather than the simple and mundane tasks that it actually enhances.
I think I’m going to add that quote to my deck for my tablet pc talk at DevTeach.
Evan, by the way, is now a user research manager for the Mobile PC Team but he started the user research group for Tablet PC and says that his “charter is to understand the needs, usefulness and usability.“
TabletPC Talk at DevTeach Conference in Montreal
When I initially proposed a Design Considerations for Tablet PC Development talk for DevTeach, I did not realize that it would be the only TabletPC talk for the whole conference.
But since it is, I have shifted the focus to more coding against the TabletPC SDK. I will still spend some time talking about Why Tablets? Why develop with the SDK? and Design Considerations. But the bulk of my presentation will now be looking at what is in the SDK, what you can do with it and how.
Erasing Ink and Undo
The proper method of erasing ink with the Tablet PC SDK is to set the pen to delete or Eraser mode. There are two methods of erasing: stroke, which deletes whatever stroke you touch on (ink collection is a collection of strokes) or point by point. The point by point method works like an eraser. As you move the mouse around it affect the touched strokes by breaking them apart. So if you have a stroke that goes from point a to point b and erase in the middle, the original stroke is modified to end where the eraser started and a new stroke is created that begins at the end of the erasure and ends where the original stroke ended.
Since I have an UNDO method in my BLInk application, this is important to me. My method of undoing is to go to the top of the stack of strokes and remove them one at a time. Those get stored and can be used to “redo” as well. However, this method of erasing totally mucks up my stroke collection and without a lot more work, I can’t “undo” erasures.
The other way I can go about this is by sleight of hand. Rather than breaking up the strokes, my “eraser” can be an additional stroke that is the same color as the background. That way, I can undo and redo to my hearts content. The only consideration is the affect that this method will have on my resources and the size of my image when all is done.
There is probably a better way – or just the harder way of creating an additional store to capture all strokes and all erasures. ANd then undo and redo from that stack instead. I think I’m going to have to do a little more research on this one.