Universal Windows Platform is the one unified code framework for Windows 10 Mobile, Desktop, Tablets, Embedded Devices and soon also Xbox One. Since I’ve been developing Window Phone and Windows Store apps for a while, I obviously needed to try out the new code base.
The side project I was currently working on is a digital wall of my photos, which typically end up on my OneDrive where I never ever watch them again. So I thought this was the perfect project to try out the new platform.
I wanted to create an application which randomly but in a per-album fashion shows my photos from OneDrive, that runs on my laptop, any Windows 10 tablet, my Raspberry Pi 2 and later also my Xbox One. When the app runs on several devices, they should synchronize the content that is shown, so for example showing different photos of the same album at a time and then in a coordinated way switch to the next album.
I found the Universal Windows Platform to be the perfect choice for that task. I only needed to set up one project, and it would run on all those devices, without needing to adjust the code or the structure or port anything.
Also, setting up the Raspberry Pi was super easy and convenient. The tools Microsoft provides make it simple to choose the kind of device, deploy the Windows IoT Core image and remote-control the device in the network. Remote deploying and debugging through Visual Studio was easily set up and worked perfectly.
Running the application, I wanted to block all access to the device. Windows 10 comes with a Kiosk Mode which is called Assigned Access. This means that the application runs on top of the lockscreen and therefore prevents others from using the device, shutting it down or switching apps. Since I was using OneDrive, however, using the lockscreen would mean that the user is not authenticated which would prevent me from loading the images. So far, I found no other way of authenticating a user than through the UWP client.