Windows CE has been the most popular operating system for enterprise handheld devices all over the world for almost two decades. However, time is up on this legacy system: in 2020, Microsoft is ending all forms of support for it. So, if your enterprise is currently using embedded solutions powered by WinCE, you should plan an OS migration strategy immediately.
Leverage our 28+ years of embedded and firmware development experience
About Windows CE
A version of a desktop Microsoft Windows operating system, Windows CE (Consumer Electronics) was launched in 1996, aimed at handheld computers, industrial controllers, cable TV boxes, automobile PC and other embedded systems. Later, it was renamed Windows Embedded CE and Windows Embedded Compact. However, most people still refer to it as WinCE. This system was also the basis for Microsoft’s mobile platform, prior to WinPhone 8.
A multitasking, multi-thread and multi-platform OS with real-time operations, WinCE supports Visual Studio and provides application developers with a set of APIs based on the standard Win32 API. But the system supports only part of Win32 and is complemented by a specialized API for embedded solutions. Using hundreds of available components, developers can create a custom image of the operating system, which will include only the functionality necessary for a particular device.
|Read also: SaM Solutions Earns Microsoft Silver Cloud Platform Competency|
Why Migrate From WinCE?
The reason is that Microsoft is ending all types of support for Windows CE. In the table below, you can find the end-of-life dates for several versions.
|Version||Mainstream Support End Day||Extended Support End Day|
|Windows Embedded 6.0||April 9, 2013||April 10, 2018|
|Windows Embedded 8.1 Handheld||July 9, 2019||Review Note|
|Windows Embedded Handheld 6.5||January 13, 2015||January 14, 2020|
|Windows Embedded Compact 2013||October 9, 2018||October 10, 2023|
|Windows Embedded Compact 7||April 12, 2016||April 13, 2021|
As you can see, Windows Embedded Handheld is living out its final days, while the Compact version still has some time.
Does It Mean That Devices Will Stop Working?
No, they will not stop working. Devices running legacy software will continue to operate. However, Microsoft will stop releasing updates, security patches and any kind of support for this OS, which can negatively affect business processes.
It means that any company that continues using legacy OS versions on its devices will be unable to download new applications, ask for help in fixing bugs, and therefore will not provide full defense from viruses. These significant disruptions to data systems will put numerous businesses at risk, including those in transportation and delivery, manufacturing, retail, warehouse and more.
Can I Stay on a Legacy System?
Yes, you can. But it will hardly be a beneficial practice. The top three reasons why you shouldn’t use obsolete software are:
- Security issues — your system will not have an ability to patch new digital threats that appear on an annoyingly regular basis, so your devices and data will become increasingly vulnerable as time passes.
- Compatibility difficulties — it will be an expensive and time-consuming challenge to make each new device and piece of software compatible with your legacy platform.
- Poor functionality — older hardware will be losing its usability because it will become difficult to repair when manufacturers stop making components for obsolete devices.
Looking at these factors, migrating off legacy Windows systems seems to be the most sustainable path.
|Read also: All You Need to Know about Embedded Systems Programming|
Consider Windows CE Migration Options
While some organizations have already modernized their obsolete software, upgraded to new devices or performed a pain-free transition to alternative systems, for many companies it is still an urgent problem.
Here are several scenarios you can choose for your migration strategy.
Windows 10 IoT
The first option is to move from earlier Microsoft’s editions to its new offering for embedded devices — Windows 10 IoT, which has evolutionized from Windows Embedded. Unlike its predecessor, the new platform promises advanced security and can boast of cloud connectivity and artificial intelligence features.
The platform is available in two versions:
- Windows 10 IoT Enterprise supports multiple devices and can help take advantage of the Internet of Things at the large-scale industrial level.
- Windows 10 IoT Core runs on ARM processors and on simple boards (e.g. Raspberry Pi), aiming at simple programs that don’t require much user interaction.
You may say that this path is the most logical one, and there is no need to search for other options. However, porting legacy applications to this new system is not as easy as it may seem, because only about 15% of WinCE code is forward-compatible with Windows 10 IoT. It implies much effort is needed to modify the source code of all apps or to redevelop them from the ground up.
Microsoft still doesn’t provide any clear migration path, but it has announced the development of a technology that will help customers run their unmodified WinCE apps on Windows 10 IoT. In that case, the migration would not be so challenging.
Meanwhile, we consider non-Microsoft operating systems, among which Linux definitely deserves our attention.
Since Linux is an open-source software, it is supported by numerous companies including those from Fortune 500. The fact that it doesn’t depend on the changing desires of one company suggests that the system is more stable and reliable in the long term.
Some other pros of using Linux can make you seriously consider transferring your infrastructure:
- The availability of source code empowers you to fix issues yourself
- A strong community of developers worldwide is always willing to help in finding answers to any of your questions
- A variety of supported processors can facilitate the migration
- Linux drivers overlap with Windows drivers
- Programming environments include .NET, Java and Qt, which also simplifies the transition
- Linux learning courses are in high demand, so there is no shortage of qualified engineers
The greatest disadvantage companies face when moving to Linux is a variety of license agreements (like any FOSS solution).
|Read also: Internet of Things (IoT) Development: Key Considerations|
Smooth migration of mobile solutions to the Android platform is possible, taking into account its high level of market adoption. Numerous mobile computer manufacturers have already chosen to switch their devices to a modern Android OS.
For businesses, the transition from WinCE to Android can bring advantages in terms of upgrading to new devices with improved computing power and performance.
For users, the migration will be less painful due to an intuitive interface that many people use on their smartphones.
The upgrade plan will inevitably include the rewriting of your apps unless they are already Android-compatible (in this case, some reconfiguration may be required). The provider promises this path to be rather fast and cost-effective.
And Something Else
In addition to choosing an OS for the migration scenario, select the application framework that helps avoid the complete redevelopment of legacy software. We can advise the three most appropriate options:
- Xamarin — a commercial .NET solution for cross-platform development (focuses on Android and iOS)
- Mono — an open-source .NET-based framework (mainly focuses on Linux-based solutions)
- Qt — a cross-platform framework for embedded apps (it is compatible with numerous OSes including Windows CE, Linux, Android)
|Read also: Why Use Xamarin for Cross-Platform Development|
Using these frameworks for existing app redevelopment, you can organize an iterative migration process and minimize effort. But keep in mind that they will serve as intermediate layers and may significantly impact the performance.
Now it’s time for you to decide. Here is a brief plan of action:
- Think about business needs
- Define the budget
- Choose the platform for your migration
- Select new hardware
- Rewrite legacy apps
- Test the new system
- Train employees
- Deploy and support the system
We help companies across all industries migrate their solutions from WinCE
Keep Calm and Migrate From WinCE
A software migration project is neither a simple nor a cheap activity. It requires a holistic approach to the preparation, from hardware to software, taking into account everything from the company infrastructure to employee training.
However, preparing your strategy now will prevent more serious issues later and improve the competitive edge of your company for years to come. Modern technologies available on the market, together with qualified specialists, can make this process rather painless both for your budget and business operations.