Nexus One has a major multitouch problem

Android and Me has posted an interesting tidbit of information regarding the Nexus One's touch screen. Apparently, the phone seems to have a problem with following multiple touches moving across the same axis. The problem was pointed out by game developer Robert Green, who was having issues with the screen when developing for Battery Powered Games. To illustrate the issue, he made an application called Multitouch Visible Test (available in the Android Market). Here's how he describes the problem:

"This app shows how your phone's hardware handles multitouch. The event data is not processed in any way. The two dots are drawn exactly where the phone reports you are touching. For many current Android phones, there will be lots of bad data including axis flipping and near-axis influence."

Pinch-to-zoom does not seem to be affected. However, the problem does rear its ugly head in some multitouch applications, like ToonWarz. This could turn off many developers from making quality games for Android. A lot of these gestures could affect how a game that has one virtual joystick on the right, and another on the left, would operate. It would be impossible for it to work.

Google engineer, Dianna Hackborn, has responded to the issue in the Android Developer group, and it doesn't sound too good. She explains how the Droid (which doesn't have the problem) and Nexus One have different hardware sensors, causing them to react to touch differently. It's unclear if a software update would be able to rectify the issue. But, from what Hackborn says, it seems unlikely.

"Sorry I meant exactly what I said: this is how the touch screen hardware on the Nexus One works (which is essentially the same screen as on the G1 and myTouch).  The Droid has a sensor from a different manufacturer, with different behavior.  Other phones will likewise have different sensors."

Hackborn links to an explanation by Luke Hutchison, who explained the issue in depth on the G1. He discussed how the issue primarily shows up with rotation based gestures. Since most gestures that people do on phones don't require rotation, this isn't really such a big problem. He also notes that the screen gives an advantage to two-fingered, axis aligned gestures, such as sliding two fingers up and down the screen, since it locks them into alignment. Hutchison discusses a possible solution to the overall "point snapping" issue. However, according to Robert Green, the solution only works for basic gestures, and does not solve the two independent point probem.

"The system could be made more natural to use by building in motion estimation (inertia and damping) in the vincinity of the discontinuities where touch points cross over each others’ axes, so that if the user is in fact doing a rotation gesture by moving strongly towards the axis crossing point, events will continue to be generated that smoothly cross that point. Of course there is still the potential for error here though if the user stops or reverses direction."

It will be interesting to see if Google issues an official response. This "glitch" has the potential to turn away many potential Nexus One customers. Many Android phones use cheaper screens, most of which probably have the same issue. Perhaps this is the reason Google held off on multitouch gestures for so long.  This video demonstrates the problem:

Report a problem with article
Previous Story

Microsoft's "Project Gustav", paint pictures on your PC with a brush

Next Story

Firefox 4.0 alpha 2 brings out-of-process plugins

38 Comments

Commenting is disabled on this article.

Aw man, just as I thought the nexus 1 was the perfect phone..

Does the HTC Desire have the same issue then ?? :(

yakumo said,
Does the HTC Desire have the same issue then ?? :(

As someone who will be first in line when the Desire hits the UK, I think this is the key question. I am guessing they are using the same HW for the screen as they are so similar.

If it is a quirk of the HW I am sure they can implement some SW patch just for multtitouch to work around the axis crossing ... couldnt you just force the touch position to where you "know" it should be once you move the axis together?

malebolgia said,
I'm curious does the HTC Desire have better hardware, than the Nexus One?
Desire has a 720p 30fps camera, FM radio, optical pad instead of trackball, and a couple of hardware buttons on the front.
The Desire LACKS the 2nd mic used for noise cancellation though, which thus lowers call quality on the desire and that removes its ability to work well (at all?) with Googles voice-to-text app they're releasing for the nexus one.

Where can I get this app from? I could not find it on the market. I want to run the test on my Hero.

rwx said,
Where can I get this app from? I could not find it on the market. I want to run the test on my Hero.
I believe the app only works on Android 2.x. Sorry. However, there is another app that may be available. I forget the name of it, but I know it's "Multitouch something." Just search for multitouch under apps and you should find it. It's similar to the one mentioned above. It's the one used in Luke Hutchison's article.

Benjamin Rubenstein said,
I believe the app only works on Android 2.x. Sorry. However, there is another app that may be available. I forget the name of it, but I know it's "Multitouch something." Just search for multitouch under apps and you should find it. It's similar to the one mentioned above. It's the one used in Luke Hutchison's article.

Thank you Benjamin!

barteh said,
should have bought an iphone :D

Nah, if you don't play games there is no real reason to spend the extra money on an ATT contract.

still1 said,
thats not good... cant understand y its an issue in nexus but works in droid
Different hardware, probably just a quirky driver for the touchscreen. Physically, it doesn't make sense for this to be a problem on the hardware level, probably just a line of code going wonky somewhere. Developers will know what I mean when I say one line of code can have unexpected consequences that seem random, like this one.

Simon said,
Different hardware, probably just a quirky driver for the touchscreen. Physically, it doesn't make sense for this to be a problem on the hardware level, probably just a line of code going wonky somewhere. Developers will know what I mean when I say one line of code can have unexpected consequences that seem random, like this one.
Unfortunately, from what I gather, the problem isn't software related. It's just the way the hardware sensor works. I hope I'm wrong though, cuz I was set on getting one if it came to Sprint.

this more or less highlights a point where HTC could improve by creating a defacto hardware list they go to for each device internally or categorize off the different hardware even if it is ODM/OEM stuff like nexus one. Imo they should just default the usual plus obviously their multi touch capable capacitive screens/sensors with snapdragon power across all their devices from now on or till better processor which can adapt as standard for a while comes along and would be good. They appear to do this already to a degree with features (cam, gps, inputs/outputs and things) but some things like processor and sensors screens an stuff are obviously frequently changed. Obviously if partner wanted specifics sure could get different parts but in nexus ones case surely google didn't develop its config with this issue in mind.

As a soon-to-be game developer for Android it worries me a little but overall I'm really not too worried, I'm sure there's going to be work arounds for this eventually.

I thought the Nexus One officially didn't support multi-touch and it was added later because people wanted it. If so, then they are lucky it even supports basic multi touch...as it was never advertised to support it.

zivan56 said,
I thought the Nexus One officially didn't support multi-touch and it was added later because people wanted it. If so, then they are lucky it even supports basic multi touch...as it was never advertised to support it.

That is a good point.

From what I can tell, this is more of an issue for games (as pointed out by the article). The only time I have ever made such gestures on my iPhone was while playing games. For every "productivity" app its been pinch and scroll gestures only.

Edited by Shadrack, Mar 3 2010, 11:08pm :

zivan56 said,
I thought the Nexus One officially didn't support multi-touch and it was added later because people wanted it. If so, then they are lucky it even supports basic multi touch...as it was never advertised to support it.
It always supported multitouch, and allowed it in third party apps (like the one shown). However, it was disabled in the built in apps like the browser, maps, etc., presumably because of patents.

Stetson said,
Hey, maybe Apple's R&D is worth something after all!

As far as i remember, the video showed the droid working perfectly fine...

pielor said,

As far as i remember, the video showed the droid working perfectly fine...

Not so much that Motorola couldn't make it work (although there was the whole touchscreen-accuracy test a while back), but that if Google couldn't execute it perfectly then you get a sense that it might not be so simple and easy.

xtravgnt said,
Glad I don't play games on my N1, that's what my 360 or PS3 are for

Can you take your 360 and PS3 with you on airplanes to play during long flights?

Shadrack said,

Can you take your 360 and PS3 with you on airplanes to play during long flights?


Nope but like I said I don't play games on my phone regardless.

That's not good at all.

I'm in the market for one of these or a HTC Desire very soon.. I don't play games so am not overly worried at this point, but it must be a concern for game developers for Android! :(