The Arctic Cloud Developer Challenge (ACDC)
The Arctic Cloud Developer Challenge is a globally unique event. Mixing together a traditional conference with quality sessions, a good old hackathon with world renowned judges from the respective skill domains and a vibrant, knowledge thirsty community around Microsoft cloud technologies.
Arctic Cloud Developer Challenge was formerly known as Arctic SharePoint Challenge.There has been a notable shift in the marketplace from viewing SharePoint as an isolated entity to more as an important part of a range of loosely coupled, integratable services across Office365, Dynamics 365 and Azure. The focus of the challenge is then organically shifting from solely concentrating on SharePoint to embracing all Microsoft cloud technologies.
The challenge took place in Oslo, 8-11 February 2018, and the year’s theme was “Game of Thrones”.
Keeping up the tradition and success of previous years, the new Arctic Cloud Developer Challenge was held at the top of Oslo at Voksenåsen Hotel.
Figur 1 ACDC 2018
This year, the challenge was full of complexity both for competitors and judges. The fact that the range of products/tools to use and evaluate was so wide, made it complicated to decide what to build and how. The categories to be evaluated are explained here.
The first step for all teams was to pick a nickname for the team. Ours was: “The three-eyed ravens”. Then we had to start brainstorming about ideas and technologies. We came up with a messaging system that would secure transferring information between kingdoms.
We had to adapt the concept to the Game of Thrones realm, so we came up with an interesting and crazy story.
The kings are impatient, there have been a lot reports of many spies in the seven kingdoms. The cloud has started to show its magic to the different realms, the kings were able to try a very strange device that the elders call: “Surface”. It looks like a mirror, and it shows lines magically as a person puts fingers on it.
This “Surface” is Alive!, It is able to recognize who is watching it and magically asks questions to know what the king wants to do.
Figur 2 Authenticating
Figur 3 Welcome interface after authenticated
The king can then write “Send a message” and the mirror answers with another question: “what is the content of the message?”. Once the message is written, it asks for the destination (the king who will read the message), and finally it asks for the name of the messenger who will personally deliver it.
Figur 4 Writing the message to be sent
Start the ride!
This “Cloud” knows magically what has been written in that weird mirror, it generates a very strange scroll with a ciphered message that is given to the messenger. He starts the ride to the destination kingdom. We hope he can make it!
Figur 5 Encrypted message
The message has arrived, the king has been provided with a strange crown that the elders call “Hololens”, it allows the king to see a ghostly figure that calls itself “The cloud” and that nobody else can see except the one wearing the magic crown. The king can talk to the cloud and he requests to validate the messenger who has brought this letter. It is confirmed! the message comes from Winterfell and the text is magically deciphered and shown by the cloud.
8 days later, another messenger was sent to deliver the message to a different realm. This time unfortunately he was intercepted by a king’s landing spy. He was killed, and the spy took the letter to deliver it himself and that way he would be able to know what the content was when the king deciphered it.
Queen Khaleesi used the magic crown to validate the messenger, but this time the message was clear: He is a spy, kill him!. She asked Dracarys to take care of the spy.
What is behind all of this?
Microsoft Ink does the trick! We created an app that runs in the surface that will automatically take pictures every 5 seconds to check if there is someone in front of the screen, it works as the authentication mechanism. Of course, the information about the messengers and kings have been previously saved using a mobile interface created using power app studio. A unique key is automatically generated for every new user.
Once the person is authenticated, the surface asks for a text to be sent, the king is going to manually write this message, we really hope that his handwriting is good!
It asks then for a destination and the messenger. So, the king writes their names and they are validated against the info saved in Face API database.
This same logic we were able to duplicate in a mobile app by using different technologies but the same concept.
To make all this work we are using:
- Power app (Initialization UI to register messengers and kings)
- Azure tables (Storing info about kings, messengers and delivery)
- Key vault (to store securely the app key)
- Azure functions (Logic to connect all the pieces)
- Microsoft Ink (handwritting app)
- Bot framework (for communication with user in surface)
- Cognition services
- Face API (authentication before writting message)
- Computer vision (translation from handwritting to data)
To validate the message and messenger we use an interface developed with Unity3D to be shown in the HoloLens. It is configured to activate the following features:
- Internet client
- Picture library
Figur 6 Unity3D project
At the start, we show a hologram with the form of a scroll that will act as the communication system between the user and the cloud. Using voice commands, we execute some methods to be able to call the azure functions published in Azure. The holograms react when commands like “Hello Cloud” or “Validate Messenger” are submitted.
Figur 7 Live demo
The first action executed by the user is the validation of the messenger, The HoloLens executes a HTTP POST including the picture of the messenger and his unique key. This way the system can validate if that messenger was sent to that specific king. The magic behind the AI service (Face API) works very well.
If the messenger is validated then the king proceeds to read the text in the scroll. This is of course encrypted, so we execute another HTTP POST with the picture of the text to an Azure function that gets the text, sends it to Computer Vision OCR and decrypts the text obtained. It is then returned to the HoloLens and shown in the Text hologram, so only the king can see it.
Finally, we are showing a couple of holographic dragons that respond to voice commands from the user, like “burn him”, this activates an animation that gives the cool touch to the app.
The project can be located in the following git repo: https://gitlab.acando.no/nocarbri/three-eyed-ravens.git