Software development industry analysis by Larry O'Brien, the former editor of Software Development and Computer Language
Saturday, July 21, 2007

A few weeks ago I got an email asking if I was interested in selling one of my idle domain names -- inkpositive.com. "Sure," I said, and named a price that covered the hour of time it would take me to transfer the domain. The subsequent process (contract, escrow.com, "I can't tell you who my associate is...") makes me think I could have asked for a couple more hours worth of revenue...

Saturday, July 21, 2007 6:00:59 AM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | TabletPC#
Sunday, March 18, 2007

Thee UMPCs up for grabs in this CodeProject programming competition:

...must allow new means of input: ink, touch, and more. Build a great application that encompasses these needs, write an article about what you’ve done, and you may win one of three cool Samsung Ultra-Mobile PCs.

One winner per month, 3/15/07–6/15/07.

Hmmm.... maybe make that two UMPCs still up for grabs ...

Sunday, March 18, 2007 8:22:55 AM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | TabletPC#
Tuesday, June 20, 2006

Vista has built-in voice recognition capabilities. One of the things that really jumped out in the Tablet PC was that the correction interface makes all the difference when it comes to using alternative input techniques: a service pack released for the Tablet a year or so after the initial launch was a landmark in the usability of handwriting for text entry. I've just begun using voice recognition in Vista and am very impressed with the correction interface. It may have reached the tipping point for usability (at least with a sound-cancelling headset).

Tuesday, June 20, 2006 11:00:00 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | TabletPC#
Wednesday, June 14, 2006

Success! I can access Tablet SDK functionality from Java. Rather than use COM, my original tactic, I did what I joked about: used C++/CLI so that the call is Java->Unmanaged C++->C (Win32)->Managed C++! Pretty funny, but not all that hard to follow in the source code. I have to say, I'm going to guess I'm the first person to write code to convert a jstring into a char* and pass that into a gcnew System::String!

Look for an article on DevX by the end of the month.

Wednesday, June 14, 2006 2:00:00 AM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | Java | TabletPC#
Monday, June 12, 2006
So I'm trying to write a program to manipulate the Tablet PC Input Panel from within a Java application. So I have to use JNI to interop with a native .DLL written in C++. My DLL uses Win32 to find the handles to the Java application edit windows and then uses COM to manipulate the TIP. I dunno': I feel like throwing some gcroot<String ^>s in there, just to cover all bases.
Monday, June 12, 2006 10:00:00 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | DotNet | Knowing | Java | SD Tools | TabletPC#
Thursday, June 08, 2006

Killer post by Chris Pratley on setting up OneNote 12 so that it stays synchronized across multiple machines. I love OneNote and this makes me love it a little more.

Oh, and something else I just discovered that makes me love it a little more: they've added "section groups" so now you can have Notebooks | [Section Group]* | Section | Page. So, for instance, I have a Work notebook, a Section Group for a specific Client, a Section Group for each project, and then a Section for, say, Requirements, or Meetings, or Research, etc. Perfect!

Oh, and another another thing that makes me love it a little more: you can now hook an Outlook item directly to a OneNote page. So, for instance, you can schedule, say, a "Weekly Review" in Outlook for Fridays at 1PM and then when it pops up, *click* and up comes OneNote, all linked back and forth. You could use this as an alternative to the Daily Journal PowerToy.

Thursday, June 08, 2006 11:30:00 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | Office12 | TabletPC#
Wednesday, June 07, 2006

Tablet Input in Java

Wednesday, June 07, 2006

10:06 AM

Turns out that, contrary to what I'd feared, the Tablet Input Panel for the Tablet PC does recognizes SWT components as text labels, and you can use the TIP to add recognized handwriting to a Java/SWT application:

 

So now, the challenge of programming forms in Java for the Tablet PC reduces to the problem of setting the TIP context dynamically from Java so that you can command it to bias the handwriting towards the expected entry type (a date or a phone number or what-have-you). The difficulty with that is that as far as the TIP is concerned, all java.exe executables look alike. So I'll have to figure out some way, within Java, to register for a  callback when the TIP gets activated. Then, use JNI to set the TIP context. Stay tuned…

 

Created with Microsoft Office OneNote 2007 (Beta)
One place for all your information

Download: Table Input in Java.one

Wednesday, June 07, 2006 10:16:32 AM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Interop | Knowing | Java | SD Tools | TabletPC#
Sunday, May 28, 2006

Unpredictability and recognition systems

Sunday, May 28, 2006

12:18 PM

In reading Jeff Hawkins book On Intelligence I came upon this great anecdote about developing Graffiti:

 

"I recognized that people were willing to learn a difficult task (typing) because it was a reliable and fast way to enter text into a machine. Therefore if we could create a new method of entering text with a stylus that was fast and reliable, people would use it even though it required learning. So I designed an alphabet that would reliably translate what you write into computer text; we called it Graffiti. With traditional handwriting recognition systems, when the computer misinterprets your writing you don't know why. But the Graffiti system always produces a correct letter unless you make a mistake in writing. Our brains hate unpredictability, which is why people hate traditional handwriting recognition systems." (Emphasis added)

 

To this day, I prefer Graffiti for PDA input, although I would love Shark/Shapewriter (which bolsters Hawkins' point even further). On the other hand, I prefer the TabletPC's TIP and correction UI to Graffiti; I'm not sure it's faster, but the correction UI is good enough that using it is predictable. Voice recognition systems, though, definitely produce the "unpredictable == hateful" reaction in me.

 

Created with Microsoft Office OneNote 2007 (Beta)
One place for all your information

Download: Unpredictability and recognition.one

Sunday, May 28, 2006 2:38:45 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | TabletPC | AI#
Saturday, May 27, 2006

Editing and State Transitions

Saturday, May 27, 2006

8:58 AM

I absolutely love this research paper from Microsoft that describes a UI for a recording application. The great thing is that "all" they did was rethink the classic recorder interface of "rewind, play/record, fast forward" with a new state transition for "re-record that last thought." The UI tells the story:

 

 

Isn't that great? The results are significant, too: content creators uniformly preferred the interface and, even more significantly, 84% of listeners preferred freeform recordings made with this interface to recordings made with a traditional UI. I love that delivered quality depends on editing interface -- something I've noticed when trying to write high-quality software for the Tablet PC.

 

I've actually thought of similar (though not as elegant) approaches to pen-written passages: accumulate short sections of expressive thought and assemble them using an interface different than the cursor-based WYSIWYG of a Word / classic keyboard editor.

 

Created with Microsoft Office OneNote 2007 (Beta)
One place for all your information

Download: Editing and State Transitions.one

Saturday, May 27, 2006 3:52:33 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | TabletPC#
Friday, May 05, 2006

Anyone have experience using specialized input contexts with Java/SWT?

Friday, May 05, 2006 9:26:22 AM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | Java | TabletPC#
Wednesday, April 19, 2006
Wednesday, April 19, 2006 1:27:25 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Published | TabletPC#
Tuesday, March 28, 2006

Rob Bushway data-mined the buzz about Origami to reveal that a lot of Tablet PC users don't carry their existing Tablets around as much as they might claim. It's a good catch. I have 3 Tablets (how ridiculous is that?) and have to admit in all honesty that somewhere over 90% of my work on them is done in desktop mode. For something to be carryable requires an incredible fine-tuning of features. I never carry around my Toshiba Portege M200 (a convertible) -- that's the role of my Motion Computing M1400 slate (which shares the form-factor of my third tablet, an M1200, which is gathering dust, quite honestly). It's not that the M200 weighs a few more ounces (although it does), but the balance. The Motion Computing slates are really, really appealing for carrying around -- the M200 just doesn't feel the same way.

On the other hand, what do I carry around all the time? My Pocket PC Phone Edition PDA (an O2 XDA) which I like much more than my now-bricked SMT5600 Smartphone. Its got instant-on and battery life long enough not to worry about it. If only it had Shapewriter / Shark text input I'd be in heaven. (By the way, the "coming soon" version of Shapewriter has been that way for a year and a half: could IBM be holding back because Microsoft has so much to gain from a great mobile text input technology?)

On the other hand, the view-anywhere screen on the M1400 is better than that of even my PDA. But it's only 1024 x 768, while my M200 is 1400 x 1050.

In other words, there are a million (or at least a dozen) tiny little things: balance, screen readability, resolution, accessories, battery life, text input speed, etc... that weigh into the decision to carry a computer at all times. It seems to me that it's more a case of time and luck than anything else, that eventually there's going to be some piece of hardware that really hits the sweet spot. Whether the Origami / UMPC is it, I don't know -- the base resolution of 800 x 480 makes me doubt I'll be using it to compose articles.

Tuesday, March 28, 2006 2:38:48 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | Reviews | TabletPC#
Thursday, February 23, 2006
Thursday, February 23, 2006 11:03:01 AM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | TabletPC#
Wednesday, February 01, 2006

Rob Bushway, blogging from Microsoft's Mobile Partner Briefing says that Ultramobile Lifestyle PCs" with a $500 MSRP, pen-based, all-day batteries, and a full OS (not CE) are coming real soon now.

Wouldn't that be nice?

Wednesday, February 01, 2006 12:48:16 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Knowing | TabletPC#
Saturday, December 10, 2005

Seb Wills has hooked the accelerometers in the Toshiba M200 to control the Dasher text-input system (in which letters gradually slide from right-to-left and your vertical motion selects them). Fantastic!

One of the most interesting things about the Tablet PC is all the ways we search for alternate input techniques. Personally, I find that SHARK has the highest rate of entry (better than FITALY, better than Dasher, way better than handwriting), but there are aspects of the Java-based input panel that are really frustrating.

For my next DevX article, I'm working on a voice-input correction system that is based on the Tablet PC Input Panel, which is a tremendous piece of UI engineering for correcting hand-writing. My premise is that it's acceptable to use a mixed-mode editing panel, where a pen / mouse is used to navigate the recognized text and its alternates. I'm having some trouble understanding the SAPI object model -- I'm requesting alternates but getting identical outputs, which is strange.

Saturday, December 10, 2005 12:04:08 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | TabletPC#
Monday, December 05, 2005

At the PDC, I bought a bluetooth "Freedom" keyboard, unaware that at the time there were no drivers available for the Tablet PC. Although Freedom eventually released a driver, the keyboard is unacceptable for typing.

I then purchased a wireless keyboard from Motion (reduced to $89). It arrived promptly but I could not get it to install correctly in Bluetooth (the exchange of passkeys did not work). After a few calls with Motion tech support, they sent me a replacement. It installed flawlessly and I am writing this entry with it. It seems to be quite a nice keyboard -- I would say it's about average laptop size and has very nice key motion with good audio feedback. Yeah, I think I quite like it.

Monday, December 05, 2005 2:41:42 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Reviews | TabletPC#
Monday, October 31, 2005

My latest article on DevX implements a packet filter and custom selection tool using the Tablet PC RealTime Stylus APIs.

Monday, October 31, 2005 12:25:41 PM (Hawaiian Standard Time, UTC-10:00) |  Disqus link  | Published | TabletPC#
Search
About Larry...
Flickr photostream
Subscribe: RSS 2.0 Atom 1.0
Popular Articles
Programming Sabre with Java, C#, and XML
Genetic Programming in C#
15 Exercises To Know A Programming Language
Top 10 Things I've Learned About Computers From the Movies and Any Episode of "24"
Recently Published Articles
HI
KonaKoder
Categories
Archive