Macoun 2012: Mac- und iOS-Entwickler-Treffen mit Live Coding

Handschrifterkennung leicht gemacht

Inhaltsverzeichnis

Am Ende des ersten Tages gab es ein Highlight: Patrick Völcker stellte seinen überraschend einfachen Algorithmus zur "Zeichenerkennung in Echtzeit" vor. Motiviert zu dieser Entwicklung hat ihn das kniffelige Problem der Spielesteuerung mit iOS-Geräten: Joystick und Knöpfe fehlen, und Bewegungssteuerung ist nur so weit möglich, wie der Bildschirm noch im Sichtfeld bleibt. Patrick benutzt einfache Ein-Finger-Gesten auf dem Touchscreen zur Steuerung, allerdings muss zum Beispiel für ein Jump'n'Run-Spiel die Gestenerkennung schon beginnen, während der Finger noch auf dem Bildschirm ist. Patrick dampft alle Punkte einer Geste auf ein 3x3-Raster ein und bildet das Ergebnis auf eine Buchstabenkette ab. Danach braucht es nur noch einen Lernprozess, um die typischen Buchstabenketten für die gewünschten Gesten aufzusammeln und zu speichern. Er habe nur eine Viertelstunde gebraucht, um so das gesamte Alphabet und alle Ziffern zu trainieren – für die Erkennung reiche das 3x3-Raster völlig aus, solange man nur Großbuchstaben verwende.

Die Besucher reisten unter anderem auch aus Schweden, Irland und Italien an. Frauen waren allerdings die Ausnahme.

Am sonnigen Sonntagmorgen eröffnete Andreas Gerlach mit seinem Überblick über "NoSQL auf Apple-Systemen". Er begann mit einem Rückblick auf die Entwicklung der SQL-Datenbanken und beschrieb deren Schwachstellen für moderne Software. So sei die weitere Skalierung schwierig, sobald der größte verfügbare Server ausgereizt ist. Entsprechend sind Google (MapReduce), Amazon (DynamoDB) & Co. Pioniere der verteilten Datenhaltung jenseits von SQL. Die perfekte Lösung kann es laut dem CAP-Theorem nicht geben: Nur zwei der drei Ziele Konsistenz (Consistency), Verfügbarkeit (Availability) und Verteilung (Partitioning) lassen sich gleichzeitig voll erreichen. Da die meisten anwesenden Entwickler eher nicht mit Googles Datenvolumen zu kämpfen haben, standen für sie Nachteile der SQL-Datenbanken wie Impedance Mismatch oder strikte Schemata sicher mehr im Vordergrund. Ersteres meint die oft aufwendige Übersetzung zwischen relationalen Datenschemata und den Laufzeitstrukturen der Anwendung, letzteres die Notwendigkeit von Datenbankmigrationen bei jeder kleinen Änderung an der Datenstruktur. Die NoSQL-Bewegung geht diese Probleme mit Schlüssel-Wert-Speichern, dokumenten-, spalten- oder graphenorientierten Konzepten an. Mit Redis, MongoDB und Riak stellte Andreas zum Abschluss drei NoSQL-Datenbanken samt von ihm geschriebener Objective-C-Wrapper vor.