Dinsdag – tweede conferentiedag
De eerste 50 mensen die bij de keynote op de tweede conferentiedag naar binnenliepen kregen een Sparkfun IOIO-board. Ik heb er ook een, dus ik ontkom er niet aan de soldeerbout af te stoffen en wat LEDjes te kopen. De keynotes van de twee conferentiedag waren een stuk technischer en naar mijn inzicht beter. Hier staan ze allemaal (plus nog wat interviews), dit waren de meest interessante:
Massimo Banzi (Arduino) – Arduino en Android, infinite possibilities (Toepassingen: The Magic Clock MakerBot)
Massimo is technisch leider van het Arduino-project. Met Arduino en de Open Accessories Development Kit van Google kun je heel makkelijk microcontrollers besturen met je Androidapparaat. Heel simpel, heel krachtig! (interview en een aantal toepassingen: The Magic Clock en de MakerBot).
Will Marshall (NASA) – Android in Space
Een doorsnee sateliet kost zo’n 500 miljoen dollar. Er zijn goedkopere varianten van zo’n 50 tot 100 miljoen dollar. Will vertelde over het onderzoek naar de mogelijkheid om smartphonehardware te gebruiken om een nog goedkoper type sateliet de ruimte in te sturen. Voor het onderzoek hebben ze verschillende Nexus Ones aan allerlei interessante tests onderworpen. Een aanrader om even te bekijken wat mij betreft.
Claire Hunsaker (Samasource) – The African laptop killer.
Het aantal mensen in de Verenigde Staten dat via een telefoon op internet toegang heeft is zo’n 41%. In Kenia is dat nu 75%. De Ideos van Huawei is slechts $80,- en wordt ook wel The Kenya Phone genoemd. Er zijn er al 350.000 Kenianen die zo’n telefoontje hebben. Met de verkoop van dit soort telefoontoestellen kan de internettoegang alleen maar sterk blijven groeien. In Afrika worden eigenlijk geen PC’s of laptops meer gekocht, de mensen slaan deze fase over en gaan direct met hun smartphone online. Claire vertelt een interessant verhaal over de noodzaak en het gebruik van de mobiele telefoon in Afrika.
David Merrill (Sifteo) – Sifteo cubes: Hands-on Interactions, Intelligent Play, and SDK!
David vertelt over de Sifteo Cubes, interactieve speelstenen met een klein aanraakscherm en nog wat andere sensoren die met elkaar kunnen communiceren en die je zelf kunt programmeren. Je kunt de interactie uitbreiden tot 6 stenen. Ik heb er zelf ook even mee gespeeld (video) en het is echt wel geinig. De vraag is alleen of $149,- voor 3 van deze steentjes een goede prijs is. We wachten het af.
Jay Freeman, “Hacking A Closed Ecosystem”
Jay Freeman, beter bekend als Saurik, praat over het hacken van gesloten systemen. Hij is lid van het “iPhone Dev-Team” wat als doel heeft alles wat Apple gesloten wil houden toegankelijk te maken voor het publiek. Saurik heeft hiervoor een library ontwikkeld met de naam “Mobile Substrate” en vertelt in zijn keynote heel kort dat “Mobile Substrate” ook voor Android beschikbaar komt.
Ken Singer (CEO van AppCentral)
Na de keynotes ware de technische sessies weer aan de beurt. De eerste waar ik heen ben gegaan was die van CEO Ken Singer van AppCentral met als titel “Maximum Security: Navigating Data Segregation Between Apps” (slides). Het verhaal ging over Mobile App Management. Een zeer interessante propositie voor het ontwikkelen, distribueren en managen van Enterprise Apps op (persoonlijke) devices van de werknemers.
LinkedIn Mobile Architecture diagram
De volgende presentatie die ik bijgewoond heb was van Kiran Prasad van LinkedIn. met titel “Cross Platform Mobile Applications: How LinkedIn does it” (PDF). Voor iOS doen ze dat gedeeltelijk native (vooral voor de schermen die grote lijsten tonen) en met Javscript/HTML voor de detail schermen. Ze gebruiken node.js en MongoDB in de service-laag en serveren één JSON datastructuur per scherm, zogenaamd Screen Based JSON. Deze JSON datastructuur gebruiken ze om een template te vullen. Ze werken met (slechts) 10 templates, daar doen ze alles mee. De Androidclient is volledig native omdat de webview niet performde. Voor de mobiele web-app en de andere clients kunnen ze de Javascript/HTML die ze ook voor de iOS-client hebben gemaakt hergebruiken. Technologieën die ze nog meer gebruikten: NGinx web server (load balanced), Backbone.js (Javascript MVC implementatie) Underscore.js (utils). iScroll (aangepast) voor scrolling. Helaas werd Kiran afgekapt en kon hij zijn verhaal niet afmaken. Gelukkig hebben we de slides nog 😉
De MakerBot in aktie. De kit is voor $2500 te bestellen.
Tijdens de lunch was de Mini Maker Faire. Erg interessant wat mensen kunnen besturen met hun Androiddevice (wel of niet verbonden via Arduino). Zoek maar eens op YouTube naar Sparkfun IOIO, Arduino Mega, Sifteo Cubes en MadSci check-in station. Hier mijn filmpjes “Playing with the Sifteo Cubes” en “Sparkfun demonstrating IOIO adapter to Massimo Banzi”De eerste sessie na de lunch was die van Eric Cloninger van Motorola en ging over “Static Analysis for improved application performance and quality”. Eric vertelde dat de standaard static analysis tools (zoals Findbugs en PMD) voor Java niet de speciefieke zaken voor Android projecten detecteren. Motorola heeft zijn eigen mobiele ontwikkelomgeving op basis van Eclipse gemaakt (Motodev Studio, gratis) en stelt de static analyse tool App Validator beschikbaar als Eclipse plugin (plugin en slides). De analyse wordt op (de gecompileerde code in) een APK uitgevoerd. Ook is er een on-line App Validator waar je je APK naartoe kunt uploaden en zo de analyse resultaten kunt bekijken. Meer info kun je vinden op: https://developer.motorola.com.De een na laatste sessie was er weer eentje van Mark Murphy, The Commons Guy, met titel “The Action Bar: Front to Back” (slides). Volgens Mark is de Action Bar te weinig belicht en gedocumenteerd. Google’s focus lag veel te sterk op Fragments, de Loader en de ViewPager en dergelijke. Mark legde haarfijn uit hoe je acties, tabs, listviews en custom views kunt gebruiken in de action bar. Het was erg vermakelijk en veel te veel info om hier allemaal over uit te wijden. Alles wordt in detail beschreven in zijn Android en Advanced Android boeken. Code voor deze boeken kun je hier en hier vinden.
De laatste sessie was van Ken Jones met als titel “Fragments for all” (PDF). Ken behandelde de Fragments API uit de compatibility package. Hij merkte op dat bij het gebruik van dynamische fragments (die je dus niet in je layout hebt gedefinieerd, maar in je code / in de onCreate methode programmatisch aanmaakt) eerst even moet checken of het bundle argument null is. Met andere woorden, maak alleen dynamische fragments aan wanneer je Activity voor het eerst wordt geïnstantieerd. Als je Activity state wordt bewaard (bijvoorbeeld bij een oriëntatieverandering) wordt ook gewoon de dynamische fragment state netjes bewaard en weer gebruikt bij het opnieuw creëren van je Activity en je Fragments en het terugzetten van hun state. Als je in onCreate dan weer je dynamische fragment gaat aanmaken (dus zonder te checken of de bundle null is) wordt je Fragment twee keer aangemaakt, wat leidt tot memory leaks.
Kijk ook goed of je de methode setRetainInstance(boolean) op je fragment kunt gebruiken of niet. Hierbij wordt dus niet de fragment state, maar de hele (fragment) instance in geheugen gehouden. Als je deze methode gebruikt is de bundle die in onCreate (en nog wat andere methoden) wordt meegegeven altijd null. Door de setRetainInstance methode zijn onRetainNonConfigurationInstance en getLastNonConfigurationInstance op de Activity deprecated gemaakt.
droidconNL
Je hoeft niet helemaal naar San Francisco te reizen om interessante Androidverhalen te horen. Dinsdag 22 en woensdag 23 november wordt in Amsterdam de droidconNL-conferentie gehouden met internationale- en nationale sprekers. Een unieke gelegenheid om elkaar als Nederlandse Android-professionals te ontmoeten, van elkaar te leren en Nederland gewoon sterker te maken als vooraanstaand Androidland!
Reacties
Inloggen of registreren
om een reactie achter te laten
blijkbaar intresseerd dit echt iedereen zo aan de reactie’s te zien xD
Heb dus de primeur 😀
Snap er geen reet van maar leuk om door te lezen. Google kan weer overuren draaien voor de uitleg van de tekst hahahah
Erg interessant thanks