Windows 10 (like Windows 8 before it) isn’t just a new version of Windows. It also comes with a new model for building apps that’s much more like the sandboxed approach of smartphone operating systems.
These apps, currently known as Universal Windows Platform (UWP) apps (previous versions were WinRT, Metro, Modern and Store apps), get access to the new platform features like live tiles on the Start screen, ink input, working with Cortana and creating notifications in the Action Center. But they’re also more limited in some ways, and deliberately so for reasons of security, reliability and battery life.
UWP apps don’t make permanent changes to the Windows environment when you install and use them. Instead they use a virtual registry and system files so they don’t cause conflicts with other apps and they’re easier to remove cleanly. The AppX package they install from can be updated seamlessly to give apps new features. “All developers want their users to be on the most recent version of their app and all users hate popups telling them to upgrade. UWP apps can fix that,” Kevin Gallo, vice president for the Windows developer platform tells CIO.com
The apps need permission to access hardware like microphones and webcams, and they can’t access the entire file system, so a malicious app can’t do as much damage. If they’re running in the background, UWP apps might be closed automatically if the system needs more memory. And what makes them universal is that, if developers choose, the same app can be written to run on a desktop PC, tablet, phone, Xbox and HoloLens — because they all run Windows 10. “UWP is about taking advantage of the full power of the desktop while still developing for other devices,” Gallo says.
The Windows 10 APIs used by UWP apps are where all the new Windows APIs are being added, although many of those APIs can still be used by traditional desktop applications. The AppX packaging format of UWP apps is also used by Windows Server Apps; that’s key for Nano Server where you can’t run the traditional GUI installers used by many server apps, but it also makes for cleaner installs on Windows Server 2016 systems because AppX doesn’t support custom actions.
There’s an increasing number of tools for building UWP apps — from Microsoft’s Xamarin cross-platform development system to the UWP Community Toolkit. In fact, it has been possible to build UWP apps with Xamarin for months already; the team building Xamarin actually does most of their prototyping and core work in UWP.
Microsoft recently worked with Telerik to open source UWP controls for key user interface elements from familiar tools like data grids, data forms and chart controls, to controls for working with touch and ink, and radial controls to use with Microsoft’s Surface Dial. It’s about making it easier to develop UWP apps, said Gallo. “Our enterprise customers tell us that they need a simple toolkit to paste together the simplest apps for their business and we can help them save time.”
Opening up the bug database for the UWP, including the backlog of features that are in development, should also address complaints from developers about lack of clarity over Microsoft’s plans that go back to the first announcement of WinRT in Windows 8 (if not before). “People tell us it’s a black hole; they don’t see it from us until the release,” says Gallo. “It’s just not as transparent as we think it should be. We see ourselves being more efficient internally when we do that and we want to make sure we have transparency in the way we talk about our bugs and feature requests and the way we’re evolving the system.”
Bridging the UWP gap
Convincing enterprise developers to pick up UWP has been an uphill battle for Microsoft, and not just because they only run on Windows 10. Nicholas McQuire, vice president for enterprise research at analyst firm CCS Insight blames both the pace of Windows 10 adoption in the enterprise (which he says will pick up strongly this year) and “Microsoft’s general lack of traction and focus on mobile over the past few years.” But, he adds, “there’s also a general lack of awareness in enterprise on the advantages of UWP and the specific use cases where UWP drives more value.” Plus, “having to rewrite existing desktop apps from scratch has been a barrier, as there still is a ton of immaturity regarding internal mobile app development in general in the enterprise.”
Businesses have existing .NET and Win32 apps that they want to keep using. To make it easier to convert those to UWP, Microsoft introduced the Desktop Bridge last year (it was originally codenamed Project Centennial and is also referred to as the Desktop App Converter). This is a tool that wraps existing apps as UWP apps by watching what registry entries and system files they change and virtualizing those changes.
“We’re trying to make sure that with UWP developers can build powerful desktop apps,” says Gallo. “They’ve been able to build mobile and mixed reality apps and target Xbox, but we need to make it easier and simpler to move forward their existing apps, to take advantage of UWP on a desktop PC.”
With the Creators Update, converted desktop apps get access to technologies like ink input and Cortana, and even the Microsoft Bot Framework, because they have access to more APIs. Another useful new option: you can now build a Desktop Bridge app that can start up when the OS does.
The Desktop App Converter is now in the Windows Store, so it’s easier for developers to find. And the standard Windows installer tools, Install Shield, WiX and Advanced Installer, can all now work with the converter, so you can create the converted app as part of the normal developer workflow.
Those converted UWPs are slightly different from standard UWP apps because they run with full trust, not in the UWP sandbox, and they can do things those standard UWPs can’t, like accessing the entire file system. They can’t install their own drivers, but they can work with existing drivers for access to hardware, databases and network APIs. This sacrifices some of the protections of UWP to extend the convenience of updates to these apps — and you do still get the virtualized registry and system files, which improve reliability.
That’s what’s most attractive to enterprise developers, says Gartner analyst Steve Kleynhans. “When I talk to customers, they don’t generally say ‘we’re going to convert all our apps to UWP.’ They’re not being driven towards UWP because they think it’s some great new thing that they can run on every device they’ve got.” Enterprises looking for cross-platform apps will stick with browser-based apps, he says. “That’s still the biggest trend with desktop apps: shifting them to the browser, not rewriting them as UWP. What they’re really intrigued about is the Store and the ability to package apps up for self service and deliver them through the Store mechanism.”
“In that sense, the Desktop Bridge is doing exactly what customers want. It’s giving them the opportunity to take the bulk of legacy apps and package them all up so they can be delivered through the Windows Store and enable a self-service model, enable cleaner installation and deinstallation of apps, and potentially open up new models around how things get licenced and deployed.”
Third party software developers are also interested in converting desktop apps, and not just so they can distribute them to enterprises as UWP apps through the Windows Store, explains Ginny Caughey, president of Carolina Software, Inc. and a Windows Development MVP.
“There are two main advantages for using Desktop Bridge for ISVs with existing desktop code: For ISVs whose products and business plan fit the Windows Store model, using Desktop Bridge gives them a new additional way to sell their software, and some companies like Adobe already have Bridge apps in the store.”
“For vertical market ISVs like Carolina Software, the Windows store model doesn’t work from a business prospective — revenue share, support, lack of support for the RFP bidding process common in our industry, etc. — but there are still advantages to using Desktop Bridge. The apps install and uninstall cleanly with the virtualized registry and Windows folders, and using Bridge allows us to add Windows 10-specific functionality gradually, while still maintaining a code base that works on Windows 7 too. For example, in a tablet application I’ve been working on, just extending the WPF application with live tiles and toasts makes the app more usable, and that was a very easy thing to do.”
Crossing the bridge
The potential disadvantage of making the Desktop Bridge easy to use is that developers might wrap their apps and just stop there. That would make UWP apps less universal, because they wouldn’t run on a phone or on the ARM-based Windows notebooks that are coming out soon.
“Right now they are not having trouble selling enterprises on getting apps into the Store through the Desktop Bridge,” says Kleynhans. “But getting them to take that next step beyond that, to take those apps and make them true UWP; that’s going to take a little more selling on their part. I think Microsoft is going to work very hard to encourage them to just gradually slide on over and take the skills that have been developed in the past with .NET and gradually evolve them into UWP — but that’s still something Microsoft will have to sell enterprises on.”
Microsoft is certainly working to encourage developers to take those converted apps and make them true UWP apps. The first part of that is combining a converted app with a second UWP process, which gets access to UWP features, like running in Connected Standby, that the converted app itself can’t do. Adobe XD uses this combination; the XD app itself is built in UWP but Adobe has also wrapped desktop components from its existing Windows apps like Photoshop using the Desktop Bridge so XD can share them.
With the Creators Update, more of the familiar .NET and Win32 APIs are also available to UWP apps, so it’s easier to convert existing code to UWP. “We had changed the file system API; we’d changed the network API,” says Gallo. “They were better, but it meant you had to update your code or write shims. If you used the underlying APIs that were sitting on the platform, we wouldn’t approve your app if you used them and put it into the store.” Version numbers were different for APIs, again, making porting code more complex than it needed to be.
Microsoft will keep extending the APIs UWP apps can use to make them a better match for existing code, to remove that frustration, says Gallo.
“The ultimate goal is to transition to full UWP apps, but the question at this point is how long that will take,” says Caughey. “Enterprises tend to change slowly — not all client PCs run Windows 10 yet — so it’s not something that’s urgent. But Microsoft has been pretty clear that new technology investments are going into UWP, so we want to move in that direction. If this takes years, well, it took our software years to get to the place where it is now, so that’s not new for enterprises. We’re used to taking the long view and like to know well in advance where the vendors we rely on like Microsoft plan on taking us.”
“Currently there are some hard technical blockers to moving many enterprise apps to UWP,” Caughey cautions. “Lack of direct SQL Server support (SqlClient for UWP) is an important one for me, so I’m pleased to see that feature is now under active consideration for a future version of Windows. Enterprise-focused UI controls like DataGrid have been missing on UWP, although Microsoft recently announced the Telerik UI controls for UWP have been open sourced and can be used to fill this gap. The open source UWP Community Toolkit, which Microsoft sponsors, will also fill some of those gaps until the main Windows SDKs can provide more of what’s missing.”
This may all take some time, predicts Puja Prabhakar, senior director for Digital Workplace at Avanade. “UWP apps have not reached a critical mass yet,” he tells CIO.com. “As Window 10 adoption increases in the run up to 2020, we may see a more substantial inventory of popular apps re-architected using UWP.”
Rise of the tablet
It won’t necessarily be the ‘universal’ part of UWP that attracts enterprises, even though they like the theory, McQuire says. “Some [enterprises] will migrate to full UWP but perhaps not for the converged mobile/desktop/wearable device platform vision Microsoft has been promoting,” he says. “But where UWP will be attractive from the outset is the improvements in security and manageability it offers, especially to mission-critical apps.”
“Longer term, many will also keep an eye on how Windows 10 on ARM and HoloLens develops. But in the short term, the desktop functionality will create the quickest motion.”
Caughey also points out that tablets are changing the way enterprises are thinking about mobility; it’s not just about smartphones. “We’re seeing desktop and mobile blurring. It’s not uncommon for ‘desktop’ machines in the enterprise to be tablets or hybrids similar to the ones pioneered by Surface and now built by a number of OEMs. So, yes, there will certainly be desktop usage of UWP, but many of those ‘desktops’ will also be mobile. As far as traditional mobile devices — we’ve offered mobile point-of-sale solutions based on Windows CE or Windows Mobile that are still in production, but they’re gradually being replaced by inexpensive Windows tablets, which run full Windows so they’re ‘desktop’ PCs from the software angle. This trend was probably facilitated by business experiments with iPads, but Windows tablets are a natural choice in many enterprises, which tend to historically be Microsoft shops with Microsoft skill sets. I see this trend continuing.”
Kleynhans says the real appeal of UWP apps could be the way they can take best advantage of new hardware, particularly Surface Dial and tablets, rather than more niche platforms like Surface Hub or HoloLens.
“Dial is a totally new way of interacting that makes so much sense. It’s an analog device in a digital world. This is a terrific opportunity that opens up whole bunch of new ways to work. I’d like to see new UWP apps leverage that and use it in new ways,” Kleynhans says. Imagine switching from 2D plans to 3D renderings and back, revealing the structure of a building you’re looking at, at the turn of a dial.
Kleynhans expects two-in-one devices like the Surface and Lenovo Yoga will become “the gateway and the enabler for UWP” because of things like pen and touch — new ways you can interact with applications. “When you can start to sketch with your pen and do some of the other things [UWP brings], you can truly switch an application from working in desktop to tablet mode as you’re wandering around the office or going to a work site.”
“When we start seeing apps that can work in multiple modes on the same device when they’re written as a UWP app, that’s when I think we’ll start to see more use of UWP, as companies start to plan out the next versions of some of their PC-based applications,” Kleynhans says.