That's at least the third time you shilled for that phone in this thread. You have an impressive array of marketing videos.
It's not very good.
You can't move windows from one desktop to another, which is something I do frequently - move a pad of notes from one screen to another, move a meeting reminder with a webconf ID to the screen with my Windows VM (because the webconf software only works on Windows).
There are other third party programs that also try to do it, but they do weird crap like remembering where windows are and moving them around.
It's just not as developed as the Linux solutions have been for as long as I can remember - key combos to switch desktop, to switch desktop but drag the current window with your viewpoint, to place a window on all desktops, etc. I'll be interested to see what the Windows 10 implementation is like, but Windows 10 will likely remain just my "gaming" OS with my real work done on Linux.
Plus of course, 1.8x at brand new means that all other things being equal, you'll have many fewer charge cycles.
Would be interesting to see someone do the math, but the battery decay curve on these should be much shallower overall (until some doofus uses it to make a smaller phone - which isn't really very likely, they're already reaching the limits of what you can do in terms of structural strength if you can bend them by sitting on them...)
And the policy has a lot to do with the OS and the design of it's default apps, which encourage people to shoot themselves in the foot.
* No "executable" flag for files
* Hiding file extensions by default
* The whole notion of embedding arbitrary binary code in webpages (ActiveX)
* Training people to click "yes" on everything by spamming approval dialogs for everything
Even as a local administrator, and with the rights to approve of any executable, this whitelisting software was an obstacle. And sucked performance out of everything - some I/O heavy operations took 7 times longer because it wanted to hash every file. I agree it was spectacularly bad policy, but if Windows wasn't so vulnerable to being infected with malware at the hands of its own user, it's not a policy that would be necessary.
+1 to that.
Windows is no longer useful to the power user or developer in a corporate environment (that doesn't grok these things), just because security policy will usually demand that your computer is made to be useless, because an unrestrained computer is a powerful general purpose tool, and in most people's hands, a powerful tool is going to lead to unpleasant injuries fairly quickly.
The effort then required to work around the security so you can actually do your job gives me an acid stomach. The new fad is whitelisting, which means I have to approve of every program that I run on my machine. Including the ones I write. Even batch files.
Oh, but not new JAR files. >-<
Security theatre, makes you sick. People are making big bucks off this shite.
Even if it was true... millions of dollars for
Wonder what the arrest rate of 20 extra pairs of feet on the street is?
Possibly not so bad at the client side, but all this Node.js stuff that's popular....
Oh, yes, testing doesn't fix bad design. But it helps to avoid the problem mentioned - which is that projects use versions of components with known problems that are known - and thus have been fixed in newer versions.
I've only ever seen instances where new versions of Java broke things by removing deprecated components like JINI, but I generally tend to stick to OpenJDK for everything - as the "official" Java (the benchmark for certification) maybe it has less "clever" in it than the others.
Clients may be keen to move onto newer versions of Java because of the immense litany of security defects that get listed by Oracle when they release a new version, and because of their apparent enthusiasm for end-of-lining support (alas, Java 7, we knew you well, but no more public updates after April 2015).
Because if you don't test your code, you don't know if changes to it break it.
Changing the components your code is composed of is a big change.
Therefore : people get nervous about changing the components they have used (even changing the version).
What should be happening : when you're planning a new release, raise the component versions to the latest and run your test suite. If it passes, good job, release it.
What is actually happening : the version numbers never get edited, because that version worked, and if you change it, OMG, it might stop working.
And if you want to to work better : Kickstart it a bit
With a modern browser that supports it?
"Audio and video calls are not supported on your OS"
(Ubuntu Linux 14.04, Firefox, Chromium, AND Chrome)
"Cross platform", my arse.
The Windows version demands a 6MB MSI installer get run as well, so it's not entirely standard WebRTC either.
And sadly, it was only an accident.
I used to work for a company that still maintains a VB3 system. We also used a licensed rich-text-format textbox control for reporting. We had to buy the company to get the source code for it when it went out of business, just in case it had a critical bug and we needed it fixed.
Proprietary platforms will, as you say, only stick around by dint of luck. Free software is the only software you're guaranteed to have stick around.
As for hardware, buy redundant units.