In response to this article on VentureBeat, I posted the following comments:
–
I’m the guy that implemented the multitouch solution shown in the video above. Forget the conspiracy theory. There isn’t a trace of implemented-then-removed multitouch code in the Android codebase, I have been through pretty much all of it that has anything to do with event processing, from the low-level kernel driver to the singleton class that receives events across the JNI bridge to the event processing pipeline. The kernel driver always supported multitouch because it is based off of generic synaptics code that already supported multitouch. (EDIT: the poster of the article linked above corrected me, he never said the code was added and removed, just that Apple asked Google not to include multitouch and Google complied. The remainder of my observations still stand.)
My conclusions after going through the code and scouring the web for reasons why it wasn’t implemented in 1.0, as well as conversations with Google employees and all sorts of interactions with the community since the multitouch release are the following:
(1) The G1 was simply never intended to be a multi-touch device. HTC didn’t spec it that way (their top leadership came out and said “it was designed to be a single-touch device”), Google didn’t ask for them to design an MT-capable device, it wasn’t on Google’s list of things to do for 1.0.
(2) Apple’s multitouch patent may not even cover the pinch gesture, according to recent detailed analyses of the patent that have been widely blogged about. So far they have not even approached me with a C&D letter, and I don’t expect they will. (And anyway, I never made a cent off of this, and I am doing no more development on multitouch now that the capability is out there in firmware images that you can flash on your own phone.)
(3) Google *is* interested in multitouch capabilities, it’s just nowhere near the top of their priority list. Anyone in the community could step forward today with a well-designed extension to the MotionEvent class that properly supports MT, and the Google guys and gals would vet it just like any other community submission, and it would stand as good a chance of making it into the codebase as anything else. (HOWEVER the Google Android engineers have been rushed off their feet for about the last two years straight, including lots of late nights and weekends, and the pace sped up if anything after 1.0, so they are so busy with their own internal priorities that the Android *platform* is only a community project in name at the moment, because the ones that can actually commit to the repository at the moment are mostly/all(?) Google engineers, and they’re just plain flat-out busy… time will tell if that changes, or if their community module ownership handout system works.) EDIT: I should clarify here that when I say “Google is interested in multitouch capabilities”, all that Google employees have specifically stated in the public mailing lists is that if a manufacturer were to come to them with multitouch as a requirement for a device, then of course they would work with the device manufacturer to build that capability into the Android software stack. It can be taken for granted that Google has talked internally about doing multitouch, but again the only public statement is that there is no “when” or even “if” about it right now, it’s just not on the immediate future schedule of things to do — which is why someone in the community needs to submit a patch to do multitouch properly if they care about having officially supported MultiTouch on the G1.
(4) Google will deal with legal issues if and when they come up, but that hardly stops them doing something they think should be done. Take a look at Book Search and YouTube
(I know, I used to work at Google on Book Search…)
(5) Apparently the driver for a resistive MT-capable/iPhone-like touchscreen was checked into the git kernel tree after the 1.0 release, so we now have (at least?) two MT-capable drivers in the tree. This is barely surprising given the huge number of Android devices of every form factor currently in the pipeline. You can bet somebody wants to market the devices even if it means licensing from / fighting with Apple.
(6) I could go on, but basically put away your tinfoil hats, people.
–
One more thing: if you really want to know what happened with Android 1.0, read through the Android platform source. All of it. Or as much as you possibly can in the next year or so. You will quickly come to realize that the pulling-together of Android in the short period of time over which it was accomplished constitutes one of the greatest software engineering accomplishments of our time. The code is, for the most part, polished, clean, well-written, low on bugs and seamlessly integrated. I don’t know how on earth they managed to (a) write (/acquire
) that amount of code in such a short time, (b) so seamlessly integrate the efforts of what must have been a very large number of programmers, and (c) somehow also build a complete working lightweight linux distribution, an Eclipse IDE and debugger, an entirely new VM, and (working with HTC) an actual physical device that stands to be one of the best physical 1.0 releases of a complex device of all time.
Once you catch the vision of that, you will understand why MT conspiracies are ridiculous — why would MT or other bling even be an issue when you’re trying to accomplish so many far more difficult engineering tasks and meet a shipping deadline?
[...] Definitely worth reading, at Luke’s blog: The Android Multi-Touch Conspiracy… and more tinfoil hats [...]
how the hell can i get it? imaman247@gmail.com
Amen Luke! You are 100% right. People must think and realize that Google set out to create an OS. And I think they made a damn good one. Android is great. In not even a year people are going to be dying for it moreso than now. Multitouch is a feature that is cool but not necessary. And btw, your multitouch is an amazing feat as well. It works well enough for my uses (a little flair and a little showing off to my mates). All in all, Google is doing a great job with Android and people need to give them credit.
Chuck
Great Post as I think we (G1 owners) all wanted to believe there was SOME greater reason as to why the G1 doesn’t have multi-touch and something as simple & useful as a 3.5mm headphone port.
It became convenient with scant evidence to blame Apple but logically it just doesn’t make sense.
I touched on this at http://www.googleandblog.com/why-no-g1-35mm-headphone-jack/3750/
,Michael Martin
Google And Blog
[...] Luke Hutch who hacked the G1 to have multi-touch calls shenanigans on the whole blame Apple for the lack of [...]
Hey luke thanks to u…I can enjoy my g1 to the fullest….keep on the good work…and remember….when you crack something for the benefit of people is not a crime….you totally rock….my support ….you have it…
Hey, I was wondering something. Is you multi-touch hack based on the source code for my multi-touch hack for synaptics touchpads. Here is my website for those who dont know about it.
randomtruth.110mb.com
It’s not based on your code, but cool stuff — will cross-post to my blog!
Thanks a lot for the explanation…….Here is more info for everyone else….
Can Apple’s Multi-Touch Patent Withstand Scrutiny — or Challenge?
http://industry.bnet.com/technology/1000741/can-apples-multi-touch-patent-withstand-scrutiny-or-challenge/
From what I’ve seen, their are apparently two different versions of the HTC Hero, which from publicity pictures are tow different phones. One is rather boxy, with the G1′s chin, flash and multitouch, which has already been released in Europe.
However in the US the “Hero” is apparently much sleeker and has the same UI but no multitouch. Wierd…
Google, like any other US company (or any company present in the US market), is very sensitive about the subject of patents. I have already pointed out on a publicly available Google-followed Google list that Apple have patents on multitouch. http://groups.google.com/group/android-discuss/browse_thread/thread/9b42d1bd9108c8cc/15d6b04c8b674a04. Patents have a place, to be sure, but not in software. While Googler JBQ (of enormous Android fame) didn’t outright confirm the MT “conspiracy”, he made it clear that any talk of patents was unwelcome. And he certainly fudged around when MT would be available in Android. MT has been available in Android for ages, though the reason it still sucks (in cyanogen on the ADP1) is far from certain, I would imagine that a bit of love from the likes of JBQ and it would put the iPhone to shame next week… particularly on the FO hardware that the Nexus1 sports!
A++
Anton
Bad timing — the very day you post this, Google announces an OTA update for the Nexus One that adds pinch/zoom to Browser, Maps and Gallery3D.
Serves Jobs right that once he starts talking Sh!t about Google then the gloves come off