Category Archives: Developer

Ich bin ein developer

Berlijn was de ‘place to be’ voor de geodev’s. Zo’n 352 ontwikkelaars uit 29 verschillende landen hadden het Berliner Conferentie Centrum weten te vinden. Tijdens de Esri Developer Summit werd met veel enthousiasme gesproken over vector tiling, AngularJS , promises, de webscene loaders en natuurlijk de volgende Quartz Runtime-update. Allemaal bouwstenen van de huidige en volgende generatie locatiegebaseerde apps.

Speeddaten

Een presentatie van vijf minuten en dit acht keer achter elkaar herhalen: Speedgeeking is de naam. Samen met Gijs Boekema, software engineer CycloMedia, heb ik als presentator de dynamiek ervan mogen ervaren. We kregen tijdens onze dates veel geïnteresseerde vragen over de Panorama Rendering Service van Cyclomedia gevisualiseerd binnen CityEngine is innovatief en werd met veel interesse ontvangen bij onze dates.

Kleinschalig

Een developer-event als deze is met deze insteek dé kans om direct met de productmanagers en de knappe koppen van Esri’s R&D te sparren. Je kunt meedenken over de richting waar de technologie opgaat en sneller al op de hoogte zijn van de komende ontwikkelingen op het ArcGIS-platform. Er waren maar liefst 50 technische tracks. Dankzij de kleinschalige opzet, konden zelfs de meest complexe vragen goed worden beantwoord. En na al die kennisuitwisseling was het tijd om elkaar beter te leren kennen. Dat gebeurde in de Hofbräu Berlin.

javascript 4 0

 

Het volgende developer-event is de Developer Summit in maart 2016 in Palm Springs

LinkedInFacebookTwitterDeel deze blogpost
Posted in Achter de schermen, Apps, Developer | Plaats een reactie

Ben jij de volgende start-up?

Wat hebben Mark Zuckerberg (Facebook), Jack Dorsey (Twitter) en Jan Koum (WhatsApp) met elkaar gemeen. Waar kwamen hun ideeën vandaan? En hebben ze hun succes volledig te danken aan hun eigen competenties?

app-developer

Waar kwam het idee van
Mark Zuckerberg vandaan?

Als je het mij vraagt; ik denk dat ook deze ideeën zijn ontstaan door meerdere facetten. Een omgeving waarin je met creatieve mensen wordt uitgedaagd, unieke mensen met eigen ideeën, jezelf kunnen zijn, fun-ervaring en gezamenlijk op zoek gaan naar nieuwe mogelijkheden. Dit is zonder twijfel de voedingsbodem voor succes.

Locatie, geofencing en geotrigger, sensoren en iBeacons, the Internet of Things, real-time, sociale of big data: allemaal nieuwe kansen die we kunnen benutten. Combineer dit met de Esri-cloud-services, de ArcGIS Runtime SDK’s of ArcGIS Web API’s en je hebt in no-time een geweldige
app die gaat helpen je idee verder te brengen.

app-developer2

Voor developers is er tijdens het
Appril-festival een Geo Hackaton

Tijdens het Appril festival organiseren we een Geo Hackathon en daar zijn we best trots op! Mijn ervaringen met zo’n dag? Plezier maken, nieuwe mensen, leren van professional, code kloppen en naar huis gaan met een enorme motivatie en nog meer ideeën. Zo bekeken zijn we eigenlijk allemaal winnaars.

En wie weet ontmoet jij hier je nieuwe business partner Mark, Jack of Jan. Het zou zomaar kunnen.

Inschrijven voor de Geo Hackathon kan via de website van Appril…

Posted in ArcGIS, Beweging, Developer | Tags: , , , , , , , , , | Plaats een reactie

Het belang van een proeflapje

In een vorige blogpost wees ik op het belang van het omgaan met risico’s. Een hele begrijpelijke reactie vond ik: “Boris, hoe ga ik dan om met risico’s in de technologie?”.


Risico  

Stel, je hebt een technisch risico geïdentificeerd in een project. Laten we als uitgangspunt nemen dat je in het project een combinatie hebt van vertrouwde technologie en een technologie die je nog niet goed kent. Hoe ga je dan om met het laatste risico? Een belangrijke techniek die je kunt gebruiken is het proeflapje!

Proeflapje

Met een proeflapje weet je hoeveel wol
je nodig hebt.Foto van Arne Heggestad, ga naar foto 

Proeflapjes maken doe je zo 
Voor mensen die veel breien is een proeflapje een bekend begrip, maar voor de meeste mensen zal een uitleg op zijn plaats zijn. In het breipatroon staat aangegeven hoeveel pennen en steken je moet gebruiken om bijvoorbeeld een wollen trui met een bepaalde maat te maken – in mijn geval zou dat al snel lengtemaat XXL zijn. Maar de één maakt net wat lossere steken bij het breien dan de ander. En wol is een natuurlijk materiaal, dus de elasticiteit verschilt wel eens. Het aantal pennen en steken in een patroon is een gemiddelde. Daarom maak je eerst een proeflapje, om uit te proberen hoe je het precies moet doen. Als je weet hoe het moet, haal je het proeflapje gewoon weer uit. De wol kan dan worden hergebruikt.

Teveel geitenwollen sokken?  
Misschien spreekt deze analogie je niet zo aan. Dan is hier een militaire versie, want in gevechtssituaties doen ze net zoiets: daar sturen ze een verkenner voor de troepen uit. Bij Arendsoog was dat Witte Veder, in de Golfoorlog gebruikte Stormin’ Norman SEAL’s met Hummers. De verkenner bepaalt de beste route, geeft schattingen over de reistijd en geeft aan of er hindernissen moeten worden overwonnen. En dan kunnen de troepen aan de slag.

Het throw-away prototype
Ook in IT-projecten is het mogelijk op deze manier om te gaan met technische risico’s. Het proeflapje heet daar dan een throw-away prototype. Laat een ontwikkelaar (de verkenner) een versie maken die alleen maar aantoont hoe je met de technologie werkt. Hierbij worden de functies beperkt tot het absolute minimum. De code hoeft voor deze keer niet netjes of onderhoudbaar in elkaar te zitten en er zit geen foutafhandeling en logging in.

Verkenner3

Kies een goede verkenner

Foto van Cpl. James L.
Yarboro, U.S. Marine Corps 

 

 

 

Kies de goede verkenner
Uiteraard kies je een goede ontwikkelaar voor deze klus. De geschiedenis zit vol met voorbeelden van de rampzalige gevolgen van ontbrekende of verkeerde informatie van verkenners. Zo verloren de Romeinen in de slag om het Teutoberger Woud drie complete legioenen mede door ontbreken van verkenners en verloor Napoleon de slag bij Waterloo mede door verkeerde informatie van de verkenners. Xerxes en zijn Perzen daarentegen wonnen juist de slag bij Thermopylae van de Spartanen door goede informatie van verkenners.

Gooi het throw-away prototype weg
Als het prototype klaar is, gebruik je de inzichten die het maken heeft opgeleverd. De inzichten van het prototype worden verwerkt in het ontwerp en urenschattingen, het team kan nu worden opgeschaald en er kan worden begonnen met het bouwen van de echte versie in een schone omgeving. Het throw-away prototype zelf wordt na afloop weggegooid, zoals de naam al aangeeft. De verleiding is misschien groot om door te willen bouwen op het prototype, maar trap niet in die valkuil. Het prototype is niet geschikt als fundament; het was een bewuste keus om het prototype quick & dirty te realiseren. In je urenschatting ga je er vanuit dat je geen hergebruik kunt doen van het throw-away prototype in het echte product.

Pijpinspecties
Een mooi praktijkvoorbeeld van de inzet van een throw-away prototype komt van de ontwikkeling van EngeMOVI’s nieuwe device voor pijplijninspectie, of Pipe Inspection Gauge (PIG). Een pijplijninspectie-device wordt in een olie- of gaspijplijn ingebracht om de staat van de leiding te inspecteren. Bij de ontwikkeling identificeerden de ontwerpers het geolocatie algoritme als hun grootste technische risico. Hun throw-away prototype bestond uit een basale versie van meetapparatuur, bevestigd met tie-wrap op een fiets. Dit prototype stelde hen in staat hun algoritme te testen en te verfijnen, mede omdat een fiets bij benadering de gewenste snelheid heeft. Na de tests werd het prototype weer gedemonteerd.

Risicomitigatie
Als je een technisch risico hebt geïdentificeerd, dan is het gebruik van een throw-away prototype een goede manier om dit technisch risico aan te pakken of op zijn minst de impact te beperken (het risico te mitigeren). Een throw-away prototype kun je in iedere ontwikkelmethode gebruiken (waterval, scrum, jbf etc).  Dus: bepaal het risico van het project en pak het aan! Maak een proeflapje of stuur een kundige verkenner vooruit. Met deze onmisbare informatie kun jij de (wed)strijd winnen: het project op tijd en binnen budget succesvol afronden.

Posted in Developer, Projecten | Tags: , , , , | Plaats een reactie

Duidelijk toch? Toch maar even vastleggen!

Ik zie het vaak gebeuren en misschien is het wel herkenbaar: er is hard (over)gewerkt om een nieuwe app of website op tijd op te leveren, maar de opdrachtgever is niet eens blij! Bij oplevering blijkt dat er iets heel anders werd verwacht. Dat is vervelend voor de maker en voor de opdrachtgever, maar is er iets te doen om dit een volgende keer te voorkomen?

Misschien is het duidelijk wat er gemaakt moet worden, maar dan is het vast ook niet moeilijk om dat op te schrijven.

Misschien is het duidelijk wat er gemaakt moet
worden, maar dan is het vast ook niet moeilijk om
dat op te schrijven.

Verwachtingen managen
Het voor de hand liggende antwoord is dat je de verwachtingen vooraf moet managen – verwachtingen over tijd, geld en inhoud. In deze blogpost wil ik stilstaan bij het managen van de verwachtingen over de inhoud, hier gebruiken we in de IT meestal requirements voor.

Geanimeerd voorgesprek
Soms hoor ik weleens dat het niet nodig is om de requirements vast te leggen. “Het is toch duidelijk wat je moet maken?”, wordt dan gezegd. Misschien is het inderdaad helemaal duidelijk, maar dan kan het vast ook niet moeilijk zijn om de inhoud even op te schrijven, toch? Vaak genoeg heb ik meegemaakt dat bleek dat we elkaar in dat geanimeerde voorgesprek toch niet helemaal goed hadden begrepen. Vergeet niet dat de kosten van het oplossen van fouten steeds hoger worden, naarmate je verder komt in het ontwikkelproces. Een fout in de requirements is zo aangepast, maar het wordt snel vele malen duurder om dezelfde fout op te lossen als je er pas achter komt bij het testen.

requirements-opschrijven1

Een fout wordt snel vele malen duurder om op te
lossen als je er pas achter komt bij het testen.

Kwaliteit als eis
Inhoud kent nog een andere dimensie. Performance kan bij GIS-systemen door de hoeveelheid data een aandachtspunt zijn, reden om het hier vooraf eens over te hebben. Dit zijn de kwaliteitseisen, ook wel non-functional requirements genoemd. Hoe lang mag het openen van deze kaartlaag duren bij deze extent en op dit schaalniveau? Soms wordt er gemakkelijk vanuit gegaan dat security een verantwoordelijkheid is van de IT-afdeling, maar het is verstandig er op zijn minst eens over te hebben met wat voor user id de gebruikers moeten inloggen. Het klopt, dit zijn vaak moeilijk grijpbare onderwerpen. Maar als bij oplevering blijkt dat de opdrachtgever niet tevreden is met de kwaliteit (performance, security, usability, etc), dan heb je vaak een probleem dat zich veel moeilijker laat oplossen dan een bug in een functie.

Eenvoudig beginnen
Mijn advies is om eenvoudig te beginnen. Kijk wat werkt voor het soort projecten dat u doet. Een ding is zeker: als bij uw volgende project de requirements worden vastgelegd, dan hebben u en uw opdrachtgever alvast een verrassing minder bij de oplevering.

Posted in ArcGIS, Developer | Tags: , , , | 1 Comment

Ontwikkelen is als chocolaatjes proeven

Afgelopen week was Londen dé plek voor ambitieuze Geospatial App Developers. Ik ben er ook zo een. De tweede Europese Esri Developer Summit wist maar liefst 389 deelnemers uit 28 landen bij elkaar te brengen. Dat gaf het evenement een interessante dimensie.

dev-summit-europe

MapAttack is een real-time on
location based game.

Hackathon
Op zondag werden de deelnemers uitgenodigd door Esri UK voor de MapAction Hackathon. MapAction is een onafhankelijk organisatie die draait op de inzet van fantastische vrijwilligers. Zij komen in actie tijdens de allereerste en meest kritieke fase van natuur- en andere humanitaire rampen. Daarbij zetten ze hun professionele GIS-competenties in om snel de situatie en noden letterlijk in kaart te brengen. Hoe bijzonder is het dat de winnende app de volgende dag al kan worden ingezet in het door de tyfoon Haiyan getroffen gebied van in de Filipijnen?

Hot topics
Dat tijdens de plenaire sessie van een DevSummit alle hot topics gedemonstreerd worden, werd nu onbedoeld wel erg letterlijk genomen. Dit vanwege een verplichte evacuatie na een brandmelding. Gelukkig konden we de coole demo’s en nieuwe mogelijkheden van het platform later in een mooie presentatie aanschouwen. Keynote-spreker was Amber Case van het nieuwe Esri R&D Center in Portland. Zij daagde ons uit om tijdens de pauze MapAttack te spelen. Een coole urban game waarin de nieuwste technologie voor geofencing (via GPS een gebied virtueel afbakenen) en geotriggers (de geofencing een bepaalde actie laten uitvoeren) is verwerkt.

Speedgeeking
Een belangrijk aspect, naast goede lunches, is tijdens zo’n bijeenkomst kennis uitwisselen en elkaar ontmoeten. Dit kan in ruime mate tijdens de technische sessies, Lightning Talks, User Demo’s en de Dev Lounce. Ik heb interessante gesprekken gevoerd met allerlei ontwikkelaars, bijvoorbeeld met de R&D-developer die aan het product CityEngine werkt. Zo’n Dev Summit is de ideale kans om de mensen achter de schermen op ontspannen wijze te ontmoeten. Heel inspirerend!

dev-summit-europe1

Welke smaak je ook ontwikkelt,
iedereen kan een fijnproever zijn.

Chocolaatjes proeven
Extra spannend wordt het natuurlijk als je zelf met een andere internationale Esri-collega een presentatie mag geven. Hoe maak je een sessie interactief aan het einde van de dag als iedereen al zoveel informatie op heeft moeten nemen? ‘Let’s throw them chocolates’ was de ludieke actie die ook nog eens paste bij het onderwerp ‘communicatie met het ArcGIS-platform’. Ongeacht in welke smaak je ontwikkelt, iedereen kan een fijnproever zijn. Wat heerlijk om een Advanced Topics te mogen presenteren met een echte Pro. Uit de directe feedback heb ik begrepen dat de bezoekers de Europese Esri Developer Summit goed wisten te waarderen en daar gaat het natuurlijk om.

Coderen is sociaal, weet u het nog? Een waardevolle investering voor alle bezoekers. En volgend jaar? Wir sehen uns in #Berlin.

Posted in Achter de schermen, ArcGIS, Developer | Tags: , , , , , , , , , | Plaats een reactie