Microsoft Thursday offered some early insight into a planned embedded version of its upcoming Longhorn operating system. Called Longhorn Embedded, it's intended for use as control software in x86-based systems that aren't PCs or servers. These include systems such as retail point-of-sale terminals, thin clients, advanced cable set-top boxes, and single-board-computers used in everything from ATMs and vending machines to factory-floor controllers.
Microsoft is expected to provide the first public details of its plans for Longhorn Embedded to developers in May at its Microsoft Mobility and Embedded DevCon in Las Vegas.
However, to date, Microsoft has said little beyond a previous acknowledgement that it hopes to ship Longhorn Embedded roughly six months after the desktop version of Longhorn ships sometime in 2006. "We are not talking about details," a Microsoft spokeswoman said.
Microsoft broke with that pledge in part Thursday on its MSDN network, during a chat on the subject of Windows XP Embedded with Service Pack 2. Longhorn Embedded will be the successor to Windows XP Embedded. The SP2 release, unveiled last December and featuring a series of security upgrades and bug fixes, is the last major planned upgrade of that OS until Longhorn Embedded is released.
"Longhorn Embedded will share the same code base as Longhorn Professional, so any developer skills or tools for one will work for both," Jay Kremer, a program manager in the Mobile and Embedded Devices Group, wrote during the chat. "Keeping these skill sets the same is one of our primary goals in XP Embedded and Longhorn Embedded."
Because of the long product life-cycles in the embedded world, software developers are typically curious as to how well new applications will run on legacy systems. In that regard, Microsoft's embedded team indicated that code generated with Longhorn Embedded should be able to run on existing XP Embedded platforms, so as long as that software doesn't use new Longhorn features such as the Avalon graphics interface or the Indigo Web-services API.
"If you develop something for Longhorn Embedded and it has dependencies satisfied in XP Embedded, it should work," wrote Andy Allred, test manager for Windows Embedded, during the chat. "We are trying to maintain backwards compatibility with EEFs [embedded enabling features] wherever possible, so perhaps some new Longhorn Embedded EEFs will be back-ported to XP Embedded. This is something that we're always cognizant of. Of course, there may be new EEFs or features that leverage technologies only available in Longhorn Pro that are not being back-ported, which means [they] wouldn't be back-ported to XP Embedded."
Allred wouldn't confirm whether Longhorn Embedded will have a command-line build utility, which would speed the ability of developers to create different versions of the OS to try out prior to deployment. "This is a common request," he wrote. "While we're not ready to discuss the details of LH Embedded here, the ability to build from a command line is high priority."
Kremer closed by soliciting feedback from embedded developers. "It's worth mentioning that we're always listening for feedback on what features we should be looking at adding or enhancing for our next release," he wrote, in the chatroom, providing a link for that feedback.
Microsoft has relied on such feedback to build up its embedded business from virtually nothing since it got serious about the field in 1993. The software giant currently fields two main embedded OSes. Windows CE is a tightly configured package that's widely used in PDAs such as Hewlett-Packard's iPAQ Pocket PCs. Windows XP Embedded, which will be succeeded by Longhorn Embedded, is a much larger OS that's based on Windows XP Professional. Like CE, it's componentized, which enables developers to choose functions they need and combine those pieces to create control programs appropriate for their specific industrial-computing applications. A third embedded variation, Windows Mobile, is aimed at Smartphones. It combines Windows CE and a run-time environment known as the .NET Compact Framework.