Insights

Windows 10 and Universal Windows Apps

Software Developer - SE
Valtech Sweden

June 22, 2015

Universal Windows Apps is the next step in Microsoft’s app development for its ecosystem.

In the first step, the apps were completely separate from one another, meaning that developers were forced to create a separate app for each platform. It was certainly possible to reuse some code, but a lot of apps had to be built as separate solutions. After the initial step, Microsoft released something called Universal Apps. With these apps it was possible to reuse more of the code, but developers were forced to create multiple user interfaces; one for Windows Phone and one for Windows. With Windows 10, Microsoft is taking the final step and launching Windows Universal Apps – one app for all devices.

It should be possible to run the app on all devices

Microsoft’s goal is one billion installations of Windows 10 within two years. According to Microsoft, that will be more installations than Android (Lollipop) and iOS combined.

The Microsoft ecosystem is well behind both Apple and Google in terms of the number of apps, and also takes a back seat in terms of where popular apps are released first. But now some of the more important and most popular apps are starting to be developed for Windows. Examples include Instagram, Twitter, and SVT Play. But a few are still missing, such as TV4play, Snapchat, Strava (despite its collaboration with Microsoft Band), along with a few banking apps.

Windows 10 on all devices

Windows 10 is the same operating system no matter what platform it is used on. Windows 10 was just released for Raspberry Pi 2. In other words, Windows 10 will exist for the Internet of Things, phones, phablets, tablets, PCs, the Xbox, Surface Hub and HoloLens. This means that it will be possible to run the same app (Universal Windows App) on all devices and download them from the same app store.

Windows 10 familyWindows 10 on all devices

Same codebase makes it easy

Universal Windows App means that we as developers will be working with a single codebase for all apps. Of course there will still be differences between devices. For instance telephones have GPS, but this is clearly not a feature in an Xbox console. This is something for the developer to resolve by verifying what features are available on a given device and using that knowledge to adapt the functionality accordingly. The important thing is that the same codebase and the same Windows Store are used.

It is possible to configure whether an app should only be released for certain devices if said app is not suitable for a particular device.

Building Universal Windows Apps

Aside from being able to build apps in XAML and C# or HTML and JavaScript just like before, there is now support for four new ways of porting apps to Windows 10.

  1. A shell around existing websites.
  2. .Net and Win32 Adobe will convert Adobe Photoshop Elements and Premiere Elements for download in the Windows Store.
  3. Convert Android Java/C ++ apps.
  4. Convert Objective-C iOS apps (e.g. Candy Crush by King)

The question is how good a converted Android or iOS app will be if the Windows 10 interface is not properly customized. The risk is that the interface will offer a poor iOS or Android experience in Windows 10. It is important to remember that it should be possible to run the app on all devices, though this is not a formal requirement.

Windows 10 and Continuum

Continuum is a feature allowing Windows 10 to adapt seamlessly to the device it is running on, comparable to responsive web solutions. In other words, it should be possible to connect a keyboard and an external monitor to a phone and have the same user experience as if you were using a laptop or full-sized PC. This is an interesting concept, for instance in countries where mobile phones are chosen over computers. It’s a new take on mobile first.

Continuum for Phone productivityContinuum for Phone productivity

We will see what impact Universal Windows Apps has had in a year or so, but to us developers it looks promising.