Twitter, PockeTwit, OAuth und Windows Mobile Speichermanagement

Twitter, PockeTwit, OAuth und Windows Mobile Speichermanagement

Twitter hat für den Zugriff durch Clients auf das Authentifizierungsverfahren OAuth umgestellt. Dabei wird im Client nicht mehr das Twitter-Kennwort gespeichert, sondern eine von Twitter generierte PIN. Das Kennwort wird somit Dritten (dem Entwickler des Twitter-Clients) nicht bekanntgegeben. Umgesetzt wird das so, indem der Client über eine URL ein “Token” (kryptischer Text) an die Twitter Website übergibt. Twitter verlangt ein Login auf der Homepage und zeigt dann eine zum Token passende 7stellige PIN an. Diese PIN muss man sich merken oder notieren, zurück zum Twitter-Client wechseln und dort die PIN eintragen. Und schon kann der Client auf Twitter posten.

Die Hersteller der Clients wurden vor einigen Monaten informiert, jedoch hat OAuth längst nicht jeder umgesetzt. Während einige Entwickler noch an der Umsetzung basteln, haben sich die von TouchTwit gleich komplett verkrochen. Keine Reaktion auf Support-Anfragen mehr – während man die nicht mehr funktionierende Version munter im Windows Mobile Marketplace weiter verkauft.

Der kostenlose Client PockeTwit hat OAuth bereits erfolgreich umgesetzt. Hier, wie bei einigen anderen Twitter-Clients, gibt es allerdings ein Problem mit dem Speichermanagement von Windows Mobile. Windows Mobile sorgt sich extensiv um das Memory Management, indem es im Hintergrund laufende Programme selbstständig schliesst. Viele Telefone haben aber von Haus schon so viele Hintergrundprogramme, dass diese Funktion häufig schon sehr früh zuschlägt. Das nervt im Alltag, weil man Anwendungen ständig neu starten muss, im Falle von OAuth verhindert dies aber das Twittern. Der Client ruft noch erfolgreich den Browser auf und man kommt bis zur PIN. Will man allerdings zurück zum Client ist dieser bereits geschlossen worden und das generierte Token vergessen. Die PIN passt also nicht mehr zum neuen Token.

Es ist zu hoffen, dass die Twitter-Client-Hersteller auch unter Windows Mobile (wie auf dem iPhone aufgrund des dort lange Zeit fehlenden Multi-Tasking üblich) den Anwendungsstatus speichern und somit die generierte PIN auch nach einem Client-Neustart noch akzeptieren. Bis dahin gibt es aber einen Workaround. Man kann das Windows Mobile Memory Management mit dem Tool AutoClosePatch tunen. Anwendungen werden dann nicht oder erst später geschlossen und das OAuth-Verfahren funktioniert. Direkter Download des Tools über Microsoft Tag und QR-Code:

English Summary: Windows Mobile Memory Management terminates applications running in background tasks. This makes Twitter OAuth impossible, because Twitter clients call a Twittter URL containing the token for OAuth and got closed unexpectedly after launching the browser on the mobile device. The AutoClosePatch changes the memory management behaviour and allows Twitter clients to stay in background while generating the OAuth PIN in foreground.