In one year, April 9th, 2014, Windows XP is at End of Support, meaning that no new updates, security patches, or technical assistance will be available from Microsoft. Ever. If you are a responsible automation vendor, you’ve made plans to get your products developed and tested on the newer Windows operating systems (Windows 7 appears to be the consistent candidate). If you’re not one, you’re going to be in a bind, as the XP operating system will figuratively begin to rot underneath you and your product, like a an old and badly maintained concrete bridge does literally.
At this point, the XP platform can’t be viewed as mature, it must be viewed as dead.
But today, I’m not talking to the vendors who are moving forward, I’m speaking to the vendors who are in a bind, and I’ve got a real interesting idea. One year from now, you are going to find yourself in an interesting time, a time where trust in the Windows operating system as a platform for automation is at a low point. A time when every owner of automation infrastructure will be looking to their vendor for leadership and foresight, and you will need to distinguish your product from every other product out there. A time when complexity in ICS, DCS and SCADA environments is at it’s peak, and a large chunk of that will be due to security.
I had a great conversation with a friend who works for an unnamed vendor, and we batted back and forth the merits and drawbacks of what we thought was a crazy idea, but turned out to be quite rational by the end: The use of Android/iOS for Automation.
I’m going to wait for everyone to stop screaming… Of course, a lot of you read this blog on your Android or iOS device, so it shouldn’t take too long… I’m not talking about the “HMI Apps” which are available, and thoroughly panned for their insecurity. I’m talking about an entire Android/iOS based ecosystem, designed to serve the needs of automation, including data acquisition, HMI, and engineering, and even down the industrial controller level.
Approach the idea of Android/iOS for Automation rationally, without making a judgement that this is just a ‘smartphone’ operating system. Fundamentally, the install base of Android/iOS is expanding to rival that of Windows. It has a rich graphics environment to support HMI applications, multi processor/multi-thread capability, and integrates well into network based infrastructure, like databases, and does so in a standard extensible manner, using lessons learned from DLL Hell and other Windows issues that have developed. Android runs on a variety of hardware, and does so without need for recompilation or other nonsense, making it an option for automation controllers and PLCs.
The capabilities of Android/iOS for automation also extend to security as well. Certificates govern what software can, and can’t, be installed on an Android/iOS system. Android additionally runs all code within a sandbox (maybe iOS too, not sure), restricting app permissions to only those necessary to complete it’s function.
Fundamentally, vendors were making the decision to work with Windows under even less optimal conditions than this, driven by it’s low cost compared to Unix, fast development capability, and cheap support from Microsoft. And it’s been those vendors that developed for Windows soonest that reaped the greatest rewards in the late 90s, early 2000s, as they were able to undercut their Unix based competition on competitive bids.
On the downside, the use of Android/iOS for Automation would also bring back the closed system, the Cathedral from Eric S. Raymond’s musings. Here is where owner participation is necessary in order to avoid being boxed into a system that is utterly controlled by a vendor. Owners should require an ecosystem, an interplay between automation vendors, owners, developers, and automation engineers that favors the best, most efficient, most cost effective solution that maximizes production.
So what would an Android/iOS based infrastructure for ICS, DCS, and SCADA look like? Stay tuned, cause I’ll be outlining this interesting idea over the next few months.