Monday, August 17, 2009

Touch Hardware

One of the first questions people ask about multi-touch is what hardware to get.

Everything is supported just at different levels. First you have touch screens that emulate the mouse such as most Point-of-Sale monitors. We have a Dell POS and a Planar PT 19. These are only good for big buttons. Any sort of dragging your finger across the screen is lost by the device/driver. The Planar doesn't loose the mouse as bad as the Dell.

Then you have the old school tablet laptops. These add pen and sometimes support touch with the finger as well. The pen resolution is equal to or better than the mouse. The finger with these older systems is an afterthought. Lenovo IBM X61 is an example of such a system.

Next you have all-in-one systems such as the Asus EeeTop which has better drivers/hardware than the Point-of-Sale monitors but they are still just a touch screen mouse. I.E. push the monitor with your finger and you get a left mouse click. The Asus has a pretty decent touch screen but still only supports one touch point and it is just emulating the mouse. The processor on the Asus is really slow.

Now enters multi-touch which only Windows 7 really supports. Some Vista systems support multi-touch but just go with Windows 7, you'll be much happier.

Building on the tablet there are currently two shipping multi-touch laptops. One by Dell and one by HP. These make touch a forethought and add multi-touch. The HP supports 2 touch points and with an updated driver 4. The Dell supports 10 touch points. They are the exact same display so it must be the driver or other components that allow the extra touch points on the Dell. A Dell is currently sitting on my desk and it is the nicest of the systems. It feels like a laptop that I would buy for myself. The Dell is priced a bit high but it is a nice slimline laptop. The HP feels a bit cheap and has some flowery patterns on it.

Lastly you have the all-in-one multi-touch systems such as the HP TouchSmart which features a large display and two touch points. We have purchased two batches of these. The first batch is pretty bad. I'm pretty sure these are the ones currently selling on Woot. The second batch is a lot better but the Dell and HP laptops I mentioned above are better. Update: If you buy one of these be sure to get the NVIDIA graphics card.

20 comments:

Jolyon Smith said...

How does the VCL gesture system handle laptops with no touch screen but a multi-touch (or at least duo-touch) touch pads?

My Acer has a Synaptics touch pad which supports touch zooming, e.g. in Google Chrome, which is not only convenient but also highly intuitive.

Does this "just work" in the VCL implementation, or is there additional work required to exploit such a device?

Anonymous said...

Jolyon,

I think your touchpad "sends mousewheel messages while keeping the Ctrl key down". You can handle this yourself (don't need D2010 for this).

Giel

Jolyon Smith said...

Hmmm, that might be how the Synaptics driver maps input for "legacy" applications, but aiui those Synaptics touchpads also offer full multi-touch capability (they would have to for their driver to be able to map a pinch-zoom into click-wheel messages, wouldn't they?).

So yes, I could just use those legacy message mappings, just as I could just use the mapping of finger input on a touch screen to regular mouse messages.

I could also just use the mapping of finger input onto mouse messages on a touch screen devices, but the whole point is that Delphi 2010 is supposed to allow me to exploit these capabilities fully, isn't it?

These Synaptics devices seem to qualify as multi-touch input devices, and "Everything is supported (at different levels)".

Quite possibly for some time yet, there are going to be more devices (running Windows that Delphi developers can target) in users hands than there will be full (or even partial) touch screen devices. Certainly they are the only multi-touch devices I have encountered "in the wild" (i.e. not in developer tool/language/product demo's and not on display in computer stores).

As in, I own one and I know other people who own them.

On the other hand I don't know anyone who owns a touch *screen* device that isn't an iPod/iTouch or handheld GPS unit or similar.


Here's just one list of Synaptics multi-touch equipped devices:

http://web.telia.com/~u89404340/touchpad/compatibility.txt

And a discussion of the implementation of support for multi-touch gestures (e.g. 3 fingered swipe) for Linux:

http://www.ibm.com/developerworks/opensource/library/os-touchpad/?ca=dgr-lnxw02os-touchpad&S_TACT=105AGX59&S_CMP=GRsitel


So I don't think it's completely unreasonable to ask what level of support there is for such devices is in Delphi 2010, is it?

Even if the answer is "none, because ... "

"Everthing is supported AT SOME LEVEL". Maybe the "SOME LEVEL" in this case is: just as a regular mouse + whatever mouse messages are mapped by the underlying driver, but nothing beyond that.

That would be extremely disappointing, but it would be an answer.

Xepol said...

Personally, I am still predicting that "multi touch", or for that matter any real touch interfaces are going to be as popular as SideShow.

Jolyon Smith said...

Touch *screens*, I agree - I think. You *are* saying that they won't be that popular, right? :)


But as I say try to convey above, these Synaptics devices are a bit different.

They offer touch and gesture capability without smeary finger prints all over the screen, and in/on a device that the users are already well accustomed to using their fingers with (and which are fitted on devices running - or capable of running - an OS that the tool in question - Delphi - has well established support for).

And many people will have them already and perhaps not even be aware of the additional capabilities since afaik it's not an extra cost option, just the latest greatest feature of the device you get as standard. Unlike touch *screens* which still require (for the most part, when it comes to general purpose Windows PC's) a specific and deliberate buying decision not to mention not insignificant extra $$$'s!

Anonymous said...

Jolyon,

I think it's safe to assume Delphi works with Windows APIs only, ie. it won't communicate with the driver itself. Hence it should work with Windows 7 if the touchpad driver supports that. In all other cases there's no way for Delphi to see the touchpad multitouch messages through Windows APIs.

Giel

LDS said...

What about devices like Wacom pen tablets and screens? Are they supported?

Chris Bensen said...

Jolyon,

Giel is correct. Delphi is not interfacing directly with the driver. That is where we drew the line. If one wanted, the system allows a custom point collector to be built. Then our gesture matching could be leveraged.

Chris Bensen said...

LDS,

We didn't do any extensive testing against Wacom tablets, but they should function the same as the Tablet with a pen.

Anonymous said...

What about handwriting? Does the new Vcl support that part of Tablet PC's?

-Tim

Chris Bensen said...

Tim,

All the Windows APIs for handwriting have been translated but we didn't wrap them into anything easier to use.

Jolyon Smith said...

Sadly without support for such devices then I think these "Touch" features are going to be of *very* limited appeal.

i.e. unless you're building a specific touch application for a desktop Windows app (kiosk, POS etc) but even there, anything other than basic "touch == mouse messages" is largely unnecessary since the UIs need to be REAL simple for every Joe User likely to encounter them. "Fisher Price" apps - bit buttons... click/touch here, click/touch there etc.

And those apps have been more than adequately do-able for years already using simple mouse message mapping.

Sadly this means that for now I think this "touch support" is going to be great for demos and a talking point, but mostly pointless [sic] in the real world unless/until we can use Delphi to build iPhone apps.

Anonymous said...

Jolyon,

You should borrow a Windows 7 multi-touch convertible notebook, and browse the web in your comfy chair. You'll shelve your touchpad next to your pre-iPhone device after that ;-)

Giel

Chris Bensen said...

Jolyon,

Many people were skeptical of the iPhone at first but it has been a great success. Every day I read about a new device that adds touch support and it's only a matter of time before even more add it. The question is, will there be software to run on those devices and who will write it.

Jon Robertson said...

Tim,

A demo for the ink/handwriting support in Windows XP Tablet Edition was posted to CodeCentral in 2004.

A long time ago, I downloaded the demo and the necessary SDKs (since I was not running Tablet PC Edition) to my workstation and had the demo running in no time. I was amazed at how well the recognition worked. I used Delphi 6 to build the demo.

http://cc.embarcadero.com/Item/22684

Anonymous said...

Thanks Chris & Jon; I'll take a look at the SDK for ink/handwriting support.

-Tim

Jolyon Smith said...

@"Anonymous" - I already have a Tablet PC running Windows 7 and I have worked extensively with touchscreen Windows PC's in the past (I was building touch apps almost 10 years ago!).

I myself do like the tech, but my point is that *as of today* the vast majority of touch-tech enabled devices that will be found "in the wild", running an edition of Windows that Delphi developers can target, will be Synaptics Touchpads, *NOT* touch screens.

And that the types of touch-apps that we can build (Delphi built Windows apps) will - in the main - NOT be seeking to take advantage of gesturing or other advanced techniques (kiosk/POS apps).


@Anonymous + @ Chris:

My broader point is that touch absolutely makes sense on handheld devices and even on dedicated "domain controllers" (media centers, POS etc and the like), it simply doesn't make as much sense on laptops and desktop PCs.

I draw this conclusion from the simple fact that the technology to deliver such systems is *not* new, nor are the software techniques, and that such systems have in fact been available for years at a not dissimilar price premium to that currently demanded, and yet the revolution has not happened.


Someone at DelphiLive mentioned that HP TouchSmarts were being sold at knock-down prices at WalMart, and seemed to imply that this suggested an impending explosion of "Touch Popularity". I think they missed the point that the reason the price was so low was (most likely) that consumers simply weren't interested. The dead stock they (and possibly HP themselves) were lumbered with had to be shifted somehow, and knocking down the price to a point possibly below that at which an equivalent, non-Touch device could be had, was the only way.

Yes, Touch enabled handheld devices are simply GREAT.

But I do not see that "Touch" finding it's niche on handhelds will necessarily result in the explosion of "Touch" on the desktop (or laptop) that some people seem to think is about to occur, any more than hot-dog sales at baseball games is a reliable indication of the likely market for the popularity of hot-dogs in restaurants.

Jolyon Smith said...

Oops, minor correction:

"And that the types of touch-apps that we can build (Delphi built Windows apps) "

Should have read:

"And that the types of touch-SCREEN apps that we can build (Delphi built Windows apps) "

Anonymous said...

Jolyon,

Modern hardware/software wasn't available a couple of years ago at all. No multi-touch screens, and no OS to support them. And multi-touch makes a great difference. Even something as innocent-looking as a touch keyboard works much better with multi-touch because you don't have to lift the last finger before your can put the next one down.

You don't think the iPhone would have been succesful if it had a single-touch resistive touchscreen, do you?

Anyway, time will tell who's right ;-)

Giel

Josue said...

I love the computer-related issues when I was in college did a study called bluetooth laser keyboard, where I learned a lot about the kind of blue-tooth technology, which is super interesting.

Post a Comment