Door Gastredacteur op do 20 okt 2011 |
8 reacties | 
Van zondag 9 oktober tot en met dinsdag 12 oktober is in het Hyatt Regency hotel in San Francisco de
Android Open-conferentie gehouden. De conferentie was georganiseerd door
O’Reilly Media en had als slogan “The first Android conference to cover the whole Android ecosystem”. Zo’n 600 Android-professionals (voornamelijk programmeurs) hadden zich ingeschreven voor deze conferentie. Hieronder een uitgebreid verslag van Johan Pelgrim, Mobile Software Engineer bij
VX Company.
Het verslag over de eerste conferentiedag kun je hier teruglezen.
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)
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.
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.
Nog wat best practices: Loose coupling. Richt je fragment zo in dat deze zo min mogelijk weet van zijn parent Activity. Andersom is wel prima omdat de activity zijn kinderen moet kennen om ze te kunnen beheren (en om bijvoorbeeld communicatie tussen twee fragments te regelen). Een oplossing om een actie in een fragment door te sluizen naar de activity is het gebruik van het delegation pattern(wat ook veel in iOS wordt toegepast). Hiermee laat je de activity een (door je fragment gedefinieerde) interface implementeren waar je fragment weer gebruik van kan maken. Roep de getActivity() methode aan en cast deze naar je interface. Als de cast niet lukt gooi je een ClassCastException. Als deze wel lukt roep je de interface methode aan en laat je het verder aan de activity om actie te ondernemen op (bijvoorbeeld) een button-click in je fragment.
De laatste avond ben ik nog even uit eten geweest met Ian Darwin, auteur van het Android Cookbook (nu in Early Access release, vanaf november op de planken). We hebben een wijntje, respectievelijk biertje gedronken op een goede conferentie.
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!
Erg interessant thanks
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
@ de forum was ik een topic gestart over motodev
AVS leek het een leuke toevoeging te vinen bij de normale IDE / ADT.
De arduino en ioio bord zijn wel leuk, op school heb ik er wel wat meegespeeld. Het zou mij nog leuker lijken als je metje android device via blutotth kan connecten en dan met een eigen geschreven android app het besturen
Ahah heb ik toch een beetje naast de pot gepist. Dacht een keer de eerste te zijn xD
zolang je het maar op doet vindt ik het goed :p
maar o’reiily heeft android development boek uitgegeven dus het is meer een developers conferentie.
Ahh zoo vandaar dat weinig mensen zich geroepen voelen. Ik dus voortaan ook niet meer hahahah xD
ik zit nu steeds meer te twijfele of je het wel gelezen hebt
bovenaan staat dit:
Zo’n 600 Android-professionals (voornamelijk programmeurs) hadden zich ingeschreven voor deze conferentie.
Bedoel de doorsne aw bezoeken xD