post-header-photo

Build 2016 in Amsterdam op 24 mei 2016

Op 24 mei ben ik afgereisd naar Amsterdam omdat Microsoft hier haar Build 2016 Tour hield. Voordat ik mijn samenvatting hiervan geef, eerst mijn welgemeende complimenten voor Microsoft/de organisatie. Het event was gratis, via e-mail werd ik op het evenement geattendeerd. Boeiende besprekingen en demo’s. Bij binnenkomst de jas inleveren bij de garderobe, waar je een t-shirt voor terugkrijgt, door naar de 3e verdieping waar je meteen een bakje koffie krijgt, in de breaks een bakje koffie of jus d’orange en een koekje. In de lunchpauze een paar broodjes, waarbij de serveersters ook nog met schalen met hotdogs rond gingen. Prima geregeld!

Dinsdagmorgen opstaan om 6.30 uur, een uur later zit ik in de auto. Via de Afsluitdijk zonder files aangekomen in de Piet Heijn parkeergarage rond 9.15 uur. Als ik hier de trap oploop, kom ik meteen uit bij de ingang van de terminal waar Microsoft vandaag haar event heeft. Het binnenlopen kan tussen 8.30 en 10.00 uur. De catering zit op de 3e verdieping, we gaan een trap naar beneden en komen dan uit in een grote afgeschermde ruimte met een groot scherm en allemaal stoelen. Ik neem links plaats, tegen het “gangpad”, zodat ik de ruimte heb om in mijn notitieblokje aantekeningen kan maken.

Build wordt geopend door Caroline Phillips. De Build Tour bezoekt 7 steden, waaronder Amsterdam dus. Wij zitten vandaag met ongeveer 500 mensen in de zaal. Ook streamt Tweakers live, zodat de mensen die er niet meer bij konden alsnog de presentaties kunnen volgen. Hashtag vandaag is #buildtour

Er worden een aantal sheets getoond, een overzicht van bedrijven waar Microsoft Developers werken. Onder andere Beijer die met MongoDB werkt, Exact en Tappum, een start-up van Eddy Zoë die met Azure scaling werken. Shell die door middel van Visual Studio Team Services wereldwijd hun zaken onderhouden. Een stukje reclame voor de Techdays die op 4 en 5 oktober gehouden worden en in Haarlem nog een devintersection event van 14 tot 16 november in Haarlem.

Vervolgens komt Kevin Gallo aan het woord voor zijn keynote. De hoofdpunten die hij langs gaat zijn Azure, Office 365 en Windows. Er zijn inmiddels meer dan 300 miljoen Windows 10 devices. Deze zomer zit er weer een grote update van Windows 10 aan te komen. Onder andere een feature voor developers (zoals je dev-mode op je Android aan kunt zetten), zo kan dat ook in Windows 10. Ander voorbeeld is Windows Hello wat met gezichtsherkenning werkt. We krijgen een demo op het podium. Er wordt een grote band van Bridgestone naar voren gerold, Kevin start de applicatie die de mensen “in het veld” op hun tablet hebben. Hij gebruikt hiervoor een pc. Hij geeft Cortana de instructie om “show the next Bridgestone inspection”. Cortana begrijpt niet wat hij zegt, dus opent Bing met wat Cortana verstaan heeft (show the next bridge on spector of iets dergelijks). Dit gaat een aantal keren fout, uiteindelijk blijkt het door de microfoon te komen, want als Kevin die afzet en het zegt gaat het wel in 1x goed. Hij laat zien hoe je met een stylus tekst op invoervelden kunt zetten, met OCR wordt het automatisch omgezet naar echte tekst. Indrukwekkend. Ook het stukje XAML, een tag InkCanvas en tag InkToolbar is voldoende om de stylus erop te laten werken. Vervolgens krijgen we een video te zien waar getoond wordt dat ook Adobe er gebruik van maakt (Illustrator). Hier tekent iemand sportschoenen, met de ene hand houdt hij een vorm op de tablet, met de andere hand de stylus om de lijnen te plaatsen. Dus met verschillende drukpunten, waarbij het plaatsen van de vorm natuurlijk niets moet tekenen. Net als het omzetten van de getekende tekst naar “echte” tekst zeer indrukwekkend!

Voor de developers zitten er 2700 improvements aan te komen in Windows 10. Zo ook een hololens emulator.

Vervolgens komt Nikola Metulev aan het woord. Hij laat wat XAML code zien, waaronder een Adaptive Trigger weermee je de weergave in kunt stellen op het type device (mobiel/tablet/pc). Ook de Raspberry Remote voor het IoT-gedeelte. Even een korte toelichting van Project Centennial (komt later deze middag terug) waarmee je “oude” applicaties om kunt laten zetten naar Universal Windows applicaties (.appx bestanden). Als voorbeeld daarvan wordt Quake 3 getoond die omgezet is. Hierna Jeff Burtoft die de muziekapplicatie Hot Beats laat zien en hoe dit op meerdere devices werkt. Hierna komt Petri Wilhelmsen aan het woord die een demo van bash toont, hadden we via Channel9 al een voorbeeld gezien met hello world, dat zien we hier ook + een spelletje wat zo onder Linux werkt, NetHack. Hierna gaan we door met de sessie over Xamarin. Zoals we al wisten is Xamarin nu onderdeel van Visual Studio en hoef je er niet extra voor te betalen. Waarschijnlijk wel voor de andere functies (verwacht ik, is niet gezegd), want ik kan me niet voorstellen dat de Xamarin Test Cloud, waar duizenden verschillende mobiele toestellen gebruikt kunnen worden om je app te testen gratis is. Zoeken we uit. Xamarin gebruikt de native User Interface. In je project zie je dus een deel code wat gedeeld is, maar vervolgens losse projecten voor Android, iOS en Windows (UWP). Je kunt een testscript maken door dit “in elkaar te klikken”. Dat ziet er makkelijk/handig uit. Er wordt een overzicht getoond met te gebruiken tools, onder andere GitHub, maar ook HockeyApp en Crittercism. Heb je Software as a service en Platform as a service, zo komt er nu ook een Conversation as a service, het bot-framework. Voorbeelden die genoemd worden zijn Kik en GroupMe. Neil Hutson bespreekt de Azure Suite. Zo wordt Azure IoT gebruikt door 3M en BMW. Ook Openstack (cloud service) wordt in een slide getoond, wil ik nog eens bekijken wat dit biedt. We krijgen een korte demo van de game Age of Asat en een stukje van de code waar gebruikt wordt gemaakt van een ReliableDictionary en ReliableQueue. Hierdoor kan tijdens het runnen van de applicatie fixes doorgevoerd worden, zonder dat de applicatie gestopt en opnieuw gebuild hoeft te worden.

Vervolgens nog een overzicht van Microsoft Power BI. Hiermee kun je grafieken en rapportages tonen. Veel klanten hebben het verzoek ingediend om dit in hun eigen ERP te kunnen integreren, zodat klanten niet naar een andere/externe URL verwezen hoeven worden. Hier is een API voor gemaakt zodat dit nu mogelijk is. Microsoft Graph wordt ook kort genoemd. Vergelijkbaar wat je in Facebook hebt, bij Microsoft kun je hiermee bij je agenda komen, je mails en alle andere Microsoft-zaken, voorbeelden worden op het scherm getoond met onder andere /me/messages en /me/events. Te vinden op graph.microsoft.io

Daarna krijgen we nog te zien wat er mogelijk is met kunstmatige intelligentie, die filmpje was ik zelf ook tegengekomen, erg indrukwekkend.

Hierna volgt een korte break.

Daarna gaan we door met de sessie over Xamarin door Petri Wilhelmsen. In de code zien we de verschillende onderdelen van een project. Zo heeft het Android-deel de code in een AXML-bestand. Petri vraagt of we weten wat een Intent is. Enkele mensen in de zaal weten wat het is. Voorbeeld is de Google Maps die je niet helemaal wilt uit programmeren in je applicatie. Met een intent kun je in het Android deel een soort URL doorgeven (in dit geval met latitude en longitude), waarmee Android zelf snapt dat Google Maps met deze locatie geopend moet worden. Stukken voorbeeldcode met asynchrone events, dus met await-statements en waitEvent.Set() / .WaitOne(). Het bouwen van een app voor de iPhone doe je door in Visual Studio remote met een Mac te connecten. In het voorbeeld wordt Monotouch uit de includes weggehaald en echt met UiKit gewerkt. Het voorbeeld kan niet getoond worden door een foutmelding over “codesigning, certificate missing”. Blijkt dat Petri eerst de emulator had moeten starten…

Daarna komt Jeff Burtoft aan het woord die het over Web Apps gaat hebben. Of zoals hij zelf zegt gaat hij 5 mythes bespreken over Hosted Web Apps en duidelijk maken dat het niet klopt, waarop wij met zijn allen mogen roepen dat die myth “busted is”. Zo is er de mythe dat mensen niet met Hosted Web Apps willen werken. Jeff laat een overzicht zien van apps die we waarschijnlijk allemaal wel eens gebruikt hebben en gebruik maken van HWA, zoals de BBC iplayer, de Subway-app, Shazam en Pandora. Shazam werkt met C++ (de core-code die jouw opgenomen fragment uitspit en teruggeeft welk nummer en welke artiest het is), de interface ervoor is een HWA. Busted dus. Zo zouden web apps “sucken”. Met manifold en een manifest.json kun je een HWA opbouwen. Werkt prima, busted. Zo zou een HWA niet bruikbaar zijn omdat als je offline bent je er niets mee kunt. Is ook niet waar. Met appcache en allemaal andere middelen kun je zorgen dat de HWA nog steeds werkt. Zo laat hij de Hot Beats app zien, waar als hij de netwerkconnectie uitschakelt we overschakelen naar een 8 bits-versie met een drumcomputertje. Ook dit statement is busted. Het volgende vooroordeel is dat het net zo leuk is om te debuggen als de belasting te betalen. Ook niet waar, want je kunt gewoon met F12 de debug-tools runnen in je HWA. En omdat we ook andere browsers ondersteunen kan met vorlonjs.io ook van afstand de code in andere browsers gedebugd worden. Zo laat Jeff een voorbeeld zien, we gaan allemaal met onze mobieltjes naar een banking-pagina. Je ziet op het scherm dat er veel Windows-mobieltjes onder de bezoekers zijn, maar ook Android en iOS. Jeff past vanuit Vorlon bij één van ons het saldo aan. Busted dus! De laatste mythe, zo zou een HWA minder mogelijkheden hebben dan een native web app. Jeff laat Sponza zien als HWA. Vervolgens neemt hij de besturing over met zijn Microsoft Band en vliegt zo door de ruimte heen. Microsoft heeft een site hiervoor om het verder door te nemen: aka.ms/HWAMythBusting/ Als laatste laat hij nog weten dat je  met Windows-G screencasts op je pc op kunt nemen. Die kende ik nog niet.

We gaan even uit de zaal weg voor de lunch. Als we terugkomen is er eerst een quiz. Per vraag zijn 2 antwoorden, je kunt je keuze laten zien door head (handen op je hoofd) of tail (handen achter je rug). De eerste vragen zijn simpel, ik hou het nog redelijk ver vol. Maar dan komt er ergens een vraag met keuze voor DirectX12 of iets met framerate, mijn keuze voor DirectX12 is fout. Meteen daarna gaan de mensen die nog staan naar het podium om uit te maken wie de prijzen winnen. Daarna volgt de sessie over Universal Windows Projects – Building Engaging Experience door Nikola Metulev. Door de universele controls zie je op de verschillende devices dezelfde interface. Nieuw in XAML is de edit-en-continue mogelijkheid, zodat je als je project uitgevoerd wordt en je de XAML aanpast, je dit meteen te zien krijgt. Ook zit in de resources nu ondersteuning voor animated gifs, zodat geen externe componenten hiervoor gebruikt hoeven worden. We krijgen nog wat tags in de XAML te zien, zoals de ItemsUpdating / ScrollMode waarmee je kunt zorgen dat een bepaald deel in je scherm “gelocked” blijft. Ook heb je nu de Access-keys waardoor je van input naar control kunt doorspringen (handig als je het op je XBOX gebruikt en alleen met je joystick door de velden kunt bladeren). Want als je een slider hebt, ga je bij rechts dan naar de volgende control of laat je de slider naar rechts gaan? Ook worden nu Win2D functies ondersteund, we zien een voorbeeld met GausianBlur. In je applicatie kun je met App Extensions extensies inladen. In de Windows Store kun je met package flight een groepje mensen jouw applicatie laten installeren/testen. Ook heeft de Store nu een eigen SDK.

Hierna komt Project Centennial ter sprake. Had je vroeger last van “registry bloat/DLL hell/distribution problems”, met Centennial draait alles in een eigen omgeven en heb je daar geen last meer van. We zien hoe de mediaplayer classic wordt omgezet. Je kunt hier nog eigen features aan toevoegen. Zo kun je Cortana integreren, maar ook de live-tiles. We zien hoe de mediaplayer een eigen tile heeft en daar de albumhoes laat zien en het nummer/artiest wat nu op pauze staat. De converter is hier te downloaden: aka.ms/converter

Hierna volgens nog een aantal urls:
– API’s, SDK’s en opensourceprojecten van Azure: https://github.com/azure
– Codelabs, waar je zelf mee kunt stoeien: aka.ms/codelabs
– Voor interacties met een Iot applicatie in Azure gebruik je de Azure Device Explorer

Vervolgens komen nog een aantal termen voor IoT voorbij, zoals OMA LWM2M en een aantal minicomputers die IoT ondersteunen (alternatieven voor de Raspberry Pi), zoals de Thingdev Kit, de Adafruit Feather Huzzah en de Feather Mo WiFi.

Hiermee zijn de sessies afgelopen. Er volgt een korte break, hierna begint het Question-and-Answer-panel. Veel van de bezoekers wachten dit niet af, maar vertrekken. Ook ik besluit om mijn jas op te halen en naar de parkeergarage te lopen. Hier reken ik mijn kaartje af (35 euro) en rij ik Amsterdam uit. Langzaam rijdend verkeer op de rondweg, maar over het algemeen rijdt het goed door, dus om 18.30 exact ben ik weer thuis. Een boeiende en interessante dag, nu binnenkort wat gaan inplannen om wat zaken te gaan testen.