Mar 12 AT 11:40 AM Taylor Wimberly 31 Comments

A closer look at HTC’s touch sensors

Our recent look at the Nexus One touch screen generated a lot of questions and now we are back with some answers. The Nexus One touchscreen is not “broken” – it just suffers from a hardware limitation we were not aware of and did not perform as we expected.

For starters, let us look at the actual touch sensor used in the Nexus One. HTC selected the ClearPad 2000 capacitive touchscreen sensor. This touch sensor first debuted in 2007 and we believe HTC has used it in all their Android phones.

The ClearPad 2000 has support for “two-finger interaction and gestures” such as pinch zoom and pivot rotate, which is exactly how Google implemented it. Pinch zoom in the browser, gallery, and maps works flawlessly and we have no complaints.

The problems arise when developers try to use complex two-finger movements (like those found in games).

These multitouch issues have been well documented on the Android Developers forum and a Google employee responded with the following:

“This has nothing to do with the Android platform.  Please do not file bugs about it.  Android is just reporting what the hardware is capable of reporting.  There is no “normalization” for games or such, there is just the data the screen provides.  (Though there is some special code in the current framework for cleaning up the data from the Droid screen; arguably this should be in the driver or firmware for it, since this is really screen and hardware specific kind of stuff.  At any rate, it is not applicable to basic screen capabilities like here.)”Dianne HackbornAndroid framework engineer

The Motorola Droid features a different touch sensor (I don’t know which one. Help?) from the HTC phones and includes “some special code” which is the reason it performed better in our testing.

So what is this special code and can it be used on the Nexus One? Steve Kondik (Cyanogen) dug through the source and found the following:

Interestingly, there is a hack in the framework (which is enabled on the Droid, but not on the N1) that can be enabled by setting config_filterTouchEvents. With it disabled (the default), I get the axis-flipping problem. Enabling it fixes this, but there are still issues with the points “sticking” when they cross.CyanogenBacon lover

So as you can see, the Nexus One (and all other HTC Android phones) suffer from hardware limitations, but we could see an improvement in performance through a future software update.

Now that most of us are aware with the limitations, we know what to expect from future Android games. Developers can use two touches as long as they are careful about how they are implemented. Advanced two-finger gaming as seen on the iPhone, might never be possible because of the hardware that HTC is using.

If you want something to look forward to, check out the newer Synaptics ClearPad 3000. This touch sensor supports true multi-finger gestures and can recognize up to ten touches. Maybe HTC will pony up the cash and include it with their next superphone.

Synaptics ClearPad 3000 Series from Synaptics, Inc. on Vimeo.

Taylor is the founder of Android and Me. He resides in Dallas and carries the Samsung Galaxy S 4 and HTC One as his daily devices. Ask him a question on Twitter or Google+ and he is likely to respond. | Ethics statement

    Most Tweeted This Week

  • http://Website enea

    “Advanced two-finger gaming as seen on the iPhone” ?
    examples please, I don’t own a dumb phone…

    • http://Website Derek

      If you have an Android based phone, then you sure do own a “dumb phone”.

      • jakejardashian

        What an idiot ^^^ o.O

    • http://Website Kyle

      Example include: Taptap Revenge games (guitar hero like game on itouch and iphones)

  • StevenZoz

    after paying full price for a nexus one, this annoys me so much. You should ‘get what you pay for’, and in this case it doesnt seem that way.

  • http://Website wow

    hey guys, any idea about the touch sensor that HD2 is using? the same ClearPad 2000 ?

  • http://Website William

    Very well written. I have one question though. I am going to try to get a Nexus One sometime around late May or Early June. Do you think I should wait and get the phone after the Nexus One or go ahead and get it? Do you think that the multi-touch issue is worth waiting for another phone? because I would like to use a multi-touch-enabled keyboard and maybe play a few games.

    • Bob McCormick

      I wish someone would post a link to some information about a game (Android, iPhone, or otherwise) that uses the kind of finger-crossing twisty movement necessary to duplicate this touch screen “issue”. So far, it looks to me like this “issue” is a non-issue. MultiTouch on the N1 works perfectly well for pinch-zoom, for the on-screen keyboard, and for every game I’ve seen so far.

      Keep in mind that this “issue” exists on all the existing HTC phones, and I haven’t heard a lot of G1, MyTouch, Hero, or Droid Eris users complaining about their touch screen. This is more of a theoretical limitation than something that’s likely to affect your actual usage of the phone.

      On the other hand, compared to certain other phones iPhone the N1 has better resolution, more vibrant colors (thanks to AMOLED), faster processor, more memory, larger screen, better call quality, more open platform, better notification system, multitasking, higher resolution camera, camera flash, and replaceable battery.

      I suggest going with the N1. It’s hands down the best phone currently on the market.

      • http://Website worldbfree4me

        Bob, this is not not an anomaly. Current Android based devices are not as a capable of gaming like an iDont or more recently the Palm Pre. Before this Op-Ed, my suspicion led me to believe that it was because of the internal memory capacity or lack thereof. Also, using an sd card to run a game from is not the best choice because of latency. In addition, while these new Droids have Qualcomm 1Ghz chips, they lack Vram to process 3D graphics. Palm and the iDont chose the Ti Omap 3430 (600Mhz+400MhzGpu) which makes gaming a breeze. Its now clear to me that HTC are capitalist in every sense of the word. They believe strongly in economies of scale. They simply use something that works like that 3 year old 533 Mhz chip that’s in 80% of their phones until the margins have reached a point of diminishing returns. That’s why they are still using this 3 year touch interface. Wow, Palm really is a serious competitor in the mobile space! Long live WebOS!!

        • http://Website grindking

          Are you sure the Palm Pre doesn’t have the same problem as the N1′s touch screen? I have a couple friends with them and I haven’t seen anything to indicate that anything other than that. The emulators out now seem to work fairly well with multi touch (try playing super mario world with snesoid and virtual keys. I was able to run to the right holding a turtle shell AND jumping.) The snapdragon chipset includes a GPU with the 1ghz processor (there was some disagreement on this issue but it was finally resolved over at xda forums). Games like Raging Thunder 2 demonstrate the capabilities of the snapdragon family and don’t get me wrong, the OMAP chipset on the Droid is a great setup as well. The sd card issue you describe is not an issue at all. In the mods for devices like the G1, they claimed you needed a Class 6 sd card in order to provide adequate speed. This has also become a non issue and while I don’t know the specifics as to the reasoning, I distinctly remember people using Class 2 cards in apps 2 sd solutions with newer phones on freenode irc network.

      • Taylor Wimberly

        One game I have major issues with is ToonWarz from Polarbit. The multitouch controls have a lot of issues on the N1.

        As you said, the way Google implemented multitouch gestures in most of their applications is flawless.

    • Dharmabhum

      I picked up a Nexus One after being on contract with my G1 for about 18 months. It is a huge upgrade to the hardware and its the greatest thing it has going for it. I use it mostly for mobile internet, messaging, and telephony but not so much for music and games (at least the more demanding games) so I can’t speak much to that. But I definitely like the upgrade and I’ve not been disappointed by any changes over my G1.

      Specifically, if you want to wait for a new phone to upgrade these touchscreen issues, you might wait a while. There’s no indication as far as I know that it will be “fixed”/upgraded any time soon for new phones so I wouldn’t recommend waiting on it.. you might wait a long time.

      Offtopic, I wasn’t sure if I wanted to give up my physical keyboard but I’ve found it to be no problem at all. I still have Better Keyboard (still <3 you Clark) but I downloaded the Swype beta and it has 100% revolutionized my take on touchscreen text input… I won't switch to another touchscreen device that doesn't support it.

  • Mike Leahy

    Nice summary article.

    Axis aligned controller overlays will not work well without software filtering to reduce axis aligned artifacts / loss of precision. Try the multitouch visible test and place one finger on the lower left then place another finger with your right hand like you are holding a game controller and it is pressing a button on the right but say ~1/4 to 1/2 an inch higher than the left finger and the left multitouch point will become axis aligned with the right finger and return wrong data (the “y” value will jump up and be axis aligned with the “y” value of the right touch point). If that left touch point was controlling say continuous movement or rotation in a 3D game that would lead to false movement.

    While I commented to my “reasonable standard of thoroughness” on my general thoughts regarding the multitouch API as implemented in MotionEvent in the other thread one can make a point that it is indeed the Android API is not the most optimal API and it breaks object oriented principals making MotionEvent heavy weight requiring complex processing for each listener and no way to partially consume data and pass on the unconsumed parts in an object oriented manner. Yes multitouch support was tacked onto MotionEvent and it does deliver the raw data, but that is about it.

    All of this could have been less of a big deal if there was more documentation in the API docs and clear tutorials mentioning the various touch screen types that Android devices and developers are going to have to deal with rather than silence and no information as current. For the consumer it would have been nice to been straight up and come out and say the Nexus One supports dual touch even if the left off the “with limitations” part. Better documentation and transparency is reasonable. To not be clear (or simply avoid the question) with consumers whether the device supports full multitouch is a little dishonest.. It’s not like all of us didn’t figure it out eventually and then get bummed for a bit… The devs will manage of course, but if the N1 was my phone for the next 2 years on a contract I’d be a little bummed cause once there are true multitouch devices there will be some really fun & creative apps available that require it.

    Already some good work by the dev community has appeared earlier with folks working with multitouch such as Luke Hutchinson:

    I’ll be taking a look at his work and quite likely integrate it into the dual touch code path for Typhon’s multitouch filtering. I just finished up the input filtering and event conversion component of Typhon and it rocks.. There is no object/memory overhead and each type of input filter whether it’s a keyboard, sensor, or touch/multitouch can output “GestureEvents” so I’ll be implementing Luke’s code as an input filter for multitouch and it will output pinch/zoom & rotate gestures. What this means is that an app built on Typhon that is just interested in pinch/zoom & rotate doesn’t have to do any of the heavy lifting or processing of MotionEvent.

    I do think Luke in his blog post makes an interesting point insofar that because MotionEvent needs to be processed independently we are see a wide variety of pinch / zoom characteristics between apps that do there own implementation / processing. Luke comments on this in an update on his blog post:

    “Google releases an OTA update for the Nexus One that includes pinch-zoom in the three apps that make sense (Browser, Maps, Gallery3D). Unfortunately however, I looked at the multitouch code used in these apps with baksmali – and it appears that all three MT controller implementations are different.”

    So because there is no standard multitouch gesture API in Android itself we will see quite a wide variety of implementations between various apps.

    There is also no way at the end API side to query the device to determine the multitouch limitations, so it is necessary to check the OS name, the device family name, or the device name and choose the appropriate code path based on a database of device capabilities. For the devs It’s not broken per se.. It’s just a little suboptimal.

    I’m still working on getting a demo out that shows Typhon for 2D and 3D (Auriga3D) games and multitouch considerations for game controller overlays and the software filtering I’ve come up with that minimize the issues. It’s taking a bit longer as it’s a beta demo for all of Typhon, but should be out def by the end of the month, but probably around the 24th. Look for “Typhon Beta” on the market or drop an email to me via

    Don’t have too much fun a SXSW… Wished I could make it….

  • http://Website David G. Friedman

    I hope you do the multi-touch test on every phone you review from now on. :)

    • Taylor Wimberly

      That is a good suggestion. Too bad a lot of “new” phones are still Android 1.5/1.6 and don’t support it yet.

      • Killa

        You said 1.5/1.6 don’t support multi-touch “yet.” Does that mean when they get upgraded to 2.1 they will support it? Please say yes… and let it be true.

        • Mike Leahy

          Yes… BUT… It’ll be limited by the touchscreen touch sensor quality. All previous and current HTC devices use a lower quality dual touch sensor. So for HTC devices it’s quite likely once they are upgraded to 2.1 you will have dual touch with limitations just like the Nexus One.

  • jakejardashian

    If you are going to be in a video displaying capabilities met with the hands, cut your gross fingernails please. lol. :P

  • http://Website Simon

    Ever since i bought my HTC Dream (i love it, i’m definitely an android fan-boy, and hate iphones), i’ve been waiting for that wow android phone to upgrade to.

    I’m a great believer of physical keyboard, so when the Droid came out, i was like that’s it.
    Then I started hearing about the Nexus one and it’s 1Ghz, so i was willing to sacrifice the physical keyboard for that.

    But now, i’m really happy i didn’t buy the Nexus one. But will i be waiting for ever for this wow phone to upgrade to??

    I just wish Google would put a code freeze for a year and stop releasing a new andoird os just to help me make that move and buy the latest Android phone!

    Things i wish will come to android phones;
    - ROM measured in Gigs: I find i’m always limited to applications less than 5Mb in size. Great games come with a big content
    - 3D graphics
    - True multi-touch

  • http://Website g

    the issue here really is the synaptics hardware solution, its crappy. devices like the palm pre have used capacitive touch solutions from industry leaders cypress semi, while apple makes it own, and they’re pretty darn good too. htc should really move to cypress…

    • http://Website Sixx

      clearpad2000 is clearly for notebook/netbook touchpads type of usage….it is clearly HTCs choice to use it anyway for watever reason/excuse (most probably is still $$$)

  • http://Website jian9007

    I would like to see the next Google phone with the Armada 610 and Clearpad 3000. I think it could be a boon for gaming on Android. I think it handles 45M 3D triangles compared to about 22-23 for the N1 (or snapdragon phones in general). Again, real world testing will be needed to see if it offers any benefits over other processors/touch screens that are upcoming/existing. Anything is better than the old 2000 that they are using and certainly the processors such as the Tegra and Snapdragon are far better than the damn Qualcomm POS in the Mytouch3g (which I have).

  • http://Website It’s a robot

    I don’t really see how this can be a huge problem for gaming. Maybe it’s just me, but i don’t play games with more than two fingers (on a phone that is), and playing a shooter hasn’t been the greatest comfort on a phone eather. Second of all, HTC always has a trackball or trackpad on their devices. I think this will be great for gaming. And putting gigs in internal memory won’t do any good for the price. Just look at I-phones, their more expensive than the pc i’m typing this on.You have to keep in mind, better hardware always has an effect on the price, HTC also just wants to keep it affordable for their consumers.

  • http://Website John Woo

    Its sad that HTC cut corners like this, the iPhone capacitive touch panel support more than two finger inputs.

  • http://none Sixx

    Just saw a taiwan news (TVBS) reporting today 15/3/2010 “some big shot in htc said that they are going all out to beat apple’s iphone in sales” but with this kind of crap cheap underspec hardware…

  • http://Website ronabong

    I wonder if you could swap the screen hardware with the Droid onto the N1 and enable the framework? Hmmm…

  • Pingback: HTC Incredible and EVO 4G to feature new maXTouch sensors – Android and Me()

  • Pingback: Android 2.2 is coming. What features do you want? – Android and Me()

  • Pingback: 音速工作室Android开发中心 » Blog Archive » 近看 Nexus One å’Œ HTC Android 手机失败的触摸传感器()

  • Duncan Gisin

    Woah! I’m really digging the template/theme of this website. It’s simple, yet effective. A lot of times it’s tough to get that “perfect balance” between user friendliness and appearance. I must say you’ve done a awesome job with this. Also, the blog loads extremely fast for me on Safari. Excellent Blog!

  • Joesph Lazor

    Admiring the time and effort you put into your blog and in depth information you provide. It’s good to come across a blog every once in a while that isn’t the same out of date rehashed information. Great read! I’ve bookmarked your site and I’m adding your RSS feeds to my Google account.