Why on earth...
Would you use an embedded Windows OS for what is effectively a web kiosk?
For the latest in The Register's sporadic series of Windows falling over in strange places, we present UK retailer Asda and its borked Click and Collect "Drive Thru" terminal. Snapped by friend of El Reg and bearded rust-botherer Andy Hinks during a misguided attempted to collect six months' worth of groceries, the glorious …
Disks are usually the first things to die, especially in harsh environments... But with a small embedded os it's quite possible to load everything into ram and power down the boot drive, or boot diskless over the network etc... Proper embedded devices fail a lot less often than windows.
Looking at all the IoT crap running some version of Linux I would be very careful saying it... and when hardware fails I've never seen an OS being able to ignore it. I've an old Pi also that sometimes gets stuck and needs an hard reboot.
But keep on believing all the evil in the world it due to Windows... since you've been brainwashed into thinking it.
The Pi design suffers due to Sdcard reliability. But with a properly designed embedded system you would use a design similar to Tiny Core where it runs from RAM. Apart from that, I've yet to meet anyone that has come across a proper Rpi hardware failure.....
BSD? That implies two things (1) availability of ZFS and I assume you can use it on a boot drive as well by now and (2) OS installations are usually fairly small like several tens of GB's or in other words a small portion of the disk its installed on. The combination of both of those things means that if you can somehow specify "copies=2" when you do the OS install using ZFS you can have redundancy and automatic repair of all OS files so a corrupt file should no longer occur.
There's an order of magnitude more basic sliced white loaves out there too...but a nice Sourdough Bloomer is better...harder to find though...worth it when you do.
Windows Devs are generally out of touch, despite there being gazillions of them.
The three biggest bug bears I have is they can't:
1. Format a text file.
The number of them that I've seen trying to install SSL/TLS certs on a Linux box and fumbling is extraordinary. It's almost always because they're trying to use a Windows formatted text file on a Linux based machine. It's like watching cats operating door knobs. They will copy and paste that cert dozens of times and still not get it.
2. Optimise a large database properly.
They'll tell you the ins and outs of various methods used to make queries efficient, but they generally haven't a clue how to create and use indices, improve performance of the server at a hardware level, defrag a database and clear out the white space.
I've contracted for Windows sweat shops in the past that have simply tried throwing RAM at the problem. No joke, I came across a SQL box with 24 cores, 128GB RAM and a 3 disk SATA RAID5 as a single volume for Windows and the database. The database was terabytes in size and there were trillions of rows in thousands of tables. They couldn't "work out why it was so slow, we got RAM for days mate".
3. They insist on deploying an FTP server on a box that already has SSH because they want to use X FTP client they bought a license for 15 years ago.
Linux users know why that's dumb. I'm not going into detail.
If I'm forced to work with Windows people there is always something they can't do or refuse to do.
When I work with Linux guys (which is almost always a pleasure), they just crack on and I've never come across one that isn't willing to see how other people do things...most of them are voracious because they want to know if someone is doing it better than them or uses a tool they haven't heard of...they even share their own methods so every time you work with a Linux person, you're likely to learn something you didn't already know.
Windows devs/techs use exactly the tools they were taught to use and live in a bubble. When you work with them, you're effectively babysitting and you'll always feel like you pissed time down the drain.
Because the majority of the specialised hardware used in such kiosks often comes with windows drivers.
A couple of years ago we were involved in developing some ticketing kiosks and found that the receipt printers, numeric keypads and even robust touchscreens came with dedicated PCI card interfaces with windows drivers only.
even robust touchscreens came with [...] windows drivers only.
Needed to use an Elo touchscreen with a Mac at work (don't ask). USB connected, no drivers, but we found a nice man in, erm, Brighton I think (look, it was a while ago), who deals with this sort of thing as a living and he was able to provide a multitouch driver once we'd fed him enough beer tokens. Elo didn't mind.
Given that this implies he either has access to manufacturer info or has managed to reverse-engineer the interface, it's not difficult to suppose that the same could be done for any OS.
That said, we have other kit with similar problems. We have "projected capacitive" touchscreen panels which only have drivers compatible with XP, so we can't upgrade those computers without also upgrading the panels, but the software running on those computers won't talk to the version of the driver which comes with the newer panels so we can't upgrade the panels without also having the software re-written.
In other words, upgrading to W10 would - as a minimum - mean buying new and expensive specialist touchscreen panels and having the running software re-written, probably from scratch because the original contract 15 years ago didn't include source code. In the meantime, when computer hardware fails we re-install XP, but even that is becoming a problem now as some motherboards don't have XP drivers available for such essentials as the network chipset.
It's not really fair to lay all of the blame on the hardware manufacturers or on Microsoft; at least some of it is due to the contractors who probably guessed this would happen and looked forward to a nice little earner at some future date, and to the managers at our end who didn't programme any kind of refresh into the budgets - even just from year 10 would have helped!
M.
That said, we have other kit with similar problems. We have "projected capacitive" touchscreen panels which only have drivers compatible with XP, so we can't upgrade those computers without also upgrading the panels, but the software running on those computers won't talk to the version of the driver which comes with the newer panels so we can't upgrade the panels without also having the software re-written.
Imagine this were GNU/Linux, worst case scenario, in 2030 you'd need to find someone to maintain the drivers for newer kernels.
Imagine this were GNU/Linux
Tried that with one recent display, but developers willing to work under Linux are rare. The bloke who developed this one particular interactive insisted that the code would be portable so long as he compiled it against Mono instead of .net. Or something, I'm not that kind of developer myself.
An additional problem from our point of view is the whole administrating thing. Although I use Linux desktops and laptops both at work and at home, it's all effectively stand-alone. Neither I nor my "other half" at work have serious admin experience with Linux, and apart from a few head-scratching issues, Windows domains and user profiles "just work".
2030 is worrying me on another count though - I'm in the process or building a heating thermostat on Arduino, and it seems as if it uses 32 bit time...
M.
I am currently visiting the offspring in Tacoma for Thanksgiving. We had occasion to drive through Bellevue last night. I noticed the tall building with the proud Microsoft sign on top, and gave it the one finger salute, whispering "I run Linux, you bastards!"
Made me feel better but got me a few weird looks from the other family members in the car.
As long as I keep throwing the ball for the dog, I'm his best friend.
I don't really dislike Windows that much. What drives me nuts, is the new Microsoft idea that constant changes of the UI and windowing system (witbout allowing the user to opt out) is the way things need to be. I like the UI to remain constant until I decide it needs to be changed. And mandatory unannounced feature changes also rate high on my list of dislikes.
For me it's the mandatory spying and data theft telemetry. Plus DRM. None of that belongs on a tool I use to store and process copyrighted information (copyright myself, natch) that random third parties (Microsoft, Google, Faecesbook, etc.) have no legal right to view. In fact if I was less charitable I could probably pick up a second hand Windows PC, put some of my copyrighted and encrypted work on it, then promptly sue Microsoft for various copyright and DMCA violations.
But I'd rather not waste my time, so just use Linux/BSD here. Even my games console runs BSD (albeit a completely locked and DRMed version from the vendor). Haven't needed Microsoft in so long I can fondly remember 2000/XP....
_new_ Microsoft idea?
Remind me again when they introduced the Ribbon, which is when it all started.
I'd have been quite happy (well, not really...) if they'd ribbonised everything, but the bastardised half-ribbon, half-traditional interface they left Outlook with for what seemed like decades was just plain insane.
While we're on the topic, judging by the window border style and the icon you see when the Argos in-store touchscreen systems decide to do a periodic relaunch after not having been used for a few minutes, they seem to be running some *ix variant, KDE 3, and a kiosk version of the Opera web browser, so at least some stores look beyond the Windows when making their choices...
I haven't seen many BSODs on my travels, but I have seen various boxes which fell over at the BIOS screen, failing to find either a disc or a network. Typically, the error will be displayed for several consecutive days running, which is probably indicative of the branch staff having to call out for an external engineer site visit.
POS, I'm told means means point of sale... i beg to differ however. When I was developing kiosk software I HATED being tied to windows as the OS, desperately wanted to compile my own kernel and make it fit for purpose, reliable and not bloated, but i inherited the project and was stuck with it the way it was...
Still, I am enjoying the latest release of Win10 on my shiny new laptop, and I really do appreciate the new shade of blue they've used on the BSOD... It's certainly easier on the eyes.