Developers clamor for unified dev tools for Microsoft's 3 operating systems
Analysts expect a long-term integration of smartphone/tablet/desktop OSs
Should Microsoft merge its smartphone and tablet/laptop/desktop operating systems into one substantial OS?
It's not just a theoretical question prompted by an older "write once, run anywhere" development mindset. Merging the Windows Phone OS with the Windows OS and Windows RT OS could give Microsoft a boost in attracting more developers and, ultimately, improving its market share for smartphones and tablets, analysts told Computerworld. The longtime desktop leader has been late to both smartphones and tablets and is struggling to garner more than its 6% share in the mobile market, according to IDC and Gartner.
Meanwhile, four Windows developers said they want more development tools in common across all three Windows platforms. A single OS would not be as important to them, as there will always be differences in devices, they said. Microsoft said that it already provides substantial code that can be shared across its OSs and that it pursues alignment wherever it's practical.
"At some point, I do think it's important to bring the OSs together, although that's a long ways away," said Bob O'Donnell, an analyst at IDC. "It's a fair amount of work and even then you won't ever combine them completely."
Carolina Milanesi at Gartner had a different take. "I find the whole idea of 'design once and deploy to many' a little simplistic and to some extent set to achieve mediocrity rather than excellence," she said.
Despite Milanesi's reservations, Gartner forecast that the Windows OSs will merge whenever Microsoft releases Windows 9, possibly in the 2015-16 timeframe, said Ken Dulaney, also a Gartner analyst. The primary evidence that Microsoft is set to merge the OSs is today's common Windows 8 and Windows Phone 8 kernel, he said.
Microsoft's operating systems for its smartphones, tablets and desktops run on the same underlying kernel but still have significant differences.
Those differences mean that app developers need to write separate code for Windows Phone 8 (for smartphones), Windows 8 (for laptops, desktops and X86 tablets) and Windows RT (for ARM tablets). The biggest differences in code relate to screen sizes and resolutions of the various devices, ranging from a 3.5-in. smartphone, a 10-in. (or bigger) tablet or laptop, to a much bigger desktop display. Windows Phone also has a phone calling API (application programming interface) that is handled differently in Windows 8 if a developer wants to build an Internet calling application.
Today's separate Microsoft operating systems also mean that apps customers usually need to buy separate apps of the same game or app title for use on Microsoft's different platforms. For example, at a Microsoft demonstration at Mobile World Congress in Barcelona in late February, a marketing official boasted how Windows apps can run on different platforms, such as an Xbox, Windows Phone 8 smartphone and a Windows 8 laptop. But the official conceded that he had to buy three versions of the game Skulls of the Shogun for those three platforms, totaling $25, instead of just one version that would run on all three.
Windows 8.1 preview coming late June
The long-term issue of integrating Microsoft's OSs goes beyond changes expected in Windows 8.1, which Microsoft has teased for public preview on June 26 at its BUILD developer conference.
Meanwhile, a major concern for Microsoft has been a relative shortage of mobile apps, especially when compared to Apple's iOS and Android. The Windows Phone Store has about 145,000 apps and Windows Store has more than 70,000, Microsoft confirmed this week, but both Google's Play store and Apple's App Store have more than 800,000 apps.
To increase the number of Microsoft apps, Dulaney said it would generally help developers if they can run a single app across platforms for less maintenance. Those developers would still have to work on rendering an app for a different screen size, which Dulaney said can be done in a single development platform but would require training developers on the proper methodology.
Having fewer apps to write for Microsoft's various platforms could persuade some Android or iOS developers to move over to Windows as well, some analysts said.
While it might seem like a good idea to have a single code across Microsoft platforms, some analysts said there will still be developers who want customers to pay for a separate version of a game or app for each hardware platform, if only to raise more revenue. Those developers should have the right to continue to charge for separate apps used on each platform, the analysts said.
Dulaney said integrating its operating systems would not necessarily give Microsoft a market advantage over iOS or Android, even though it would be desirable for developers to do so. "All users care about is if an app is there in an app store or not," he said. "How it got there is an OEM (original equipment manufacturer) issue."
Building a unified development environment
With a common kernel, Windows Phone and the mainstream OS have been effectively merged for a couple of years already, said Jack Gold, an analyst at J. Gold Associates. "There is already a more or less unified development environment," Gold said. "That said, there are now and will be in the future, differences between a phone-based OS and a tablet and PC-based OS. If you try to eliminate the differences and merge them into one common OS code base, you will end up with compromises that don't optimize either platform."
Gold noted that there are many 3G and 4G components in the phone OS that aren't needed in the core OS for PCs or tablets, while there are "lots of networking-specific DLLs [Dynamic-link library] and other executables that have no place in the smartphone world."
Gold noted that optimizing for battery life on a smartphone versus optimizing for raw performance on a PC are quite divergent design points. While tablets and PCs are aligned more closely in components, there are distinct differences that warrant "tuning" the OS to the platform.
Gold said the Microsoft operating systems will move closer together over time, as will Google's Chrome OS with Android. However, "I don't see them ever fully merging, since that would sub-optimize the various requirements and probably make the result less attractive for users and manufacturers," he said.
Patrick Moorhead, an analyst at Moor Insights & Strategy, said that what Microsoft needs more than a unified OS is a unified development environment, which he expects will emerge in the next 18 months. "A unified Windows OS risks being a light PC OS and too heavy for phones," he said.
Rob Enderle, an analyst at Enderle Group, said that with software virtualization, Microsoft potentially doesn't have to create a "one-size-fits all" OS. However, he said Microsoft seems to be on a path over the next five years of using an embedded core for all platforms where developers would add user interfaces that work best for a certain screen size.
Insights from Windows developers
Whether Microsoft's operating systems fully come together was the subject of some debate among four developers who were interviewed separately by phone and email. However, all four support a fuller common development environment across all the platforms.
James Vertisan, CEO of Vertisan Inc., a maker of golf-related apps, said it is "imperative to merge" Windows, Windows RT and Windows Phone, and he commended Microsoft for already offering a shared code base between the OSs.
He estimated about 75% of the source code is already in common. "There are things we can't re-use across platforms, such as the layout of a particular view, but everything else that lives beneath is synonymous," Vertisan said. A phone is primarily navigated vertically and displayed at 800 x 600 pixels, while a tablet, displayed at 1366 x 768, is navigated primarily horizontally.
Vertisan makes the Shotly golf app for Windows Phone 7 and 8 and iOS, and is about to release a social networking app for golfers called Golfly, which is being showcased on Windows 8 devices. It will allow users with a tablet to remotely follow someone playing golf, picking up their inputs on shots from a smartphone running Shotly, with the ability to interact and send text messages, such as "Great shot!" Both Shotly and Golfly are free apps, although in-app purchasing and upgrades are available.
Vertisan sees a chance for Windows Phone and Windows tablets to grow in market share, partly because of the ease of development of apps. He said he and other developers have seen efficiencies in using Microsoft's C# and XAML programming languages in building apps for Windows.
"The base core of the OSs is coming together and that's a good thing to help speed to market of apps ... but to a certain extent the operating systems need to remain a little bit separate," added Atley Hunter, a developer of Windows Phone and Windows 8 apps.
"Moving Windows Phone to the full Windows kernel made a big difference in device management, security and hardware support, [which] allowed the development platform to grow closer together allowing increased code re-use," added Tom Verheoff, a partner for Methyllium, which recently built the Windows 8 hotel booking app for Booking.com.
"Really unifying the [three] platforms into one Windows development environment would be a big improvement for the developer experience. Windows Phone 8 already allows reusing big parts of an app's codebase, but reusing even more would allow developers to save time and money," Verheoff said.
Creating a single, unified development environment for all the OSs "should definitely be a high priority" for Microsoft, Verhoeff added. Doing so would "make the life of every developer on the platform a lot easier and grow the addressable user base."
Chris Houdeshell, a project manager for an energy company who also codes for the Windows platforms in his spare time, said it is "vital that Microsoft merges certain aspects of Windows Phone and Windows." Noting that although the platforms share a kernel, networking stack and other features, he said, there is "more that can be combined and shared," such as a common Bluetooth stack and much of the user interface and user experience. He urged Microsoft to share complete integration of Windows RT API's with the other two platforms.
Microsoft officials haven't been explicit in describing their plans for integrating their operating systems or development platforms. However, they pointed to several examples of how developers can share code among the different OSs.
In February, Greg Sullivan, senior product manager for Windows Phone, noted the common kernel in Windows Phone 8 and Windows 8, and said it was possible that Microsoft will eventually have a single app store for buying applications that work on different devices.
A Microsoft spokeswoman this week told Computerworld that code can already be shared by developers across Windows 8, RT and Windows Phone 8, but added, "it will always be necessary for developers to tailor experiences appropriately for different device types."
The spokeswoman offered a link to a Microsoft Web page dated May 31 on how to maximize code reuse between Windows Phone 8 and Windows 8.
Asked whether it would make sense to merge Windows and Windows Phone, if only to give developers a quick way to write once, run anywhere, Microsoft responded: "While developers cannot currently develop a single app for use across Windows 8, Windows RT and Windows Phone 8, substantial code can be shared across all. It will always be necessary for developers to tailor experiences appropriately for different device types. Microsoft is committed to making app builders' lives easier, and driving alignment wherever it makes sense in as timely a manner as possible."
This article, Developers clamor for unified dev tools for Microsoft's 3 operating systems, was originally published at Computerworld.com.
Matt Hamblen covers mobile and wireless, smartphones and other handhelds, and wireless networking for Computerworld. Follow Matt on Twitter at @matthamblen or subscribe to Matt's RSS feed. His email address is email@example.com.
Read more about mobile apps in Computerworld's Mobile Apps Topic Center.