Navigon select

Ich habe eben durch Zufall entdeckt, dass in der neuen Version von Navigon Select für das iPhone die Karten nun aus der eigentlichen App ausgelagert wurden. Das bedeutet, dass die App selbst nun deutlich kleiner geworden ist. Die Karten muss man nun beim ersten Starten herunterladen. Dies funktioniert aber nur, wenn man eine Internetverbindung via WLAN hat.

Das kann natürlich eine böse Überraschung geben, wenn man — so wie ich — diese App nur sporadisch nutzt und dann plötzlich bei der ersten Benutzung der neuen Version feststellt, dass man gar keine Kartendaten hat …

twitter

Seit einigen Tagen überschlagen sich die Ereignisse rund um das Klauen der Adressbuchdaten diverser Apps auf dem iPhone und dem iPad. War es anfangs die App von Path, so folgten schnell die Apps von Twitter, Foursquare und Angry Birds.

Bei Twitter lassen sich angeblich die Adressbuchdaten wieder löschen, indem man auf diese Seite bei Twitter geht. Dies geht interessanterweise nicht mit dem Mobil-Gerät. Sitzt man dann endlich an einem passenden Endgerät, gibt’s dort leider nur eine Fehlermeldung.

Fehlermeldung beim Löschen der geklauten Adressbuch-Daten

 

 

 

Woran liegt’s? Müssen die Daten erst bei der NSA abgeholt werden? Oder war’s das Department for Homeland Security? Oder sind’s die Chinesen?

Naja, zu erwarten war das ganze ja schon. Das ist auch kein neues Problem. Wer weiß, was alles irgendwelche Freeware auf dem PC gemacht hat….

Folgendes Problem: eine externe Agentur entwickelt im Auftrag eine iOS-App, um darüber via API auf die eigene Website zuzugreifen. (Der Klassiker — der 250. RSS Reader, aber immer wieder gern genommen.)

Es kommt, wie es kommen muss: Irgendetwas funktioniert nicht, wie man sich das gedacht hat. Die Agentur sagt, der Webserver liefert das Falsche, der Webmaster schaut ins Logfile und sagt, da kommt erst gar nicht der richtige Request an. Was tun?

Erster Schritt: ein Hub und Wireshark

Bis vor kurzem habe ich dann immer zu einem betagten Hub gegriffen, diesen zwischen WLAN-Router und Internet-Gateway gestellt. An diesen habe ich dann an einen weiteren Port einen “echten” Rechner angeschlossen und via Wireshark den Netzwerkverkehr mitgeschnitten und analysiert.

Dabei entstehen ein paar Probleme:

  1. Wer hat immer einen Hub griffbereit? Solche prähistorischen Geräte hüte ich zwar wie meinen Augapfel (man weiß nie, wann man sie mal wieder gebrauchen kann), aber in der Regel hat man doch keines zur Hand.
  2. Die nächste Stufe wäre dann ein managebarer Switch, dem man einen Monitoring Port konfigurieren kann.
  3. Es ist nicht jedermanns Sache, den Netzwerkverkehr auf Höhe der Grasnarbe zu analysieren.

mitmproxy

Solange es sich um http/https Verkehr handelt, kann man einen anderen Weg beschreiten. Man lässt einen Proxy-Server laufen, der die Netzwerkdaten ausgibt.

Ein solcher Proxy ist zum Beispiel mitmproxy. mitm steht hierbei für man in the middle.

Die Installation unter Mac OS X 10.6 läuft recht einfach ab:

git clone git://github.com/cortesi/mitmproxy.git

In das nun entstandene Verzeichnis kopiert man nun noch von http://excess.org/urwid/ das innere urwid Verzeichnis, sodass das Verzeichnis wie folgt aussieht:

Nun kann man bereits den Proxy starten:

./mitmproxy -p 8080

Auf dem iOS Gerät selbst stellt man nun den Rechner als Proxy ein. Wichtig ist dabei, dass das iOS Gerät den Rechner “sehen” kann, sie also zum Beispiel im selben WLAN sind.

Via

ifconfig

kann man auf dem Rechner die eigene IP-Adresse ermitteln.

Unter Einstellungen-> WLAN -> eigene SSID lässt sich unten der HTTP-Proxy einstellen. Hier trägt man nun die IP-Adresse des Rechners unter Server ein und 8080 den Port.

Der Aufruf von Google sieht dann beispielsweise so aus:

Über die Return-Taste lassen sich nun Requests genauer anschauen:

 

 

 

 

 

(Mit der q-Taste kommt man wieder zurück. Mit der tab-Taste kann man sich den Response-Body genau ansehen.)

SSL-Verschlüsselung

Soweit so gut. Doch was macht man, wenn die App via SSL/https mit dem Webserver spricht? Kein Problem:

Der mitmproxy erzeugt beim ersten Starten unter ~/.mitmproxy ein SSL-Zertifikat, das man nun dem iOS Gerät als vertrauenswürdig geben muss.

Das macht man so: Man schickt sich die Datei mitmproxy-ca-cert.pem. Diese öffnet man dann auf dem iOS Gerät und bestätigt, dass man diesem Zertifikat trauen will.

Schon kann man sämtlichen https-Verkehr einsehen.

Dies funktioniert natürlich nur soweit, wie die App auf die globalen http-Einstellungen für Proxies zurückgreift und nicht selbständig Zertifikate überprüft. Da man als Entwickler aber am liebsten auf bereits gelöste Probleme zurückgreift, dürften die meisten iOS-Apps den internen Safari für http(s)-Anfragen nutzen.

Kindle

Wie bereits angekündigt möchte ich kurz über meine Erfahrungen mit der Kindle-App von Amazon auf dem iPhone und dem iPad berichten.

Zunächst zum Kauf eines Buches

Da Apple es untersagt, Bücher oder ähnliches in Apps zu verkaufen, wenn diese nicht auch im App-Store angeboten werden, kann man in der Kindle-App selbst keine Bücher kaufen. Man kann dies aber vom iOS Gerät selbst erledigen. Man geht dazu mit dem Browser auf die Seite von Amazon und kauft dort die Kindle-Version eines Buches. Man registriert sein Gerät ebenfalls bei Amazon, so dass nach dem Kauf eines Buches dieses direkt in der App geöffnet werden kann.

Das Lesen

Ich habe bisher nur ein Buch in der Kindle-App gelesen. Dies ist aber in meinen Augen mit einigen setzerischen Fehlern versehen. So werden immer mal wieder Worte durch Leerzeichen auseinandergerissen. Diese Fehler scheinen nicht beim Umbruch auf dem Gerät selbst zu entstehen, da sie nämlich sowohl auf dem iPad wie auch auf dem iPhone in identischer Weise auftreten. Die Häufigkeit, in der diese Fehler auftreten, ist für meinen Geschmack zu hoch.

Der Umbruch selbst ist sehr rudimentär. So wird das Buch im Flattersatz dargestellt. Ebenso sind Schusterjungen und Hurenkinder an der Tagesordung. Vergleicht man dies mit iBooks, so wird dort der Text wenigstens im Blocksatz dargestellt.

In iBooks erhählt man neben der Angabe der aktuellen Seite zusätzlich noch die Info, wieviele Seiten noch im aktuellen Kapitel verbleiben. Dies fand ich sehr nützlich und habe es bei der Kindle-App vermisst.

Die Synchronisation funktioniert automatisch zwischen den einzelnen Geräten, solange sie online sind. Beim Öffnen des Buches auf einem anderen Gerät, wird man gefragt, ob man zu der zuletzt auf Gerät xy gelesenen Seite springen möchte. Bei iBooks habe ich dies immer durch ein manuell gesetztes Lesezeichen gelöst.

Die Lesbarkeit der Schrift ist auf dem iPad okay, auf dem iPhone 4S sehr gut. Da darf man sich wirklich auf das Retina-Display auf dem iPad freuen.

Fazit

iBooks und Kindle geben sich in meinen Augen nicht viel. Mit dem Kindle dürfte man flexibler sein, da es iBooks eben nur in der Apple-Welt gibt.

Nach den Weihnachtsfeiertagen stand nun an, auf die Schnelle zu klären, wie man ein Jay-Tech PID 7901 Tablet per WLAN ins Internet bringt. Da mir unterwegs nur mein iPhone zur Verfügung stand, versuchte ich mein Glück doch mit dem Personal Hotspot des iPhones.

Doch leider war damit kein Blumentopf zu gewinnen. Daher hatte ich die Vermutung, dass das PID 7901 nur WEP und kein WPA2 als Verschlüsselungsmethode unterstützt.

Doch weit gefehlt: An einem anderen WPA2-WLAN klappte die Verbindung sofort. Also fing ich an, alles mögliche durchzuprobieren. Zunächste vereinfachte ich das Passwort. Aber das war es nicht.
Dann fiel es mir wie Schuppen von den Augen: Die SSID des iPhones wird aus dessen Namen gebildet. Und dieser Name enthält bei mir Leer- und Sonderzeichen – nicht gut — gar nicht gut!

Also habe ich den Namen geändert. Laut iPhone und iStumbler war die SSID auch sofort geändert. Das PID 7901 hingegen war immer noch der Meinung, den alten Namen zu sehen. Erst ein Neustart des Tablets brachte die Lösung. Es buchte sich in den Personal Hotspot des iPhones ein, und der Zugriff klappte.

Fazit

Was lernen wir daraus? Sonder- und Leerzeichen sind auch immer noch nicht gut. Egal was man versucht, man sollte erstmal ein Minimalprogramm versuchen.

Apple und die Umlaute, damit kann man stundenlang, wenn nicht gar tagelang kämpfen. Einige Probleme kann man in den Griff kriegen, wenn man Mails (zum Beispiel als Newsletter) von einem eigenen Server verschickt.

Ein anderes Problem stellen Umlaute in Namen dar, die Bestandteil einer E-Mail Adresse sind. Hier werden die Umlaute dann so zerschossen dargestellt, dass man nicht mehr ohne weiteres auf solche Mails antworten kann. Für dieses Problem kann ich leider (noch) keine Lösung präsentieren.

Doch nun zu dem, was ich gelöst habe: Es soll von einem Linux-Server eine E-Mail verschickt werden, die sowohl im Betreff wie auch im Mail-Body Umlaute enthält. Empfangen werden soll diese Mail von einem Microsoft Exchange Server 2003, von dem ein iOS Gerät wie das iPhone oder das iPad Mails liest.

Hier kommt es darauf an, dass die Umlaute richtig kodiert werden. Richtig ist hier in dem Sinne zu verstehen, dass man das Verfahren benutzt, das auch von Apple richtig unterstützt wird.

Wie sich herausgestellt hat ist dies quoted-printable. Für das Betreff der Mail muss der Text seinerseits noch kodiert werden. Im folgenden stelle ich ein Perl-Programm vor, das die beiden Perl-Module MIME::Words und MIME::Lite nutzt, um die Inhalte entsprechend zu kodieren:

#!/usr/bin/perl
use MIME::Lite;
use MIME::Words qw(:all);

$subject = "Testmail äöüÄÖÜß";
$usermail = " äöüÄÖÜß";

$msg = MIME::Lite->new
(
 From = 'from@sender.domain',
 To = 'to@empfaenger.domain',
 Encoding = 'quoted-printable',
 Subject = encode_mimewords($subject),
 Type = 'text/plain; charset=latin1',
 Data = "$usermail",
);

$msg->send();

 

SPY mouse

Die Zeit der freien Spiele für das iPhone geht weiter. Zur Zeit ist SPY mouse von den Machern von u.a. Flight Control (das zur Zeit ebenfalls kostenlos erhältlich ist) kostenlos erhältlich.

Bei SPY mouse handelt es sich grob gesagt um eine Mischung  aus Flight Control und Splinter Cell: Man muss der Maus einen Weg zum Aufsammeln der Käsestückchen aufzeigen, indem man ihn mit dem Finger auf das Display malt (wie eben bei Flight Control), sollte sich dabei aber nicht von den Streife gehenden Katzen erwischen lassen und wählt daher einen Weg im Verborgenem (wie eben bei Splinter Cell).

Leider steht zur Zeit nur die iPhone Version kostenlos zur Verfügung. Die HD Version ist für 2,39 € erhältlich.

Also frohes Käse-Sammeln!

TV Spielfilm

In letzter Zeit beobachte ich auch bei iPad-Apps einen Slashdot-Effekt. Das hängt zum Teil damit zusammen, dass die jeweile App gerade gepusht wird (wie zum Beispiel bei Flight Control) oder aber, dass die jeweile App mit neuen Features oder für neue Geräte eingestellt wurde (wie bei Flipboard oder zite).

Teilweise hängt es aber auch an der Tageszeit: So ist die App von TV Spielfilm in der Regel abends gegen 20:00 Uhr nicht zu benutzen. Sie kann sich einfach keine aktuellen Daten holen. Mit der Printausgabe wäre das nicht passiert ;-)

12 Geschenke

Wie auch im vergangenen Jahr stellt Apple auch dieses Jahr wieder vom 26.Dezember bis zum 6.Januar jeden Tag einen kostenlosen Download als Geschenk zur Verfügung. Damit keinen dieser Downloads verpasst, gibt es die passende App dazu.

Erlaubt man dieser App, push-Nachrichten zu empfangen, erhält man an jedem Tag eine Erinnerung und Infos zum jeweils aktuellen Geschenk.

Allerdings macht Apple sich nicht nur Freunde mit dieser App. Apple setzt iOS 4.3 voraus, was die Benutzung von iPhone 3G- und älteren iPod touch-Geräten verhindert.  Sicherlich nutzt diese App keine Features von iOS, die erst mit iOS 4.3 Einzug erhalten haben. Apple will vielmehr die Nutzer dazu bringen, neue Geräte zu kaufen. Ob das wirklich aufgehen wird, bleibt abzuwarten. Wie schreibt ein Rezeszent so schön? “Hochmut kommt vor dem Fall”. Auf der anderen Seite sieht dies bei Android auch nicht anders aus. Bis die Gerätehersteller eine Aktualisierung bereitstellen — sofern sie es denn überhaupt tun — vergeht einiges an Zeit. Aber das ist eine andere Geschichte. Vielleicht schreibe ich dazu ein andermal etwas darüber.

Flight Control HD

Zur Zeit gibt es die beiden Flight Control-Varianten Flight Control und Flight Control HD kostenlos im AppStore.

Vor einigen Tagen wurden die beiden Versionen auch aktualisiert und haben dabei jeweils eine neue Karte mit neuen Spielelementen erhalten.

Neue Features

Die iPhone Version wurde um Blitzschlag erweitert: Ab und an wird ein Flugzeug vom Blitz getroffen und kann für eine gewisse Zeit nicht mehr gesteuert werden. Auf dem iPad wurde eine Karte auf den Mond gelegt. Hier fliegen kleine Asteroiden herum, die beim Zusammenstoß ein Raumschiff ins Taumeln bringen. Stößt man mit großen Asteroiden zusammen, so ist das Spiel vorbei.

Ein weiteres Feature, das mit den neuen Versionen eingeführt wurde, wird sehr kontrovers bei den Bewertungen im iTunes Store diskutiert: Kommt es zum Ende eines Spiels, so hat man nun die Möglichkeit, ein Stück zurückzuspulen und das Spiel dort fortzusetzen. Allerdings muss man sich diese Möglichkeit per in-app-purchase erkaufen. Das bedeutet nun, dass man sich de facto die Highscores erkauft, was meiner Meinung nach nicht Sinn des Spiels sein kann. Man sollte sich eher diese Rewinds durch andere Erfolge im Spiel erarbeiten können.

Auf der anderen Seite muss man natürlich auch an den Publisher des Spiels denken. Er will damit Geld verdienen. So sucht er natürlich nach Möglichkeiten, dies zu tun. Die jetzige Lösung krankt aber wie alle Fremium-Arten daran, dass sie eine Wettbewerbsverzerrung der Spieler darstellt.

Server überlastet

Zum anderen scheint der Highscore-Server von Firemint zur Zeit “geslashdotted” zu sein. Ich kann im Moment keinen Highscore melden. Statt dessen erhalte ich immer eine Fehlermeldung.

Weitere Plattformen

Vor langer Zeit hatte ich auch Flight Control für den Nintendo DSi heruntergeladen. Dabei stellte ich fest, dass — zumindest damals — der Preis deutlich höher war als für das iPhone.

Nun habe ich gesehen, dass man Flight Control auch für PC und Mac kaufen kann. Allerdings wird dies über Steam geregelt. Man benötigt also auch dort einen Account, muss dort seine Zahlungsinformationen hinterlegen etc. Das finde ich nicht so toll.

Für Mac-Nutzer gibt es noch die Möglichkeit, über den Mac-App-Store das Programm zu erwerben. Dann wird wie gewohnt über die Apple-Id abgerechnet.

Bei beiden Varianten gibt es wohl extra Karten, die nur in der jeweiligen Version zur Verfügung stehen — schade.

Ob es auch hier wie bei den iOS Versionen möglich ist, verschiedene Geräte zu verbinden, habe ich noch nicht gesehen.

Fazit

Nach wie vor stellen die Fligh Control Spiele aber langen Spielspaß sicher. Man muss sich ganz genau überlegen, wem man sein Gerät in die Hand gibt. Man wird es erstmal eine Zeit lang nicht zurück bekommen. Das Suchtpotential ist ziemlich hoch!

© 2012 JerryWho Suffusion theme by Sayontan Sinha