Hacker News new | past | comments | ask | show | jobs | submit login
Why Do Companies Still Use Microsoft Windows For Displays? (shkspr.mobi)
205 points by edent on Nov 16, 2013 | hide | past | favorite | 157 comments

I've worked for quite some time in the digital display industry, at a company which has a very feature rich, Mac OS X based digital signage solution [1] with high profile customers such as Mercedes-Benz, or Disney. Since the company is small, it is easy to be part of all steps of the process, including marketing and sales. I learned a lot about B2B buying behaviour while I worked for this company.

We oftentimes ran into the situation where a potential customer really liked our solution, but wanted to run Windows instead of Mac OS X (this was arguably a lot tougher in 2005 when we started, and less so after the iPhone hit). There were a variety of reasons for this:

- Windows was the OS that the company was also using for employee machines, so they knew it.

- The IT department only wanted Windows machines on their network (our grand solution for this was that our machines were sold with direct support and did not need to run on the customers network, which also removed a lot of security pain)

- The customer was afraid of Mac OS X because they thought it would not be stable enough

But most importantly, it came down to simple risk aversion. The employee at a big company that was internally responsible for the 'digital signage' project, would base every decision on which choice would be less risky for his carreer in case the project fails. Lets say they roll out digital signage, and it costs a lot of money, and it doesn't work right. In that case, the employee needs to be able to defend himself against all sorts of questions: "Why was this product chosen", "Why was this vendor chosen", "Why was it implemented in this way", etc. In that case, being able to answer "We choose Windows, because it is the de facto standard" is better for the career than having to say "It seemed to be a stable product". Out of this reason alone, we found companies would choose a solution where they knew that it was far worse (less stable, less flexible, less features) simply because on paper it looked less risky.

[1] http://www.videro.com/

No one ever got fired for buying Microsoft (or IBM) :)

A lot of professional grade display screens also come with a built in computer running embedded Windows. Although for web based signs a Raspberry Pi works really well: https://shutdownscanner.com/Blog/Posts/Raspberry-Pi-Digital-...

I found that there's a great gap or schism between common digital signage projects. On the one hand you have solutions that just want to display 5 pictures or a simple website (current dish of the day, bus tables, train schedules, current news) and on the other hand you have high profile vendors that want (multiple) absolutely stutter free HD content (with huge bitrates because so much is going on in their animations), animate this in 3D, dynamic content (i.e. current weather, time, stocks, etc), and integration with other external technologies / systems (light control, sound control, etc). Thankfully, nowadays most of this can be achieved with a fullscreen chromium or webkit, but you need serious hardware for that.

The problem arises if people buy the lightweight hardware like a Pi and then try to run the complex stuff.

Also, most people seem to ignore just how important the backend / cms system for these installations is. The content that is deployed on systems is already out of sync as soon as you plug the systems in :) I still remember fondly how I watched one of our competitors distribute content (on a digital signage fair) to his systems using WS FTP for Windows. That's not a solution you should sell to a demanding customer, he'll simply call you whenever he wants a new image on there.

We've had someone put a graphically intensive Flash application on Atom processors. Their reasoning was lower heat output and very small footprint. There are newer i5's that are maybe twice as big that absolutely blow these things away.

Customers want cheap and I don't blame them but it took a second iteration of the shitty Atom line, one with a proper GFX card from Nvidia to have this display in any usable capacity. Atom/Netbook is absolutely not the way to go for Flash content. I would wager the Pi would be roughly identical unless you could leverage a beefy GFX card.

If you weren't using Flash, you could practically use anything. HTML5/CSS3 animations have come quite a distance but its definitely not 1:1 still.

We built a custom web page that auto detects and scales to different resolutions. We also made a self service admin interface but it was just text and a few images.

The Pi has a surprisingly powerful GPU but I've not tried HW acceleration from the browser. Something to look into maybe.

I haven't looked into the Pi yet, we used Mac Minis and frequently ran into its limits, so I just thought that it should be even more problematic on the Pi. I do think that the market for small and simple solutions (webpage with a bit of text, images, etc) is far more interesting and bigger than trying to sell to the Fortune 500 like my former company does, because these have really difficult requirements, and they're prone to simply rolling their own solution. So in short I think doing Digital Signage on the Pi is a great idea :)

I think this is just a kinda microcosm for why Windows is successful in general. Because they have a sales force and support that markets to and is geared around companies. Their developer ecosystem is heavily geared towards corporate systems as well.

It's surprising that a smart HN blogger can't put himself into somebody else's shoes for a second. When you're a manager and your boss tells you to go install some kiosks, chances are good that you're going to go out there and get some proposals. You're gonna pick whichever one of them best represents themselves, has a price that you want and seems like they'll be there when you need their support. You're probably not going to go with whoever is the most "cool" or "bleeding edge." You're almost definitely not going to try to put together an open source solution yourself just to save a few thousand bucks on OS licenses.

It's just as simple as that. Windows kiosks are in use because there are a lot of people out there selling Windows Kiosk solutions. If at some point another system manages to get a decent marketshare and has sales people out there writing proposals - then you'll start to see more of those.

You frame the three points a bit derogatory and seem to have missed the point of your customers.

> Windows was the OS that the company was also using for employee machines, so they knew it.

They understand it, have an idea about the cost and amount of support necessary. "They knew it" seems to convey that they were essentially stupid or not adventurous enough to try something else.

> The IT department only wanted Windows machines on their network

Again: a complete valid reason in my view. Here on this forum you have even people advocating that server and client in web apps should be written in the same language to keep things consistent.

> The customer was afraid of Mac OS X because they thought it would not be stable enough

You make that sound like there teeth were rattling in horror, but apparently failed to convince them that OSX would be stable enough?

I'm not a Windows developer or -user, indications that win 98 runs on my ATM also make me concerned.

But "muhaha, they are just stupid bricks for using windows" (no, you did not say that, but it sums the attitude) shows a lack of understanding and, as a consequence, does not advance the spread of alternatives into these environments IMO.

Sorry, that wasn't my attitude nor was I intending to sound that way. I fully understand why they'd rather use a Windows solution, I just wanted to explain in a simple way what I thought their motivations were.

> "They knew it" seems to convey that they were essentially stupid or not adventurous enough to try something else. I did not intend to convey that they were stupid or not adventurous enough, I simply thought "knew it" would be a sufficient enough description. I did not intend "knew it" in a pejorative way at all.

> You make that sound like there teeth were rattling in horror No, not really, actually I remember discussions with big companies where those were the exact words ("Our IT department is concerned with the stability of this Mac OS X")

> "muhaha, they are just stupid bricks for using windows Again, no, I just tried to explain the seemingly irrational behaviour (for tech people) of choosing a technologically worse solution even though better solutions exists. I wasn't even talking about Windows actually, but about digital signage solutions based on Windows. I'd rather not go and open the box of pandora that is Windows <> Linux <> Mac OS X. Most of our competitors that ran on Windows (situation may have changed, I left that company more than 2 years ago) were on the feature side and in terms of possibilities worse than our solution (not only because it was easy to pull of a lot of things with Core Graphics really easy).

I really can't see where you read the "those people were stupid" attitude, but it may be a cultural difference, I'm not a native english speaker. Nevertheless, even if I sounded that way, it totally wasn't intended that way. If I were in a big (non-tech) company in such a situation, I might even decide in a similar way out of the above reasons.

Here's a voice on your side. I totally did not get the impression that you were being derogatory in any way.

So, from my 6yrs in SBC/AT&T, the OP is completely correct and I don't see anything insulting in his comment. That's exactly how they made decisions when I was there. It doesn't make them wrong per se, but that's how they functioned. In fact, I think OP was being nice. A lot nicer than the description I'd give.

I could type up 3 pages of my experience there, but I'll just say that because it was my first job: It took me 4 years to confidently identify the 3 points OP listed(that it wasn't me that had a problem), one more year of research for me to learn that living in the bay area put me in the middle of the tech-start-up scene that had a mindset like my own, and another year to replace all the expensive proprietary software tools on my resume with trendy open-source alternatives.... then I left.

I did not read that attitude from terhechte at all; I did not find the points "derogatory." To me, it seemed like terhechte has a good understanding of why his customers reacted how they did, and believed those reactions were reasonable.

Where I work they have a few gratuitous large-screen displays that in reality just suck up electricity while presenting slides about how "green" our IT organization is.

They use Mac Minis, with full-screen Chrome to run the slideshow, and I often see error messages on these (though typically from having dropped the wifi connection and not from an OS panic or other real error).

I can tell from experience that having a really solid error free digital signage solution takes up a lot of time, because you really want to care about every tiny detail that could go wrong. One example is sudden lack of network connectivity while displaying a website:

- One solution is to just display an error page (bad!)

- Another solution is to display a cached version of the page. Sounds great until you have to display stocks.

- The proper solution is to display a cached version, except for time critical data where you either go to the next piece of content, and if that's impossible, display the customer logo or some default fallback content.

This and thousands of other small configurations are what make up a good digital signage solution. The default web browser, being made for user interaction, doesn't cover it, obviously.

I had a similar experience in my career, well over a decade ago. Granted, my anecdote doesn't prove anything, especially because I could have been wrong at the time, but it reflects the mindset.

I had a choice of implementing a machine controller with GUI in MacOS (System 7.5), some flavor of Windows, or even MS-DOS! Two factors influenced my choice:

1. Familiarity with the innards of a PC assured me that I could make it work all by myself, no matter what, even if it turned out to be ugly on the inside.

2. Looking ahead, and realizing that a bunch of MacOS development experience on my resume would elicit a yawn from most recruiters.

As for the display controller, today I'd do it with something like a Raspberry Pi.

Are these solutions sold as devices or are they sols as software products that you bring your own hardware to?

Depends on the solution that you buy. Some digital signage vendors sell complete black boxes where you get a hardware that you connect, and it runs just fine, others sell licenses that you have to install on your own hardware.

The Videro solution is a full packaged system that you connect to a display and to a network (if you're connecting to wireless, there's a special remote UI that pops up after first start and lets you enter wireless info, much like on Apple TV systems) just runs. It usually connects to a cloud system, and then you can distribute content to it. It is really hassle free, which is also important for large scale deployments. (If one machine breaks, you can just pop it out, and put a new machine in, one click and it will receive all the content from the previous system and continue the job).

Hi , what technology do you use ? Flash,Java or something else?

The solution is written as a native Mac OS X Objective-C app, and can render all kinds of content (images, videos, html, flash, quartz composer, texts, tickers, etc). These can be mixed and combined and layered in any possible way. It is a pretty powerful solution.

Here's a really, really, old demo of the software:


That was 4 years ago, and it is running on rather old hardware.

Last year I was on an aircraft watching the IFE, then it froze, I got a kernel panic, then it restarted, I was left looking at a Linux logo then the init output before being thrown back into the IFE interface.

My point is that no general purpose OS is immune from fault. All you can really do is remove or disable things which aren't absolutely needed to get your work done. In this case they should have disabled Windows explorer (which, by the way, is supported) or used one of the specialized cut-down versions of Windows (e.g. Windows Embedded 8).

PS - Although I will readily admit that Microsoft makes it insanely hard to licence Windows Embedded, particularly for SMBs. But Microsoft's licensing is far harder than it needs to be across the board, they have an old-mode mindset where they can charge more if they make the whole process harder.

I'm just surprised they don't hide the bootscreen given that the only troubleshooting the flight attendants can do is a power cycle.

I was on a United flight a couple weeks ago when the passenger next to me told the flight attendant that his headphone jack for his seatback IFE was not working. The flight attendant offered to reset the IFE. The passenger declined the offer. I'm still wondering whether the flight attendant was going to reset the IFE for everyone or somehow for just that passenger.

Whenever I've had it reset, it was just one chair that had to be restarted.

I saw one boot last week on a Delta flight. I was very surprised to see Tux.

Four reboots on an eight hour international flight. Somewhat annoying.

Same on United — we actually got to watch the full boot sequence (^ ^)

I was surprised how long it took- several minutes.

Me too! I tried to get a picture but was too slow unfortunately.

I've seen it a few times

Thai Air, the projector kept rebooting throughout the whole flight http://www.flickr.com/photos/kalleboo/3911989854/

Singapore Air, initial reboot as we were boarding http://www.flickr.com/photos/82365211@N00/2473197800/

Because the hardware support is good.

Because the licensing costs are pretty small compared to the project costs.

Because there is plenty of tech support available.

Because Windows flash support is good.

Because there are plenty of developers who will customize it for you.

Because it is easy to add to the existing networking systems being used.

There are plenty of reasons to choose Windows for this kind of thing. why is the article even complaining that the OS is old? No need for cutting-edge here. (EDIT: Oops, that was in the comments section)

(LOL at the mouse jiggler software though!)


    Any general purpose OS would have these problems
    It's stable
    Tech support is easy to find
    Software can be easily demoed
A better title for the article would have been:

Who's paying these shitty IT guys?

The mousejiggler is probably because of AD group policy restrictions to screensaver configuration.

I agree. Used both Flash and WPF (XAML) for public-facing screens - both worked fine and I didn't have to use mouse jiggler.

I'm the lead developer in a company that does just digital signage software in Brazil.

Recently we rewrote from stratch our software in Qt so it would run on Linux and Android, even on the Raspberry Pi.

The main barriers we found in Linux adoption were:

- Support staff only knows Windows. This gets worse when screens get installed in remote areas, like we have some screens at Manaus, in the Amazon Forest. There is just no one to support Linux there.

- Flash support state in Linux is unknown. Adobe seems to be discontinuing support for flash in Linux, and flash movies cannot be run on the Raspberry Pi or any ARM device.

- HTML5 is the next target, but even on Windows the embedded webbrowsers are not up to par yet on performance, in Raspberry Pi it is inviable. It cannot replace 100% Flash yet.

- Remote admin support on dynamic IP is great in Windows with Logmein, terrible on other platforms. Yes there's TeamViewer on Linux but it seem not too stable, not to say it looks like to be running emulated. Our customers don't trust it the way they trust Logmein.

That said, we are seeing increased Linux adoptions for some markets. If the Qt5 Blink-based webbrowser is more on par in performance with current desktop browsers, than the adoption may rise a lot.

EDIT: fix newlines

To login to remote machines with dynamic IPs, have a loop on the remote machine that logs in using ssh to your server and creates an ssh connection back to it. Remote has ssh key, with ssh config that says "Remoteforward 23456 localhost:22" and on your server have the shell for the remote id be a command like "sleep 300". Tunnel will restart every five minutes (unless it has active connections), this reduces the likelihood of it hanging. A ~20 line cron or daemon script, an ssh key, ssh config file, account on server, authorized_keys entry with command specified, and some testing.

People use what they know. Given a hammer, everything looks like a nail.

If you work in IT for any length of time, you come across people who use Excel as a text combiner to parse tabular text in ways similar to how a regex could, or have similar convoluted workarounds for any number of tasks.

In some ways, these are quite clever hacks.

In other ways, it's kind of sad as it obviously shows how badly GUI-centric "It's a fancy typewriter" attitudes toward computers have ruined generations of users by giving them substandard tools which they barely can make work for an automation task.

I'd love to see a "Signs in Stores-ix" as much as the next guy... but most people who do this are probably designers or businesspeople whose computer worldview doesn't extend behind Photoshop and Powerpoint. And thus, that's what was mandated on the displays...

I would argue that Windows is a great platform for such displays. Not sure how many of these were written, but knocking up an attractive list template in XAML and binding it to a list is a walk in the park. Dev cost must be next to nothing. Call it what you will, but it's the front-end I'd prefer to develop such displays on. WinRT makes such a use case even more compelling. And Mono unfortunately doesn't support WPF.

Yeah, XAML is basically a better HTML. Vector-first and has containers that actually align things the way you want.

> people who use Excel as a text combiner to parse tabular text in ways similar to how a regex could, or have similar convoluted workarounds for any number of tasks.

Yep. Large parts of the finance crowd are Excel experts so it makes sense to use that. Why bother with regex when you know the Excel shortcuts, functions & behaviour off by heart. That plus I don't need to explain to IT/manager why I'm messing with software they haven't seen before.

Before I got a studentjob, I thought I was pretty good with the Office Suite and the rest of Windows, but then when you get a job in that kind of industry, you realise, that these people who wouldn't know how to open regedit, use Excel in ways you wouldn't think possible.

For that reason, whenever i look at job postings, if there is any mention of Excel or VB script, i instantly close the browsertab... I wouldn't touch it with a 10 foot pole.

>>People use what they know. Given a hammer, everything looks like a nail.

Slightly related. One of my professors wrote a 200 line matlab code to extract a column from a csv file, when all she needed was a one line "cut". The only language she knows is matlab.

Ironically, this very thread contains similar examples of developers advocating for some HTML5+CSS+Localstorage+embedded web server frankenstein because they've never had experience building desktop GUI apps in .NET.

Obligatory xkcd reference:


I worked with an IT department (all windows shop, but not afraid of Linux) who setup large screen high definition tv's around the facility for a request to support digital signage. The department wanted to save money, so they took on a DIY attitude instead of building it themselves.

Well, they know the windows platform and had windows machines lying around. They hooked up PC's to these TV's mounted high up on the wall, either mounted the PC on the TV or put it somewhere that couldn't be seen, and put powerpoint viewer on the PC's.

This might sound like a disaster, but the higher-ups loved it. And it worked quite nicely to my surprise. Windows can easily be configured to start the powerpoint file of your choice in fullscreen mode when the machine starts. Creating the material was as easy making a powerpoint.

So, in the end, the cost of materials and time was minimized because these guys used Windows + Powerpoint for their digital signage. And since they weren't using some buggy piece of custom software, it was fairly stable.

You may not like Windows, but it's a _fine_ computing platform. People get _work done_ with it. Personally, I'll stick with OSX.

A lot of these systems are just displaying a web page which makes it very easy to move to Linux. I know a lot of the transport ones are simple static web pages on auto refresh. I built some smarter screens which use AJAX and JavaScript which is less jarring when it updates.

I've changed a set of digital signs from running full screen IE on windows (with very long VGA cables) to chromium on Raspberry Pis. The new system behaves a lot better but there were lots of little things to tweak to get it running well. I wrote a short blog post with all the relevant configuration: https://shutdownscanner.com/Blog/Posts/Raspberry-Pi-Digital-...

A lot of the new TVs are smart and come with a built in android browser so you don't need anything else. We have one of these and run Pis on all the existing dumb TVs.

The total cost of using Windows is (probably) lower than using Linux. These displays are often custom work - building something like that is a couple of days work for a WPF or Flash (/Air) developer. The vast majority of those use Windows. And I've not even touched on the administration costs..

To be honest I'm more concerned when I see ATMs running Windows 98; at least these advertising displays can't do any real damage...

It freaked me out when an ATM BSODed on me. Its happen when I've used a Tesco self-service checkout as well.

Tesco self-service checkouts break all the bloody time on me. Watching it reboot is kind of fun though.

Some ideas:

- The cost of a Windows license is tiny compared to the cost of the hardware and software.

- The cost of installation and maintenance: How much does it cost to pay someone to attach that screen to the wall and run wires around the building to the room containing the server?

- Back in 1995 it probably did make sense to use Windows, since it had wider support for hardware and good developer tools. Now that there is a huge amount of software written in the 90s for Windows, it's going to take a very long time to change that (if ever).

- Windows might actually be better for this even now.

If Microsoft is selling them these "solutions" (not products) directly, then it's likely the hardware costs several times more than if you'd buy it from the store.

I love the fact that the author thinks Windows is unsuitable because the people who are using it for displays don't know how to turn off a screensaver, but somehow those same people will magically understand how to run Linux without a hitch.

I did once have a Linux boot screen come up on the Coca-Cola sign at Piccadilly Circus (with two penguins, it was a dual CPU back in the day), after a power cut. Alas I didn't have a camera with me. After that I moved the boot console to a different output. Back in the day when I was in this business flash was the big thing that pushed people to Windows as people wanted to do flash content as thats what Ad agencies could produce.

One of my responsibilities was to serve as admin for our campuses digital signage system. It used windows based machines. The cost of the Windows OS was trivial compared to the cost of the hardware and the license for the digital signage software. it also helped that if need be these systems could be managed with our existing toolset such as SCCM and remote desktop. and if we needed to do something that the Digital Signage software could not do for special occasions if there was a windows app for it, it was that simple.

Ahh something I can speak to directly.

At my current gig, we use SiteKiosk which locks windows down tight. It uses the IE WebBrowser control via ActiveX/COM/.Net/however the hell it works. Its basically IE but slightly shittier due to there not being a 1:1 between it and IE proper. SiteKiosk has some pretty powerful digital signage features you don't really get from a Windows Embedded scenario. One feature of 8.1 I was looking forward to was "kiosk mode" but with WinRT being blocked from talking to localhost, except through a hack (yes, fuck you Microsoft) it was stillborn for my tastes.

.NET apps are ClickOnce or xbap, which is basically pre-Silverlight. This is the suckiest part. SiteKiosk can run normal applications and Silverlight with no problems but it took SL 5 to get proper COM support and it isn't terribly easy to make your normal .NET library "just work" so that wrapper for a card dispenser isn't as easy to leverage. Due to the low number of these apps (2), we haven't bothered migrating away from shitty xbap.

The largest amount of applications use typical wamp running a lightweight PHP framework and sometimes MySQL as localhost. Some are completely or partially Flash driven applications as well.

SiteKiosk and leveraging IE lets us focus on perfecting the experience though I've become complacent. IE development is just too slow now and testing in Chrome with superior dev tools are absolutely essential. The problem there is we can easily paint ourselves into a Chrome-only corner if we aren't careful.

Leveraging the POS equipment like barcode readers, card dispensers, or printers are the only thing the web proper isn't really suited for unfortunately. This may be where Windows has much more leverage due to their driver model. Most equipment we interfaced with had a .NET library or simple instructions of use with P/Invoke. I saw very little (<1%) that had anything to do with Linux and in typical fashion wasn't something to simply use via something like PHP or Ruby/Rails. Maybe we chose Windows friendly vendors, though, so take this with a grain of salt.

I bet the whole ecosystem of updating, remotely maintaining, selling an advert and designing an advert on a display in a train station is deeply engrained in windows technologies, and swapping the front is not trivial. I bet everyone knows its shit long term but the cost of migration outweighs the short term fixes (mouse wiggler!). Probably its what the customers want anyway

I don't know the answer to the question, I do know the answer to the question "Why do digital signage vendors use Windows as their host platform?" seems to be so that they can hire unskilled labor. In various embedded forums I see questions about doing digital signage on Android/Linux while exploiting the graphics acceleration of the SoC get met by stony silence (no drivers) or complex installs (blobs + release compatibilty). Its way too much work so these guys get Windows, and all the vendors have Windows drivers and are willing to let you incorporate them into your code and hiring a Windows programmer has a bigger pool to draw upon.

Combine that with customers who want to use Windows tools to configure/upload to their signs and IT folks who are "comfortable" with Windows on their network and voila, mutual lock in.

>Why Do Companies Still Use Microsoft Windows For Displays?

Because it's cheaper. All you talk about is license but what about actual work of setting it up and making it work?

Also, you really think that only WinOS kiosk systems are crashing? You really are so ignorant to think that LinuxOS kiosk systems never crash?

A quick Google search of the phrase "build an animated display" with one of the following strings appended to the end reveals the answer, I should think:

"raspberry pi" -- 1,060,000 results

"linux" -- 4,890,000 results

"os x" -- 6,910,000 results

"windows" -- 32,800,000 results

There's an office near work that gives its receptionists Macs; it looks great, but an insane amount of money for the functionality they use I'm sure.

Alternatively, if it saves them a few days of work in lost productivity due to malware, viruses and unintuitive software, it's a great investment.

Ha, I had to laugh at the "unintuitive software" bit. It's only unintuitive to a Mac user. I'm not insulting here, it works the other way, too. I recently bought a Mac to see what all the fuss was about, and am finding many things in OS X to be very counter-intuitive as a PC (Win/Linux) user for so many years.

Are you being serious with this comment?

This comment (simonw's) should be the downvoted one and not its parent.

Edited for clarity.

They have macs for the same reason fancy shops always have macs, they're a status signal and just look better.

Or because, you know, they find that paying a little more up front gives them a better overall product - longer usable life, less maintenance, etc.

Just because you don’t see the point of an Apple product beyond “ooh shiny” doesn’t mean others don’t.

I work for a global company where > 50% of people work from home offices and > 90% of our staff use Macs. I can only actually think of 2 specific people (out of 200+) that use Windows, but Im sure there are a few others, and some Linux users.

Are you suggesting that all these people, many of whom are in countries with lower wage standards, pay “extra” just to have a shiny apple logo on their desk at home that no one but them sees?

>longer usable life, less maintenance

I'm not aware of any evidence of this, and I don't even remember any of my Apple fanatic friends even claiming this. Any references?

>Are you suggesting that all these people, many of whom are in countries with lower wage standards, pay “extra” just to have a shiny apple logo on their desk at home that no one but them sees?

This is a dishonest way of having a discussion.

> I'm not aware of any evidence of this, and I don't even remember any of my Apple fanatic friends even claiming this. Any references?

From my personal experience, yeah they do last a lot longer than my other PCs, maybe with the exception of ThinkPad. Mac hardwares are very strong and well designed. Most other PC manufacturers needs to cut cost from every single component, thus they won't be able to use the highest quality components.

I'm pretty much a self-confessed apple fanboy :) but I do recognise that a machine that's going to be used for a single task without any great hardware requirements could be pretty much anything and do the job reliably.

You are forgetting the IT support headache for 2 Windows PC while the rest of the company might be using Macs

Yeah that's a big problem in the 5% of companies where that situation exists.

An insane amount of money? iMacs start at $1,299 which is probably around what a pay cycle for the receptionist would run. Seems like a cheap way to make a first impression (not to mention IT savings for the years the machine is used).

Well maybe they installed good old Win 7 on them? As a customer you just need to see the aluminium and a glowing apple.

Cause or effect? The question is not whether many people use Windows to drive an animated display, but why.

I'd argue cause...something like technology's version of the "trickle-down effect". Some displays will require advanced engineering skill, but I'd wager that the majority do not. When you're working at the leading edge of technology it's much easier to evaluate multiple competing technologies and compare them on the merits. When you're given a $5000 contract to produce an advertising display in 2 weeks, you're going to go for the most Google-able solution.

I'm not a fan of Windows, but when I saw this post it reminded me of a picture I took at 30th street station in Philadelphia. I guess this was an attempt to use Linux for an visitor information kiosk.


You want some information, visitor? Well here you go. Enjoy.

Frustratingly low definition but that looks like a kernel panic => not enough testing on target hardware.

I've seen dead signage and kiosks from all the main OSes and OS/2. It happens, what I'm interested in is automatic reboot methods...

We have ones running Ubuntu in our local transit system.


I think maybe it's actually good for Linux image that it's not being used more for this kind of stuff.

Inaccurate title. It should read, "Why Do Companies Still Use Something I Hate?"

Seriously, complaining that an out of disk space error message pops up on signs? I have a Slackware Linux box that has been running for years. Probably ran out of disk space a dozen times since I first installed it so I know from personal experience it's not immune from running out of disk space.

When you don't know why this is, you are either a passionate hobbyist or you don't see reality. Choosing an operating system is nothing you should do for the sake of it. Not everybody is as passionate as you and want to memorize CLI commands. Why do you think Windows and iOS are so successful? Most developers feel like most end users, they don't care as long as it runs and it can be easily operated. And this is a wise attitude.

Well, Windows-supporting hardware is cheap. Raspberry PIs don't have the processing power to run anything more than basic HTML pages. Finding 'cheap macs' is a losing battle - Apple hardware holds its value. Running Linux on a display-ware system with a fancy video card relies on drivers for that fancy video card, and there aren't any.

High time for me to become a manager then!

Because .NET makes it very easy for average developers to write GUI programs, and Visual Studio is what they use to write them.

In theory, this developer could just use Mono to run his .NET app on Linux. But that requires them to learn how to do that. Personally, I've never found a clear tutorial on how to take a .NET GUI app that you've just written in Visual Studio and get it running on Mono. I haven't looked in several years, so I thought I'd give it a try right now. I googled "visual studio mono" and these were the top 3 results:




None of those are clear at all. The second page links to this screencast: http://www.mfconsulting.com/product/prj2make-sharp/tutorial/...

which illustrates how to use this thing with Visual Studio 2003(!) and demonstrates part of the problem: the Mono version of the app looks noticeably different from the native Windows version. Sure, this can probably be fixed, but it's yet another issue that the dev has to spend time learning how to hack around.

This situation results in substantial cognitive overhead. It's unlikely that an average .NET dev will be able to go into work, install this Mono plugin, compile their app using it, and present to their coworkers, "Look! We don't have to change our process at all, and we can deploy our app on the latest Ubuntu with a minimum of hassle."

It's hard to imagine how wonderful it is to build .NET apps compared to dealing with Qt, because Visual Studio's GUI designer is just so good. Suffice to say, there are a lot of network effects that keep a developer mentally locked into Visual Studio's paradigm of "here's how you make this GUI form;" a paradigm which is immensely difficult for Linux to support natively.

I think it's a mistake for Linux to even try to support this, though, because it's probably focusing on the wrong problem. The way to beat Microsoft is to make it so easy to write cross platform business apps that newer generations never even bother figuring out how to install Visual Studio. I think the web browser will be that solution within the next decade. It's not quite there yet -- it's way easier to get a GUI workflow up and running using VS's designer -- but it seems inevitable. So if you share the author's concerns, then the best course of action is to write some quality tutorials for your web frameworks, and to invent easier frameworks. The advantages of the web will naturally outweigh any possible native program advantage.

"Because .NET makes it very easy for average developers to write GUI programs, and Visual Studio is what they use to write them."

You know, this is an extremely valid reason

You just write the program (making it go fullscreen), put it on the Startup folder and that's it.

If there was a turnkey solution for other platforms I'm sure this would be very helpful.

And the cost of the windows license is irrelevant if you consider the other signage material (displays, mounts, etc)


Done this a few times. Entire process for a kiosk is:

1. Build a full screen app in Visual Studio with WPF. WPF is great here - 2d, 3d, interactive, animations, video everything, all without any code. This is beyond trivial and the tooling is entirely free.

2. Build it and copy the exe to target windows machine (a cheap AIO desktop - Sony VPC are nice as they have VESA mounts, touch screens and don't break that often)

3. Set the machine to auto login and set the shell to the program.

4. reboot it. Done.

This takes literally minutes.

".NET makes it very easy for average developers to write GUI programs" - it makes it easy for any kind of developer, that's the defining characteristic of best frameworks.

It makes it so simple, any idiot can write a GUI program ... so you get GUI programs that look like they were written by idiots.

I suspect that a lot of Director-level people in large companies don't see things this way. I don't have any direct evidence (i.e. PowerPoints), but all other evidence points toward someone sold Microsoft .NET as a "you can have cheap labor doing everything!" solution in the early 2000s. Folks who were middle managers back then have risen into Director and Executive Director roles, and since they're busy with office politics, haven't paid attention to anything else. They still think that a MS Studio installation can help a bad developer make a silk purse out of a sow's ear.

A GUI framework can't recommend you on your hires.

That's a feature; not a bug. The quality of these "enterprise applications" isn't as important as that: a) they came in under budget, b) (mostly) don't break, and c) when they do break they can be supported by existing support staff without investing anything more than what is effectively petty cash in training or additional resources.

For me the desired characteristics in a framework are the quality, stability and efficiency of the end product and then ease of use comes later. Its not that way for everyone, but I wouldn't simply say ease of use is the defining characteristic of the best tool sets.

Not to detract from your points (you make good ones); web is probably not a good medium for such displays. Not always, at least. You'd want them to be reasonably functional without comms. Last I checked (I may be wrong), HTML 5 constrains local storage to 5Mb, which is precious little, if the display uses images/media.

I'm not an expert in embedded displays, but I assume you'd simply run a webserver on localhost.

I've done a couple of these, and that's close to what I did.

I started with a small "industrial" computer — Intel D525, 2g RAM, 40g SSD — costing about $300. I installed Ubuntu 12.04 Alternate with X and Fluxbox. I used Chrome for the display. I configured it to log on automatically upon booting, start X, and run a script configured to start Chrome pointed at the proper URL.

Then I used remastersy† to create an installation USB stick. Boot from the stick, and it installs the customized Ubuntu non-interactively. The first time the system boots, it runs a little dialog where you tell it its role in the system (i.e, what view of the overall status should it display).

If you later need to reconfigure it, you can log in over SSH and run scripts to change the configuration. Or, if absolutely necessary, you can visit in person, open the cabinet, and hook up a keyboard.

It spends almost all its life waiting on an XHR, which asks essentially, I'm showing version x, send me the next version when ready. When version x+1 comes along, the server replies to all the XHRs waiting for version x+1 with a chunk of JSON describing version x+1. The displays then all update their DOMs and hang an XHR for the next version.

I later added a separate heartbeat loop. Once a minute, it asks the server if it's alive, and it puts up an out-of-service screen if the server stops responding.


Tangent, but I've found it a bit odd to see Out of Service messages on billboards. Why not display a default ad (e.g. "Your Ad Here")?

Actually on that note I'm surprised I don't see more community/charitable notices in the mix for digital boards (these could serve as "defaults"). Having non-commercial and regularly changing ads in the mix would actually get me watching, and is potentially even tax-deductible.

You don't even need to go that far, you can reference local files with "file://" instead of "http://". That said, most digital signs are digital because they change so a [web] server somewhere along the line will be used.

Web server means additional complexity both to deploy and maintain. After 20+ years in the corporate world I can guarantee that an alone-standing native client it going to beat anything with a web server.

"Beat", how exactly? 20+ years in the corporate world doesn't mean much if you can't back your opinion up with proper arguments.

Besides the confusing fact that you bring HTML5 local storage into the equation for some reason, a local web server doesn't necessarily mean more complex deployment/maintenance than maintaining a .NET application.

The problem is governance. The web sever needs to be patched, the web site configuration needs to be maintained, as does the web application. Bear in mind that a display doesn't live in an IT department, and that developers don't maintain apps - operations does. So if you compare the web server/web site scenario to a single, self-configuring native app (presumably a single .exe and a couple .dlls or something, the .exe is cheaper over a 3 or 5 year lifespan, especially if the .exe works with SCCM and ops can push updates out using WSUS or similar.

I guess if you're into Windows, setting up a web server actually _is_ a hassle to you. Rest assured that there are easier ways. If you simply want to use a web server for local sharing, forget about patching and "maintaining" the configuration. Just install it and you're done (or why not use the file:// URI scheme? I can't see any compelling reason not to in a non-interactive setup). As for maintaining the web application, well, only in the same sense you have to maintain your .NET application.

Also, pulling numbers out of nowhere isn't going to help your argument.

If anyone I oversee actively decides to not patch and maintain a system within an enterprise network for any reason, they will find themselves back on helpdesk doing password resets until they learn better. Pentesters / hackers love using setups like you suggest as easy targets to provide them with perstitant backdoors.

3 and 5 years are the common life cycle's enterprise IT use when discussing any existing implementation or any new system design. These are not pulled from nowhere.

First off, when I say "maintaining" I meant the configuration. When I say patching, I mean patching, not just trivially installing software updates. Spearchucker was trying to make this a look like a huge disadvantage over maintaining a Windows system, which it obviously is not.

Oh and as far as I'm concerned "3 to 5 years" is still pulled out of nowhere. You aren't mentioning any sources, just describing a really vague process that you think is "common". If you have a working, flexible system with which you can harness a huge continuous effort in developing the technology behind it for free, you aren't going to kill it off just because your enterprise clock says so.

A lightweight local web server is not going to be any more complicated than a stand-alone program that does the same thing.

The web site you build does the same thing that the standalone app does. The web site is hosted by the web server. That's an added piece of software to maintain and configure, over and above the web site itself.

The web server is going to be fine. It's usually gone through a lot more testing than your display. Displays are trivially and commonly implemented as fullscreen webapps.

It's the browser javascript that I would worry about; responsiveness is always a battle.

localStorage isn't for resources, it's for data.

That's a very valid point.

Use local files for that.

About 7 years ago, I worked on an embedded system that had to be localized to a few different languages.. I actually used mono for the main display portion on Linux. It really didn't have much to do with mono, it was essentially an embedded browser run full screen. The content was local html files as menus, and the input logic was separate from the display (it used a keypad, not touch screen, as the end product was deployed in relatively hostile environments).

The biggest reason for html as the menu format was it would be the best format (in terms of flexibility) to use for the display content and localization. The local db was embedded FirebirdSQL, and connected to a remote Firebird instance running on a central server (transactional data was replicated as connectivity was available, and it wasn't more than half the time)

If I were going for a digital signage solution even two years ago, I would probably lean towards windows. There still aren't tools for developing visual animations that match what Flash (though deprecated) offered. Flash is really easy to embed in a full-screnn app, and offers a lot of flexibility for the purpose. The tooling is broadly available, and setting up a canvas of the right proportions is all you need to start.

Flash costs a lot more than Windows even. IMHO The cost of software licensing is really minimal for most companies for these kinds of things.

Today it would be a tossup of a windows solution with Flash and/or an embedded or otherwise chromeless/fullscreen browser and a linux solution. If I were to guess, the windows solution would probably be done faster. Dealing with multiple displays and orientations in Linux is much more of a PITA, let alone that VS is actually pretty decent.

> HTML 5 constrains local storage to 5Mb, which is precious little, if the display uses images/media.

You wouldn't use localStorage for images.

we can deploy our app on the latest Ubuntu

I thought we were arguing for something that was more stable than Windows?

Honestly, even if it was using Linux, there could be a million ways for the app to crap out and show dubious messages.

Doing it this way was probably the easiest way in the mind of the responsible engineer and i am sure it generally works fine.

That MouseJiggler thing is pretty lame though ;)

Most of the software dev in the world don't know anything besides one language (either java or vb) and one operating system they encountered right after school. And even when they do - management doesn't.

Just wanted to point out that Microsoft does offer an embedded version of Windows that is supposed to be used for these types of applications so stuff like in the post does not happen. But, due to how extremely annoying it is to configure (properly) and create an image, most users probably skip it and opt for a standard Windows image and all the issues that come with it.

Like anything shitty in tech being used, decisions pulled by non-engineers.

...who are good at estimating business value rather then playing with obscure unsupported tech.

No, usually they're going with the option that feels 'safe'. Things that tick the right boxes on paper, but may often end up being far more expensive/difficult to support etc. when it actually comes down to it...

No, typically the "non-engineers" in this case are management-level types who are at least somewhat skilled in estimating the impact of their decisions on their status with respect to internal politics. That's "business value" in some sense, but not the one you seem to mean.

Sure dude.

They have to use and sell the stuff.


"When all you have is hammers the whole world starts looking like nails."

Sure as hell not the way I'd do it, but for a non-critical system that really just kind of sits there and doesn't cause any problems when it crashes, why not if they only know Windows desktop dev and are only deploying a few? Use what you know.

Because unfortunately, most of these companies are clueless about technology, and buy from whoever comes to them through the door, pitching them about how awesome it would be to buy some thousand dollar/unit such displays, and have them show info to their customers.

My brother works for a digital signage company here in Sweden and combined with my experiences in IT I would say there simply isn't enough competence.

On one hand it scares companies because they think they can't find Linux people when they need them.

On the other hand the universities are crunching out .NET and Java coders who have no ideological reason to use Linux.

Something that could fill the niche here is open software platforms for digital signage. Because the more user friendly Linux gets, the more I'm seeing of it in Enterprise environments. So if only someone could make the Fedora or Ubuntu of digital signage using open source.

There is a Windows-based digital display in the grocery near our house. It is perpetually displaying some Windows dialog about the advertising program they have installed has failed/ab-ended in some manner. Seriously, I'm not sure the display has ever worked correctly (I go there a lot.)

However, I watched the crew on a Virgin America flight announce that we had to "reboot" the plane because the entertainment system was frozen. It was, and everyone could see it -- it was Linux-based (not certain which flavor, pretty sure it was Debian-based though.) It had frozen, and all the screens (one for every seat) had a console stuck in some batch job and displaying the output to the screen. Luckily, we were still on the ground, so the reboot wasn't so bad.

But it was alarming. Reboot a Windows-based advertising display? Who cares. Reboot the plane because the Linux-based system is frozen? Quite a bit more alarming.

When we bought a display for purely display (Samsung), it came with Microsoft Windows built-in so there was nothing else to buy and we didn't need to mount another device.

Before that, we had a Mac mini in the conference room because we found a nice mount, and now we are just buying TVs and mounting an Apple TV.

I wondered this until we did it and then all of the suitable solutions used Windows (we are mostly a Linux house). We didn't want to build our own solution so just used that. We actually just use http://www.cool-screensavers.com/onlinews.html - I'd much prefer a HTML5 or even a flash solution, but I've never found a suitable one.

We've been running the same system for 6 ish years, sometimes people ask us to put powerpoint or videos on the displays, which would be more difficult if it was a Linux system.

The main problem with the displays is not viruses, but rather pop-ups telling you need to do some update or other (like the one shown in the article).

To me this clearly just looks like a plug for the guy's friend. Hardly an interesting article.

At one point I was writing a small custom DS platform for a client with a big corporate MS it staff. They all had their microsoft books on their desks relating to their job responsibilities. Any mention of something that didn't have a ms or cisco logo on it, was instantly meet with disapproval. Long story kinda short, I failed and lost out to another vendor, because i couldn't convince the IT guy I had been partnered with that Java and javascript weren't the same thing. I was having issues with js on ie9, they read it as incompetence; little do they know (or not now for that matter).

Adding Linux or other OS support to a Windows IT shop requires more than a trivial amount of work and added overhead, especially if security is regulated. It's always cost/benefit.

I would say when they need some displays set up, they don't want to buy in any new computers so they just get the old office PC's which aren't in use anymore.

I noticed a malfunctioning display on the CTA here in Chicago and it was running on chrome. Still on Windows but at least they had the foresight to make it portable.

Yep, it is pretty common. In Novosibirsk (Russia) such displays installed in subways (metro) and all of them shows some error when I see them. It is weird.

Windows has had a kiosk mode since at least XP. It's still there in 8.1 (http://blogs.msdn.com/b/hyperyash/archive/2013/10/25/enable-...).

All the benefits of a managed Windiws installation, and suitable for 99.9% of kiosk requirements. Probably.

I've been talking about this for years:


At the company I work, we use Windows for an array of monitors running in our network operations centre. The only reason we went with Windows was that the display multiplexer thingy we bought doesn't support Linux.

Our app is entirely web-based, so it was quite possible to choose any reasonably modern OS.


I think its really about lowering barriers to entry. The more people that understand how to operate a system decreases risk. Plenty of people understand Window OS and how to run an application. With this knowledge everyone just can be an expert on how to operate the displays.

I don't think Linux supports the 18-screen configurations that Windows can support.


Seen lately on big airport (Frankfurt) in Germany: https://www.dropbox.com/s/50x9xhme7r5tm8e/Foto%2003.10.13%20...

I've noticed a lot of ATMs run Windows for the display, and suffer similar problems. It's really quite unnerving to really need to use an ATM, but a Windows XP Start bar is showing with some strangely named programs running...

I've seen presentations being really embarrassing because of windows-updates too.

Yet Windows updates are a conveniently globally shared problem.

For real embarassment, nothing beats the unpaid software nag.

That said, I have seen panic'ed linux systems on such screens too. But granted, it is easier to run a single program as /bin/init on a linux system than to configure a proprietary OS.

They can build their own custom made kiosk using Mer as a base (and Qt for UI) in a matter of days. The reason they are using Windows is probably inertia and ignorance.

I think all the departure table screen I've ever seen have run Windows.

Always wondered what the hell, especially since it doesn't even seem to provide stability.

Why not just use low-cost Android tablets, since those displays only need very basic full screen apps anyway?

Or even on those portable Android sticks. I fear this will commoditize the Digital Signage industry on the long run, Android devices need zero support and a fool can install the apps with the Play store. Plus Android devices often have very sophisticated GPUs, making them suitable for visuals.

Well, the short answer is they don't know about other operating systems or what an operating system is.

I think most of these would have worked on a Display connected to AppleTV.

For the same reasons why companies still use Microsoft Windows.

A friend of mine collects photos of monitor and advertising display fails in airports. He's been doing it for years and he has a large collection. I think that over 95% are Windows.

I want to get into real market to see how many unstable is Windows. I really, really want to see that.

Not so much windows, but if you run your app in ie, you will run out of memory in a day or so. I had auto reboot every night at midnight. On the other hand I have run a small tomcat server on a cheap hp box running bare minimum win7, and it literally ran for years without an issue.

8.1 allows you to boot into a single metro app... at least the desktop won't interrupt...

It gets even worse, an airport's departures time table ran Windows and just showed the desktop, causing me to have to walk to the other end of the terminal to check the Gate number. (source: https://twitter.com/Will3942/status/394915432660234242)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact