Droidcon DE 2016 - Tag 2

Kategorien: tech Tags: Android Telefon gadget Nerdig Technik Dienstreise Droidcon Konferenz -

Und weiter geht’s mit der Droidcon 2016… (analog zu Tag 1)

Keynote

  • Redner: Joanna Smith
  • Themen: Android früher und Heute, evtl. Zukunftsausblicke

Das war mehr ein Blättern im Fotoalbum der Entwicklungsgeschichte als ein ernstzunehmender Vortrag. Ganz unterhaltsam vergangene Projekte der Eclair oder Donut-Zeit nochmal raus zu kramen, aber der Gehalt an neuen Informationen ist eher… gering Null. Das wird auch nicht besser dadurch dass die Rednerin ständig betont dass sie selbst erst ab Lollipop (Version vor der aktuellen, Mitte 2014) dabei ist und von A-K eigentlich nicht wirklich was mitbekommen hat.. (Ich hab kein Problem mit “neuen” Leuten oder halte sie aufgrund dessen für irgendwie weniger fähig. Aber dann einen emotional angelegten Vortrag über die Vergangenheit halten ist albern.)

Ok, niemand geht zur Droidcon wegen der Keynotes, das war schon das letzte Mal als ich aufgeschlagen bin1 der schwächste aller Vorträge. Aber das war einfach nur als hätte das PR-Team2 bei Google gesagt

ist eine unwichtige Veranstaltung irgendwo in Europa. Nicht wichtig, aber garnicht anwesend sein geht nicht… schickt die Praktikantin!

Practical Bluetooth LE on Android

  • Redner: Erik Hellman
  • Themen: wie man mit BLE unter Android arbeitet, obwohl es wohl viele Probleme und Bugs gibt

Wieder ein sehr technisch angelegter Vortrag darüber wie BLE funktioniert, was man beachten muss und jede Menge Tipps und Tricks.

Das ist auch gleich das ideale Gegenbeispiel zu dem “Android Data Binding”-Vortrag gestern, auch hier bestehen 2/3 der Folien aus Code, aber hier dient der zur Untermauerung der Abläufe und ist weniger “tippe das ab um X zu tun”.

Ich weiß noch nicht ob ich irgendwas aus diesem Vortrag in den nächsten 1-2 Jahren jemals brauchen werde, aber es war zumindest interessant die Details mal gehört zu haben.

Spaßfakt: die Bluetooth-Entwicklungs-Gruppe hat 16Bit UUIDs erfunden. - Ich schmunzelte.

Und:

Die meisten Fehlercodes sind undokumentiert.

Behandele alles ausser explizit “success” als Fehler!

Wenn Fehler auftreten - die Verbindung trennen, deregistrieren und neu verbinden!

klingt nach grossartiger Technologie!

Auf die Frage was die grösste Schmerzen produziert und daher gemieden werden sollte, kamen ziemlich eindeutig die beiden Antworten:

  • der Android-Bluetooth-Stack vor Lollipop
  • Sony BLE-Geräte

The 2016 Android Developer Toolbox

  • Redner: Gautier Mechling
  • Themen: Werkzeuge um leichter entwickeln zu können, z.b. für HTTP-Debugging, Log-Analyse, REST-Entwicklungsserver, Performance-Messungen, Decompilieren, …

Ein sehr dicht gepackter Vortrag (Slides), in dem ein Tool nach dem anderen aufgezählt wird, jeweils mit kurzen Beispielen wie/wofür man diese verwendet und was man beachten sollte. Ich fand' die Vortragsform, große Stücke als live kommentierten Screencast zu animieren, mal ganz nett. Das hat die Dichte aber bestenfalls noch erhöht.

Da werde ich mich nochmal nachträglich an die Folien setzen müssen und die Tools einzeln ansehen müssen um rauszufinden was davon wirklich sinnvoll ist und was nicht. Es war einiges bekanntes dabei und der Rest sah wirklich extrem interessant aus, also definitive Konsumempfehlung für diesen Vortrag.

Bluetooth LE - Building Block of the Internet of Things

  • Redner: Steven Mohr Themen: ein weiterer Talk über die technischen Details von BLE und was es von anderen Dingen unterscheidet, mit Implementationshinweisen.

Eher grundlegender Vortrag darüber was BLE ist/tut und wie die Organisation ringsrum funktioniert. Er richtet sich wohl eher an Leute die überhaupt noch entscheiden ob sie BLE verwenden wollen und wofür statt an Leute die bereits damit arbeiten.

Der Vortrag war nicht uninteressant, aber dreht sich halt weniger um technische Implementationsdetails als der vorherige zum Thema. Wenn überhaupt hätte ich die beiden anders rum sortiert, diesen als Grundlagen-Session und den anderen als Vertiefung.

Professional Data Persistance and Synchronisation

  • Redner: Markus Junginger
  • Themen: ORM-Mappers und Synchronisationsframeworks, Vergleiche und Überblick

Dieser Vortrag stellte Rekorde auf, leider kaum positive. Ich glaube kein anderer Vortrag (nicht mal die Keynotes für die es kein Alternativprogramm gab) fand in einem derartig überfülltem Raum statt. Aber es war ja auch der kleinste der 4 Räume.

So, i hope you liked the Pasta, i know I didn’t. And now the Talk of Markus…

eher eine greenDAO3-Einführung als irgendwas mit Vergleichen.

Dazu dann zu viele Folien (“I guess I should skip some”) und Anmerkungen dass Funktion X in seiner Folie, seit seinem Release der neuen Beta, 1/2h vorher, “semi-deprecated” wäre - was auch immer das bedeuten soll.

Dann noch schnell über je 2-3 Folien Überblick zu SquiDB, DbFlow, SQLDelight, Requery geklickt und eine einzelne Vergleichsmatrix für eine Sekunde eingeblendet (“I’ll skip it, you’ll get the slides anyway”).

Das war die erste Hälfte, auf zur Synchronisation! Also zumindest sollte es darum gehen, ging es aber wieder nicht. Statt darüber zu reden hielt er sich jetzt ewig daran auf wie Firebase funktioniert, wie man das verwendet und wie Dokumentenbasierende Datenbanken algemein aufgebaut sind. Ich habe nicht mal verstanden was das mit Synchronisation zu tun hat, ganz zu schweigen davon was es von irgendeiner anderen DB (jaja, Non-SQL, schon klar) unterscheiden sollte.

Einzig der kurze Einwurf dass man sich wohl Retrofit mal ansehen sollte schien in die richtige Richtung zu gehen. Aber auch da kein Hinweis dazu was das tut und warum man das verwenden sollte.

Das war alles in allem ziemlich der schlechteste Vortrag den ich seit langem gesehen habe. Nicht mal primär wegen des Inhaltes, sondern einfach weil das Thema verfehlt war. In der Mitte halbiert und als kurzvorträge zu greenDAO und Firebase verkauft und das wäre relativ ok gewesen. Da schien der Redner auch wirklich Ahnung zum Thema zu haben.

Give your Apps a human side with Cognitive Services

  • Redner: Nicoletta Mihali
  • Themen: cross-platform Microsoft APIs um Umgebungsdaten u.ä. abzufragen - Verwendung und Vorteile

Der Vortrag war weniger technische Anleitung als mehr Verkaufsveranstaltung und eine Aufzählung dessen was die Microsoft-Spielereien jetzt alles können sollen. Das ist verdammt viel…

Bild/Video-Analyse

  • Gesichtserkennung und Personenerkennung inkl. geschätztem Alter, Geschlecht, Emotionserkennung, Anordnung im Raum und weiterem
  • beliebige Gegenstände erkennen und bis zu 64 Personen und ihre Bewegungen in einem Video tracken
  • Texte im Bild erkennen, Überschriften u.ä. feststellen, Positionen im Bild zurück geben
  • Bilder mit den gleichen Personen gruppieren und nach ähnlichen Kriterien sortieren
  • neue Bilder nach beschriebenen Kriterien finden, einzelne Attribute ausschneiden, neue Bilder generieren (z.B. “montiere mal den Bart von X an das Gesicht von Y!”

Videobearbeitung:

  • Bewegungserkennung
  • Bildstabilisierung

Audio:

  • Spracherkennung in “several” und Ausgabe in 70 Sprachen
  • Identifikation der Sprecher
  • Intention erkennen
  • Anpassung der Erkennung an Akustik, Person, Situation u.ä.

Text:

  • Rechtschreibkorrektur, Verbesserungsvorschläge, Autovervollständigung
  • erkennt Satzbauteile und Wortarten
  • zerlegt Textbrei ohne Leerzeichen (z.B. Tags oder URLs) in Wörter
  • erkennt Objekte in Texten inkl. Kontext (z.B. um in einem Artikel automagisch Wikipedia-Artikel zu verlinken, jeweils das passende, auch wenn z.B. Städte/Flüsse mit gleichem Namen)

Also all' diese spannend-erschreckenden Funktionen die man zur Datenauswertung schon immer haben wollte und die man aus Datenschutzgründen nie anfallen haben wollte, ganz zu schweigen davon sie erstmal immer schön auf Microsoft-Server hochzuladen.

technisch handelt es sich um Dienste die man per HTTP-Request abfragen kann. Zum Testen gibt es “kostenlose” Zugänge für jeden MS-Account und wenn man die monatlichen Limits überschreiten will, muss man halt bezahlen.

Ernsthaft gebrachtes Beispiel:

so an online shop could measure how his customers react via Webcam

garnich' creepy

Nach 30min Auflistung der Funktionen noch ein paar Beispiele von Demo-Programmen gezeigt, z.B. ein Chatbot der Anfragen wie “show me Obama with a Beard” oder “What if X and Y had a child?” annimmt, Bilder im Internet sucht und zusammen bastelt. Also dann einen Faceswap zusendet.

Pushing the Boundaries of the Layout-Sytem and Typography

  • Redner: Thorben Primke & Lin Wang
  • Themen: automatisch Skalierende Oberflächen und Typografie-Optimierungen für Android

Pinterest-Leute halten einen Vortrag über ihr Grid-System und neues Maß-System4 mit dem die ihre Android-Layouts planen.

Das sehe ich als praktisch irrelevant. Bis ich das einem Designer erklärt habe, ihn dazu bringe dieses Zeuga als seine Formate zu verwenden (“Wie jetzt, die Abstände zwischen den Buchstaben und Worten ändern sich mit der Auflösung? “) habe ich sonst vermutlich schon die Hälfte vom Layout umgesetzt.

… und dann müsste ich noch mit dem großen Stapel an deren Hacks leben, statt direkt mit den nativen Android-Tools arbeiten zu können. (und wehe Pinterest pflegt das in 2 Jahren nicht mehr)

Let’s get physical - With Nearby and Eddystone

Während der ganzen Droidcon sah man auf Android-Telefonen immer schon Benachrichtigungen über nahegelegene, physical-web-Objekte die einen über die “nächsten” Vorträge in der Nähe hingewiesen haben. Das ganze funktioniert auf Basis von BLE-Beacons (oder auch nicht, weil die Benachrichtigungen meistens 1-2h veraltet waren). In diesem Vortrag sollte ein technischer Überblick dazu geboten werden.

Ein Beacon kostet ca. $10-30 (z.B. Estimote, Eddistone oder iBeacon), kommen meist mit Accelerometer und Thermometer und haben eine Batterielebensdauer von ca. 41 Monaten (per CR2477) und Reichweite von ca. 70m

broadcasted z.B. 18 Byte URL (mit ein paar Hacks, z.B. um das Protokoll in 1 Byte zu packen und ähnliches für die TLD, aber das ist trotzdem knapp genug)

Der Vortrag enthielt noch jede Menge Hinweise zur Implementierung und Probleme gegen die man normalerweise läuft, wie das halt bei den anderen BLE-Talks auch schon immer werwähnt wurde ist das Zeugs alles andere als Freude und Sonnenschein.

Das klingt dann auch inhaltlich alles umständlicher und weniger flexibel als ich erhofft hätte (z.B. läuft bei “Nearby” ziemlich alle Kommunikation über Google Play Services und Internet, nur die ID wird über BT ausgetauscht) aber man könnte bestimmt 1-2 interessante Spielsachen damit bauen.

Nearby gliedert sich übrigens in folgende Teile:

  • Nearby Notifications - kurze Nachrichten alá Beacons, die jeder ohne zusätzliche Berechtigungen in seinen Apps (ausser evtl. Standortzugriff) einbauen kann
  • Nearby Messages - etwas längere/komplexere Nachrichten
  • Nearby Connections - Aufbauhilfe für komplexere Verbindungen ähnlich wie das z.B. mit NFC (Bluetooth-Pairing) gerne getan wird, evtl auch per “Earshot Audio”, also Ultraschall-Kommunikation die stärker auf einen Raum beachränkt ist als Funk.

Abschluss

Dann gab’s da noch eine kurze Rede der Veranstalter, mit lustigen Facts zu Aufbau und Technik (Gerät mit dem meisten Netzwerk-Traffic: Microsoft Surface Hub; Verhältnis iOS zu Android 1:7,6; knapp 1000 Besucher)

Und weil ich dann fast 1h vor der Zeit am Bahnhof stand, entschied ich doch lieber gleich die nächste S-Bahn zum Hauptbahnhof zu nehmen statt zu warten (ist das eigentlich Schwarzfahren? beim ICE dürfte ich das afaik nicht, weil “Zugbindung”).

Das war dann auch gut so, denn am Hbf bemerkte ich nach dem Vertilgen meiner Bratnudeln dass die geplante Bahn (warum zum Henker sucht die Elektronik da eigentlich innethalb Berlins einen IC raus?) nur kurze 70min zu spät kommen soll.

Weil ich zeitiger da war hatte ich noch genug Zeit zur Information zu laufen… Die Automaten am Bahnsteig verkaufen nur Tickets und zeigen Start-/Endzeit an, nicht mit welcher Bahn oder von welchem Bahnsteig man fahren soll. …und wieder zum gleichen Bahnsteig zurück zu laufen, weil die Bahn praktischerweise vom gegenüberliegenden Gleis fährt.

Dann RB zum Südkreuz, hoffen dass der tschechisch beschriftete Zug am richtigen Gleis (nur Wagonnummern am Zug, nur Fehlermeldung an der Anzeige am Gleis) auch der richtige Zug ist.

…und schon ist man völlig stressfrei und entspannt wieder in Dresden!

Nur schade dass die Strecke dazwischen ein einziges, grosses Funkloch ist, sonst könnte man die 2h noch irgendwie sinnvoll nutzen.


  1. Wann war das eigentlich? Es sollte mindestens 3-4 Jahre her sein. Ich weiß noch dass ich da mit meinem Milestone 1 rumgespielt habe und für meinen vorherigen Arbeitgeber dort war. Vermutlich 2011 oder 2012 also. Da ich mich daran erinner' dass Motorola dort sein “Lapdock” vorgestellt hat, muss es wohl 2011 gewesen sein. Man bin ich alt! ↩︎

  2. Developer-Evangelist auf Neuenglisch. ↩︎

  3. das Android-ORM bei dem der Redner der Hauptentwickler ist ↩︎

  4. DP wären wohl nicht “density independent” oder “device independent” genug, also haben die “Brio-Points” oder “Boints” erfunden, die nochmal von dieser Abstrakten Einheit wegabstrahieren. ↩︎

Geschrieben von: DAT
Vorheriger Artikel
Droidcon DE 2016 - Tag 1
Nächster Artikel
Mut zur eigenen Meinung