Why Do Companies Still Use Microsoft Windows For Displays? - <AUTHOR> http://shkspr.mobi/blog/2013/11/why-do-companies-still-use-microsoft-windows-for-displays/ <comment><USER2> 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/](http://www.videro.com/)

<comment><USER3> 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.

<comment><USER2> 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.

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

</comment></comment></comment></comment><comment><USER5> 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.

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

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

<comment><USER6> I was surprised how long it took- several minutes.

</comment></comment></comment></comment><comment><USER8> 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!)

<comment><USER9> Also,

        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?

</comment></comment><comment><USER10> 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

<comment><USER11> 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.

</comment></comment><comment><USER12> 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...

<comment><USER13> 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.

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

</comment></comment></comment><comment><USER15> 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.

</comment><comment><USER16> 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-...](https://shutdownscanner.com/Blog/Posts/Raspberry-Pi-Digital-Sign)

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.

</comment><comment><USER17> 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...

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

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

</comment></comment></comment><comment><USER20> 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.

<comment><USER21> 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.

</comment></comment><comment><USER22> 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.

</comment><comment><USER23> 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.

</comment><comment><USER24> 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.

</comment><comment> w0rd-driven 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.

</comment><comment><USER25> 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

</comment><comment><USER26> 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.

</comment><comment><USER27> >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?

</comment><comment><USER28> 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

<comment><USER29> 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.

<comment><USER30> 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.

<comment><USER31> 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.

</comment></comment></comment></comment><comment><USER32> 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.

[http://imgur.com/oULGTjJ](http://imgur.com/oULGTjJ)

<comment><USER33> You want some information, visitor? Well here you go. Enjoy.

</comment></comment><comment><USER34> 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.

</comment><comment><USER35> 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.

</comment><comment><USER36> 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.

</comment><comment><USER37> [http://c2.com/cgi/wiki?NobodyEverGotFiredForBuyingMicrosoft](http://c2.com/cgi/wiki?NobodyEverGotFiredForBuyingMicrosoft)

<comment><USER38> High time for me to become a manager then!

</comment></comment><comment><USER39> 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:

[http://www.mono-project.com/Visual_Studio_Integration](http://www.mono- project.com/Visual_Studio_Integration)

[http://www.mono- project.com/Working_with_Mono_and_Visual_Stu...](http://www.mono- project.com/Working_with_Mono_and_Visual_Studio)

[http://www.mono-project.com/GettingStartedWithMonoTools](http://www.mono- project.com/GettingStartedWithMonoTools)

None of those are clear at all. The second page links to this screencast: [http://www.mfconsulting.com/product/prj2make- sharp/tutorial/...](http://www.mfconsulting.com/product/prj2make- sharp/tutorial/TestInMono-SwfApp.html)

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.

<comment><USER13> 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.

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

<comment><USER13> 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.

<comment><USER40> "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.

<comment><USER13> 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.

<comment><USER40> 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.

<comment><USER41> 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.

<comment><USER40> 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.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER42> 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 ;)

</comment><comment><USER43> 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.

</comment><comment><USER44> 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.

</comment><comment><USER45> Like anything shitty in tech being used, decisions pulled by non-engineers.

<comment><USER14> ...who are good at estimating business value rather then playing with obscure unsupported tech.

<comment><USER46> 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...

</comment></comment></comment><comment><USER47> "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.

</comment><comment><USER48> 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.

</comment><comment><USER49> 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.

</comment><comment><USER50> 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.

</comment><comment><USER51> 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.

</comment><comment><USER52> 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](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).

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

</comment><comment><USER54> 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).

</comment><comment><USER55> 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.

</comment><comment><USER56> 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.

</comment><comment><USER57> 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.

</comment><comment><USER58> 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.

</comment><comment><USER59> 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-...](http://blogs.msdn.com/b/hyperyash/archive/2013/10/25/enable- kiosk-mode-in-windows-8-1.aspx)).

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

</comment><comment><USER60> I've been talking about this for years:

[http://shitdigitalsignage.tumblr.com](http://shitdigitalsignage.tumblr.com)

</comment><comment><USER61> 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.

[http://xkcd.com/934/](http://xkcd.com/934/)

</comment><comment><USER62> 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.

</comment><comment><USER63> I don't think Linux supports the 18-screen configurations that Windows can support.

[http://semiaccurate.com/2013/06/13/sapphire- shows-18-screen-...](http://semiaccurate.com/2013/06/13/sapphire- shows-18-screen-demo-in-computex/)

</comment><comment><USER64> Seen lately on big airport (Frankfurt) in Germany: [https://www.dropbox.com/s/50x9xhme7r5tm8e/Foto%2003.10.13%20...](https://www.dropbox.com/s/50x9xhme7r5tm8e/Foto%2003.10.13%2016%2010%2002.jpg)

</comment><comment><USER65> 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...

</comment><comment><USER66> I've seen presentations being really embarrassing because of windows-updates too.

<comment><USER67> Yet Windows updates are a conveniently globally shared problem.

For real embarassment, nothing beats the unpaid software nag.

</comment></comment><comment><USER68> 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.

</comment><comment><USER69> 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.

</comment><comment><USER70> 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.

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

<comment><USER71> 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.

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

</comment><comment><USER73> I think most of these would have worked on a Display connected to AppleTV.

</comment><comment><USER74> For the same reasons why companies still use Microsoft Windows.

</comment><comment><USER75> 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.

</comment><comment><USER76> I want to get into real market to see how many unstable is Windows. I really, really want to see that.

<comment><USER54> 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.

</comment></comment><comment><USER77> 8.1 allows you to boot into a single metro app... at least the desktop won't interrupt...

</comment><comment><USER78> 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](https://twitter.com/Will3942/status/394915432660234242))</comment>


Refactoring Legacy JavaScript Code to Use Classes - <AUTHOR> https://arxiv.org/abs/1703.01690 <comment><USER2> While I'm a huge fan of what ES2015 has brought to JavaScript, the "class" keyword was a huge mistake. There are no classes in Javascript, there are only objects. By embracing prototypal inheritance you will write cleaner code with fewer errors.

<comment><USER3> Can you give an example of errors introduced by using "class"?

<comment><USER4> There's a lot of reasons against classes in JS. This list has a lot of articles. [https://github.com/joshburgess/not-awesome- es6-classes](https://github.com/joshburgess/not-awesome-es6-classes) A common point seems to be against the brittleness caused by inheritance (including prototypical) in general. Personally, I find that the tiny amount of performance you give up by using factory and composition patterns is generally worth not having to deal with binding the right context

<comment><USER5> Grand-parent comment asked for an example of an error introduced by using class that would've been avoided with prototype inheritance, and you respond with an "awesome" "curated" list of opinion pieces and conference talks by famous devs and rockstars...

This is what's wrong with the JS community and why everything is so hype driven... this list gives the impression that if you want to be a good JS developer you should've even THINK about trying to use classes in your JS because if you do then you don't truly "get" JS.

Think for yourself and decide if classes will improve your code in the way you plan to use it. Classes have hugely improved my company's JavaScript, it works well considering our developers understand OOP much better than they do functional programming, which I think is pretty common.

We don't rely on inheritance, we reuse by composition (which is just as easy to do with class as it is to do with protypes).

Classes are fine! Use them if you want to! Don't use them if your existing code relies heavily on prototypal inheritance, but if you just wanna wrap some methods around some internal state and you like the way the class syntax looks compared to the prototype syntax don't let some think piece on medium try to convince you that classes are bad.

EDIT: sorry to go off on a slightly OT rant on your comment... I just got frustrated by the link you posted.

<comment><USER4> That list is actually making fun of what you're describing in the JS community. "Not Awesome" is a play on the "Awesome" lists like this [[https://github.com/sindresorhus/awesome](https://github.com/sindresorhus/awesome)]

JS classes were extremely hyped up a year ago. Taking a stance against classes was going very hard against the hype.

How well your devs understand the code is the only real metric. If you understand OOP better, stick with it!

<comment><USER5> Huh, I must have missed the "classes are great" wave. I only remember the "classes are bad" FUD represented by this list... HN is my main connection to the hype train these days since I quit Twitter.

> How well your devs understand the code is the only real metric. If you > understand OOP better, stick with it!

Agreed.

</comment></comment></comment></comment></comment></comment><comment><USER6> If you are interested in this sort of work, we've been doing this for years at Facebook and are publishing all our "codemods" in a repo:

\- JS: [https://github.com/cpojer/js- codemod/tree/master/transforms](https://github.com/cpojer/js- codemod/tree/master/transforms)

\- React: [https://github.com/reactjs/react- codemod/tree/master/transfo...](https://github.com/reactjs/react- codemod/tree/master/transforms)

We built and ran the codemod they talk about in this paper many years ago across thousands of files. Unfortunately, we didn't have the infra open sourced so the actual codemod didn't get open sourced.

<comment><USER7> Indeed. I also spoke about this topic a lot: [https://www.youtube.com/watch?v=d0pOgY8__JM](https://www.youtube.com/watch?v=d0pOgY8__JM)

</comment></comment><comment><USER8> All of a sudden, perfectly working JS becomes "legacy" code due to the introduction of a new feature in the spec. There's that saying, only the software industry is more driven by trends than the fashion industry.

<comment><USER9> This new feature allows you to make code more structured and maintainable. Of course people are going to use it, and even change old code to use it. `Array.forEach` and `Object.keys` were new features in ES5, should people just leave their old `for` loops anyways? Refactoring old code is a good way to keep your codebase consistent and maintainable.

<comment><USER8> Hahaha, no. Every time the argument for "maintainability", or some other subjective quality like "readability" is mentioned, another question must be answered "to who?" The class keyword was added a few years too late to accomodate the horde of desktop Java/.NET developers moving to the web platform, who simply did not grok prototypal inheritance. Now they don't have to.

>`Array.forEach` and `Object.keys` were new features in ES5, should people just leave their old `for` loops anyways?

Emphatic yes, people should keep using their "old" loops. They do less and are much faster.

</comment></comment></comment><comment><USER10> Given the topic was Javascript class-based programming in-the-large, I was surprised this paper didn't mention the use of closures as a means to implement encapsulation. Especially during the part about supporting static properties shared between objects. One method to implement something like a static property is to declare a variable (and optional getter/setter) in an anonymous function that also contains the "class" definition.

The most surprising part is the title "... The Good, The Bad, and The Ugly" given that Crockford's similarly named Javascript book brings up relevant cases that I didn't see addressed.

</comment><comment><USER11> This seems like a big mistake to me.

</comment><comment><USER12> Classes are a nice tool to cleaner code if used correctly.

People are using them all over the JS-verse already, just manually and verbose using inconsistent and incompatible implementations.

I fail to see why everyone here are so negative to actually standardizing something everyone is already doing anyway.

Someone please enlighten me?

<comment><USER5> I think some JavaScript developers feel a sort of stockholm-syndrome attachment to the features of JavaScript that make it unique.

We've been hearing for so many years that our bread and butter language was terrible, so we told ourselves that other people just hadn't spent the time to take advantage of the less commonly understood features of JS (not unique, just lest common among popular industry languages like python, java, etc). This leads to people claiming that prototypal inheritance always better than classical inheritance (everyone else who uses classes are just misguided), or that JavaScript is "functional" just because it has first class functions.

I used to feel this way about classes too. Now that I've started using them at work I feel like there is a great desire to justify the amount of time that has been spent hacking on prototypal inheritance to behave like classes.

<comment><USER13> When the language featured prototypal inheritance as its main workhorse, it was stupid to try and hack classes together simply because you couldn't wrap your head around prototypal inheritance. That's like if I started to use python and instead of using classes I hacked together a prototypal inheritance system because classes were too outlandish for me.

Now that the newest versions of ES brings classes out of the box the point is moot. Use the one you are comfortable with or the one your team agreed with.

<comment><USER5> I agree, in the past, it would've been better for everyone to adopt prototypal inheritance instead of the dozens of half-baked class implementations we have now, but the fact that people tried to hack classes into JS shows that prototypal inheritance was the wrong design choice in the first place. JavaScript developers (in the general, not just the ones on HN) wanted classes.

<comment><USER13> I think it really depends in what order you learn things.

If you start your career with web technologies and your first programming language is JS, you have no issues with prototypal inheritance.

The problem is when have developers that are used to classical inheritance and expect them to do a bit of JS on the side. Of course they wouldn't want to learn a new mindset simply to "add some blink on the website".

<comment><USER14> TBH, I think the main difficulty is caused by people claiming there's some huge difference between prototype based and class based OO. There isn't, really (at least, not if you're comparing JavaScript and other widely used dynamic OO languages; prototype-based languages which emphasise copying, rather than delegation, are a bit more different).

In both cases, you can share behaviour between objects by putting that behaviour in another object and attaching it in a special way to the objects that should have similar behaviour - in JavaScript it's called __proto__, in Python it's called __class__, etc. Python (and Ruby, Smalltalk, and others) introduce an additional "meta" level of shared behaviour between all these class objects, whereas JavaScript (and Self) don't, but that's a comparatively technical implementation detail. Most languages other than JavaScript are include slightly more language-level support for one particular pattern of using this shared behaviour, which gives users of these languages a strong hint as to how to use these capabilities.

The addition of a class keyword to JavaScript is good because it emphasises what JavaScript shares with other dynamic OO languages.

<comment><USER5> Exactly. I don't get what secret superpowers I'm supposed to be gaining by using prototype OO over classes. One of them is just more familiar to the vast majority of programmers.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> People need to take the time to learn JS instead of forcing their understanding of programming upon it.

</comment><comment><USER16> Is my understanding of ES6 classes wrong, or is the first migration rule in paragraph 3.1 missing the static keyword?

I'd think it should be:

      // ES5
      C.m3 = function(p3) { B4; }
      // ES6
      class C {
        ...
        static m3(p3) { B4; }
      }

<comment><USER9> You're correct. Appears to be a typo.

</comment></comment><comment><USER17> I remember that when classes were proposed (in the defunct ES4 and again for ES6) much of the opposition was of this changing the semantics of ES from using prototype chains to classical inheritance, which was viewed as a step backwards.

On the contrary though, since classes are carefully designed to be just syntactic sugar around prototypes, it should be easy to migrate, right?

Well no, because the one thing that became obvious was that, since there were no standards, and no clearly and obviously idiomatic way to do prototype chains, nobody was doing them in a correct, consistent way.

So trying auto-migrate is almost certainly doomed except in trivial cases, because as the article implies there's a high chance of it just being flat wrong anyway.

</comment><comment><USER18> > _...although the language is prototype-based, the latest JavaScript > standard, named ECMAScript 6 (ES6), provides native support for implementing > classes..._

Ohhh boy. I predict trouble ahead.</comment>


What would you do to dramatically improve your programming skills in 3 months? - <AUTHOR> If you had 3 months and basic-intermediate programming skills, what would you do level up and how would you measure your progress? I'm looking to build a learning routine into my day to day and interested to hear what great programmers would advise. Thanks! <comment><USER2> Presuming a full 3 months of free time:

1\. Pick a project that is either very time limited ("I will build a compiler in 5 days") or something you will actually use to solve a problem fairly quickly. Otherwise you're just spinning your wheels or building too many features. More here: [https://codewithoutrules.com/2016/09/09/side- projects/](https://codewithoutrules.com/2016/09/09/side-projects/)

Notice that normal job writing software usually has both those aspects: actual need, actual deadlines.

2\. At end of every day (or week), notice what you've done wrong and what cues and models you were missing that led to that mistake. (I do this here: [https://softwareclown.com](https://softwareclown.com)).

3\. Spend an hour a day learning about existing technologies and what they're good for. Go for breadth, as many things as possible, not depth. If you want to choose one in depth, focus on one that's related to your current knowledge ([https://codewithoutrules.com/2016/04/27/which- technology/](https://codewithoutrules.com/2016/04/27/which-technology/)).

4\. Read some good books, watch some good videos, try to apply what you've learned. E.g. [https://www.destroyallsoftware.com/talks/boundaries](https://www.destroyallsoftware.com/talks/boundaries) and [https://www.youtube.com/watch?v=29MAL8pJImQ](https://www.youtube.com/watch?v=29MAL8pJImQ) will take you quite far).

5\. Only work 40 hours a week. Even better, 32. Working shorter hours will force you to focus on achieving your "X-in-a-week" project by being smarter about it, instead of brute force working longer. ([https://codewithoutrules.com/2016/11/10/work-life-balance- so...](https://codewithoutrules.com/2016/11/10/work-life-balance-software- engineer/))

6\. Try to write up what you've learned every week. Explaining something to someone else improves your learning.

<comment><AUTHOR> Thank you!

<comment><USER2> No problem. If you change title to have "Ask HN" prefix you might get more answers (but it might be too late to change it? could ping mods if it is).

<comment><AUTHOR> Moved to here: [https://news.ycombinator.com/item?id=14405109](https://news.ycombinator.com/item?id=14405109)

</comment></comment></comment></comment><comment><USER3> A 3 Month Holiday wouldn't improve my programming skill but I am sure as hell it will make me a better programmer</comment>


Supersoldier ants created in the lab by reactivating ancestral genes - <AUTHOR> http://www.physorg.com/news/2012-01-supersoldier-ants-lab-reactivating-ancestral.html <comment><USER2> Summary: certain ant species are shown to carry latent genes that produce supersoldier ants. This can be activated with hormones, or importantly, by certain nutritional or environmental conditions, even in species that are not known to produce supersoldiers normally. This implies applications elsewhere (for example, crops) where beneficial latent traits could be activated.

<comment><USER3> "The treated larvae grew to become large headed and jawed ants resembling supersoldiers."

If you gave a normal cat growth hormones, it might resemble a tiger. That doesn't mean it is one. That was the basis of my summary. I don't want to ridicule the research, and agree that this could have beneficial applications.

<comment><USER4> You missed a section:

'....normally develop into soldiers or workers depending on the levels of the "juvenile hormone": if levels are high the ants become soldiers, while if they are low they become the smaller worker ants. In the species that produce supersoldiers there is a second high threshold of the juvenile hormone, above which the larvae develop into the larger supersoldiers.'

If you gave a normal cat unchecked growth hormones it would not resemble a tiger - it would die. Its body is not designed to be that large - look at case reports of humans with growth disorders, they have all sorts of very serious issues simply from being larger than designed.

<comment><USER3> I don't see what I've supposedly missed. And my remark about the cat was just an example of things not necessarily being what they look like.

<comment><USER4> What you missed is that this hormone does not just generate disorganized growth (i.e. things grow but not necessarily in a way that properly supports the larger size).

Rather this hormone triggers a third type of development in this species, where the larger size of the animal is properly matched with a new type of behavior.

</comment></comment></comment></comment></comment><comment><USER3> Summary: Treating ant larvae with growth hormones, produces big ants.

<comment><USER5> That's not a very good summary, as it glosses over the fact that these hormones are evidently activating a latent mechanism for producing a specific class of ant body fulfilling a niche role. They aren't just proportionately larger ants.

<comment><USER3> See my comment on the other summary.</comment></comment></comment>


Ask HN: Personal Journal to manage time and ideas - <AUTHOR> In todays world of a plethora of note taking apps syncing with the cloud and available across multiple devices, we have all long moved away from having just a journal and a pen to organise our life. Do any of you maintain journals   and take some moments to disconnect? Do you feel productive using a journal and what kind of stuff do you put in there? Seeking inpiration to journalling my daily tasks and goals. <comment><USER2> I've been journaling almost every day for 15+ years. I've a bookshelf of full, handwritten, unlined notebooks...

When I journal with pen and paper, it's less about recording 'task and goals' or being 'productive'. Instead, I sit down to just write. I explore whatever's on my mind. And if there's nothing, I just write until something interesting shows itself... and invariably, something almost always does. Writing in this way is about letting go, about listening to what You really care about in that moment.

But I also journal digitally, (used to use Evernote, now just use Atom). This is where I keep my project notes and ideas, stuff that I want to record, come back to, and edit. The point of this is to keep my ideas / projects organized. While my folder structures are strict, what goes in the files is all very freeform.

I also wrote an app (www.bicycl.com) to save the gems from all my journaling, since it's easy to lose track of and forget key insights.

The key to journaling is about reflection... developing self-awareness about how you relate to the future (goals, tasks), the past (what's happened, stories, accomplishments), and the present (emotions, inspiration, insights). If you find you're always thinking about 1 of those, try to understand why. Perhaps, look instead at a different vector to see from a whole new perspective.

<comment><USER3> Wow, that's quite a long time of journaling. I think mine is about <9 years, keeping old notebooks. The Bicycl app looks great, how does it it work? I'm assuming you have to manually input.

<comment><USER2> Yup, generally when I come across a salient thought or idea, I load up Bicycl and input it manually. The act of intentionally trying to remember a thing by summarizing & writing it down is half the battle. Bicycl then does a really good job of organizing these micro-notes in a way that makes it easy to resurface your ideas / gems later.

</comment></comment></comment><comment><USER4> I have two versions

* Simple text file. My terminal pops up every hour or so and asks me write whatever I want to. what I type goes into a simple text file that I review at the end of the day. Its pretty effective way to know where my time is going.

* I have a physical journal that I write the tasks I'd like to get done & cross out whatever was done (may be add some notes or leftover things to do). In scrum world, this would be your backlog.

Its being doing great for the past year or so. YMMV

</comment><comment><USER5> You should check out bullet journaling. A lot of people use this for task tracking, habit forming, and life event recording, and have gotten a lot of emotional value out of the time and energy spent on these journals and what they contain.

I'm not personally good at maintaining that level of attention consistently, but I did change how I track my life based on my bullet journal research. I have a notebook where I record my meetings for the day at the top, and all my tasks. I usually end up taking notes in the sidebar, and turn them into tasks later in the week, or notes on my computer.

This has worked really well, physically writing my tasks and time restrictions, and has lasted far longer than any to-do app I've used.

Experimenting without guilt is an important component to this - you will probably evolve your process to serve your needs, and what you think you need or want now may not be true later.

</comment><comment><USER3> I have this same idea of creating an online journaling for self-development and goal tracking/insights/self-reflection/bullet-journaling that I have been ruminating for a month! I would totally love to work with anyone to create it online for personal use. I do my journaling via pen and paper but I'd love something online.</comment>


Should I Become a Developer Evangelist? - <AUTHOR> http://blog.rickyrobinett.com/2015/01/should-i-become-a-developer-evangelist/

<comment><USER2> It takes a special person to be a developer evangelist. Pretty much all the ones I've met are awesome. You've gotta be for a role like that.</comment>


New in TypeScript 3.7 - <AUTHOR> https://blog.logrocket.com/new-in-typescript-3-7/ <comment><AUTHOR> Optional chaining seems like a great syntatic sugar, but if abused it might cause debugging hell...

        if (this?.obj?.is?.true)
          doSomething();</comment>


How I Did It: William Wang, CEO, Vizio (2007) - wh-uws http://www.inc.com/magazine/20070601/hidi-wang.html

<comment><AUTHOR> I read an article a few years ago with the legitimate television manufacturers predicting this exact situation... Visio was using really cheap compoments (like knock off capacitors) and taking whatever shortcuts they could. They predicted that these components would have a very short life, resulting in dead tv's after only a couple years.

After reading that (and having experience doing my own motherboard mods), I knew to stay the hell away from their products. So I spent $75 more. TV's are NOT something that should be dispensable- they should last as long as possible. They are environmentally invasive and the resources they exploit are too precious to just throw away.

</comment><comment><USER2> I own a Vizio HDTV, and I have to say, they're doing a great job at making high end products into commodities. A few years ago we would say the same thing about Hyundai, KIA, and other car manufacturers but today? There's more of them out on the road than ever before, and they stay on the road longer than before. I think we're in a cycle wherein we all want the features, quality, and technology of formerly luxury items for our every day, layman usage. Companies that drive this cycle will likely do better than those that attempt to hold the price line. Apple is perhaps the only exception to the rule (though, their prices have come down a little as well on the premium side), and that's due to the excellent used market.

</comment><comment><USER3> What is interesting to read here are the comments below the story. The article is from 2007 and yet the comments (predominantly negative) keep going in. I don't personally have any knowledge of Vizio, but I'd certainly be wary after reading the comments!

<comment><USER4> I feel like people just have this need to pile on and add their negative review to things when they see other people doing it. Or maybe out of spite in a public place, just because they feel they have no other recourse and must warn others about their problems.

I own some Vizio products I'm perfectly happy with that have never had issues to date (TV, bluray player). Some of their products are hit-or-miss in terms of what you pay for, but all companies have that thing going on with products here and there and that's what product reviews are for. The one time I contacted support to figure out how to get wifi working on my bluray player because I couldn't find the settings, I felt like I had an average experience and my problem was solved. But overall, I really think that it's the value Vizio gives you that makes it worthwhile. Their products are never exceptional in any other way.

I bought a Samsung LED HDTV a few months ago that was reasonably priced and looked nice, but has some "features" that annoy me to no end to the point that I almost feel ripped off because my TV was advertised as being able to do something and I really didn't consider it functional ( _especially_ those damn apps and the app "store"). Whenever I ran into a roadblock, I couldn't even find a support page (apparently my TV model was too new) and support was very unhelpful. I don't hate it enough to seek out venues to vent and I didn't hate it enough to return it (all TVs seem to have this problem to me), but I will bring it up should it ever come up in conversation anywhere. I bought this TV to replace a Sony plasma that stopped turning on, but it was out of warranty so I couldn't expect miracles there.

My Logitech Harmony remote and Apple TV are so awesome I have written gushing reviews and have recommended both to at least two dozen family members and friends during this past month. I will go out of my way to say a good word about these devices that I honestly don't think I can use a TV without.

I guess my point is, Vizio isn't really in the market to sell exceptional products, so people either remember it as 'oh, whatever' or have some real big gripe and typically the product will be out of warranty at that point or it was the user's fault and... basically, just take it with a grain of salt. If anyone was objecting to Vizio based on their trade and labor practices, fine, but a row of bad comments months after the story is published is lame :(

</comment></comment><comment><USER5> Careful not to sacrifice longevity with commoditization. The margins become so little, that short product lifetime becomes the comapny lifeline, the last way to increase sales. Eventually the service becomes too lousy and customers shy away. In some respect, this is happening with car industry. HP is also a good posterchild with it's printer cartridge scheme. Goldstar?

</comment><comment><USER6> this is a GREAT article. Very inspirational. I won't spoil it.

</comment><comment><USER7> Willy Wang</comment>