Is Microsoft planning a ‘bait and switch’ with the ‘free’ upgrade to Windows 10?

There’s a lot of uncertainty around exactly what Microsoft are offering for the ‘free’ upgrade to Windows 10 that’s going to start rolling out on July 29th. winsupersite.com have a good collection of questions people are starting to ask about what is included in the upgrade offer.

An article in Forbes discussing some internal presentation slides that ComputerWorld obtained is suggesting that the ‘free’ upgrade may not turn out to be entirely free after all, as a cryptic statement from Microsoft states:

“Revenue allocated is deferred and recognized on a straight-line basis over the estimated period the software upgrades are expected to be provided by estimated device life…. [The estimated device life] can range from two to four years”

We can only speculate exactly what Microsoft means by this statement, but it implies the ‘free’ upgrade is only initially free, and thrn at some point during the lifetime of your installation, the cost will be recouped. Exactly how or on what timescale the cost is recouped is unclear, but this statement implies at some point you will be charged for your Windows 10 – possibly ransomware style (‘Pay $199 now to continue using Windows 10’), or maybe subscription style (a monthly subscription to keep the install active?) – at this point there’s not enough information to be able to say. But it does seem clear, we’re not getting Windows 10 for ‘free’.

Windows 10 Users “34 per cent more likely to be strongly satisfied with the filtered Taskbar”

Let that statement sink in for a minute – in Windows 10 Insider Preview builds, users have indicated they are:

"34 per cent more likely to be strongly satisfied with the filtered Taskbar"

… and based on that not-so-convincing statistic it’s been decided that the taskbar for a virtual desktop will only show apps running on that desktop (presumably hiding others that are running on other desktops at the time time?).

Gabe Aul at Microsoft describes in this post the latest features in the Windows 10 preview build and how feedback from preview build users is helping Microsoft decide what new features will make it into Windows 10, and which won’t.

And there you have it. Apparently the design of the Ribbon Bar in the latest Office versions was also designed the same way, based on observed/recorded usage patterns of ‘actual users’. If you think the Ribbon Bar is actually a good design then I won’t waste my time arguing with you, but most would probably agree from a usability point of view it’s a horribly cluttered, confused mess of somewhat related options. The Ribbon Bar reminds me of a set of cluttered drawers that are where you stuff your junk that you don’t have anywhere better to put. Each drawer has vaguely related things in it, but good luck trying to find something specific – you open a drawer and spend 10 minutes digging around in there trying to find what you’re looking for. Similarly for the Ribbon Bar – good luck finding that one specific feature.

So at some point if your’re lucky enough (?) to have Windows 10, you might wonder exactly how Microsoft arrived at a decision for why a certain feature is a certain way. And you can be assured that it was designed that way because 34% of preview build users (by a long way as far from a typical user as you can get) decided they were ‘most likely to be strongly satisfied’ if it was that way.

Sometimes the simplest solutions are the best solutions

How many times have you seen or written code like this (in any language):

[code]
if(someFlag){
someFlag = false;
}
else{
someFlag = true;
}
[/code]

I’ve written code myself like this many times, and seen it in many places too. Usually for toggling display of some content: “if it’s hidden, show it; otherwise, hide it”.

Recently I’ve been spending a lot of time learning and coding an app using AngularJS and I keep seeing this pattern repeatedly in many code examples:

[code]

someFlag = !someFlag;

[/code]

When I first saw a statement like this it took me a couple of seconds to understand the purpose, but then when it clicked I laughed out loud in one of those ‘ahah!’ moments, as the outcome of this code is exactly the same as the code above.

When we translate design to code, sometimes thinking in logical, procedural steps hurts the ability to translate to code that best uses the features of the language or platform that you are running on. Sometimes the simplest solutions really are the best solutions, although maybe it takes a different thought process to get there.