Hacker News new | ask | show | jobs
by magice 3136 days ago
As much fun as it is to bash Microsoft and Windows (although, let's face it, Windows has been so much better in the last few releases), I personally think Microsoft, its engineers, as well as its PM deserve (some?) empathy rather than anger for this.

I mean, I can almost imagine how this thing happens. Someone somewhere sometime said, "hey, wouldn't it be cool if xyz?" Someone else replied with "oh yeah, and it's not THAT hard!" And the PM is probably like "well, low risk, too, so whatever you wish."

Then, the feature is thrown together, with or without explicit planning. It probably attracts way higher attention than expected, because either it is hooked into mechanism intended for real important stuff or it can be demoed so nicely (imagine: if you are the developer doing demoing, you probably have the damned tracking number ready for copy and paste). It does not support all operations, because no one looks at it twice after some brief "yo, so cool" moment.

The annoyance may or may not have a bug associated with it somewhere. But let's be realistic. If you are a PM, which one would you choose: "some nobody-care feature is not easy to use" or "if you stand on 1 leg, jump 3 times, press the code of Mordor, Windows seg faults itself". The 1st one is vague and, let's be frank, not that big of a deal. The 2nd one is a big deal: data loss and all manners of unspeakable conditions may break loose. So, any PM would do the 2nd bug first.

I mean, seriously, how would you ensure this tiny corner (which a comment below actually says, "I did not realize it exist") is "easy to use"? No automation tests can catch it. Demoing (again, the developers know how to use it and probably come prepared) won't catch it. A/B testing probably won't even get to it. Its bugs (except if that bugs involving Start menu crashing down) probably have priority between "when I have better work-life balance" and "when the machine is capable of fixing its own issues."

--

I will agree that all of these don't justify for a shitty experience. Shitty experiences, no matter how small, are shitty. But then, even LaTeX, perfected as it is, annoys me once in a while. Even Emacs, glorious as it is, has "I swear I will switch to Eclipse" moments. And Scheme has about 70 different ways of doing OO programming, none of which really works for my little case.

So, maybe a bit more love/understanding? It probably helps your (i.e. the users') blood pressure anyway.

4 comments

I don't think they deserve empathy at all. If they can't implement the feature to the level of being usable they should just cut the feature instead of annoying the user.

So much software development today is about getting story points on a velocity chart and claiming that features have been delivered even if the feature is actually useless. A Minimum Viable Product should actually be viable.

So, let's fail Spotlight on iOS too, because searching for tdbank never works for me to bring up the TD Bank app. Seems like such a simple thing, but nope. Can't forget that bloody space. And that seems like a bigger failure than anything the article was talking about.
That's a long explanation of how nobody at a large corporation should be expected to make anything work properly.

I just recently was forced to use Windows again for some piece of software that requires it. Windows immediately proceeds to update itself after startup, fails midway to bluescreen. I ended up spending an hour to revert to the latest restore point instead of getting work done.

I don't see how Windows is getting any better than what I used 15 years ago. I think a lot of people using their tech have Stockholm syndrome and fear losing the sunk cost of their investment in that ecosystem. As someone who used to program exclusively in C and C++, I can say it's always worth switching...

At a previous contract I built a VM environment based on KVM. Some of the VMs were Windows, some Linux - a mix of Ubuntu and RHEL. It was a secure environment, where part of the job was malware analysis, so obviously part of this was nuking VMs and reinstalling them.

Anybody who has done this knows with Linux it's easy - RHEL/Centos and Kickstart files are the best, because they work. Next best is Ubuntu/Debian as Preseeds work but they're bloody awful. Once you've got one that works you're fine.

I had all the Windows 10 VMs with 'Professional' keys. Now, I imagine like you i'd suspect a 'Professional' key would imply this sort of lifecycle - rinse, reinstall. This worked for the first month.

But...

Part of the install was getting updates from WSUS, which itself is awful. Turns out halfway through our build Microsoft decided after these updates they'd change the rules. So, where I was providing the autounattend.xml (ks / preseed equivalent) this particular update decided my keys were not worthy. Professional wasn't good enough, when it was previously, so I now needed Enterprise. So none of my VM rebuilds would work without intervention. These are headless VMs. This cost us tens of thousands in engineering bucks.

If I started a company tomorrow i'd go nowhere near Microsoft. I'd not let one of my employees get near a place where they decided business logic needed to go into an Excel spreadsheet. They'd have a Chromebook and i'd pay the $6 a month for them to work without any of the extra crap Microsoft decide to do this month. Yes, Google can do the same, but i'll take the chances at $6 per month as opposed to the Windows, RDS and assorted other CALs that Microsoft decide to do tomorrow. I'd even go to O365 if I trusted them after this. Which I don't.

I agree. The person who wrote the Medium blog about Cortana, actually pasted a full URL in the box meant for tracking ID.

It would be so wow if Cortana were really able to parse the URL, identify the tracknig ID and then use it but how can implement such stuffy. Different providers have different URL and query params for their tracking page. Some may call it TrackingID, some may call trackId, tid, t, xyz....