web analytics

Home of my tech rants, free programs, and a story or two…

Agile programming and the stupidity of the Windows Insider Preview Program

About a year ago Microsoft laid off much of their internal quality assurance team (article) and with the advent of Windows 10 we can see how that decision has affected the quality of Windows 10. I’ll give you a hint… it’s suffered badly, quite badly.

I bet you’re asking what Microsoft replaced the QA team with. The answer is… The Windows Insider Preview Program. Yeah, that thing.

Outsourcing your quality assurance to outside your company is a recipe for disaster. What do you think the The Windows Insider Preview Program is? That’s right, the outsourcing of quality assurance onto the backs of amateurs. Do you see how this could cause things to blow up and go wrong?

Let’s explain some things here. To do proper software testing you need a team that’s willing to run a beta version of the software full time and not only that but a team made up of intelligent people who are capable of reporting bugs in a concise and detailed manner. They also need to understand that things aren’t going to work right all the time and that things may suddenly blow up in their faces at any moment taking their data with it. Guess what? That’s not The Windows Insider Preview Program. If you look at some of the complaints on The Windows Insider Preview Program they read like some whiny sixteen year old kid wrote them, not the kind of concise and detailed reports that developers need to fix software bugs. “It doesn’t work” or “It crashes” is not helpful but that’s the kind of things that you’ll often read as comments and reports in The Windows Insider Preview Program. Are you starting to see why The Windows Insider Preview Program was destined for failure? Yeah…

As for the bugs that made their way into the Windows 10 Anniversary Update, Microsoft claims that the Anniversary Update was the most highly tested version of Windows to date which is a flat-out lie. Nobody in their right mind runs those preview builds as a full time OS (unless you’re a masochist and you like punching yourself in the gut). So no wonder why so many bugs got through. And let’s not forget that to install an upgrade from one Insider Preview Program build to the next involves a process that’s very similar to installing a whole new operating system. Again, nobody in their right mind would run an Insider Preview Program build as a full time OS, even at home. Only a masochist would agree to running one of these builds as a full time OS.

A couple of months ago people were complaining on the Insider Preview Program that Microsoft was releasing too many builds back-to-back and these were people who were just testing this in lab conditions or people like me who were testing this stuff in virtual machines. Now imagine if someone was actually running these builds as a full-time OS? They would be pulling their hair out.

And as I said above, you need the kind of people who are willing to test something full time and don’t care if something goes horribly wrong. You have to have a dedicated team to do this kind of testing, you can’t expect normal people to be testing this stuff. You need people who are willing (and paid) to run test builds of an OS that don’t care if their system is thrown into complete chaos and thus forced to be reinstalled clean.

The Windows Insider Preview Program (and others like it) is not and will never be the answer to proper software testing. Software companies still need internal testing teams to do the hard work before releasing beta versions. What passes as Insider Preview Program Builds these days smell more like very early beta versions, I’d even go so far as to say they’re alpha versions. Unfortunately Microsoft fired much of their internal testing teams to be replaced by the developers themselves and that’s another recipe for disaster. Developers make the worst testers just like medical professionals make the worst patients. They know how things are supposed to work and thus they can’t test something adequately because they’re testing it from the perspective of someone who knows how it should work and aren’t testing for those edge-cases. You need people who are willing to bang on something and intentionally break it. And sometimes, breaking something is an art. I know people who can break stuff easily while I sit back and scratch my head wondering just what the hell they did.

Touch, I don’t want touch!

Touch, touch, touch, touch, touch… I don’t want touch! Touch belongs on a smartphone, not a computer! A computer is operated with a keyboard and mouse! Long live the desktop!

Hey Microsoft… you messed up!

Not only did the Windows 10 Anniversary Update manage to destroy webcam functionality for users across the world but you gone ahead and messed up again and broke Powershell too. Seriously Microsoft, what the heck is wrong with you? Didn’t you test this kind of stuff before you released it? Oh wait I forgot… you fired your QA team and replaced it with the Insider Preview program.

The Insider Preview program is a nice thing but there’s a problem… YOU DON’T LISTEN TO THEM! We were filing bugs for months before the release of the Anniversary Update but did you listen? Nope. In one ear and out the other. We were telling you that webcams were broken, but did you listen? Of course not! The whole Insider Preview program is nothing but a farce, a great big farce!

And of course because of Windows 10’s mandatory updates if something comes along and breaks things again, God forbid sending computers around the world into Blue Screen hell, we as users can’t escape from it because even if we managed to recover our systems from the botched update that same botched update will be downloaded and installed sending our machines once again into Blue Screen hell. Oh joy of joys! NOT!

To quote Paul Thurrot…

If Microsoft wants us to accept automatic updates without question, it needs to ship high-quality updates that do not break things. And so far, it is not living up to its end of this contract. You can complain all you want about Android or iPhone, but this is the type of thing that will really kill Windows. And the lack of trust that these kinds of mistakes engenders is irreversible.

If you ask me, Microsoft has managed to burn every shred of trust and goodwill that it had with their users. First the spying on everything we do on our Windows 10 systems and now this. If there was any other alternative platform where I could play my games I would jump ship from Microsoft so fast they would be able to hear the sonic boom all the way to Redmond.

Hey Tim Cook and Apple… there’s a whole untapped portion of the market begging to be let out of the Microsoft jail!

Microsoft, please get back to what made Windows successful…

If you have been paying attention to what Microsoft has been doing lately you’d notice that Microsoft has been pushing this whole “Universal Windows Platform” initiative. The idea is that if you write a program as a Universal Windows Platform app your app will be able to run on mobile devices (phones and tablets), PCs (desktops and notebooks), and the XBOX. But lately that whole initiative by Microsoft has failed in the market.

The first of many nails in the coffin of UWP is the news that Quantum Break, a game that was written to be a UWP app and a Windows 10 exclusive, will be transitioned from being a UWP app to a game that can be run on many more devices than just Windows 10 devices. Why? Well, the developer cited issues with DirectX 12 bugs in which the game had issues running on certain graphics cards and that they had far more experience writing games in DirectX 11.

The second of many nails in the coffin is that developers just aren’t writing any apps for UWP. Sure, you can find apps in the Windows Store but if you ask me the apps you can find on it are garbage, pure garbage. I don’t understand how many of the apps that are on the Windows Store even made it to the store to begin with, they’re just that horrible. They lack many of the user interface elements that I’ve come to expect from desktop programs. I don’t know if it’s because UWP apps are so limited when it comes to designing program user interfaces but outside a few apps I’ve come across (like NetFlix), most apps are pure garbage. Most look like they fell out of the ugly tree and hit every branch on the way down. And lets not forget that most apps you can find are so buggy that even a can of RAID won’t help you.

When I think of a desktop program I think of a user interface with a proper menu interface. You know what I mean… File, Edit, etc. or even the ribbon. The apps you can find on the Windows Store lack those kinds of things, they instead have a “hamburger menu”. Really? A “hamburger menu”? If you ask me, a “hamburger menu” has no place at all on a desktop.

I bet you are asking why I said that. Well, it comes down to what is known as design language. When users look at a desktop program they expect a desktop program to look and feel a certain way. A proper menu system and multi-window user interface has been something that users have used for more than twenty years, we expect this from desktop programs. This design is tried and true, it works; there’s no reason to change it. And then all of a sudden UWP comes along and with it comes the idea that you should make your program run on different platforms. I don’t have a problem with programs being able to run on different platforms but what I do have a problem with is when you try to shoehorn a program that was obviously written and designed to run on a phone onto a desktop, that does not work with me. To reiterate, I expect desktop programs to look and feel a certain way, I don’t expect a “hamburger menu”. The “hamburger menu” belongs on a phone, not a desktop.

The third of many nails in the coffin is that writing UWP apps is very limiting due to the way that UWP apps are sandboxed when running on the system. This restricts what developers can do in their programs. You can’t interact with system components, you can’t load outside libraries, you’re limited to using a specific set of APIs, etc. This of course limits what a UWP app can do and when it comes to games, it’s even more limiting. Gamers expect to be able to MOD or modify games, add levels, etc. You can’t do that with UWP apps because, as you might have guessed, they’re sandboxed. You, as the user, can’t even browse the folder location of where UWP apps are stored on your system; if you try Windows Explorer will give you a big nasty “Access denied” error message.

The fourth of many nails in the coffin is that the majority of the world is still running Windows 7 so as a developer you would be an absolute fool if you wrote your program or game as a Windows 10 exclusive. That would eliminate nearly 75% of the market and that would be like shooting yourself in the foot… with an RPG.

We know that the Windows 10 Mobile platform has failed and with it the Universal Windows Platform. There’s really no reason why developers should write apps for the Windows Store when the Windows 10 Mobile platform is in such horrible conditions. Windows 10 Mobile has less than 1% of the market with 99% of the mobile market being controlled by Apple and Android. This won’t change. Microsoft can throw all of the marketing and money it wants at the problem but it’s just not going to change, the two platforms (Apple and Android) are far too entrenched in the mobile market and the minds of people buying phones to make an ounce of difference.

With all of that being said, listen up Microsoft… forget UWP. Just chuck it onto the trash heap of failure. You’re never going to have the power you once had to take control away from Apple and Android in the market so stop it already, to keep trying is a waste of money. Leave the mobile market up to Apple and Android, they were there first and they control the market and nothing’s going to change that. Sure, go ahead, make your various apps for iOS and Android but that’s it. Stop trying to chase a pipe dream.

For the love of God and all that is holy, get back to what made you successful… the desktop. You are king of the desktop market, you control such a gigantic portion of the desktop market that nobody else can touch you. But recently with your whole UWP push along with Windows 8.x and Windows 10 you have been annoying the very users that gave you the crown and throne of the desktop market. What Microsoft needs to do and they need to do it quickly is to do a complete 180 on their computing strategy and get back to what made them successful for decades, the desktop. The desktop is king, it will always be king. Don’t let the industry pundits tell you otherwise, the desktop will always be king. When I need to do real work, I sit down at my desktop with a keyboard and mouse. When businesses need to do real work, workers sit down at a desktop with a keyboard and mouse. Why? Because when it comes to real work there’s no comparison, the desktop is king.

Long live the desktop.

Open Android vs. Apple iPhone

I’m not denying that Android is more open and that it does allow for the user to change a lot of stuff but outside a small circle of geeks, most people don’t change a thing about their Android phones. Geeks like to say that on Android you can change your launcher, your default web browser, email client, text messaging app, image/photo viewer, music player, camera, phone app, calendar, and everything else under the sun. But let me tell you something… 99% of users that aren’t geeks don’t change a thing about their Android phones, heck… most people don’t even change their ring tone for God’s sake. Do you have any idea how many people still have the default T-Mobile ring tone? Yeah… lots of people.

For those people who really couldn’t care one bit about how their phones work and just want it work, an iPhone is the best choice. It gives that category of users everything that they could ever need right out of the box with little to no tweaking or adding of things. If there is one thing that Apple excels at more than anyone else in the industry, it is ease of use. Everything a normal person could ever want is already on an iPhone ready to be used the moment they pick it up.

And the best part is, the device is supported. If you have a problem or a question and you don’t know the answer and you would rather talk to someone and not just a faceless user on a forum, you can call Apple or walk into any Apple Store and talk to a Genius Bar person and they can walk you through on how to do something. There’s no safety net for Android users and their devices.

And best of all, every iPhone no matter where you are in the world, no matter the carrier, it gets iOS updates the same day that everyone across the world gets it. If you ask me, that’s a big huge plus in my book. Android is an absolute mess when it comes to software updates.

For geeks, yes, Android may very well be a better platform but for the vast majority of people who just want it to work… Apple is best. There’s no arguing this.

New theme

I have installed a new theme on the site to give it a fresh new look. The old theme was getting old, I’ve used it for years. Now for a new look. I hope you like it.

Why doesn’t my Android device enjoy the same updates that iPhone users enjoy? Part 2…

In Part 1 we talked about the economics of Android, namely the fact that Android is practically a money printing machine. In Part 2 we’re going to talk about the technical side of things and how the carriers in the US manage to screw things up royally for everyone involved.

In the United States the updates are not only being bogged down by the OEMs but by the carriers as well. So here is the process by which Android updates have to go through for users in the United States.

  1. New software released by Google.
  2. OEMs get the update which then they have to merge in any changes that Google made into their bastardized version Android that they’re using (TouchWiz, Sense, etc.) and hope to God that whatever Google changed didn’t break the whole house of cards in the process.
  3. The OEM sends the update pack to the carrier which the carrier then sends back to the OEM containing the changes they want added to it be it additional bloatware, carrier network changes, network additions like VoLTE, etc.
  4. The OEM then gets these change requests from the carrier and makes those changes.
  5. The OEM then sends what it thinks that the carrier wants the update to be like to the carrier which… oh wait, did you think it would be finalized now? Nope. The carriers then submit more changes to the OEM.
  6. The OEM does those changes and submits the changes back to the carrier.
  7. Repeat steps 3 through 6 a couple of times.
  8. And now finally, eight months later the end user finally gets the update only to have the whole entire shitty process start all over again when Google releases a new version of Android.

And now you know why Android phones are notorious for not getting updates on time in the United States.

Not only that but the OEMs also make it that much more difficult for themselves because they also make different variations of the same device. For instance, in Europe they have one model (using one processor) and in the United States they have another model (using another processor). So not only do they have to maintain Android distributions for every single carrier but distributions for every variation of the same device. Some carriers want added stuff in it like additional bloatware, settings, icons, etc. and another carrier wants different stuff. All in all, it’s a headache and a half to maintain.

So why can’t we all just have one variation of a device and be done with it much like Apple does? Well… we can’t do that in the Android world, everyone has to be different. Every device has to be different. We can’t have standardization. That would make Android more like Apple. But at the same time it would make things lot easier on the Android OEMs since they would only have to maintain one distribution of Android to be used on all of their hardware thus making and keeping devices up to date a relative breeze according to the mess that they have now.

Oh… and we have to tell the carriers to go f*** off. Something that Apple did from the very start. This is the way we’re going to do things and no one can tell us otherwise. This is why regardless of what carrier you have, regardless of where in the world you are, your iPhone will always get the same iOS updates on the same date.

Why doesn’t my Android device enjoy the same updates that iPhone users enjoy?

Alright, let’s get something straight here… I’m going to argue this topic purely from an economic point of view, not a technical one, but an economic point of view. With that being said, let’s continue…

When an Android OEM is about to come out with a new device what does the Android OEM do? Think about this for a moment. Have you thought about it?

When an Android OEM is about to come out with a new device they start off with a marketing blitz. In the case of Samsung (the OEM I’ve chosen for this blog post), they market the device as “The Next Big Thing”©. Why is that? I’ll give you some more time to think…

OK, time’s up. The reason why they do this is because this marketing strategy practically prints the cash for them. It practically hauls the cash in for the OEM by the semi-truck full. All they need to do is come out with a new device every year and it’s like a gold mine for the company.

So with that being said, we now ask the question which is also the title of this post. Why doesn’t my Android device enjoy the same updates that iPhone users enjoy?

To answer that question we have to think about the economics of Android. Android is a money printing machine for any company that makes Android devices. The hard work is already is done for them, the base OS is handed to them free of charge and not only that but they can modify it all they want and change it into whatever they want it to be. Not only that but every time an OEM releases a new model device it practically prints cash for them. So from a purely economic point of view, there’s no good business reason for the OEM to develop software updates for their older devices.

Let’s face some things here… If you were an executive in one of these OEMs, Samsung for instance. What would you rather do?

  1. Develop software updates for your older devices which not only costs the company money but also takes away from the R&D of new devices.
  2. Put the effort into making “The Next Big Thing”© which is pretty damn well guaranteed to bring in the cash like nobody’s business.

Hmm… if I were an executive which one of those choices would I choose? Choice #2 of course, silly.

So basically from a purely economic point of view there’s really no reason why the OEM should update your phone. They already have your money after all. The OEMs consider it a done deal the moment you hand over your cash.

And now you know why your Android device will never see updates like iPhone users enjoy. This is purely economics here folks, you can’t argue with economics.

Windows OS Support

As of right now, all of the programs that I make available on this web site and any future programs will continue to support older versions of Windows including versions of Windows going back to Vista. Windows XP support will be phased out starting with System Restore Point Creator. The amount of people using Windows XP is dwindling fast so at this point I feel that keeping support for Windows XP is an undue burden on me to continue.

As I stated before, older versions of Windows including Windows Vista will continue to be supported. If that means I can’t move past utilizing Microsoft .NET Framework 4.0, then so be it. .NET 4.0 is the oldest version of .NET that’s still supported on Windows 10 and Windows Vista. Yes, there’s a lot of things in future versions of .NET that could make my life easier but that would eliminate support for Windows Vista and that’s something I simply don’t want to do.

I need to maintain support for as many versions of Windows as I can. Despite Microsoft’s heavy handed approach to upgrading users to Windows 10, there will always be people who will choose to stay with an older version of Windows and I intend to support these people now and in the future for as long as I can.

Downloads were broken…

Yes, I know downloads were offline much of today and a part of yesterday. I was working on the download count script that I use to track how many people download my programs.

Right now, downloads are fixed so things should be back to normal.