Two days ago, Brian wrote a post "Microsoft releases details about Windows 8 on ARM (WOA) tablets, confirms it's safe for enterprises to keep buying iPads." In his article, he said that WOA will not be good for enterprise. I don't agree. I first attempted to post this as a comment, but when I started getting close to 2,000 words I decided to email Brian instead, and he agreed to post this as my first guest blog post.
First of all, I want to separate enterprise devices with consumer devices.
Of course people who use iPads at home to read emails in the bathroom want to do the same thing in their workplace, and yes, they want something that has clear, intuitive interface. iPads, Android devices and even Windows Phone devices can be treated the same way. All of them have the ability to run an email client, calculator, tax preparation software, DropBox, and Angry Birds, which is all ok when we're talking about C-level people or IT folks. But when we come down to “power users” or even “task workers,” we will see the real enterprise needs, like:
- Ability to install line-of business applications, including custom-built in-house apps
- Ability to manage a lot of devices at the same time
- Control what users can and can’t do on the devices they use
- Control what users are actually doing (app usage, metering, and activity monitoring)
- GUI customization (auto launch only one app, or hide the GUI entirely)
- Push software updates for the OS and apps (and roll them back)
- Remote wipe
- Out of the box deployment (I.e. special cradles which can be used to flash customized firmware for 8-16 devices at the same time)
- Clear, Enterprise-level support policy and roadmap for hardware and software (not “one more thing”-type)
- Last, but not least – different hardware for different needs with the same management software
As I said, all cheap consumer devices (yes, $599 is cheap) have Wi-Fi, ActiveSync like features, a browser, and some VPN functionality. Some advanced Android devices have calculator and weather applications out-of-the-box. (And I hope someday the iPad will have a built-in calculator!) But can iOS or Android fit in the real enterprise?
Android is a successful newcomer for the following reasons:
- Open platform which allow vendors to do cool products or make Android versions of their old CE or Linux devices. (take a look at Motorola ET1 ($1500), Trimble Nomad ($1500) or Bluebird Pidion 6000 ($1800))
- Some startups are trying to make solutions based on Android ADX and Arduino.
- Management software is usually ok because it's usually using ported agents for existing software
- Security can be concern for some enterprises
And iOS… so different!
- Only three types of the devices (I can’t imagine Apple TV in enterprise)
- Accessories like barcode scanners, RS232, keyboards or POS equipment are on the market, but they're produced by startups or noname vendors with unpredictable futures and 2-week warranties
- I can’t find Apple support lifecycle policy anywhere. As I understand, Apple supports only the latest two builds of iOS for a specific hardware platform which means no security updates for the 2-year old iOS 4.2
- Some of the accessories for iPhone 1 are not compatible with the iPhone 4s simply because the new iPhone is thinner and the accessories don't fit.
- You can’t lock the device or replace launcher
- You can't replace the battery without losing data. Actually, you can't replace the battery at all!
- There are tools available that can block user installs, sure, but you can not prevent user from wiping device and installing angry birds
- No physical keyboard from Apple
- If you want to centrally manage the iOS devices with any management software, they have to be continuously connected to the internet
- There is no possibility to lock down iOS at all to an enterprise level
- There are plenty of other things you can't do, not because iOS is bad, but just because it's bad for the enterprise.
- You can think different :)
Maybe embedded Linux can fit?
- Linux is everywhere, but nobody sees it. It's in routers, air conditioning controllers, thin clients, and other devices for special use. All of them usually don’t need management at all and almost all of them can’t be customized.
So where is Microsoft in the embedded OS market?
Microsoft introduced Windows CE in 1996 as an extremely small Real-Time OS. During 4 years from 1996 to 2000 Microsoft released 3 major versions of Windows CE, and it became popular for embedded devices such as PDAs and some special embedded computers. In 2002 Microsoft introduced Windows CE 4, which also became the platform for Windows Mobile 2003 and Windows CE.Net. CE.Net and its successors up to Windows Embedded Compact 7 have been adopted in a lot of devices:
- Smartphones (Do you remember that Windows Mobile killed PalmOS?)
- Thin clients (CE and Linux are only thin OSes that support the installation of custom virtual channels for ICA, but only Windows CE thin clients can be modified by the end customer)
- Handheld barcode scanners (Yes, they have RS232 and keyboard emulation),
- GPS computers (some of Garmin and TomTom and almost all no-name devices are running CE)
- Handheld order-takers (McDonalds and In’n’Out, for instance),
- Rugged PCs for all kinds of uses
- Medical Equipment
- Industrial PCs
- You can find more than 900 different devices on the www.windowsfordevices.com website, you can find even more Windows CE devices on eBay!
Microsoft’s lifecycle for Windows CE is little bit more complex than for other versions of Windows, but it is easy to find:
- Microsoft uses a royalty-based licensing model, which is dependent on a rapid and large-scale deployment of working devices. While it is possible to buy it on royalty-free model, it is too expensive. It means that in almost all cases you will buy it with device.
- As soon you got Windows CE with a device, it is supported by your device vendor. Vendors have an agreement with Microsoft that it will cover 10 years of standard support + 5 years of security hotfixes + up to 5 years contractual support
- That means that Windows Embedded Compact 7 will be supported until 2031!
- Each vendor has management software for their devices
- Microsoft has Windows Embedded Device Manager which extends the capabilities of System Center Configuration Manager
- Microsoft has System Center Mobile Device Manager for Windows Mobile 6.1+ devices
- ActiveSync connected devices can be managed by Exchange server
- Lot of third-party management products exist on the market
- Windows CE is a modular OS and can be easily customized.
- Windows CE is documented
- Developers are free to use almost any language to write code for CE, including .Net Framework or Silverlight.
- Major vendors have special devices that can upgrade firmware on dozens of devices at the same time.
- Customized firmware can be deployed over-the-air
So, in my opinion, there is one leader on OS for enterprise or industrial devices market and that is Microsoft.
Continuing this tablet topic, I want to separate Window 8 tablets from Windows 8 OS itself. In Brian’s 1949-word article he used word “tablet” 20 times, while Steven used this word only 4 times in his 8609-word blog post. Something here is wrong :)
It's because Steven's blog post is about the Windows OS and ARM itself, not about tablets. It seems that Windows 8 for ARM will be successor for both Windows Embedded Compact (previously known as CE) and Windows Embedded Standard (XP Embedded). Why? Because you can't buy WOA itself--it only comes preinstalled, just like Windows Embedded devices. And when we talk about embedded devices, remember that current vendors have two options:
- Windows XP embedded which is powerful, but huge, expensive, slow and requires x86 processor
- Windows CE, fast, small, supports MIPS, x86 and ARM, but has different API and require additional knowledge form managing end developing
With WOA release vendors will get Windows NT on ARM! Windows NT had MIPS, Alpha and PowerPC support in the past. You can say that these other platforms were only an OS without any apps, but that simply wasn't true. These platforms were more powerful than x86 which was the newbie back then, and remember you are able to use server software for them (like with NT for Itanium now). Microsoft dropped support for these platforms because they became unpopular and were replaced by the x86. What was good about NT for MIPS? In the past, developers were able to recompile their existing Windows C++ code to run on different platforms. That was cool then, and it seems it will be true for Windows on ARM.
.NET on ARM?
But there's one problem: Steven did not mention .NET in his post. This technology is important for Microsoft, so why didn’t they mention it? The answer is easy. The .NET framework is not ported yet for ARM. Of course there is .NET Compact and .NET Micro frameworks available, but they are not even close to the desktop monster. At this point, nobody from Microsoft will say when .NET will be available for ARM.
So why Microsoft is porting Windows to ARM?
ARM processors are already on the market, everybody uses them, and ARM is much more powerful now than 5 years ago. Microsoft is now in a position where Android can encroach on the embedded devices market just because users are more familiar with the Android interface than the interface of 10-year old Windows CE. (It's amazing what using a Galaxy Tab in the bathroom can lead to! :)
So, my predictions are below:
- Microsoft will port Windows NT to ARM with stable and fast core and WinRT/Metro support only. Main goal here is running NT on ARM, stably.
- Microsoft will release Windows Embedded Compact based on Windows 8 for ARM and x86 with support for .NET Compact/.NET Micro frameworks. Microsoft will push WOA to the major embedded device vendors, and most of them will accept this movement.
- Microsoft will release full .NET Framework for ARM (which will be carefully ported to be sure that it will not affect performance and will support ARM power management). These will give much more functionality to all devices and customers will be able to run the exact same .NET code on ARM.
Now, let’s go back to the tablets.
First of all, tablets are good thing to show on Consumer Electronics Show since they are much more buzz-worthy than motherboards and boring looking controllers.
Second, Windows 8 Metro tablet with good power management is a better choice for enterprise than an iPad, even if it will support only Metro Apps. Advantages that WOA will have over iPads are:
- Better Exchange support (guess why?:)
- Better Office support (even pure readers will be better and fully supported)
- Familiar desktop management tools (Windows update, System Center)
- Specially rugged designed devices will be available (yes, price will be ~1500 per device, but it is enterprise ☺)
- Clear lifecycle policy
- And of course, embedded calculator
Powerful and stable Windows 8 tablet will be better choice for companies that did not adopt iPads for enterprise. Moreover, correct me if I’m wrong, but I believe that not more than 5% of enterprises that use iPads have adopted custom-built iOS applications. That tells me that most of the customers do not need to rewrite their applications for Metro. Exchange/Office users can be easily migrated to Windows 8.
“What about desktop apps?” you might ask. My opinion on this is that those are specifically apps that you run on your desktop, and that the tablet is not a replacement for your desktop.
So, my take on this is that Windows on ARM is good on a few levels. It is good for embedded devices, because it will give them a more powerful OS. It’s also good that Windows on ARM will not have desktop artifacts like quickly recompiled 1Gb .Net framework or flickering Silverlight and will have only code that works well on ARM.
If we have fast and stable Windows NT on ARM, we will get upgrades for industrial devices and the best tablets for the enterprise. And hey, I only used the word "tablet" 11 times. (Well, now 12!)