The Shocking Truth About Software – Whiteboard Wednesday
In this Whiteboard Wednesday, Lenny Ford tells you the shocking truth about software.
Hi everyone, I’m Lenny Ford from Links Web Design. Welcome to another Whiteboard Wednesday. This week we’re going to tell you the shocking truth about software, and that shocking truth is that all software has bugs, every last piece of it. That may not be so shocking. First, let’s start off talking about what do we mean by software.
What is Software?
It can be lots of things. It can be your operating system. You know Windows, OSX, Chromo S, Android, or the new Firefox operating system on their new phones. Operating systems, there’s a lot of them and that constitutes software, but so do websites. Websites are just simply coded. It renders out a view for you to look at through your web browser. You know web browser is also a piece of software.
Games that you play may be on your desktop or even on your mobile device. Those are obviously software. Also, apps and programs, which include just about anything you run on top of an operating system. From Microsoft Word to Candy Crush to you know, whatever list-making app you love to have on your iPhone. They’re all software. They’re all written in code, but they all have bugs. And the real question is, “why?”
Why do they all have bugs?
Well, there are a few reasons that they all have bugs. First is, technology. Technology moves at a really good clip. As technology moves forward, software makers try to introduce and use those new technologies. They also have to make them work with the old technologies. The internet and software have been around since the mid-’50s with board games and punch cards in computers.
We have 70 years or so of technology built up under our belts. Some of it is still being used. Even that old technology. We find better ways to do things. We want to move on. The problem is, they don’t always interface really well and that can cause bugs. There’s also an enormous user basis that we have to test against when we write software or websites.
That includes not only the way that they would use that piece of software. There’s no way to anticipate. When you ship a product like Windows with such an enormous user-based, there’s no way to test against how many different ways somebody might use the operating system to do a specific task. One of those 10,0000 ways might not work right and that would obviously be a bug.
But it also has to do with their devices, whether they’re on a mobile device. You know, Windows has since moved to a universal platform between desktop and mobile. Well, know they must account for those devices, how they work, and how they run the code. That also increases screen resolutions.
If you run a program on your desktop, and you shrink down Microsoft Word because you wrote a document but want some extra screen space when you shrink that down. How will it work? They account for any different display resolution that might be available to a user.
Also, the hardware in the device. You may be running a game that works really well on one of your computers. Because it has a really nice beefy graphics card. You go on running it on an older machine. You find there are all kinds of graphic bugs in the game. That’s a good example of how hardware can affect and introduce bugs into the software.
Also the rapid pace of software development today, we’re all used to seeing version numbers. Windows just went from 8 to 10. They skipped 9. There’s this feeling in the software world that we want to get out products as quickly as possible to our user basis. Let them use it and iterate in those products.
That’s where we get version numbers from and why you get versions 1.2, 1.3, and incrementally increases until new features are introduced. That iterative and rapid pace leads to bugs in the software because we move so quickly, it’s easy to overlook things once in a while.
What can you do about bugs in software or websites that you see?
Well, the first thing you can do is make sure that you submit crash and bug reports. There’s a difference there. A crash report is, the program actually closes and you probably saw a little pop-up that said, ”Do you want to submit the details of this crash to the company that makes the software?” Click “yes.” Let that have that info. There’s nothing personally identifiable over there.
It’s all about your system, what your running the software on, and it really helps them narrow down what happened. A bug report would be something you find. The software didn’t crash, but you found something that’s not working quite right. Almost always you can go to the support center on a company’s website. Submit a bug report for their software. Let them know that something going on. If they don’t know about it, they can’t fix it.
Finally, do a little research online.
Nine times out of 10, there’s a solution for the bug, the crash, or whatever it is that you experienced. Other people have that problem too. Even if the company hasn’t had time to address it yet, there may be a workaround available. Users are pretty crafty! There are some really smart people on the internet.
They most likely have run into the same problem and quite possibly can provide a solution. So, that is our shocking truth about software development and software in general. You will find bugs on the web or on your desktop. Take it with a grain of salt. You should be able to work through it.