With Windows Mobile and Windows CE effectively end of life, enterprise IT organizations are now forced to strategize a move to modern platforms. This article will walk you through our experiences, giving you a glimpse of our point of view on Windows Mobile 10, Android, and iOS, how best to utilize each, and insight into how we evaluate an enterprise mobile platform.
BlueFletch Experience with Windows, Android and iOS in the Enterprise
We have experience using Windows CE in transportation/logistics, warehousing, retail, field services and MDM and device management. Our team’s projects include the United States Postal Service’s first ever rollout of 320K+ mobile devices, and we have worked with Windows CE install bases with a number of customers between 20-80K devices.
Windows Handheld 8/8.1
Our experience with Windows Handheld 8 and 8.1 is limited to POC prototyping, device support tooling and evaluations. We spent 12 months on architecture and design for one client but found too many shortcoming and eventually the program switched to Android.
Our experience with Android in the enterprise is robust. We have worked with close to 100K devices in three major national big box retailers. Devices types include Zebra MC40s, Zebra TC70/75s, Honeywell CT50, BlueBird BP30 and Toshiba Touchpad X1. Android has by far been the most successful platform for enterprise mobile.
Our consumer facing apps for the food and beverage, retail and healthcare industries often utilize iOS and have included loyalty and Buy Online Pick-Up In-Store applications, surveys, consumer beacon offer applications and mobile payment applications for consumers, showrooms, managers and employees on iOS devices and tablets.
Evaluating Enterprise Mobile Platforms
When evaluating an enterprise mobile platform, the following are key areas we factor into our consideration, including developer resources, development tooling, enterprise use cases, end-user experience, and deploy/support.
As we evaluate a platform, we take into consideration the short term and long term impact on a company’s development resources.
The following are some key considerations:
Current Resource Availability
Are there enough developers available to support development efforts?
Android developers outnumber iOS 4:3 and Windows Mobile 20:1.
How expensive is it to acquire talent skilled in this technology?
According to a recent survey by The Register, Windows Mobile developers are twice as expensive as iOS or Android developers.
Over the next 5 years, will the skills associated with this platform be widely available?
The overall trends of interest in Windows Mobile development are continuing to decline. Major universities, including MIT, GA Tech, and Stanford, currently offer classes in iOS and Android development, but do not include Windows Mobile in their curriculum.
Conversion CostsHow easy will it be to convert current development resources to support the platform? Bootcamps and training for iOS and Android are widely available. Xamarin is the current primary bridge language for C# developers, but still requires native iOS and Android experience for any complex UI. Traditional Java dev and C# dev are very close to the constructs used in Android Java Development.
When developers are comfortable and productive you can expect the absolute best from them. Having community support, developer tools and documentation are just the start of things you need to consider when making a technology selection. Below are a few more key considerations:
Software Dev IDE
How robust and what does it cost to develop for a platform?
Both Android Studio and Visual Studio are based on long standing stable products. The IntellJ product, on which Android Studio is based, has been around since 2001 while Visual Studio was introduced in 1997. Google continues to invest heavily in the growth of Android Studio and is on the 2.0 beta release as of Feb 2016. The cost for Visual Studio ranges from $499-2600; Android Studio is free of cost. Xcode is free with OS X.
Do I need new or different hardware for development?
To develop Win 10 Mobile with Visual Studio, you need Windows 8.1+ and a System that supports Hyper-v. Android Studio supports Windows XP+, OS-X, and Linux. iOS development require an Apple computer running OS X.
Nexus devices provide widely available reference hardware for Android OS level testing and modification. Reference hardware for Windows Mobile is limited in availability and OS level modifications are restricted to Microsoft. iOS has no concept of OS level builds.
Build / Automation Flexibility
How effectively can you build an Agile Continuous Integration process for a platform?
Android supports continuous integration build tools such as Jenkins, Circle CI, and Travis CI. Xcode has multiple integration points for automated build including Jenkins and Xcode Server. Microsoft TFS supports CI, but requires additional licensing costs. There are limited open source examples of CI with Windows Mobile.
Libraries / Community
How available are libraries and community support for development acceleration?
|GitHub Available projects:||314,419||114,814||862|
|Stack Overflow Question Threads:||801,915||414,925||20,914|
|Cordova / PhoneGap Plugins:||1035||865||85|
Enterprise Use Cases
Each enterprise has it’s own culture and the impact of change will vary. When determining the cost of change, below are some key considerations when selecting a specific technology.
Are custom hardware APIs available to interact with specific devices?
For enterprise hardware interfaces such as custom USB, payment interfaces, or scanner hardware, the peripherals must be controlled through Microsoft’s APIs, which are limited when compared with Android hardware APIs (e.g. Zebra EMDK). Apple devices also share limited hardware interface APIs.
How robust are the APIs needed to perform enterprise functionality?
Microsoft controls APIs to perform platform or system level functionality (e.g. device management, network state, time setting, Bluetooth connections, background processing). Our experience with Windows 8.1 has shown limitations in the ability to build enterprise grade software (similar to limitations in iOS). Android vendors like Zebra and Honeywell do a good job exposing secure enterprise APIs.
What has existing software done on the platform?
The easiest way for us to answer the question: “Can it be done in this platform” is to look for existing off-the-shelf applications that perform a specific or similar function. The lack of breadth of Windows Mobile apps makes it very difficult to ascertain the possibility of specific functionality without re-engineering. Android and iOS have plenty of examples, but Apple has been known for deprecating or tightening APIs between iOS releases.
How mature is the Platform in the device type ecosystem?
Android has a multi-year head start over Windows Mobile 8+ in ruggedized devices and overall number of available devices in the ecosystem. Apple has no ruggedized support, but there are a large number of 3rd party cases that attempt to fill the need.
The end-user experience can sometimes be the most overlooked area to gain productivity and increase the return on technology investment. Saving 10-20 minutes a day at scale across a workforce adds real value to the bottom line. Below are some key considerations when evaluating the impact of UI/UX when selecting a specific technology.
How familiar are end-users with the platform?
Platform familiarity helps users move quickly through basic functionality on a system. Android is far more familiar to most users. Android has 52% of North America consumer market share (82% globally) compared to Windows at 2.6%. In addition, mobile device usage skews heavier toward Android in the sub $75K income level. While iOS was the initial leader in the mobile app space, development hardware requirements have caused limitations outside of high-end developers.
How common are the visual design patterns for the platform?
Design patterns in UI/UX for mobile devices have impact around how quickly users can visually perform tasks. When a user is not familiar with an OS they will typically look for patterns similar to what they know (e.g. iOS and Android). The guidelines for Universal Windows Platform have been met with mixed reviews and have been found to be difficult to understand (e.g. pagination, swiping down to close an app, and lack of visual cues for action areas).
How much training will it take to become familiar with the OS?
Based on the above two items, we look at how easy it is to re-train users to understand the UI/UX paradigms for a platform. With Windows 8.1 we have observed that the lack of rapid penetration of Windows 8 and 10 into the desktop space has slowed users’ ability to pick up on new UI Paradigms. Windows 8+ still has less than 26% of the Desktop OS market share. Due to market adoption of iOS and Android, most users easily grasp visual concepts in Android or iOS apps that follow the platform design standards.
We evaluate the impact of deployment and support based on how easy it is to install, but also to support on day 2.
The following are some key considerations:
How well do MDMs support the platform?
As iOS became the de-facto carry devices for executives in the late 2000s, MDM providers such as AirWatch, Soti, and Good flocked to build enterprise support for iOS into their products. iOS is the most mature and securable platform from an MDM standpoint. Growing adoption of Android in the enterprise has spurred MDM providers to build more robust Android support over the last 4 years. Conversely, limited Windows Mobile adoption coupled with Microsoft pushing IT solutions (In-Tune, SCCM) have resulted in less than adequate MDM support for WEH.
What tools are available for enterprise analytics for the platform?
Application Analytics tools like Crashlytics or Hockey currently only provide support for iOS and Android.
How does the platform handle patches and OS updates?
Historically, companies have had issues with automated iOS platform updates. Apple has started to focus on more of the enterprise control scenarios. Windows Mobile suffers from many of the same OS update problems as iOS, but the limited consumer adoption makes the problems with OS patches more likely. Android devices are generally good around supporting patch or OS update pushing through MDM solutions or through side-loading.
Enterprise Mobile OS POV – Key Takeaways
Windows Mobile 10
Microsoft has stated that they are focused on closing the gaps in the above areas with Windows Mobile 10. Based on the pace of releases and their continued delays, we believe that the platform will continue to remain 1-2 years behind Android from an enterprise readiness standpoint. If an organization is planning on going with Windows Mobile 10 (WEH), we recommend that they take into consideration the current shortcomings of the platform and build in additional operational and project cost to compensate for the areas that we have called out.
Apple is still the leader in consumer mobile experience. In scenarios where the devices will be used for limited shifts in an executive or consumer facing role, iOS may be a good selection. Some of the hardware limitations (not mentioned in this POC) may hold Apple devices back from being good multi-shift or line of business (LOB) supporting devices.
Early concerns around platform security due to its open-ness have made some companies slow to adopt Android (similar to Linux adoption in the 2000s). For inside-the-four-walls devices and scenarios where companies want to have a highly customized end-user experience, Android is the way to go. Despite iOS being ahead of Android in certain development tools, we still perceive Android as a better long term bet in the enterprise.