Ook dag 2 van de Build conference was goed gevuld met sessies. Er is te veel nieuws om op te noemen, maar in deze blog probeer ik weer een aantal hoogte punten uit te lichten. Bijvoorbeeld C# 7, de toekomst van .Net, Xamarin, DocumentDB en Cogitive API’s.


Xamarin

Tijdens de keynote was er veel aandacht voor Xamarin. Dit bedrijf is afgelopen maand overgenomen door Microsoft en wordt binnenkort gratis(!!!) aangeboden voor de gebruikers van Visual Studio Professional, Enterprise, maar ook de gratis VS Community edition. Voor de mensen die het niet kennen: met Xamarin kun je native iOS en Android apps bouwen, geschreven in C#. Daarmee heb je dus een top IDE, top Taal en een grote gezamenlijke codebase waarmee je echt voor alle platformen apps kunt ontwikkelen. De Xamarin testcloud zal vast niet gratis zijn, maar is zeer indrukwekkend. Met een paar clicks kun je je app op vele tientallen fysieke devices testen, die ergens in de cloud aanwezig zijn. Mocht je test niet slagen, dan krijg je precies te zien op welk apparaat dit dan was. Stacktraces, screenshots en zelfs filmpjes van de applicatie zijn terug te vinden zodat je sneller kunt achterhalen hoe je de applicatie werkend kunt krijgen.
 

Office

Microsoft blijft hameren op de development mogelijkheden binnen de Office omgeving. Nieuw was onder andere de ondersteuning van Office Add-ins op iOS, Word.js 1.3 en de uitbreidingen van Office Graph. Daarnaast is het mogelijk om vanuit je app, knoppen op de Ribbon te plaatsen en dialogen te openen.
 

Power BI embedded

Stel je hebt data en daar zou je graag wat rapportages mee maken die je in een applicatie wilt onderbrengen. SQL server biedt natuurlijk diverse BI opties, maar ja, dan moet je dat allemaal installeren, configureren, implementeren en beheren. Met Power BI embedded, bouw je de rapporten eenvoudig in Azure en toon je ze in je applicatie zonder dat je zelf iets hoeft te installeren of onderhouden. Super makkelijk en in veel situaties ook kosten effectief.
 

Azure Functions

Als je code wilt uitvoeren op Azure zal deze gehost moeten worden op bijvoorbeeld een VM of een service. Met "Azure Functions” kun je ook eenvoudige code uitvoeren onder deze specifieke host. Het is een event-driven systeem waarbij de executie wordt getriggerd door een bepaalde gebeurtenis. Bijvoorbeeld in een situatie waarbij IoT devices data naar Azure sturen waar ze geanalyseerd worden. Bij de analyse blijkt een bepaalde situatie op te treden, die dan de Azure function kan aftrappen (die bijvoorbeeld een notificatie kan afleveren). De beschikbaarheid van de functie schaalt automatisch mee met de vraag, dus altijd voldoende resources om je functionaliteit uit te voeren.
 

DocumentDB

Ten eerste worden de prijzen aangepast zodat je behoefte aan performance (throughput) en data hoeveelheid los van elkaar kunt bepalen. Daarnaast ondersteuning voor MongoDB, zodat je de tooling en providers voor MongoDB kunt gebruiken op DocumentDB databases.
En als laatste de DocumentDB global databases, waarbij de data over meerdere Azure regions gerepliceerd wordt, zodat je applicatie overal ter wereld snel met de data kan werken. 
 

Toekomst van C# en .Net

Over dit onderwerp zal ik later nog een complete blog schrijven. In het kort: geen grote nieuwe features, maar veel kleine zaken waar je vaak tegen aanloopt en die nu zijn aangepakt, zodat we productiever en plezieriger kunnen werken. (later meer)
 

Cognitive Services

Gisteren heb ik het al even gehad over de Conversation as a service en dat daarbij de taalkennis van de computer systemen heel belangrijk is. Maar communicatie is niet alleen tekst. Daarom werkt Microsoft aan andere intelligente services waar wij ook gebruik van kunnen maken. Daaronder vallen bijvoorbeeld de Bing Searchengine API’s, maar ook de Vertaal service, Spraak services en de Visuele services.
 
Die Visuele services bevatten onder andere API’s waarmee gezichten herkend kunnen worden, afbeeldingen geanalyseerd kunnen worden of emoties van gezichten afgelezen kunnen worden. Hier onder een aantal voorbeelden:
 
 
Het is natuurlijk wel een duidelijke foto, maar de analyse is akelig accuraat. De positie van ogen, neus en mondhoeken zijn 100%. Rechts staat ook aangegeven dat ik wat gezichtsbeharing heb en dat mijn leeftijd wel erg goed in de buurt komt van de waarheid.
 
 
Hier geen gezichtsanalyse maar een analyse van de gehele foto. Hij ziet "een man (van 34) zittend op een motor op een parkeerplaats”.  Ondanks dat het gezicht er maar klein op staat, is de inschatting nog best redelijk en eigenlijk valt er verder ook weinig aan toe te voegen. Niet elke foto wordt zo goed geanalyseerd, maar dit is ronduit indrukwekkend! 

Deze service werd als voorbeeld toegepast op een bril voor blinden. Door op de bril te tikken wordt er een foto gemaakt. De persoon krijgt te horen wat er op dat moment voor hem gebeurt.
 
 
De emotie API bepaalt in welke mate je blij, boos, verbaasd, bang, verdrietig, enz. bent. Inderdaad bij deze foto moeilijk te ontkennen, maar ik sta er 99,95% happy op. Dat is wel behoorlijk happy en deze foto is zelfs nog wel voor al dit leuke //Build/ nieuws gemaakt :-)