Android-telefoon G1 krijgt multitouch-update

De G1, de Android-telefoon van HTC, zou tot multitouch in staat zijn. Een gebruiker wist met een aangepaste driver en wat software zijn telefoon de input van twee vingers te laten verwerken.

De eerste Android-telefoon, de G1 of HTC Dream, heeft gemengde reacties gekregen: een van de negatieve aspecten van de op opensource-software draaiende telefoon is het gebrek aan multitouch-mogelijkheden. G1-gebruiker Ryan Gardner, of 'RyeBrye' liet het daar echter niet bij zitten en dook in de software van zijn telefoon. In de driver van het Synaptics-touchscreen in zijn toestel bleken enkele regels code uitgeschakeld te zijn. Door deze code in te schakelen was hij in staat debug-informatie van de driver weg te laten schrijven. Uit de logs bleek dat het touchscreen geen moeite had de input van twee vingers bij te houden, waardoor multitouch-mogelijkheden in het verschiet lagen.

De volgende stap bestond uit het wegschrijven van de touchscreen-data naar een locatie die door de Java-software van de telefoon gelezen kon worden. Door dat bestand steeds te raadplegen, kon software op de G1 de input van twee vingers gebruiken. Gardner paste als proof-of-concept een tekenprogramma aan en maakte video-opnames van de resultaten. Vooralsnog reageert zijn tekenprogramma traag op de multitouch-input, maar dat zou aan de manier liggen waarop de touchscreen-data benaderd wordt. Het beoogde doel van de hack is het mogelijk te maken op webpagina's in te zoomen door een knijpende beweging met twee vingers op het scherm te maken; de manier waarop de iPhone inzoomt.

Het is nog maar de vraag of deze hack echt is. De hack van de Touch Diamond en Touch Pro die in augustus werd ontdekt, bleek op een misverstand te berusten: het aanraakgevoelige gedeelte onder het beeldscherm is verdeeld in meerdere aparte panelen, die allebei tegelijk bediend kunnen worden.

Mark Moons, directeur van HTC Benelux, zei onlangs in een interview met Tweakers.net dat ondersteuning voor multitouch 'geen speerpunt' is voor HTC. "Multitouch past niet in onze filosofie. We willen dat onze toestellen met een duim bestuurd kunnen worden, vandaar dat alle tabbladen van onze eigen software Touchflo 3D met een duim bereikt kunnen worden. Voor multitouch heb je per definitie natuurlijk meerdere vingers nodig." De T-Mobile G1 komt in het eerste kwartaal van volgend jaar op de Nederlandse markt.

Update 17:53: Alinea over hack Touch Diamond en Touch Pro en reactie van HTC-directeur Moons toegevoegd

Door Willem de Moor

Redacteur

23-11-2008 • 13:33

49

Reacties (49)

49
45
11
6
0
1
Wijzig sortering
Het scherm ondersteunt mogelijk (!) multitouch en daarom krijgt de telefoon ook multitouch? Ik denk dat hier iets te snel conclusies worden getrokken. Daarnaast is het lastigste aspect van multitouch niet de hardware, maar de software. Ook voor Google zal het lastig zijn om het te implementeren zonder in het vaarwater van de patenten van Apple te komen. Daarnaast zal de hele methode van userinput moeten worden herschreven, het is nu immers nog helemaal niet gebaseerd op multitouch...
Inderdaad, IP zal een probleem zijn. Interessant is wel het volgende:
1) Aardig wat van de zichtbare functionaliteit van de iPhone wordt geleverd door Google. Dit geeft Google een zekere onderhandelingspositie
2) Als "de community" de functionaliteit "toevoegt" wordt het beschermen an die IP-positie alweer een stuk lastiger.

Het zou met niets verbazen als er uiteindelijk uitkomt dat Goog niet kan adverteren met multitouch (omdat het er uit de doos niet in zit) maar wel elke tweede gebruiker erover bescikt (omdat er updates beschikbaar zijn)
Het lijkt te werken ja, maar de gevoeligheid is wel bijzonder laag, volgens mij heeft de telefoon veel moeite met het bijhouden van simpele multitouch bewegingen... dus of het echt zo bedoelt is vraag ik mij af. En of dat de reden is van het uitschakelen van de code, lijkt mij wel... het is niet bedoelt voor de G1.

[Reactie gewijzigd door vgroenewold op 26 juli 2024 10:57]

Dit komt dus omdat Ryan de gegevens eerst wegschrijft naar een bestand, en dat bestand weer wordt uitgelezen door zijn applicatie (waarschijnlijk op een interval van een aantal milliseconden, dus niet direct)... Een enorme "onnodige" laag tegen over het geen wat normaal "raw" uit drivers wordt gelezen

[Reactie gewijzigd door ultimasnake op 26 juli 2024 10:57]

Snap ik, maar ik doelde meer op de reden waarom het door Google is uitgeschakelt. Wellicht omdat het door de G1 toch niet optimaal kan worden benut.
Google heeft meer functionaliteiten uitgeschakeld om hun deadline te halen, zo is ook het beoogde bluetooth niet in Android gestopt, terwijl dit zeker mogelijk is.

Het zou sowieso fijn zijn als deze en meer nieuwe dingen zich presenteren in de volgende release van Android.
Terwijl ik laatst ergens op GOT las, dat er wel degelijk Bluetooth support in zat :s.. kan de bron alleen niet meer vinden :(
Anoniem: 188785 @Nibbz23 november 2008 14:43
De hardware is er inderdaad (want deze is gekeurd geweest), ze hadden alleen de BT-stack eruit gehaald omdat die dacht ik nog wat buggy was, maar gingen deze er (later) terug insteken.
Ik heb hier een G1 voor me op tafel liggen, en BT werkt prima (ik gebruik een oud Nokia headsetje). Dus alles is beschikbaar op 1 ding na: de API voor applicatie developers, die zal later nog komen.
Werkt het ook voor iets anders dan een headset? Ik dacht dat de bluetooth-stack van Android enkel audio ondersteunde, en bv. geen bestandsoverdracht naar pc.
Klopt. Alleen de headset profile wordt momenteel ondersteund. Daar kwam ik ook pas achter toen ik mijn contacts via BT probeerde over te zetten...
zoals ik dus al zei: ze gingen die er later (bij de release bedoelde ik) terug insteken.
Vooralsnog reageert zijn tekenprogramma traag op de multitouch-input, maar dat zou aan de manier liggen waarop de touchscreen-data benaderd wordt.
Staat duidelijk vermeld in het nieuwsbericht..
Wat weten we het allemaal weer goed. Heb je zelf toevallig een iPhone?
In de driver van het Synaptics-touchscreen in zijn toestel bleken enkele regels code uitgeschakeld te zijn. Door deze code in te schakelen was hij in staat debug-informatie van de driver weg te laten schrijven. Uit de logs bleek dat het touchscreen geen moeite had de input van twee vingers te bij te houden, waardoor multitouch-mogelijkheden in het verschiet lagen.
Het enige wat de code uitschakelde was het wegschrijven van een log. Natuurlijk wil je dit niet hebben in een consumentenversie, anders loop je het risico op een vastloper door gebrek aan schijfruimte.

Je dacht toch zeker niet dat multi-touch support in een paar regels code te doen was? 8)7 (Tenzij het slechts de calls zijn naar een library of zo, maar die libraries zijn natuurlijk niet slechts een paar regels code).
Beetje rare reactie

Het gaat natuurlijk om dé debug mode in te schakelen waarna je ontdekt dat ik dé sensor meerdere drukpunten lijkt te kunnen waarnemen

Dus kees eerst eff contextueel nauwkeurig leren lezen
Vraag me af waarom dat dan niet standaard aan staat.
Het feit dat ze de driver-informatie in een bestadn wegschrijven suggereert dat de kernel-userspace interface voor multitouch simpelweg niet bestaat. Zo'n interface toevoegen is niet simpel als je het van scratch moet doen. Feitelijk wil je de bestaande single-touch verwijderen, en moet je dan feitelijk de userspace-interactie met de input herschrijven. Da's nogal veel werk, en niet echt noodzakelijk voor een v1.0, dus waarschijnlijk daarom...
Zoals Google zelf zegt is Android voorzien op multi-touch, maar door IP problemen zit het (nog) niet in de release builds van Android.
Is de multitouch ondersteuning niet volledig softwarematig? Ik zou toch zeggen dat elk apparaat multitouch kan ondersteunen, wat betekend dat deze video niet echt iets zegt...
Resistieve touchscreens (zoals in vrijwel alle PDA's en touchscreentelefoons zitten met als uitzonderingen iPhone, G1, ...) zulen als je ze op 2 plekken aanraakt zlechts één aanraking registreren, namelijk precies tussen je vingers in. hiermee kun je dus fundamenteel geen multitouch doen.

Maar goed, de G1, iPhone (en enkele collega's?) hebben een capacitief touchscreen wat betekent dat 2 (en meer) aanrakingen wel degelijk los van elkaar kunnen worden geregistreerd.

Als de software er dan ook nog iets leuks mee doet (zoals de iPhone en mogelijk in de toekomst de G1) heb je pas voor de gebruiker nuttige multitouch.
hangt ervan af hoe het hardware matig gebouwd is. Je kan bijvoorbeeld een laserveld gebruiken dat registreert wanneer er een onderbreking is, echter als je 2 vingers naast elkaar legt word het moeilijk om op deze manier dat te gaan ondersteunen. Echter als je met een druk gevoelig scherm gaat werken is het niet zozeer een probleem. Uit de post kun je concluderen dat het opzich wel mogelijk is en dat het zelfs voorzien is maar dat het opzettelijk uitgeschakeld is. Waarom men dat gedaan zou hebben? Mogelijk waren er teveel problemen mee, werkte het niet goed genoeg of wou men net hetzelfde toestel weer op de markt brengen maar dan met multi touch en een duurder prijskaartje maar dat zijn maar enkele mogelijkheden die ik nu net uit de lucht gegrepen heb.
Er staat dat een stuk debugging uitgezet was! Dit zecht nog niets, alleen dat in die informatie coordinaten stonden voor 2 vingers tegelijk is wat nuttig is. Ook lijkt het alsof de meeste hier niet begrijpen dat de debug-info nog geen toepassing is, je moet het ook nog laten werken! Iets wat google (waarschijnlijk!) niet op tijd afkreeg en dus ook niet meegelevert heeft.
Zouden ze dat uitgeschakeld hebben wegens licentieproblemen? Patenten op de manier waarop multitouch gerealiseerd wordt?
Tsjonge, wat mij opvalt is dat een hoop mensen aan nemen dat Google de multitouch heeft uitgeschakeld, maar als je even beter leest zie je dat Google de debug functie heeft uitgeschakeld en dat deze meneer met de debug info de driver heeft aangepast om de multitouch mogelijkheid te onderzoeken....
Het is dus weldegelijk mogelijk om twee vingers op het scherm bij te houden, of het nu simultaan is of achter elkaar (zelf zou ik zien of je het scherm ook kan "scannen") maakt niet uit zolang het maar snel genoeg gaat.
De lag lijkt ook aardig voor de hand te liggen, of je de data direct door stuurt of via een bestand (flash geheugen) ophaalt is een heel verschil zeker als je de extra routines gaat mee rekenen, terwijl met direct doorsturen je ook een IRQ kan gebruiken.

Just my two cents....
Dit lijkt niet echt op echte Multi-Touch, maar het scherm lijkt elke fractie van een seconde opnieuw de input te zoeken, daardoor lijkt dit op Multi-Touch, maar in werkelijkheid worden de vingers niet tegelijkertijd geregistreerd. Dit kan de haperingen ook vrij gemakkelijk verklaren.

Het is natuurlijk wel mogelijk om hiermee Multi-Touch goed te simuleren, maar ik vraag me af of het wel zo functioneel kan worden als op de iPhone.
De reden voor de haperingen werden al gegeven in het artikel en door meerdere tweakers in de comments... 8-)
Desondanks hoeft dat niet per se de daadwerkelijke reden te zijn. Er zijn immers meer wegen die naar Rome leiden. Zo kan de lag ook verklaart worden met wat Gustaaf437 vertelt. Je hoeft ook niet meteen klakkeloos maar een verhaaltje uit een filmpje aan te nemen. Bij Discovery hebben ze daar de mooie leus "question everything" voor bedacht. Dat is erg belangrijk om in dit geval te interpreteren wat er nou precies gebeurd en wat er gedaan kan worden om het op te lossen/toe te passen. Als je dat niet zou doen zou je ook geen steek verder komen.
Sorry hoor, maar apple heeft multi touch nooit bedacht, Eerst had je bell labs en daarna fingerworks geloof ik en fingerworks is dan weer gekocht door apple ofzo... en de iphone is nog maar een dik jaar oud, dus waar die "jaren" vandaan komen...?
Is een apple gelovige, alles wat apple heeft gemaakt in de afgelopen maanden, bestaat ineens jaren. Zeg er maar niet teveel van, want apple is god en daar mag je niet aankomen.
Lol @ jaren :+
En dat is nu het mooie van Android, er zijn veel tweakers mee bezig en je knt alles aanpassen.
Nu nog een mooier design en ik koop hem.
Anoniem: 95032 @C00P23 november 2008 20:51
Hetzelfde zagen we bij de iPhone tot de app store er kwam en tweakers blijkbaar overbodig werden
En hier zie je het verschil tussen closed en open source. Bij de iPhone heb je geen tot weinig controle over de iPhone. Met Android heb je als gebruiker veel meer controle. Ok, ze hebben de mogelijkheid ingebouwd om remote apps te wissen, maar het houd je niet tegen om ze te installeren. ;)
Alleen apps die je via de android market hebt geinstalleerd kunnen remote verwijderd worden. Is een heel belangrijk verschil vind ik.
Je blijft dus altijd baas over je eigen telefoon als je dat wilt.
Zou het ook niet kunnen dat ze één voor één geregistreerd worden, omdat het niet één rechte lijn is maar steeds onderbroken puntjes? Dat kwam meteen bij mij op, ik kan het natuurlijk fout hebben. Als ik op mijn oude laptop het zoomen zoals dat op iPhone/Macbook gaat probeer, dan gaat hij ook steeds een andere kant op.

[Reactie gewijzigd door Rik T op 26 juli 2024 10:57]

Ja dat dacht ik ook al meteen. Snel achter elkaar, eerst de ene dan de andere 'touch' vandaar de puntjes....
als je nou leest wat er in het filmpje wordt verteld..
hij pollt de gegevens uit een bestand waar elke keer de coordinaten in staan die worden gegeven door de driver, er zit dus een interval in het opnieuw inlezen van dat bestand. vandaar "puntjes"
Dat is zijn hypothese, het is nog niet bewezen, het kan ook even goed zijn wat Rik beschrijft.

Op dit item kan niet meer gereageerd worden.