Be that as it may, some failures result in some rather amusing situations. (If not at that moment, then in hindsight, at least.) If you find that difficult to believe, try stopping yourself from giggling as you scroll through the list of software glitches waiting for you just below this text—they might not be funny when you’re the person having to deal with them, but they are when your software is running smoothly; for that brief period that they are, at least. Below you will also find Bored Panda’s interview with an expert in computer science and electrical engineering, professor at University of Ottawa, Dr. Timothy C. Lethbridge, who was kind enough to answer a few of our questions. While glitches and failures show that there’s still room for improvement—or that it’s time to visit a repair shop—software engineering has been developing in leaps and bounds over the decades (since the 1950s, at least, when the term ‘software’ was coined), and there seems to be no end in sight. In his opinion, some of the biggest leaps in software engineering include moments when certain new languages and ‘frameworks’ have appeared, when computing ‘in the cloud’ became dominant, when mobile software started to work well, when automated testing started to be widely used, and when software engineers could look up a certain answer on the web when they get stuck. “Now, a tool like ChatGPT can help software developers,” he added. In the expert’s eyes, software glitches could be categorized into 5 groups, the first one being freezes, slowness, and failures caused by bad network connections (either on our own device or somewhere else). The key root causes for such an inconvenience, according to him, can be inadequate or nonexistent network connection, excessive data transfer, bits of data arriving in the wrong order, or a cyberattack (overloading the network). Glitches based on UX defects can also be related to excessively complex user interface, making it hard to do the work or leading users to do it wrongly (for instance, too many steps, or steps that are difficult to do without making mistakes). Then there’s also bad design making it impossible for some users to do something (for example, forcing you to enter a postal code in a country that does not use them) or bad translations when converting software to another country or language, the expert pointed out. This group can also comprise glitches caused by bad data in the system entered by humans or corrupted by earlier glitches, bad algorithms (for example, mixing up imperial vs. metric units, or making excessive rounding errors in computations), the software not considering special cases or large cases or ’edge cases’ (for instance, limiting the number of kids in a family to 4), or a cyberattack or hacking designed to get the system to do the wrong thing. Follow Bored Panda on Google News! Follow us on Flipboard.com/@boredpanda! Please use high-res photos without watermarks Ooops! Your image is too large, maximum file size is 8 MB.