Ditching decades of software tradition isn't easy.
That's what Microsoft seems to have learned over the last four years, as it's tried to establish a Windows app store with a modern breed of PC software. While Microsoft has boasted of having 700,000 Windows Store apps—spanning phones, tablets, and PCs that run Windows 8 and higher—that's nothing compared to the millions of desktop programs that run on Windows machines new and old.
With Windows 10, Microsoft is desperate to unite these two worlds, and as such, it's trying to blur the boundaries between them. But in talking to app makers, it's clear the company still has a long way to go.
Corel, the makers of file compression software WinZip, wasn't too keen on modern Windows software when I talked to the company a couple years ago. Although Corel had developed a modern version of WinZip for Windows 8, the company was also building more touch-friendly features into its standard desktop (or Win32) software. Jacques Lamontagne, WinZip's vice president of marketing, told me at the time that the Windows Store app was headed for "maintenance mode."
Things have changed since then. In May, Corel released a new version of WinZip for Windows 10, as a modern Universal Windows Platform (UWP) app that runs across phones, tablets, and PCs.
Corel CEO Patrick Nichols says the platform is more robust now, with support for dragging and dropping files between apps and the desktop. It's also easier to extend device support from PCs to phones, allowing WinZip to support Windows 10 Mobile devices with largely the same code.
"By coming out of the gate with a strong UWP app, we’ve built a solid foundation for continued UWP development as the platform gains momentum," says Corel CEO Patrick Nichols.
Plex, which recently released UWP versions of its media playback software, also praised improvements that Microsoft has made over the last year. When Windows 10 launched in 2015, for instance, the way it handled background tasks made it hard for developers to reliably play audio in the background. This has been fixed as part of the Windows 10 Anniversary update, says Max Feingold, Plex's director of engineering.
Feingold also points to new tools that would allow users to easily navigate an app with a keyboard or remote control instead of a mouse, which would be ideal for home theater PC setups. Although these tools are only available for apps on the Xbox One right now, Feingold hopes they'll head to Windows apps in the future.
That said, neither Plex nor WinZip have fully committed to the Universal Windows Platform.
As Corel's Nichols points out, WinZip's desktop app integrates with the Windows File Explorer, something that isn't possible with UWP apps. So instead of trying to work around the issue, Corel has decided to maintain separate apps, with the desktop app offering broader file management and backup capabilities.
"With our UWP app, we found it made more sense to keep the feature set simple," Nichols says. "We focused our attention on users who need to be able to open and easily share files from their device."
Plex, meanwhile, is sticking with Win32 for its Server software, which can stream media files to other devices over a local network or the Internet. While Feingold believes a UWP version would technically be possible, he's not sure it would make sense, given that the main purpose for these apps is to run in the foreground.
"Server software has a different lifecycle, and presents a bit of an impedance mismatch," he says. "For example, a server process wouldn't want to be backgrounded and terminated after a period of inactivity."
Perhaps recognizing the challenges developers face in modernizing their software, Microsoft is also tackling the problem from the other direction. Developers can now package their Win32 software inside the Universal Windows Platform, allowing them to offer some basic modern features such as push notifications and Live Tiles (essentially, larger icons in the Start menu that can display information). Developers can then gradually convert more of their code to be UWP compliant so they can eventually distribute in the Windows Store.
Microsoft has been talking about this initiative, called "Project Centennial," since last year, and just recently started pushing it to developers. But while running some code through a converter may seem like a simple request, developers still aren't sure it's worth the effort.
"Abner," for instance, is a Shanghai-based software engineer who develops a Markdown text editor called Typora in his spare time. (He asked that we not use his real name.) It's currently available for Windows and Mac, with a Linux version on the way, and Abner says testing those versions is already a lot of work. Creating a separate UWP version would create a new burden with little benefit.
"In my imagination, a qualified UWP app should also include Windows 10-specific features, such as Cortana integration, optimization for touch screens, and lightweight size for low-cost Windows 10 devices, such as tablets," he says. "So just wrapping an existing Win32 program without changing its inside is not under my consideration. And there's almost no difference for users."
If Abner did want to create a full-blown UWP app, it would be a massive undertaking. Typora is based on the Chromium open-source browser, itself a Win32 program, so converting to UWP would require him to change the entire framework. And his reward for doing so would be a smaller audience, because UWP apps only run on Windows 10. Currently, Windows 7 is still the more widely-used operating system.
Corel has similar hesitations, though Nichols says the company is looking into the opportunity across all its software lines.
"While the Universal Windows Platform Bridge allows Win32 apps to be packaged under UWP, it doesn’t ensure that the effort required will be easy," says Corel's Nichols. "Some code in desktop apps may not run without significant changes when installed as a UWP."
It may seem obvious now that the UWP-Win32 duality isn't going away anytime soon, but this point wasn't always obvious to Microsoft.
In 2012, for instance, a Microsoft executive said he expected 100,000 Windows Store apps within four months (it took twice as long) and 400 million Windows 8 users by July 2013 (there were only 110 million by September of that year). There was even a time when the company thought it feasible to have Windows machines that only ran these modern apps. In other words, Microsoft tends to overestimate the willingness of developers and users to embrace the company's plans.
That's not to say UWP will always play second fiddle to classic desktop software. Plex's Max Feingold believes that most Windows development will happen through UWP in the long run, as the platform becomes more capable, and more people start to use the Windows Store.
Still, he says, this distinction is something of a false dichotomy because UWP is built on Win32, with developers able to tap into a growing subset of those Win32 capabilities.
"It's not unlike the transition developers made from assembly language to C/C++ and other high-level languages, back in the day," he says. "Assembly language didn't go away; it was just abstracted away until it was no longer the way most people programmed."