Feiner Fug

Der New Yorker Steward, der nach eigenen Angaben seit über zweieinhalb Jahren bei JetBlue arbeitet, ist nun wegen vorsätzlicher Gefährdung, groben Unfugs und Hausfriedensbruchs angeklagt.

(von hier)

Google Nexus One Review

Nexus One mit Fingerabdrücken und Neoprenhülle

Nexus One mit Fingerabdrücken und NeoprenhülleWie versprochen versuche ich mal meine Eindrücke vom Nexus One in Worte zu fassen. Es geht weniger um harte technische Fakten als um die Frage, was mir im täglichen Betrieb aufgefallen ist.

Wie man sieht, ist das Display in kürzester Zeit voller Fingerabdrücke und Spuren, die aber einfach wieder weggewischt werden können. Man sieht sie auch nur bei ausgeschaltetem Display und für das Foto habe ich noch ein wenig mit dem Blitz nachgeholfen 😉

Display und Touchscreen

Fangen wir mal mit dem Display an. Es ist hell, hochauflösend und gut lesbar. Die Fonts sind so klein noch lesbar, dass man aus schlechten Gewissen seinen Augen gegenüber lieber etwas heranzoomt.

Auf dem Foto rechts bekommt man eine Ahnung von der Auflösung des Bildschirms. Bei dieser Schriftgröße kann man den Text wirklich noch lesen, auch wenn die Augen bluten.

Normalereweise belasse ich die Helligkeit auf der kleinsten Stufe, das genügt für normale Umgebungen (In Büro, Wohnung oder ÖPNV) vollkommen. Draußen ist das Display gut lesbar, wenn man es auf 50 oder 100% Helligkeit regelt. Das praktische Energiesteuerungswidget erlaubt das mit einem Fingertipp.

Im Freien kann man die Spiegelung des Displays höherer Helligkeit ausgleichen – auf Kosten der Akkulaufzeit. Die automatische Helligkeitsregelung war mir unter Android 2.1 zu träge, aber mit Android 2.2 ist sie akzeptabel und ich verwende sie lieber als eine der festen Helligkeitsstufen.

Ok, das Display sieht gut aus, aber wie fässt es sich an? Nunja, der Touchscreen macht mich etwas fertig. Das größte Manko ist, dass genau der Mittelpunkt der berührten Fläche als Berührungspunkt an die Software weiter gegeben wird. Das ist zwar technisch korrekt, aber von der Usability quatsch. Aus der Perspektive des Benutzers sieht es so aus, als ob man einen Punkt weiter oben „berührt“, die Wölbung der Fingerkuppe führt aber dazu, dass man den Screen an einer anderen Stelle berührt als man denkt.

Ich habe das mal auf folgendem Foto illustriert. Die grüne Linie zeigt, wo man als Benutzer den Berührungspunkt erwartet. Die rote Linie zeigt, wo Android den Berührungspunkt registriert.

In der Praxis fühlt es sich so an, als ob man ständig ein Stück zu tief den Bildschirm berührt hat. An diese Unzulänglichkeit kann man sich zwar gewöhnen, aber ich denke die „Tippfehlerrate“ liesse sich senken, wenn Android den physikalischen Berührungspunkt umgerechnet an die Software weitergeben würde. iPhone/iPad-Benutzer wissen, wie sich die korrekte Implementierung des Touchscreen-offsets anfühlt 😉

Weiterhin habe ich den Eindruck dass der Touchscreen manchmal „prellt“ – also eine Berührung als mehrfache Berührungen interpretiert. Das führt speziell in Multitouch-Anwendungen wie google maps zu extremen Sprüngen beim Zoomen oder zu Doppeltipp-Aktionen, die gar nicht gewollt sind. Einen ähnlichen unschönen Effekt konnte ich mit meinem Daumen erzielen, der dank eines Unfalls in der Küche zeitweilig eine Delle an der Kuppe hatte, was zu zwei Berührungspunkten führte. Das ist natürlich wieder so ein Softwareding, Prellen kann man mit Totzeiten unterbinden (z.B. 0.1 Sekunde lang in 0.6cm Umkreis alle Berührungen ignorieren), warum Android das nicht macht, verstehe ich nicht.

Hardwaretasten, Trackball und Usability

Die vier „Hardwaretasten“ an der Unterseite des Displays sind eine Usability-Katastrophe. Tim hat in einer Folge von Mobile Macs gesagt, das wäre ein Medienbruch und dieser Begriff trifft den Nagel auf den Kopf. Man hat es mit einem Touchscreen-Telefon zu tun. Als Anwender erwarte ich, das Gerät vollständig über den Touchscreen bedienen zu können. Es gibt leider ein paar Aktionen, die ausschliesslich über das Kontextmenü erreichbar sind. Beispiel: ich kann in K9Mail die Mail nicht mit einem Button auf dem Screen absenden, sondern muss den Menüknopf drücken und dort „Send Mail“ auswählen.

Als Anwender erwarte ich natürlich, dass es immer mehrere Wege gibt, eine Aktion auszulösen und ich den Weg gehen kann, den ich in einer bestimmten Situation am ehesten erwarte. Daran ist google erstmal nur indirekt schuld. In erster Linie liegt es am Programmierer der jeweiligen Anwendung. Da jedes Android-Gerät über diese Tasten verfügt, denken die Softwareentwickler gar nicht darüber nach und setzen voraus, dass jeder Benutzer selbstverständlich die Hardwaretasten benutzt. Aktionen, die jedoch ausschliesslich auf den Hardwaretasten liegen, bleiben dem Benutzer verborgen.

Die Tasten sind beim Nexus One nicht als physikalische Knöpfe sondern als berührungsempfindliche Felder ausgeführt. Durch das bereits erwähnte Berührungsoffset-Problem des Touchscreens kommt es gelegentlich dazu, dass Tastendrücke nicht ausgewertet werden, weil die Fingerkuppe die Tastfläche zu weit unten berührt. Da man kein mechanisches Feedback hat, ist es unklar, ob die Taste gedrück wurde oder nicht.

Ohne Strengen Usability-Regeln, wie sie z.B. bei Apple herrschen, sehen natürlich alle Anwendungen anders aus und verhalten sich auch anders. Nur ein paar Beispiele: ein Doppeltipp auf den Text führt manchmal zum Vollbildmodus (NewsRob), Textumbruch (Android-Browser) oder zum rein/rauszoomen (Dolphin Browser HD).

Mitunter werden die Hardwaretasten auch unterschiedlich verwendet. So belegt NewsRob die Lauter/Leiser-Tasten per Default so, dass man damit durch die RSS-Artikel skippen kann. Die Zurücktaste führt meist dazu, dass man einen Bildschirm zurück kommt. Manchmal, z.B. bei Spielen kann sie aber auch das Spiel beenden (Jewels, Dolphin Browser bei langem Tastendruck).

Ein besonderer Patzer in sachen Usability ist das Thema Text markieren. Zunächst muss man den Cursor an Anfang oder Ende des zu markierenden Textes bewegen. Mit dem Finger klappt das kaum. Man muss … Trommelwirbel … den Trackball dafür benutzen. Total naheliegend, oder? Dann muss man lange aufs Textfeld drücken, im Kontextmenü „Text auswählen“ antippen und dann das andere Ende des zu markierenden Textes ansteuern. Entweder mit dem Finger, meist jedoch mit dem Trackball. Dann nochmal lange aufs Textfeld drücken und „kopieren“ oder „ausschneiden“ auswählen. Man denke mal an das Gespött, als Apple copy & paste auf dem iPhone eingeführt hat. Immerhin haben die es so hinbekommen, dass man es benutzen kann.

Das Headset ist eigentlich recht gut, man hat Tasten für die Annahme von Gesprächen (play/pause) sowie Next und Previous. Blöderweise wird Lauter / Leiser am Gerät eingestellt und das Telefon ist in dem Fall meist in der Hosentasche oder im Rucksack.

Bildschirmtastatur

Die normale Android-Tastatur ist gerade noch akzeptabel. Man kann mit ihr tippen, aber nicht besonders schnell oder fehlerarm. Ich weiss, dass es Better Keyboard gibt, aber eigentlich will ich eine swype-Tastatur. Leider gibt’s swype noch nicht mit deutschem Wörterbuch, sonst würde ich ohne Bedenken meine Kreditkarte zücken und swype kaufen.

Also muss ich mit der normalen Tastatur leben. Im Querformat kann man damit ganz passabel Texte tippen, im Hochformat lange ich zu oft daneben. Das Wörterbuch ist erstaunlich gut ausgebaut, allerdings gibt es ein nerviges Feature: Die Spacetaste führt dazu, dass das gerade vorgeschlagene Wort angenommen wird. Wenn man ein Wort eintippt, das es nicht im Wörterbuch gibt und dann Space drückt, fügt Android das Wort ein, das es als Alternative vorgeschlagen hat. Plötzlich hat man also völlig sinnfreie Wörter in seinem Text stehen und merkt das im schlimmsten Fall nicht gleich.

Positiv muss man anmerken, dass die Vorschläge recht intelligent sind und man meist schon nach drei eingetippten Buchstaben das entsprechende Wort aus den Vorschlägen auswählen kann. Das beschleunigt das Tippen von Texten ungemein.

Umlaute können nur mit langem Druck auf a, u und o eingegeben werden. Ein Wisch nach oben, wie beim iOS 4 wäre schön. Gibt es Android Keyboards, die das können? Obwohl, ich warte ja auf swype …

Manchmal gibt es Situationen, in denen man Elemtente auf der Seite nicht mehr erreicht, weil die Tastatur darüber liegt – man muss sie erstmal über die „Zurück“-Taste einfahren. Normalerweise kann man einfach die Seite „anfassen“ und nach oben schieben. Das klappt aber mitunter nicht. Ich habe schon sehr oft deswegen geflucht, bis ich bemerkt habe, dass in dieser Situation – Trommelwirbel – der Trackball es ermöglicht, die Seite hochzuscrollen. Schön, warum klappt das nicht mit dem Finger?

Performance

Die Performance des Systems ist gut, meist lässt es sich flüssig bedienen und die Anwendungen starten sehr flott. Nur selten – meist mit vielen Anwendungen im Hintergrund – ruckeln Displayanimationen. Anwendungen selbst sind sehr schnell, der Bildaufbau im Browser hat fast Desktop-Niveau. Mit Android 2.2 ist das ganze noch ein bisschen flotter geworden. Das gelegentliche Ruckeln der Displayanimationen ist aber nicht ganz verschwunden.

Gelegentlich legt das Telefon bei vielen offenen Anwendungen auch eine Gedenksekunde ein. Das ist besonders verwirrend, wenn man gerade den Touchscreen berührt oder eine Hardwaretaste gedrückt hat und nicht weiss, ob der Tastendruck empfangen wurde oder ob das Telefon nur gerade angestrengt loopt. Die kurzen Aussetzer führen dazu, dass man zur Sicherheit nochmal den gleichen Knopf drückt und beide Tastendrücke vom System verarbeitet werden, was oft vom Benutzer nicht gewünscht ist.

Market

Tja, es gibt angeblich über 100.000 Anwendungen im Market, allerdings ist es trotzdem schwer dort etwas vernünftiges zu finden. Das Preisniveau bei bezahlten Anwendungen scheint höher als im Apple AppStore zu sein, allerdings gibt es auch sehr viele „kostenlose“, meist jedoch werbefinanzierte Anwendungen. Oft stößt man dabei auf das in Verruf geratene Admob.

Die Liste der bei mir installierten Anwendungen ist ein extra Artikel wert. Soviel jedoch: ich habe noch keine Anwendung gekauft. Meist aus Geiz, es ist aber auch schwer im Market gute Anwendungen zu finden, weil die Suche nicht nach Userbewertung sortieren kann. Da muss man auf externe Seiten wie AndroidPit zurückgreifen.

Macken

Absolut subjektiv und ohne es näher untersucht zu haben: der 3g Empfang ist gefühlt schlechter als bei meinem Nokia Knochen. Es kann aber auch am schrottigen E+ Netz liegen, aber ich habe öfters EDGE Empfang, wo ich 3G erwarten würde.

Die Verbindungsfreudigkeit zu WLANs ist begrenzt, meist hat mein Notebook noch guten WLAN-Empfang, wo das Nexus One schon auf 3G umschaltet.

Manchmal kann man auf die SD-Karte nicht zugreifen. Das ist sehr nervig. Die Karte ist dann nicht verfügbar und alle Anwendungen, die darauf zugreifen, versagen mehr oder minder elegant. Beispiel Kamera: man kann aus heiterem Himmel keine Fotos / Filme mehr machen. Es gibt aber keine Fehlermeldung, sondern der Druck auf den Aufnahmeknopf wird ignoriert. Erst hinterher merkt man, dass kein Foto / Film gemacht wurde 🙁
Schlimmer ist dieser Fehler jedoch im Zusammenhang mit dem (exzellenten!) RSS-Reader NewsRob: der Speichert Feedinhalte auf der SD-Karte. Wenn die Karte mitten im Feed-Updateprozess versagt, hängt sich das ganze System auf. Man kommt nicht mal mehr an den Lockscreen. Das ist kein Fehler von NewsRob aber extrem nervig.
Die einzige Abhilfe: Telefon ausschalten, Akku raus, Akku rein, einschalten. Nicht gerade eine Aktion, die man öfters durchführen will. Das hatte ich heute vormittag 10 Mal und war entsprechend gut gelaunt. Ich habe dann den Cache von NewsRob auf den internen Speicher des Telefons gelegt und seit dem scheint das Problem nicht mehr aufzutreten.

Multitasking und Akku

Wo beim iPhone das Problem besteht, mehrere Anwendungen parallel laufen zu lassen, besteht bei Android das Problem, die Anwendungen zu beenden. Ja, richtig gelesen. Bei Android soll sich die VM um das Beenden kümmern, nämlich dann, wenn der Speicher knapp wird. Das wäre soweit auch kein Problem, aber manche Anwendungen laden in regelmäßig Daten aus dem Netz nach. Das drückt natürlich die Akkulaufzeit. Gute Kandidaten dafür sind rss-Reader, Twitter-Clients etc. Als Anwender hat man erstmal keinen Überblick, welche Anwendungen noch im Hintergrund Daten transferieren.

Ich habe mir angewöhnt Anwendungen regelmäßig mit einem Taskmanager zu beenden und die poll-Intervalle sehr groß zu setzen oder gleich die Tweets von Hand zu pollen. Leider lädt die offizielle Andoid Twitter App nur die Tweets der letzten Stunde…

Das Multitasking an sich ist jedoch gut und kann wie erwartet eingesetzt werden. Also Feedreader auf, Link im Browser öffnen, Artikel lesen, Twitter-Client öffnen, Artikel posten, zurück zum Feedreader … das klappt soweit sehr gut.

Der morgends frisch aufgeladene Akku ist bei meinem Nutzungsverhalten Abends leer. Das ist natürlich ziemlich ernüchternd. Ich nutze das Telefon auch extrem intensiv, aber auch bei sparsamer Nutzung scheint nicht mehr als 24 Stunden Laufzeit drin zu sein. Ich denke man könnte noch 1/3 mehr Laufzeit mit guter Softwareoptimierung rausholen, aber gegenüber Telefonen wie dem Nokia E71 sieht das Nexus One akkumäßig ziemlich alt aus.

Was ist denn eigentlich gut an Android?

Bisher habe ich eher die Schwachstellen aufgezeigt. Hier ein paar Dinge, die das Telefon wunderbar und unverzichbar machen:

Die mitgelieferte Neoprentasche ist prima. Man kan das Telefon ohne Bedenken in den Rucksack pfeffern oder es einfach mal fallen lassen. Genau das richtige für mich 😉

Die Notifications in Android sind sehr schön gelöst. Die Notifications tauchen mit eine *pling* auf und stören den Workflow nicht. Wenn man Zeit hat, sich darum zu kümmern, zieht man die Icon-Leiste von oben runter und kann einzelne notifications antippen (und die damit verbundene Aktion auslösen) oder alle löschen.

Push-Mail funktioniert ebenfalls sehr gut. Sowohl gmail als auch k9mail (unverzichtbarer imap-Client) melden sich sofort, wenn eine neue Mail eingetroffen ist. Verglichen mit der Nokia-Anwendung funktioniert push-Mail zuverlässiger und schneller.

Die google-Navigation funktioniert sehr gut. Mein Auto-Navi will immer eine exakte Adresse und kennt kaum POIs. Google dagegen gibt sich notfalls mit einem Stichwort zufrieden („Oktoberfest“).

Als Radfahrer in einer fremden Stadt ist die Navigation mit Headset schön. Einfach das Telefon in den Rucksack oder die Hosentasche stecken und sich von der freundlichen Google-Dame leiten lassen. Der GPS-Empfang ist durch den Stoff nicht merklich eingeschränkt.

Die Spracheingabe liefert gute Ergebnisse. Allerdings ist muss man schon ziemlich schmerzbefreit sein, wenn man sie in der Öffentlichkeit nutzt. Es sieht einfach ziemlich dämlich aus, wenn man mitten in München steht und „Englischer Garten, München“ in seinen Tricorder spricht. Meine Freundin ist vor Scham im Boden versunken 😉

Die Kamera macht gute Bilder. Für ein Telefon sogar exzellente. Ich habe nicht das Bedürfnis eine Kompaktkamera dabei zu haben, weil ich den Alltag mit meiner Familie prima mit dem Nexus One festhalten kann. Es gibt Schwächen in extremen Lichtsituationen, aber als immer-dabei Kamera reicht das Telefon locker aus.

Natürlich hat das Nexus One einen gewissen Hackvalue. USB-Kabel ran, SDK installiert und los. Anderes Firmware-Image ausprobieren? Kein Problem…

Fazit

Würde ich so ein Telefon meinen Eltern empfehlen? Nein. Gerade der SD-Karten Fehler und die schlechte Usability sind k.o. Kriterium. Würde ich lieber ein iPhone haben wollen: weiss ich nicht. Immerhin hat Apple eine gut besetzte QA-Abteilung, die Anwendungen auf Herz- und Nieren prüft, bevor sie auf die Menschheit losgelassen werden.
Ich bin nach wie vor unsicher, ob das Telefon ein guter Kauf war. Vielleicht bin ich zu kritisch und als Mac-Anwender zu Usability-fixiert. Allerdings erwarte ich von 415 Euro in meiner Hand, dass sie einfache Tasks vernünftig und zuverlässig erledigen. Das klappt leider nur bedingt.

/etc unter Versionskontrolle mit git

Auf unserem Freifunkserver sind teilweise mehrere Admins am Werk. Damit Änderungen an der Konfiguration nachvollziehbar werden und man auch nach einem halben Jahr weiss, was man eigentlich gemacht hat, steht das Verzeichnis /etc unter Versionskontrolle.

Ich hatte das schon mal auf unserem alten Server mit svn, aber das Hauptproblem war, dass ich immer vergessen habe meine Änderungen zu committen. Folglich sammeln sich über Tage/Wochen/Monate Änderungen an und man weiss gar nicht mehr, was jede einzelne Änderung zu bedeuten hat.

Zum Glück hat mich Wulf vom Berliner Freifunk auf eine super Idee gebacht: man kann das commit-Kommando in der .bash_logout von root unterbringen. Sobald root seine Session beendet hat, passiert folgendes:

  • /etc wurde nicht verändert: es passiert gar nix
  • /etc wurde verändert: es öffnet sich ein Editor, in dem man seine Änderungen kurz beschreiben muss. Nach dem Abspeichern erfolgt automatisch der commit

Prima Sache. In der Praxis gibt es damit aber noch ein kleines Problem: „sudo su -“ berücksichtigt die .bash_logout, „sudo su“ jedoch nicht. Da ich meine Schlampigkeit kenne, habe ich eine Lösung gefunden, die in beiden Fällen funktioniert: ein exit-Trap. Das ganze wird in die .bashrc vom root eingebaut:

# erstmal die letzten 10 commits anzeigen
echo "***************************************************************"
(cd /etc; git log -10 --reversepretty=’format:%cd (%h)%n%s%n’ )
echo "***************************************************************"
 
# exit trap, schlägt beim Logout zu 
function on_exit()
{
  cd /etc/
  git commit -a
}
 
trap on_exit EXIT

Der/die geneigte Leser/in mag hier nach Belieben noch Funktionen ranbauen, die z.B. den diff des letzten commits per Mail versenden 🙂