You'd think it would be simple to program something to do something simple. Despite what some people may tell you, you're right. In a perfect world, we wouldn't have programmers who constantly assumed that any simple task is a gargantuan effort that requires the importation of several processor-heavy, 100-megabyte libraries just to set up. In a perfect world, machines capable of performing 2 billion complex calculations per second wouldn't be brought to their knees by spin-locks and memory leaks. And, in a perfect world, these programmers, and the manufacturers who made these devices, would all be bankrupt.
This is not a perfect world.
The other side of this is, of course, Genius Programming.
See also Artificial Stupidity, Game-Breaking Bug (for video games).
In general, a problem in a piece of software shouldn't be considered an example if it occurs in a pre-release (pre-alpha, alpha and beta) build, or if there's no reason to believe that the software should be judged by professional standards (i.e. commercial software is fair game, but non-commercial software often isn't, unless it's intended to compete with commercial software).
There are also a few things that often aren't examples, even though they might look like they are — in particular, software that appears to use a lot of memory or storage space on your machine. Your operating system might use a gigabyte of memory on your machine, but that's not because it actually needs it — what's actually happening is that it's using extra memory in exchange for a speed boost. Even the most resource-hungry consumer OSes used today can run on literal dinosaurs (although finding such a rig may prove difficult).
Some galling examples can be found on The Daily WTF (here), particularly the CodeSOD section.
open/close all folders
Actual code that causes these observed effects is a weekly feature at thedailywtf.com.
And on numerous video sites, as a player that drags brand new multicore, multigigahertz computers to their knees in order to jerkily fail playing h.264 video that would run silky smooth on Pentium IIs or G3s as unwrapped files.
Even simple programs, like Conway's Game of Life, which can easily run at 70 frames per second on a 486SX when written in C will struggle to run at 5 frames per minute when the same code is used in Flash on a computer more than a hundred times faster.
Java should have filled the niche of web-based games that Flash mostly owns... except that early versions of Java were so slow and so unnatural looking that Flash actually looked good in comparison. By the time they fixed it, Flash had become the de-facto standard for this kind of thing, much to the chagrin of just about everyone except Adobe.
Sometimes the already-poor performance of Flash is compounded by the often badly coded applications written for it. To give an example, The BBC embeds audio and/or video files in pretty much every article on the BBC News website. Unfortunately the initial version of the Flash app they used to do this was so badly designed that any system with a processor below a Core i7 was pretty much guaranteed to be utterly brought to its knees for several minutes at a time while the player loaded. It took months for the app's performance problem to be fixed.
A couple versions ago, the windows Flash installer would sometimes report insufficient disk space even when there was no such problem. The reason? The installer would check drive C for space, regardless of the actual destination drive, and even if C wasn't assigned to a hard drive at all.
Compounding all these problems is the fact that Adobe appears to be deliberately crippling Flash in its capacity to perform its original purpose — vector-based animation — to try and get people to use it for what they want, which seems to be websites (hands up, everyone who thinks this sounds perfectly reasonable. Anyone? No one? Good).
Adobe Acrobat and Adobe Reader aren't much better either. Somehow, Ctrl+C to copy doesn't always work, despite the fact that this is one of the most basic features of any program that can display text. Sometimes it works, sometimes it silently fails, sometimes it fails and pops up an error message saying "An internal error has occurred", and sometimes it works but still pops up that error. And if you hit Ctrl+C four times in a row in a futile attempt to copy the same text, you might get one of each result despite the fact that nothing else changed between attempts. It's like playing a slot machine.
Then there's the fact that the installer likes to add bloatware to the system in the form of "helper" programs that start with Windows, stay running as background tasks, and which the main program runs fine without, and the equally unneeded "Adobe AIR". Google searches for "Adobe Reader without air" are very common.
Also, Linux versions are somewhat troublesome. Sometimes, when having several documents opened, you cannot change between them using the mouse — same for using the menus. You have to "unlock" it from the document, by either clicking on the document, or using the keyboard to activate the menus.
Early editions of Adobe Reader X would take forever to display a single PDF, take up huge amounts of processing power, and even had parts of the menu and toolbars disappear at random.
Linpus Linux Lite, as shipped with the Acer Aspire One. Now in fairness to Linpus, its GUI could not possibly be more intuitive (plus a boot time of just 20 seconds). But there is designing a distro for complete beginners, and there is designing a distro with several directories hard-coded to be read-only and Add/Remove Programs accessible only by some fairly complex command-line tinkering. That the sum total of its official documentation is a ten-page manual that contains no information that can't be figured out by an experienced user within five minutes of booting doesn't help.
In Brazil, many low-end computers are sold with horrible Linux distros in order to claim tax breaks for using locally-developed software. Stuff which cannot be updated without major breakage, full of security holes, old versions of packages, and so on, to the point that it seems many people only buy them so they can install a pirated copy of Windows to save money. Same in Hungary because of a law prescribing that no computer can be sold without an operating system (the other loophole is paying the computer store for parts and assembly, so on paper not buying a computer).
While Linux is sometimes described as the most stable OS, the opposite was true for the 1.1 kernel, which was notoriously unstable and bug-prone, and had poor back-compatibility. Users quickly reverted to version 1.0 and waited for 1.2. This is the reason behind the convention of using odd version numbers only for beta releases.
HP's printers, scanners, and fax machines come with software to go with the hardware. Everything but the drivers are optional, but HP does everything short of flat-out lying to your face to falsely suggest that the other crap is required. If you do install the optional software, the stupid thing will pop up a "Error: Your HP printer is disconnected" every time you turn off the printer. Next thing you know they'll make your computer tell you to turn the light and TV back on when you leave a room.
Adding another Sony example to the lot already present further down in this page: when they first started out with their portable music players, Sony didn't support the MP3 standard due to their historical unwillingness to support anything that could encourage piracy of any kind. Their players instead supported Atrac3, a proprietary Sony audio format. Being (somewhat surprisingly) smart enough to figure out that users would want to listen to their MP3 music, Sony sold the players with SonicStage, an upload program capable of converting MP3 files to Atrac. SonicStage promptly proceeded to annoy a whole lot of people: buggy and prone to crashing, some computers couldn't run it at all (for reasons unknown), prompting many to return the players and switch brands.
Creative did the same with their first hard-disk players: before they started supporting the MTP format (widely supported by many music managers), the only way you could upload stuff to them was by using the godawful PlayCenter program, later superseded by the even worse MediaSource. Many users preferred to keep PlayCenter: buggy as it was, at least it did its job sometimes. Both programs also attempted to set themselves as default players and music managers, further irritating users.
Ditto Microsoft with the Zune, at least initially. Read the Microsoft section for more.
Made worse by the fact that aside from the problems resulting from SonicStage, Atrac3s have better sound quality and a much smaller file size than the equivalent mp3. With the death of SonicStage due to the aforementioned problems it's Lost Forever.
The PS3 can still encode and play Atrac, but see below for why this is probably not an improvement.
Many streaming video websites have a ridiculously small buffer size; quite often only 3—4 seconds of video, and possibly even less at HD resolutions. In optimum conditions, it's not so problematic, but if the site is particularly busy or if your Internet connection isn't too fast, it can make the videos all but unwatchable. Absurdly, Youtube suffers from this restriction on its streaming videos, despite allowing an unlimited buffer on non-streamed videos, not to mention that when you watch videos, you may expect to get a black screen reading the message of "An error occurred. Please try again later."
A part of this problem is actually politics of internet service providers. The content providers (YouTube and Netflix for example) and service providers are in heated debates about who should fork over dough for the upkeep of the network. When this fails to make any progress, certain aspects of how videos get to your home suffer. It's not that content providers suck, it's that they have to hop through more loops to get to you. You can read more about it at this article.
Admittedly, this doesn't explain why ads stream perfectly fine.
Computers don't really have random number generation. Instead, they take a number (often something like the system time) as a "seed" and use that to generate a stream of random-looking numbers (it's called a "pseudo-random number generator", or PRNG) – and a given seed will always produce the same sequence each time it's used. This isn't Idiot Programming itself – the way computers work means that they can't actually generate proper random numbers without an outside source of randomness – but considering that this fact is mentioned in every basic computer science class worth its salt, any code that fails to take it into consideration is Idiot Programming.
Another example was found in a keno machine which would always roll the same sequence of numbers after each reboot, since it used the same seed every time it booted up. This allowed one clever guy to win big three games in a row. Slot and keno machines nowadays prevent this by constantly advancing the seed even while it's not being played, by either incrementing the seed number or just rolling and throwing away the outcomesnote and even this must be done very carefully, as some of the more popular ways of implementing it can actually make the problem worse due to "RNG jitter".
Pokémon Emerald has a similar flaw in its RNG system that causes a new personality value seed to be generated per save file, not per boot-up. The end result; once the seed is deciphered, the player (so long as they don't start a new game and save over their file) is left with a predictable sequence of PVs to potentially break the game with. Fixed by the time Generation IV rolled around, thankfully.
RANDU, the infamous random number generator included on IBM computers in the 60s. How bad is it? Aside from the fact that every number is odd (which is very very bad on its own yet easy to work around), any three adjacently-generated numbers can be mathematically related into a plane◊ (which looks like 15 planes when plotted due to modulo arithmetic).
Earlier versions of Java would install updates not by patching the existing installation, but creating a completely new installation in a separate folder without removing the old one.
This could be justifiable in a sense — keeping the old versions serves as a crude form of backwards compatibility, ensuring that older code would be able to find the version of Java it was meant to use. If the install was small enough (not that Java is known for its brevity), it would be somewhat practical, though inelegant in the extreme and therefore a Bad Thing.
For graphing calculators, it often happens that there exist several different hardware for linking them to computers. It also happens that different linking software, from different authors, don't support the same hardware. But unlike Texas Instruments calculators, linking applications for Casio calculators all used different, incompatible file formats on the PC.
While Windows Vista (see below) did introduce a ton of problems, it also did something that revealed many a programmer's idiot programming choice: assuming that the user account always had administrative rights. In Windows Vista, Microsoft introduced UAC, which would only assign standard user rights to a program, even if the user was an administrator. This is sensible, as it limits the damage that the program can do if it goes rogue. Programs that needed administrator rights were detected based on the file name and an optional configuration file called a manifest. Of course, older software that needed administrator rights knew nothing of manifests, and would fail in unpredictable ways, usually spouting an error message that wouldn't make the actual problem obvious to the non-technical (or necessarily even to the technical) — although Windows did sometimes spout a dialogue box along the lines of "Whoops, this program looks like it needs admin rights, but it didn't ask for them and I didn't realise until just now, do you want me to make sure it runs as an admin in future?".
So the designers of the Soviet Phobos space probe left testing routines in the flight computer's ROM — fair enough, everyone does the same, because removing them means retesting and recertifying the whole computer, which generally would've be plainly impossible without said routines. But to design the probe's Operating System in such a way that a one-character typo in an incoming command would accidentally trigger a routine that turns off the attitude thrusters, making the spacecraft unable to point its solar panels at the Sun and recharge its batteries, effectively killing it, takes a special kind of failure.
Firefox 4's temporary file deletion algorithm was an unusual case, since it was actually pretty effective at deleting older files and freeing up large amounts of disk space. It suffered a major problem, though, in that it chewed up huge amounts of CPU power and maxed out the hard drive in the process, which could slow your entire system to a crawl. Worse still, there was no way of aborting the cleanup routine, and if you killed the Firefox process, it would just invoke the file cleaner again as soon as you restarted the browser. It wasn't until Firefox 5 that the file cleaner got fixed, using much less CPU power and still being fairly disk-intensive, but not to the same extent as previously.
Tech sites have noted a rather disturbing trend in how certain handheld devices handle firmware updates. The sane way to do such an update over the internet is to check for the existence of updated firmware, download it, erase the old firmware, and then load the updated version. Ideally there's also a backup firmware chip, or some other way of restoring the device if things go pear shaped. Unfortunately, a lot of devices (especially cheaper ones) don't actually do that — instead, they check for a firmware update, and upon getting confirmation that that there is such an update, the device immediately wipes the old firmware, then downloads and installs the updated version. If anything goes significantly wrong during the download (i.e. loss of internet connection, loss of power or a software error), then the device will almost certainly be bricked. On top of that, most of the time there's no way to restore such a device to working order outside of replacing the motherboard, and only a 50/50 or so chance the manufacturer will replace it under warranty.
Curiously, most so-called "smart TVs" will do this — Samsung and Sony seem to be particularly bad about it.
Fargus Multimedia's Russian bootleg of Putt-Putt Saves the Zoo is a complete collection of failure. Alongside having enough problems as it is (characters commonly speak in the wrong voices and their lips keep moving after finishing a line of dialog), they made, quite possibly, one of the biggest fails possible — the game was originally completely unplayable. Why? They packaged the game with a blank W32 file, the file that executes the game. It wouldn't be until 2004 that fans would fix this by using torrents to grab an American W32 and stick it into the Russian version.
A flight of ultra-high-tech F-22 Raptors suffered multiple computer failures and were practically crippled because their programming couldn't cope with the time zone change of crossing the International Date Line. Somehow, it never occurred to the designers that a fighter aircraft just might cross the International Date Line and forgot to program its systems to adjust for it — which is a standard part of the programming of modern cellphones. This oversight resulted in a temporary grounding of all Raptors for a time.
Many, many pieces of PC gaming hardware feature extremely fancy graphical interfaces and special effects for their drivers. Although they might make the hardware look attractive for the few minutes people will spend setting them up, this also has the effect of consuming extra system resources and thus interferes with the actual games the user might want to play.
The Razer Starcraft II series of hardware were perhaps the worst example of this. The Razer Spectre mouse, made for Starcraft II, had such an intrusive driver that a patch had to be issued for StarCraft II itself to prevent the slowdown it caused. The Razer Marauder keyboard, also made for Starcraft II, not only used the same intrusive driver but when Razer sponsored their own team for Starcraft II, the keyboards they issued them with were... Razer Blackwidows.
At some point, the client software for AOL was so intrusive that a page on horrible software (now part of the Permanent Red Link Club) said that you shouldn't download it, and that the only way to get rid of it was to use a Live CD with support for NTFS partitions.
UEFI in modern computers have become commonplace and it offers many benefits over the old BIOS such as support for better interfaces so configurations can be easily done and none of the old limitations from the 80s like being limited to 640KB of RAM. Hell, some computers don't even have so much as the old POST screen anymore. Thanks to the "compatibility support module" found in most UEFI firmware, it can still be used with older operating systems emulating a BIOS. But of course, UEFI mode causes issues once in a while due to shoddy coding, e.g., where filling the UEFI memory with too many variables (which could be triggered by simply running Linux) bricks your laptop.
vBulletin 4 wasn't that great either; the old developers fled the coop after they somehow thought selling out to Internet Brands was a good idea. All hell broke loose.
Zamfoo. This web hosting control panel software, as discussed at Webhosting Talk and Reddit is an absolute goldmine of examples of how NOT to program anything in existence. Some examples:
The 'easy upgrade' script has you enter your server root login information on the company's website, which is then transmitted as plain text through http.
The code (which is supposedly encrypted) is devoid of any logic or decent coding sense in the slightest, doing things like enabling and then disabling 'strict mode' to 'fix' errors and and using only the most basic programming code possible.
The released updates were literally hacked in about five minutes flat, and didn't fix any of the issues properly.
Add 'support' which amounts to threats and personal attacks, the use of nulled (stolen) software by the coder and the chance that the whole thing could well have unlicensed code from other software in it, and the whole thing is literally a disaster in every way possible.
Jan Ryu Mon, an online Mahjong game by PlayNC, which has plenty of evidence suggesting it was programmed by drunken monkeys:
If a cookie gets blocked from the site (most notably the registration page), the server gives a "Fatal Error" page with a stack trace - no indication whatsoever that the problem is a blocked cookie.
The login only works in Internet Explorer - attempting to log in on any other browser will result in a "Please use Internet Explorer 6.0 or higher to log in" pop-up message as soon as you clicked on the username or password fields, and then repeat the pop-up every time you try to type a letter, click on one of the fields, or click the "Login" button. There is absolutely nothing on the site that doesn't work in Firefox, except...
Even though the game ran in a separate .EXE file, it would give an error message on startup if the game executable was launched directly. The only way to launch it to download the ActiveX extension (for IE only) from the game's site, log in, then use a button on the site to launch the extension for the sole purpose of launching the game - the extension would pass along your login information to the game, and they apparently didn't think to make the game executable ask for a login.
Scary fact: this is becoming an extremely common way to handle log in "securely". Even Final Fantasy XIV is using a variation with an embedded IE session in a "login client" window. Try loading quite a few MMOs with your Internet connection offline and watch the fun.
Then when you logged in, the game was ridiculously slow because of the eye-candy animations for every single turn. This was further exacerbated by the graphics engine, which was so inefficiently programmed that the game experienced more lag and frame-skip to show a Mahjong table with one hand moving one Mahjong tile than Touhou games do trying to animate 2000 bullets simultaneously. This is often caused by graphics engines which cache nothing or very little, instead opting to re-render most or all of the screen from scratch on every single frame.
To add insult to injury, their server had major routing issues during the beta (and still have some as of this writing), forcing many players to go through a proxy just to connect, which also meant a LOT of lag - a round would be easily half an hour, when many other online Mahjong games can finish a round in 10-15 minutes.
The Tetris: The Grand Master clone Heboris—specifically, the unofficial expansion—has more or less died out, because attempts to peek into the source code, much less make any further modifications, have proven futile due to the game being a messy hybrid of a gaming scripting language and C++ .
On a related note, there were a handful of genuine C++ ports of it. However, the MINI version (which allows for "plugins" to define additional game modes and/or rotation rules) is the most commonly-used version, and the way it works pretty much inhibits any attempt at porting it entirely to C++ .
Zero Gear isn't problematic in and of itself... but the nature of its Steam integration allows it to be used to play any Steam-locked game you want, without owning the game. This is most notably used by hackers to bypass VAC bans: just start a new account, download the Zero Gear demo, and copy the files over.
The save system in Pokémon Diamond, Pearl and Platinum. Making any changes in the PC storage system increases the save time from an already iffy 5 seconds to 15 seconds. Are you the type that likes to save regularly? Sucks to be you!
It should be noted that the save time is at least in part due to the fact that the game calculates and saves individual checksums for every single Pokémon in your PC boxes, plus two additional checksums for the whole save file, then two copies of the file are saved to the card, so that any data that gets corrupted (i.e. fails a checksum verification) on one copy can be loaded from the other. Which is actually a good programming practice taken to a ridiculous extreme. On the other hand, Generation III also did this with a consistent ~5 seconds.
They fixed it in Pokémon HeartGold and SoulSilver by apparently being more selective in determining whether to save the whole file, as the "saving a lot of data" message only comes up after moving a lot of Pokémon around. Pokémon Black and White fixed it further by unlocking boxes as you filled up the ones you were given, reducing the amount of data to be saved in the first place.
And finally fixed entirely in X and Y. As soon as the sentence saying the game is saving has printed, the game is saved.
Indie game developer and utter egomaniac MDickie has released the source code for many of his games, including the infamous The You Testament. By looking at the code of the latter, you discover for instance that the "exit program" function works by deliberately crashing the game. And that's just the tip of the iceberg.
The open-source Windows port of Syndicate Wars eats insane amounts of disc space for no logical reason.
Death Trap is a point-and-click horror game. Or at least, it tries to be. You see, there are two coding commands in Actionscript 2 known as "gotoAndPlay(frame number)" and "gotoAndStop(frame number)." One of the uses for these two lines of code is for putting them on buttons when combined with the "on(release)" command, so that when you press a button in the .swf file, the button will lead to a certain frame in the .swf. They're not meant to be used for everything (or at least, not in their bare form), but they can be used for some stuff, such as simple buttons in menus. However, they're not supposed to be used for, say... movement buttons in point and click games. You can guess what the author of Death Trap used these commands for. Because of how these work, you can't just throw around some basic buttons and expect things to work without making the game really linear. And that's exactly what the author did. He made the game really linear.
Back in the days of DOS and Windows 9x, many games (such as the PC version of Slave Zero, as Lowtax discovered in one of the first articles he ever wrote for Something Awful) were hard-coded to assume that the CD-ROM drive was D:, rather than actually bothering to check with the OS to see that this was the case. If you had more than one hard drive, or had your disk partitioned — which a lot of people with >2GB hard drives had to do prior to Windows 98 arriving on the scene — you were generally out of luck unless you could either edit the game's configuration files or find a No-CD patch.
The process of installing Battlefield 3 can be used as argument as to why EA should ditch its Origin platform (which people have accused of acting like spyware in addition to its design flaws) and go back to Steam, or copy Steam blatantly. The first is that Origin treats installing from a DVD as "downloading" the game, which feels kind of odd when you can't pause and resume it. The second is you cannot quit Origin while downloading and installing an update, which is something Steam can do. If you want to run the game, you also need to logon to their Battle Log website. And lastly, if this is a clean install, you have to install a plugin for your browser so the website can launch the game (which sounds kind of fishy). But overall, you do not launch Battlefield 3 from Origin, you launch it from the Battlelog website. Which also has the side effect of "you don't have internet connection? Too bad! You're not playing BF3".
Magicka is a very fun game, but sometimes it's so difficult to work with that it's almost not worth the trouble.
The game takes almost two minutes to start up. That's before the company logo shows up, too. You just sit there staring at a black screen for two minutes. (Thankfully, you can skip straight to the title screen once the company logos do start appearing.)
The graphics are nice, but that's because of its superb art direction. Technology-wise, it's a fairly standard 3D top-down brawler... And yet it chugs down resources like a cutting-edge first-person shooter. A laptop that runs Team Fortress 2 and Left 4 Dead can't keep up with Magicka.
If someone's connection drops during a multiplayer game, there is no way for them to re-join. The remaining player(s) must either go on alone, or quit and go back to the lobby.
The developers acknowledged the game's disastrous launch with a series of blog posts and weeks of patching that made the experience more bearable. Then, with their characteristic and warped sense of humor, they introduced a free DLC called "Mea Culpa" that gave each player character a set of gag items: A "Patched" robe, a "Buggy" Staff, a "Broken" Sword and a "Crash To Desktop" magick.
The developers of the Anno Domini series need to be slapped with some basic GUI guideline books. For example, the first game would only save after you hit the save button, but not just after naming the save game. It would also completely remove the game directory on uninstall, including save games and settings. Anno 1503 (the second game), never got its promised multiplayer mode. Anno 1404, released in 2009, still assumed that there would be only one user, and that this user would have admin rights.
The installer for Duke Nukem Forever seems to have been programmed by someone with an "everything but the kitchen sink" mentality. Not only does it install a bunch of applications and frameworks that the game doesn't actually use, but it installs the AMD Dual-Core Optimiser, regardless of whether your CPU is multi-core, or even made by AMD.
EVE Online had a stellar example of what not to do in programming with the initial rollout of the Trinity update. Eve had a file called boot.ini that contains various parameters... but it's also a critical system file stored in C:\. A typo in the patch caused it to overwrite the version in the root directory, not the EO folder, resulting in an unbootable system that had to be recovered with a rescue disk. This is why you never name your files after something that already exists in the OS. (Since that debacle, the file in question has been renamed start.ini.)
Myth II: Soulblighter had an uninstaller bug that was discovered after the game had gone gold. If you uninstalled the game, it deleted the directory in which the game was installed. It was possible to override the default install settings and install the game in the root directory of a given drive. Fortunately, only one person suffered a drive wipe as a result (the person who discovered the bug), and they actually replaced the discs after the copies of the game were boxed, but before the game was shipped. Still, it was a fairly glaring blunder.
Diablo II has fairly simple mechanics due to its nature as an online title released in 2000. That did not prevent Blizzard from introducing bugs in literally every skill tree and about 20% of all skills in the game. Bugs range from the curse resist aura getting weaker as you put points into it and a rapid fire melee attack that misses completely if the first swing misses to masteries claiming to increase damage on spells and items but not actually doing it, Energy Shield bypassing resistances meaning your mana is drained in 2 fireballs, and homing projectiles going invisible if fired from off screen. Lightning bolt spells ignored faster cast rate items for no particular reason. Berserk correctly set your defense to 0 when you used it, then if you used it again it would give you negative defense and after a while it would roll around and give you 8 million defense. Numbers were wildly off on release: the high level Lightning Strike spear skill would do a total of 50 damage at maximum spell level, and the poison from reanimated skeletal mages would do 1 damage per second over the course of five minutes. And that's just spells: there were also numerous dupe bugs, ways to teleport to locked maps, the list goes on.
Infamously the game was only considered difficult for three reasons: about half of the combinations of random enchantments a boss could have would interact in bugged ways and result in an instakill in some way (fun example: the combination fire enchanted/lightning enchanted would erroneously add the (huge) damage from the fire enchanted death explosion to the damage of every single one of the 10+ lightning sparks emitted every single time the boss was struck), the poison clouds of claw vipers would invisibly deliver their melee attack 25 times per second resulting in a RRRRRRR sound and a very quick death, and gloams drain a slight amount of mana on attack but also seem to deal 256 times that amount as damage whenever they hit you with anything.
Diablo III had a particularly funny example of this. When the game launched, the auction house gave you a 5 minute timer to cancel your auctions and beyond that they were stuck in the auction house for two days (A patch was added in the future to allow cancelling). The fans found a workaround to cancel their auctions which involved setting your computer's time to the day before you put the auction up and the cancel timer would appear again. Why was it programmed to use your computer's time instead of the Battle.net servers' time we will never know.
Space Empires V, unlike all its predecessors, is notorious as a resource hog, bringing even the mightiest of PCs to its knees, despite running only on Direct X 8:
The battle replay files generated by the game, instead of storing "Ship A shot at ship B and hit it for 15 damage to the armor.", instead store "Ship A fired bullet X. 50 milliseconds later, bullet X has moved a few pixels. After another 50 milliseconds, bullet X has moved a few more pixels. Repeat ad infinitum. Bullet X hit ship B for 15 damage to the armor." Thus, battle replays are frequently in the tens of megabytes - per turn!
Every time you load the ship list screen, the game loads into memory all the data about all the ships in the game, regardless of if it is actually going to be used in the list's current view mode, delaying the screen's loading by upwards of a second. Fortunately you can disable the loading of some of the larger bits of data, such as order queues, but then you can't see it in the list when you bring up the views that use it...
The game's developer apparently has no idea about the existence of multicore CPU's, and made the entire game single-threaded; thus, running the game on a 2GHz quad-core will be noticeably slower than running it on a 3GHz single-core.
Processing a turn for a multiplayer game when the game is set to fullscreen mode is much slower than processing the same turn when the game is set to windowed mode, in which the game doesn't bother drawing anything, but just processes in the background. Surely rendering a progress bar can't be all that taxing? (In fact, everything is slower in fullscreen mode for some reason... isn't that kind of backwards?)
The game has a scripting language which you can use to write random event and espionage scripts... but the language is horribly broken in the way it handles order of operations. Calculating 5 + 3 * 4 will give you 32, not 17 - but that's just the tip of the iceberg. Somehow you can manage to take 1, then repeatedly subtract and add 1 from it alternatingly, and wind up with any negative number you want, simply by repeating the subtraction-addition cycle the right number of times!
The graphics engine for Need For Speed: Most Wanted (2012) literally cannot run above 30FPS without massive framerate drops. The framerate drops have no correlation to the amount of action being rendered on-screen. There are framerate drops in the loading screen animation, where there are no polygons rendered whatsoever. This was discovered by people who noticed that locking the framerate to 30 in the PC version's configuration file eliminates the gratuitous slowdown that the PC version of the game is known for. But here's the thing though: The game's graphics engine is a modified version of the graphics engine that powered the last Criterion NFS game, Hot Pursuit (2010), which could run perfectly fine at an uncapped framerate. How could a company in charge of a big-budget racing game series modify an existing, completely proprietary graphics engine and accidentally break the engine's high-framerate capabilities?
Welcome To Ponyville was a relatively short My Little Pony: Friendship Is Magic visual novel, and yet it was over 1GB large. This was apparently due to the fact that the programmers appeared to have no knowledge of audio compression: for example, a brief file for a closing door was over 32MB large (with several minutes of silence included in the file to boot). Some have estimated that if the audio files were properly compressed along with the sprites the game could have been 60-90mb large.
To make matters worse, after one reviewer criticized the game's technical flaws they proceeded to block his social media accounts so that he could no longer contact them, and refused to take any advice from other programmers. Some even suspect that their recent shutdown was not due to hackers like they claimed, but embarrassment after an unofficial 5mb Flash port was released on the internet.
The original PlanetSide, a 2003 MMOFPS with up to 111 players on each of the three empires fighting on each individual 20x20km continent, handled everything clientside, with the game only checking up with what the server knows every couple seconds. A significant amount of the gameplay was devoted to exploiting the hilariously bad netcode ("ADADA" strafing relied on the game not realizing when players shift their strafing direction, causing them to teleport from side to side on other player's screens). Because everything was clientside, the game was also one of the easiest MMO games to hack. Common hacks included warping all players on a continent to stand directly in-front of you (on your screen) and kill them, causing players from across the continent to spontaneously fall over dead, or enabling a hack to disable weapon cone-of-fire, resulting in sniper shotguns and gatling guns that could pick off players from a thousand meters out. Even without hacks, the game was pitifully easy to exploit. Players would stand somewhere safe, unplug their ethernet cable, then run around the battlefield knifing enemy players to death. Once the player is happy with the amount of kills, the player would plug the cable back in and bask in huge amounts of XP as half the battlefield drops over dead - though this was eventually fixed by locking the game's controls after a few seconds with no server communication. For a long time, having a certain type of dual-core processor would cause the game to run in turbo mode, causing vehicle and players to move and fire several times faster than normal. Thankfully, Planetside 2 uses much more serverside authentication, which has fixed almost all the issues with the first game's idiotic netcode.
The original Planetside is still refered to as 'Clientside' to this day in some fan circles
The Android port of the classic SNES RPG Chrono Trigger has a rating of 3 stars on Google Play. How, you may ask, does such a beloved game get such a low rating? The reasons are many. First off is the file size. Chrono Trigger was completely rewritten for smartphones to include touch-based commands and movement. The result is a 37 MB app (the original SNES game was just a few megabytes in size). Another gripe is the game's very broken DRM system - to play the game, the user is required to have an Internet connection so that the app can authenticate itself and download the various areas of the game. That's right - this 37 MB app contains no game content whatsoever, apart from the title screen. What's more, the game automatically quits (more like crashes) if Internet connection is lost. Without saving the game. Many a Chrono Trigger player has lost an hour or more of game time when his or her device switched from 3G or 4G to a home Wi-Fi network (phones momentarily cut off Internet when they change from 3G/4G to Wi-Fi). Even more egregious is the fact that the game is incompatible with many popular devices, even the Samsung Galaxy S3, a phone much more than capable enough to run this game. In short, this port of Chrono Trigger is perhaps the worst console-to-mobile port ever.
The nail in the coffin? The Nintendo DS port of the game had already existed for years, set a precedent on how to use touch controls (albeit with a second screen), and even with several hours of additional content left a lot of empty space on a DS game card. There is absolutely no excuse.
The initial rollout of The Witcher had atrociously bad back-end code. This is best seen when upgrading to the Enhanced Edition. Despite the latter adding no small amount of content, the same computers ended up loading as much as 80% faster than before. That's the difference a little optimization can make.
The Sims 3 is known for having a large number of expansion packs... and for having a horribly wasteful method of installing them. Every time you install an expansion pack, another copy of an identical set of help files (in all languages) is installed on the machine. Plus, if you uninstall Sims 3 itself, it removes the majority of the actual content of the expansions - but not these extra help files, for which you must run the expansion pack's own uninstaller.
The Kickstarter-funded OUYA console has been identified as having a huge raft of bad ideas:
As with many console systems, OUYA gives the user the option of funding their account by buying funding cards at retail, which provides codes the user can type in to add money to their account. Unfortunately, the OUYA will not proceed beyond boot unless a credit card number is entered, making the funding cards a pointless option.
When an app offers an in-app purchase, a dialog is displayed asking the user to confirm the purchase - but no password entry or similar is required, and the OK button is the default. This means that if an app offers a purchase while you are pressing the button quickly, you may confirm it accidentally and be charged for an in-app purchase.
Splinter Cell: Blacklist is plagued with issues, such as poor multiplayer support because people can't seem to connect to one another (and everything goes through Ubisoft's UPlay service) and where the game's saves are stored. You would think if you regularly back up your saves that they would live in the My Documents folder or the App Data folder. Nope, they live where UPlay is installed, usually in the Program Files folder. And to make matters even worse, the permissions for the saves folder is left open to anyone. Which wouldn't be a problem... if you don't consider everything in Program Files requires admin privileges to write files into...
The notoriously bad Super Mario WorldGame ModSuper Mario Superstar 1 has a weird example of this in the final battle. Not only does the final boss somehow completely fail to do absolutely anything (to the point no one can figure out what it was supposed to do) and make it Unwinnable by Mistake, but somehow, via some absolute miracle of shoddy programming... the boss' graphics seem to glitch if you enter its room through one door and not the other. As in, you go through one level ID and it appears correctly (with bad Microsoft Paint style graphics), you go from another level ID and the graphics are glitched tiles. No idea how the programmer pulled that kind of fail off.
Early in the life of the Xbox 360, many gamers used the console's optional VGA cable to play their games with HD graphics, as true HDTVs tended to be rare and expensive back then. PC monitors at the time usually had a 4:3 aspect ratio, which most game engines were smart enough to handle by simply sticking black bars at the top and bottom of the screen. However, some engines (including the one used for Need for SpeedMost Wanted and Carbon) instead rendered the game in 480P — likely the only 4:3 resolution they supported — and upscaled the output. Needless to say, playing a 480P game stretched to a higher resolution (usually 1280x1024) looked awful, and arguably even worse than just playing it on an SDTV.
Call of Duty: Ghosts is apparently a sloppily developed game. It weighs in at a hefty 30GB and requires 4GB of RAM (8GB recommended). You'd think this game would be amazing on all fronts... until you find that the game might be a little bloaty, will happily eat your RAM (it even stutters on the loading movies after the level is done loading), and looks no better than previous installments. Compare this to the Tech Demo GameTrope CodifierCrysis which runs just fine on the recommended requirements (a "wimpy" dual core processor and 2GB of RAM), it just needed a graphics card from its future (and even then, only 2 generations ahead) to run on absolute max settings at 60FPS.
The online play in Meteos Wars did not seem to take lag into account whatsoever: As a Falling BlocksPuzzle Game, it only needs to keep track of the other player's incoming blocks and controller inputs. Instead, it seems to send data between players about the exact locations of every block as they're falling, resulting in much more lag than is necessary. If the connection becomes unstable, instead of taking guesses and correcting itself later, as is seen with all other falling-blocks puzzle games with online play, it just stops the action outright until the signal restabilizes, or terminates the match outright if it's taken more than a few seconds. All the while, as the online play shifts between slow and immobile, the timer counts down in real time, functioning totally independent of the game, resulting in nearly every online match ending in a time-out instead of elimination. Geographic distance seems to profoundly affect the lag too: The closer the opponent is to you, the less lag there is, and it plays almost normally if your opponent is within about 300 kilometers. Inversely, the game is almost unplayable if up against someone from another continent.
Microsoft Doesn't Take You Where You Want To Go Today
As of October 2010, this is a list of programs that can be described as "we found this program doing stupid shit and have to work around it". One of the reasons Vista was so poorly received was because a lot of programs that did stuff they shouldn't have done wouldn't work properly. "Properly" being based on guidelines formed around 2001 and enforced in 2007.
Mac Word 6. So legendarily bad, the Windows version ran faster in an emulator. Bear in mind that this was back when PCs ran x86 code and Macs were on the 68k architecture. Exacerbated by the quality of its immediate predecessor, Mac Word 5.1, often regarded even today as Microsoft's finest work and possibly the best word processor ever written. The troubles of Word 6 were mainly due to an attempt to make it universally coded (i.e., both Mac and PC-friendly), but the result was a slow, memory-intensive clunker
Versions of Word as recently as 2003 have had a document filesize limit of 32 megabytes, even though that could be reached by a document with 30 reasonably-sized photos embedded in it.
Despite its beautiful and fairly responsive user interface, Windows Live Mail has several glaring flaws, such as pegging the CPU for a full minute to fetch mail from an IMAP server and popping an error message every time it is disconnected, even though it should be a Foregone Conclusion if you leave a dormant connection lying open for several minutes with no activity.
Every version of Microsoft Windows gets this when it first comes out (except, strangely, for Windows 7), but Windows Vista and Windows ME have had the highest amounts of Internet Backlash. The common belief now is that most of Windows Vista's bad reception came from a sub-optimal initial release, which had a number of serious bugs relating to file transfers and networking (they mostly caused speed problems rather than data corruption ones, but it made using pre-SP1 versions of Vista a pain in the backside). Most of the serious problems were fixed with the first service release, but Vista's reputation, which had already been dented by its failure to live up to Microsoft's early promises, never really recovered.
Windows ME, on the other hand, was arguably the worst operating system (apart from the infamously broken MS-DOS 4.00) ever released by Microsoft, to the extent that geeks have been wondering for years whether it was some kind of Springtime for Hitler plot to make the upcoming NT-based "Whistler" (what would subsequently become Windows XP) look better. Perhaps the biggest problem was that the memory management system was so catastrophically broken that up to a third of any given system's RAM was often rendered unusable due to memory leaks. Moreover, System Restore (which would become a well-loved feature in XP and beyond) severely hurt performance, not helped by the aforementioned memory management problem, and would quite often fail to restore your documents and important files, but did restore viruses and malware.
A particularly facepalm worthy bug: ME, for the first time, supported Zip files without an external program. This was back in an era when diskettes were still ubiquitous, so the use case of a Zip file spanned across multiple diskettes was not a particularly uncommon situation. Opening a spanned archive would result in a prompt for the first diskette... and it would keep asking you until you produced that diskette. If it was lost, reformatted or damaged you were out of luck because there was no way to cancel out of that dialog box and no way to terminate it without terminating Explorer.
Windows XP was pretty decent in most aspects when it was released... except for the OS's security, which was broken beyond belief, even if it wasn't obvious at the time of release. This owed to an attempt to make it backwards-compatible with the past four OSes. Famously, it was demonstrated that if you installed the RTM build of XP on a computer in mid-2007 and browsed the internet for just an hour, the OS would be hopelessly corrupted by viruses and malware, to the point of requiring a complete reformat and reinstall of the system.
Vista was particularly hilarious in the way it restructured so many things that Microsoft actually had to set up workshops to teach people how to use it; customers found these workshops very helpful. Snarkers were quick to pick up on the fact that Vista was perfectly intuitive, provided you had a trained expert holding your hand every step of the way.
A major annoyance for new Vista/7 users who migrate from XP: the Read Only bug. Any hard disk with a NTFS file system that was created in XP that gets imported into a Vista/7 system will by default have all files and folders stored in it as read only, even for a user with administrative privileges, and even if one uses the "take ownership" feature. The solution would be go to the Security properties of each and every file and folder (the fastest way would be to go to the file system's root directory and select all files, and apply the following steps to all child files and folders), add the current user account to the list, declare it the owner, and grant all privilges.
Windows Update may sometimes screw up the bootloader on the hard drive, necessitating a reinstall of sorts to fix this. Particularly annoying if the Windows install didn't install the recovery environment and thus, a way to fix the computer.
Users that updated to Windows 8.1 via the Microsoft Store noticed one crucial feature about Windows 8 that was really nice to have: Refresh. This way you can effectively "reinstall" Windows without having an install disk. The problem? It actually relied on a special file (presumably an ISO copy of the install disk) and the 8.1 update failed to include this, making it impossible to use the Refresh command. Whoops. Though some people have figured out a way around this.
Windows Vista introduced the ProgramDatanote formerly C:\Documents and Settings\All Users and C:\Documents and Settings\All Users\Application Data, which now redirect to it folder and encouraged application developers to store system data there, with adding content in many applications simply involving dragging and dropping new files in to read. Cue Windows 8.1 making the directory read-only and disabling the ability to remove the read-only flag...
The Zune software. The interface is fine, but at first, it devoured RAM and took up way too much CPU power for what it does. But each subsequent release managed to improve performance, to the point where as of version 4 even machines that don't have much higher than the minimum spec can run it with all the visual effects turned on with little to no problem. iTunes, on the other hand, started at bloated garbage and got even more slow and bloated over time.
Regardless of the Zune's other problems, its most glaring one was its incompatibility with Plays For Sure-protected media. Microsoft apparently can't even maintain compatibility with its own stuff.
Windows Live Hotmail. Until late 2010, despite being entirely capable of handling everything the application did, Opera and Chrome had to spoof as something else before Microsoft would allow access. They also had to supply their own scripts, because the ones served by the site itself were broken.
In 2011, they've fallen prey to yet another issue. They're attempting to fight spam—by preventing it from leaving the users draft box. Perfectly legitimate mail is often blocked, which they acknowledge, giving no clue for how to change it so you can send your message beyond "re-edit it so it looks less spam-like." "Spam-like" has, among other definitions, content-free subject lines such as "RE: How's it going?".
Active Desktop was an optional Windows 95 update released in '97 in an effort to catch up with that "World Wide Web" thing that had taken Microsoft by surprise and capitalise on the new push technology hype (basically RSS feeds). The concept was ahead of its time: you could place webpages and things like weather and stock updates right on your desktop and bypass the browser altogether. It also gave your folders a spiffy overhaul, introduced the quick launch bar and made everything clickable look like hyperlinks. In fact, folder windows were browser windows and you could type both URLs and folder paths into the address bar. There was one problem (aside from the need to be constantly connected over pay-per-minute dialup to receive push updates): many user interface elements were essentially outsourced to your browser, and this was back when a crash in one browser window tended to take down all others with it. The browser was the paragon of stability known as Internet Explorer 4. You can see where this is going.
Things got more sensible and less crash-prone in Windows 98, but the desktop components remained unstable all the way until Microsoft realised no one used the feature for exactly this reason and replaced it with desktop gadgets in Windows Vista.
Microsoft Outlook uses one giant .pst blob for all emails, which tends to get corrupted once it reaches two gigabytes. This page acknowledges this, and implies that it's the user's fault for using the program so much.
Prior to Version 7, Exchange did the much the same thing: all mail for its users was stored in a single flat file on the Exchange server. This file was generally created in its entirety in advance and populated over time rather than constantly expanding. Problems: if the file became "fragmented" as users deleted messages, it would require a compression cycle, which required the server be taken offline for possibly hours. Additionally, if the file reached its limit, it would simply stop accepting new messages while acting to users like nothing was wrong. The file could be increased in size, but only to about 16Gb (as of Exchange 5). The safest solution was to migrate to Exchange 7, which in and of itself is a nightmare that often required rebuilding the entire system to deal with the absolute requirement of Active Directory.
Internet Explorer 6...note (technically the earlier versions as well, but they were mostly out of use by the time the major issues became apparent)hoo boy! At the time of its release it was widely seen as being a decent enough browser, though a lot of people complained that it hadn't really changed that much since all the way back with version 4. What became obvious as the years progressed — something made all the worse by Microsoft's decision to effectively cease development on Internet Explorer and only upgrade it when what would eventually become Windows Vista was released; while they eventually backtracked on this policy and released it for older versions of Windows, the eventual Internet Explorer 7 wouldn't come until near the end of 2006, five years after IE6's introduction — was that it suffered from unbelievably poor security, to the point where new exploits were being found literally every day by the hacker community by early 2004. This, combined with Microsoft's stubborn refusal to do anything more than patch the most serious bugs, effectively restarted the Browser Wars which had largely been over since 1998, and saw Microsoft's >90% share of the browser market get demolished by Chrome, Firefox and the other browsers, to the point where only around 20% of PC users use Internet Explorer as their primary browser today (in comparison, over 40% of PC users use Chrome as their primary browser). The transition from IE6 to newer browsers wasn't helped by IE6's support for HTML standards somehow being even worse than its security, requiring massive recoding of websites. In fact, some had to maintain separate IE6-compatible versions for several years after version 7 was released. On top of all of this, a ton of corporate intranet applications were designed with IE6 in mind and simply didn't work at all on any other browser, forcing many big companies to stick with the browser (and, by extension, Windows XP) even to this day, thus still posing a massive security risk. There are several more things we could talk about, but the bottom line is, IE6 is often regarded as being not just Microsoft's worst product, but arguably one of the worst tech products of all-time.
Internet Explorer 7 and 8 both talked up a "new commitment to standards and performance", with each one certifiably supporting more features than its predecessor, but each paling in comparison to every other browser available when released. IE7 did fix some of the most severe bugs that IE6 had suffered from, but the underlying engine was near-identical with most of the new features being cosmetic, and for the most part the browser was just as insecure and bug-ridden as its predecessor. IE8 by comparison had a redesigned engine that fixed most of the security problems, but added a new problem in that it kinda sucked at rendering older websites. Microsoft tried to divert attention from this by hyping up its "Web Slices" and "Accelerators", both of which were features that only Internet Explorer supported, but all the other browsers could feel free to implement themselves! While this trick worked for Netscape during the first Browser War (until Microsoft ended it by fiat by bundling IE4 with Windows 98), it didn't take this time around, and both versions languished in obscurity, hemorrhaging market share all the while.
Internet Explorer 9, however, looks like Microsoft has learned their lesson in what they have to do, and that it's going to finally avert this, with development focusing exclusively on W3C-standardized features (as in HTML5, CSS3, and EcmaScript 5), many that every other browser already supports, and some that they don't- but only ones that are part of the World Wide Web Consortium-approved standards. Of the tests that Microsoft has submitted that IE9 passes but other browsers fail, most are passed by at least one other browser, with some tests they've submitted not even passing in Internet Explorer 9, but passing in Opera or Safari.
To top it off, the IE9 Platform Previews run completely platform-agnostic examples an order of magnitude faster than every other browser out there (by implementing hardware-accelerated video through Windows' new Direct2D API).
From a plugin standpoint, get a load of these load times. The AVG toolbar adds, on average, a full second to the load time every time you create a new tab. On top of lots of other boneheaded on-load hooks, one developer actually incorporated network calls to their addon's initialization routine, meaning that, until it received a response from a remote server, it would block your tab from opening.
Not that the later, stabler versions of Internet Explorer don't have their share of irritating issues. A recent addition to IE's stable of features is the ability to reopen your last browsing session after a crash. Seems fair enough... until you realize that this will not only reopen the tabs and windows you had open but anywhere from five to over thirty additional windows open to your home page, for no apparent reason.
Several recent browsers have a tendency to render each tab opened as its own process (viewable through Task Manager or similar programs). Although this is useful for purposes of security and the like (as well as less memory fragmentation, meaning the memory is recovered more efficiently when tabs are closed), it has the unfortunate side effect of absolutely clogging your computer's memory (each tab occupies a lot more of it). Using Google Chrome while any other program other than maybe Windows Explorer is open? You'd better hope you have a near-bottomless well of RAM, otherwise you'll be making yourself acquainted with the "tab/Google Chrome has crashed" error messages on a daily basis.
Microsoft Office 2007 has some neat features that were previously unavailable, but those features take a backseat to some of the problems it has:
The program is a RAM hog, making it cripplingly slow, even on machines with 4GB of RAM.
The toolbars are nowhere near as customizable as previous versions, leaving you with the "ribbon" at the top, which takes up a good portion of your screen.
Many of the shortcuts have been eliminated. If you're the kind of person who likes to use a keyboard instead of the mouse, you're out of luck.
Many of the features have been renamed, but the Help feature doesn't help you with this at all. It would have been nice to go to the help menu, type in the name of the feature you want to use, and have it give you the name of the new feature. If you had a function that you used in a previous version, you have to figure out what the new version calls it.
Many features have been shuffled around, too. Using Microsoft's unusual naming and categorizing strategy, you have to figure out where your features went, which is especially difficult if you aren't sure what the new version calls it, or if it was removed entirely.
For example, in Office 2003 and previous versions, if you wanted to edit the header or footer, you would go to edit, then header/footer. In office 2007, if you want to edit the header or footer, you have to go to "Insert" then "header/footer."
Like previous versions, if you do a lot of typing in Word, you're going to spend most of your time looking at the bottom of the screen. The only way to avoid this is to continuously scroll up.
Microsoft's own spellchecker doesn't recognize Microsoft's own words, such as Powerpoint unless you syntax it right.
Games for Windows [Live] was Microsoft's attempt to take on Steam, and given Microsoft's sheer resources, many thought they would have some success in this. To put it lightly however, they didn't. Poor design choices all around meant that it never attracted many users, and was eventually discontinued in August 2013, to be replaced by an integrated app store in Windows 8 — and for all that OS's faults, the app store sensibly decided to target casual games, a market which Steam and the others haven't exploited as much. As for why the GFWL marketplace was discontinued:
To install a game, you had to have enough room to store three entire copies of that game on your hard drivenote One for the installation archive, one for the extracted archive, and one for the actual installed copy; it does not delete these things between steps, only at the end. For some games, that's well over 30 gigabytes (and by the end of the store's life, could reach 100 gigabytes). Contrast with Steam, which requires enough room to store one entire copy. You know, the copy that you actually use.
Also, while Steam will automatically update your games for you so that you never have to worry about not having your game up to date, Games for Windows Live would only tell you it needed to update a game when you actually tried to play it. You know, the exact moment when you don't want to wait several minutes for your game to be ready.
Not to mention that it's a crapshoot over whether you can actually get that update - DLC content can be denied to a player for no reason whatsoever. Red Faction: Guerrilla's multiplayer mode was rendered entirely unplayable because GFWL basically decided that faking an update and then slowing the game to a crawl rather than finding whatever it was looking for sounded like jolly-good fun.
Another terrible aspect of GFWL is that it a lot of games using it have their savegames locked down in a way that makes you essentially lose them (without going through a wallbanging ordeal to get them working again anyway) every time you reinstall a game or try to transfer your progress to another system. Again this compares unfavorably to Steam, which either just keeps out of the way of screwing with save-files in the first place, or, with Steam Cloud, outright embraces transferring them to different systems or installations.
Also, if you somehow registered for the wrong country, there was no way to go back and change it. At all, not even with customer service. The only solution was to create another account with a different name (and lose everything in the previous one, of course).
It's so bad that Microsoft blacklisted its own program in Windows 8.1. If you attempt to install GFWL, it will ask "This program has compatibility issues, do you want to run it?"
Versions of Windows Media Player randomly crash with a cryptic message about "server execution" failing. Even when you're trying to play a simple wav file on your computer with no DRM and network sharing disabled, and there's no conceivable reason it would even need to access a remote server in the first place.
Absolutely any Windows installer that ignores the default install directory in the registry and tries to put the app in C:\Program Files regardless belongs on this page, but especially if:
The documentation advises against putting the app in Program Files.
The installer tries to put the app in Program Files even when you tell it to put it somewhere else.
The installer refuses to work at all if you don't have a C: drive.
The program is 32-bit, and puts it in the Program Files folder instead of Program Files (x86) on a 64-bit computer.
Sony Only Does Everything Wrong
As discovered in the months when the PS3 was hacked, some of the code in the system involving signing software was discovered to use a constant integer for all systems, which was barely obfuscated at all. (Some simple algebra was all it took to get it) Click here for a full explanation In cryptography, a nonce, or "number used once", is used to prevent replay attacks by making the same plaintext encrypt to a different ciphertext each time. This makes it impossible for an attacker to save a previous ciphertext and resend it a second time, since it will no longer be valid on the second try. So naturally, some Einsteins at Sony wrote their signing code to always use the exact same nonce, rendering the nonce a moot point entirely.
The Sony rootkit designed to install whenever a user placed an audio CD in their computer. Ironically, this wouldn't get installed on many user's computers because it required administrative privileges to install, and a safe setup will deny these privileges to prevent just this kind of software from installing. On top of that, the rootkit installed on AutoPlay, which means (on Windows XP and earlier from before AutoPlay was changed to be prompt-only) you could defeat it by, on top of disabling AutoPlay altogether, holding the shift key when you insert the disc. If the rootkit did manage to get itself installed on a paying customer's computer, it would slow down the CPU AND open up gigantic security holes that would invite (additional) malware. Sony later released a program that would supposedly remove the rootkit, but only installed more crap. And to download it required submitting a valid e-mail address, which Sony was free to sell to spammers. It's perhaps the greatest example of an anti-piracy action that does nothing to discourage piracy, and, indeed, punishes people for a legitimate purchase. All this in the name of Copy Protection. Because Digital Piracy Is Evil, and wrecking people's computers is apparently better than possibly letting them copy a CD they've legally bought.
Another idiotic Sony DRM idea: Key2Audio, a DRM system that worked by violating the Red Book Compact Disc standard and putting a dummy track claiming the disc was empty around the outer edge of the disc (which is read first by PC disc drives, while stereos read from the inner track first). The trick to breaking this one? Keep the outer track from being read. How to do that? Draw over the edge with a permanent marker.
Still Sony: the Playstation 3. A firmware bug in which some models believed that 2010 was a leap year resulted in lockouts on single player games due to the machine refusing to connect to the PlayStation Network. What was the reason for this system having such a perilous dependency on the judgement of its system clock? DRM!
The bug stemmed from the hardware using binary-coded decimal for the clock. Because apparently converting that time for display is so difficult for the eight core Cell processor.
And another Sony facepalm to add to the pile: Sony releases frequent updates for their PlayStation Portable, mostly in an attempt to fix "security holes" that would allow running "homebrew" applications in the name of preventing piracy. On one occasion a fix for an exploit that would allow such "unauthorized" code to run with the use of a specific game ended up opening an exploit that required no game at all.
Sony tried to do the same with the Playstation 3, in addition to numerous other security features such as the Hypervisor and the Cell Processor's SPE Isolation. As the hacking group Fail0verflow (the same guys responsible for the major Wii breakthrough) discovered, the only bits of security that are actually implemented well are usermode/kernelmode, per-console keys, and the "on-die boot ROM" - everything else was either bypassed or broken through. This includes the public-key cryptography. Yes, the cryptography in the PS3 used to check the signature on software was cracked, and Sony's private keys (which are used to sign software for the PS3) were obtained.
In a possibly related hack, custom firmware enabled hackers to obtain free games and DLC from the PSN store. Why? Sony made the classic mistake of trusting the client software and assuming a certain variable in the PS3's firmware could never be modified.
Apple - It Just Doesn't Work
Apple products, especially iTunes, have a habit of downloading updates, installing them, then leaving behind a tens or even hundreds of megabytes (per update!) worth of temporary files which it doesn't clean up. Even if you update your iPod firmware, it'll leave behind the temporary files on the computer you used to update it. To add insult to injury, it leaves these files in its own application data directory instead of trying to look for a system-designated temporary directory, meaning any other program trying to find and clean up unneeded temporary files won't notice. It's like living with the worst roommate ever. To get rid of these wastes of space, you have to dig through your file system to find Apple's directory, look for the temporary directory within that, and delete the junk yourself.
It also always restarts the computer on Windows-based systems after applying the updates, without warning, even if it doesn't need the restart. It's annoying when you're leaving the updater in the background running and then all of your programs start to close all of a sudden.
Oh, and let's not forget the increasingly common issue where, for no discernable reason, any TV show episodes you bought from the iTunes store will suddenly stop playing at all, rendering just an audio free black screen, forcing a complete reinstall of iTunes and Quicktime just to get your TV shows watchable again.
For some reason, when Apple was releasing Safari for Windows for the first time, it had a tendency to crash when attempting to bookmark a page. A basic web browser action, and it killed the program.
It should be noted that in a hacker's convention contest, Pwn2Own, Mac OS X was routinely the quickest to fall to an outside attack. And by quickest, less than a minute. A common entry point for exploits? Safari. Whether or not Apple is improving browser security remains to be seen.
The old Apple III was three parts stupid and one part hubris; the case was completely unventilated and the CPU didn't even have a heat sink. Apple reckoned that the entire case was aluminum, which would work just fine as a heat sink, no need to put holes in our lovely machine! This led to the overheating chips actually becoming unseated from their sockets; tech support would advise customers to lift the machine a few inches off the desktop and drop it, the idea being that the shock would re-seat the chips. It subsequently turned out that the case wasn't the only problem, since a lot of the early Apple IIIs shipped with defective power circuity that ran hotter than it was supposed to, but it helped turn what would have otherwise been an issue that affected a tiny fraction of Apple IIIs into a widespread problem. Well, at least it gave Cracked something to joke about.
A lesser, but still serious design problem existed with the Power Mac G4 Cube. Like the iMacs of that era, it had no cooling fan and relied on a top-mounted cooling vent to let heat out of the chassis. The problem was that the Cube had more powerful hardware crammed into a smaller space than the classic iMacs, meaning that the entirely passive cooling setup was barely enough to keep the system cool. If the vent was even slightly blocked however, then the system would rapidly overheat in short order. Add to that the problem of the Cube's design being perfect for putting sheets of paper (or worse still, books) on top of the cooling vent, and it gets worse. Granted, this situation relied on foolishness by the user for it to occur, but it was still a silly decision to leave out a cooling fan (and one that thankfully wasn't repeated when Apple tried the same concept again with the Mac Mini).
Another issue related to heat is that Apple has a serious track record of not applying thermal grease appropriately in their systems. Most DIY computer builders know that a rice-grain-sized glob of thermal grease is enough. Apple pretty much caked the chips that needed it with thermal grease.
Heat issues are also bad for MacBook Pros. Not so much for casual users, but very much so for heavy processor load applications. Since the MBP is pretty much de rigeur for musicians (and almost as much for graphic designers and moviemakers), this is a rather annoying problem since Photoshop with a lot of images or layers or any music software with a large number of tracks WILL drive your temperature through the roof. Those who choose to game with a MBP have it even worse - World of Warcraft will start to cook your MBP within 30 minutes of playing. Especially if you have a high room temperature. The solution? Get the free software programs Temperature Monitor and SMCFanControl. Keep an eye on your temps and be very liberal with upping the fans: the only downsides to doing so are more noise, a drop in battery time, and possible fan wear: all FAR better than your main system components being fried or worn down early.
Apple's made a big mistake with one of their generations of the iPhone. Depending on how you held it, it could not RECEIVE SIGNALS. The iPhone 4's antenna is integrated into its outside design and is a bare, unpainted aluminum strip around its edge, with a small gap somewhere along the way. To get a good signal strength it relies on this gap being open, but if you hold the phone wrong (which "accidentally" happens to be the most comfortable way to do so, especially if you're left-handed), your palm covers that gap and, if it's in the least bit damp, shorts it, rendering the antenna completely useless. Lacquering the outside of antenna, or simply moving the air gap a bit so it doesn't get shorted by the user's hand, would've solved the problem in a breeze, but, apparently, Apple is much more concerned about its "product identity" than about its users. Apple suggested users to "hold it right" because all cellphones have this problem (yeah, ALL of them, especially the iPhone). As it turns out, Apple would soon be selling modification kits for $25 a pop, for an issue that, by all standards should have been fixed for free. Apple got sued from at least 3 major sources for scam due to this.
Macbook disc drives are often finicky to use, sometimes not read the disc at all and getting it stuck in the drive. The presented solutions? Restarting your computer and holding down the mouse button until it ejects. And even that isn't guaranteed, sometimes the disc will jut out just enough that the solution won't register at all and pushing it in with a pair of tweezers finishes the job. To put this in perspective, technologically inferior video game consoles could do a slot-loading disc drive far better (Wii, PlayStation 3).
Apple Maps, which came pre-packaged in Obvious Beta form with iOS 6, had several glaring problems right out the bat. The satellite imaging technology was prone to inexcusable error, from odd patchworks of pictures taken under markedly different conditions (some of which wouldn't even be considered usable, as they were covered in clouds or very low-quality) to severely misshapen landscapes and buildings. The map function frequently misplaced entire cities (and, on at least one occasion, continents) outright missing countless locations (and creating several new ones) and the search and GPS were just plain broken. It has become the topic of ridicule, with entire websites dedicated to mocking its shortcomings. Even the London Underground got in on it, with a sign reading "For the benefit of passengers using Apple iOS 6, local area maps are available from the booking office."
A few, hearing about the problems with the new Maps app, refused to upgrade to iOS 6 until Google came out with a third-party Google Maps app for the platform (replicating the old app's functionality, if not its interface).
That's only the start of the iPhone 5's troubles. People are reporting a purple flare when taking photos. Apple's advice? "You're just holding it wrong."
Digital Rights Management, Mismanaged
Dragon Age: Origins has a really Face Palm worthy bit with its installer where, when it asks for your CD-key, you can use Task manager (AKA "Ctrl-Alt-Delete") to stop one of the processes that is part of the installer and skip it. Under the DMCA, Task manager is now illegal, although given certain other efforts listed above, why markers haven't been outlawed is beyond us.
Games using SecuROM V10 or below will also fail to launch (without explanation) if they detect a process named "procexp.exe" (Sysinternals Process Explorer, a program provided by Microsoft), ostensibly out of fear that hackers will use it to reverse engineer their DRM process, even though Process Explorer is basically just a beefed up version of Task Manager, and Process Monitor is the one that reveals any action taken by any program whatsoever. There are two ways you can circumvent this:
Close ProcExp and reopen it immediately after starting the game.
Rename the ProcExp executable to anything else.
Use a 64-bit version of Windows, which most new computers have come with for a while. In that case, you'll be running procexp64.exe and won't have to do anything at all.
In other words, this measure does nothing to stop or even slow down piracy, but if you bought the game legally...
StarForce, another Copy Protection program. It was so poorly written that upon installation, it would open huge holes in security, crash the computer's OS (Windows Vista in particular would require a reinstall) and could break the disk drive's hardware. For example, it would disable SCSI and SATA drives based on the OS' presumption that they were both virtual CD/DVD drives. It doesn't help that the latter is a common connector for newer disc and hard drives.
Norton was once the ultimate antivirus software, and the standard the others aspired to. Then they decided to focus on anti-piracy. The result: The virus scanner hardly works, and even when it does, the virus discovered cannot be expunged, in most cases. For this, Norton now has the ultimate pirate defense: it's such an awful program, anyone knowledgeable enough to pirate software is going to get the paid, more feature-rich version of a program with a free version like avast!, or just go the legal route and get either the free versions of either of those or the newer Microsoft Security Essentials, which are all free, yet somehow still far better than Norton.
With Norton 360, attempting to create a backup will take you to a section where you have to login with your Norton Account. The problem is, if you don't happen to know the account's password (like if your parents gave you the CD as one of the 3 or so allowed copies of the program), the window's exit and right-click-close buttons are grayed out, and Task Manager can't kill the application. You have to sign in properly or it declares your copy pirated despite providing the CD Key earlier.
UbiSoft's online DRM, which prevented players from playing their games when the servers went down.
It's starting to get worse with their UPlay software, which is simply another copy of Steam, like EA did with Origin. However, whereas Origin as of 2013 has improved, UPlay is nowhere near polished enough for prime time. And it's their main DRM platform now.
At one point, their UPlay software had an remote code execution bug. One hacker built a proof-of-concept exploit that would launch Windows Calculator remotely simply by visiting his website.
Uninstalling a game that uses UPlay can cause massive memory leaks that will grind systems to a halt just with regular use - you have to use system restore to a point before you installed the game at all.
Recently UPlay was hacked and a version of Far Cry 3 - Blood Dragon was downloaded, full and complete, a few months before its official PC release date. This forced UbiSoft to release the game around the same time as the console "exclusives".
On July 30, 2012, it was discovered by Google that UPlay is a rootkit. Whether or not this behavior has changed remains to be seen.
The PC version of Gears of War had a DRM certificate that would expire on January 28, 2009, making the game unplayable after that date. Luckily, Epic released a patch to fix this shortly after.
EA's smartphone version of Tetris requires an Internet connection. For a single-player game. And if your connection drops in mid-game, it'll kick you back to the title screen. Despite the fact that there are no features in the game that should even require Internet connectivity.
The copy protection for Melty Blood Actress Again Current Code has a truly insane activation procedure. You have to insert the CD, type in the CD key, and install the game. Then, remove the CD, try to run the game (which will give an error), and click a second button to connect to a website into which you must type a code the game gives you plus a second CD key from the game box. It will then allow you to download a file which you must place in the game's install directory - which requires going through elevation if you are using Windows Vista or later. Finally, you can then run the game... ack.
Cross Beats, despite being a primarily single-player game (with some social elements), has always-on DRM that accesses the server for literally everything, including every menu transition. Perhaps not so coincidentally, less than 2 hours after launch, the whole game had to be temporarily taken down for "emergency maintenance". The official reason given was "user data load distribution processing", which was most likely PR-speak for "Oops, we accidentally DDoS'ed ourselves."
Thousands of computers using McAfee Antivirus were brought down on April 21, 2010 by an update that misidentified an essential Windows file as a virus, causing computers to constantly reboot. Barring exploits your average user wouldn't be familiar with in the slightest, users would have to go to an unaffected computer to get the fix and install it manually, as they couldn't go online on the infected PC.
McAfee's strength is that it blocks everything that might be a threat. Its weakness is that it blocks everything that might be a threat. If you wish to use a program that it considers a threat (and as of this writing, it considers Dhux's Scar, among other things, to be such a program), you cannot get it to grant an exception. You're supposed to send McAfee's developers an email telling them it's a false alarm. If they don't respond, you need to disable McAfee every time you want to use the program.
On many computers, McAfee will make the CD drive stop working. And for a while, McAfee would often be stealthily installed by default during installations of something completely unrelated.
On April 15th, 2013, Malwarebytes had a catastrophic false positive error, which caused it to mark every DLL, media file, and EXE as a trojan downloader and quarantine it. This ate up many users' hard drives, and rendered hundreds of machines inoperable, causing a large number of files to be Lost Forever.
Norton's notorious for this sort of thing:
Norton Internet Security blocks any and all images with certain dimensions, specifically those that are commonly used for advertisements. Problem is, at least one of the sizes is also commonly used by sites for non-ad purposes. In older versions, this could not be turned off without disabling all filtering completely.
Some older versions of Norton products, particularly Norton SystemWorks and Norton Internet Security, cannot be uninstalled without risking damage to the computer—PCs would wind up crashed, bricked or with corrupted files on the hard drive (including Windows Registry). Symantec had to create a special program for the sole purpose of safely and cleanly uninstalling Norton products, dubbed the Norton Removal Tool.
... will block and delete any less-than-common executable run by the user. This includes coding written by the user themselves.
... deletes DLL files at random. The screen does not let you override this. The "Learn More" button directs to a Japanese version of the Norton product page.
... disables (as of October 2012) ALL network access, including offline, even when the firewall is listed as disabled in the options. The only way to address this is by removing Norton, and this must be done with the Norton Removal Tool in order to reverse the damage done to networking components.
... increases the time needed to boot Windows by more than 500%.
Norton has also fallen prey to a host of other problems, such as a rather frivolous firewall and a bad update that forced users to perform a system restore.
Symantec Antivirus tends to interfere with right-click menus and, more glaringly, cause BSODs within 5 minutes of starting up your computer more often than it actually blocks threats to the operating system. One could say that Symantec is a threat to your operating system.
Sophos Antivirus, some time in late 2012, released a virus database update which blocked files with certain extensions, but only when they were auto-downloaded by programs without user prompts. This was supposedly in response to a series of malware programs that would do just that in an attempt to completely shanghai Windows. However, one of the files that met the above criteria was the antivirus' auto-updater. Any system with that update would grind to a halt during startup. The patch (which wasn't released for nearly a month) had to be downloaded from a disk or drive while the computer was in safe mode, and in office networks, it could only be done by somebody with top-tier administration privileges. This was because the software, once disabled, would automatically reactivate (which isn't a bad feature on its own, but here, it exacerbated existing problems).
Sadly, AVG is getting in on the same problems as Norton.
As discussed above, the AVG Toolbar slows down your browser by absurd amounts. Its core process vprot.exe also eats up a tremendous amount of CPU time (on laptops it will often hog a whole core) even when the browser is idle or occasionally not open at all.
Not bad enough? In January 2012, the toolbar was bugged to continuously add onto its log file. This would quickly reach upwards of 40 gigabytes in length of nothing but acknowledging calls to arcane functions. Any user who's been using AVG around that era is advised to check WINDOWS/Temp/toolbar_log.txt to see if the bloated file is still there, because the toolbar prevents most disk cleanup tools from deleting it.
Like Norton, it's also starting to randomly identify almost any file it's never seen before as a Trojan Horse. This mostly includes executables you developed yourself, arbitrary setup.exe's in your Downloads folder, and occasionally key files of development tools such as the Irvine Assembly libraries.
Hardware That Wears Hard On You
Some more examples courtesy of Sony: (Are Microsoft and Sony having a "anything you can screw up, we can screw up worse" competition or something?)
First, the first batch of PS2's were known for starting to produce a "Disc Read Error" after some time, eventually refusing to read any disc at all. The cause? The gear for the CD drive's laser tracking had absolutely nothing to prevent it from slipping, so the laser would gradually go out of alignment.
The original model of the PSP had buttons too close to the screen, so the Einsteins at Sony moved over the switch for the square button, without moving the location of the button itself. Thus every PSP had an unresponsive square button that would also often stick. Note that the square button is the second-most important face button on the controller, right before X; in other words, it's used constantly during the action in most games. Sony president Ken Kutaragi confirmed that this was intentional.
And before you ask, yes, this is a real quote sourced by dozens of trusted publications. The man actually went there.
Another PSP-related issue was that if you held the original model a certain way, the disc would spontaneously eject. It was common enough to be a meme on YTMND.
The original Playstation wasn't exempt from issues either. The original Series 1000 units and later Series 3000 units (which converted the 1000's A/V RCA ports to a proprietary A/V port) had the laser reader array at 9 o'clock on the tray. This put it directly adjacent to the power supply, which ran exceptionally hot. Result: the reader lens would warp, causing the system to fail spectacularly and requiring a new unit. Sony admitted this design flaw existed... after all warranties on the 1000 and 3000 units were up and the Series 5000 with the reader array at 2 o'clock was on the market.
For a non-console example, the company's HiFD "floptical" drive system. The Zip Drive and the LS-120 Superdrive had already attempted to displace the ageing 1.44MB floppy, but many predicted that the HiFD would be the real deal. At least until it turned out that Sony had utterly screwed up the HiFD's write head design, which caused performance degradation, hard crashes, data corruption, and all sorts of other nasty problems. They took the drive off the market, then bought it back a year later... in a new 200MB version that was totally incompatible with disks used by the original 150MB version (and 720KB floppies as well), since the original HiFD design was so badly messed up that they couldn't maintain compatibility and make the succeeding version actually work. Sony has made a lot of weird, proprietary formats that have failed to take off for whatever reason, but the HiFD has to go down as the worst of the lot.
The infamous "Red Ring of Death" that occurs in some Xbox 360 units. Incidentally, that whole debacle was blown way out of proportion, no thanks to the media (it's important to note, however, that Microsoft released official numbers stating that 51.4% of all 360 units were or would eventually be affected by the issue listed below). While there were an abnormally high number of faults, once it was being broadcast everywhere people started sending back perfectly functional consoles - only "three segments of a red ring" meant "I'm broken, talk to my makers". Other codes could be as simple as "Mind pushing my cables in a bit more?", something easy to figure out if you Read the Freaking Manual.
However, the design flaw that led to the fatal RRoDs was at the very least a boneheaded decision on Microsoft's part, and at worst, proof that They Just Didn't Care about making something reliable. Basically, the chip containing the graphics core and memory controller got exceptionally hot under full load, and was only cooled by a crappy little heatsink. This led to the chip in question actually desoldering itself from the motherboard after a while, and people who opened up the cases on dead units actually reported the chip falling out of the console after removing the heatsink.
The heat sink was a lot larger but shrunk to make room for the DVD drive. You think they would've tested it after making a risky design choice like that.
A more plausible explanation is that the solder joints weren't very reliable under repeated thermal stress. Eventually they crack. The same thing happens to first generation PlayStation 3 models (the Yellow Light of Death), albeit much later. Whoever was commissioned to do the assembly of both the 360 and PS3 must've had a grudge.note A common explanation is that no one knew how to use or handle lead-free solder. It was new at the time, you see. Although, there is some blame to be assigned to the crappy solder...
The 360 has another design flaw in it that makes it very easy for the console to scratch your game discs if the system is intentionally or unintentionally moved while the game disc is still spinning inside the tray. The problem is apparently so insignificant amongst most Xbox 360 owners (though ironically MS themselves are fully aware of this problem), that when they made the Slim model of the system they fixed Red Ring issues (somewhat) but not the disc scratching issue.
To be fair it is stated in the manual, FAQs, and other sources that if you want to move the console you have to turn it off.
Most mechanical drives can tolerate movement at least. It's not recommended (especially for hard drives, where the head is just nanometers away from the platter), but not accounting for some movement is just bad. Anyone that has worked in a game-trading industry (such as Gamestop/EB Games) can tell you that not a day goes by without someone trying to get a game fixed or traded in as defective due to the evil Halo Scratch.
Microsoft recommends to not have the Xbox One in any position other than horizontal because the optical drive isn't designed for any orientation other than that.
Most of 360 problems stem from the inexplicable decision to use the full-sized desktop DVD drive, which even in the larger original consoles took almost a quarter of their internal volume. Early models also had four rather large chips on the motherboard, due to the 90-nm manufacturing process, which also made them run quite hot (especially the GPU-VRAM combo that doubled as a northbridge). But the relative positions of the GPU and the drive (and the latter's bulk) meant that there simply wasn't any room to put any practical heatsink! Microsoft tried to address this problem in two separate motherboard redesigns, first of which finally added at least some heatsink, but it was only third, when the chipset shrinking to just two components allowed designers to completely reshuffle board and even add a little fan atop the new, large heatsink, which finally did the problem away somewhat. However even the Slim version still uses that hugeass desktop DVD-drive, which still has no support for the disk, perpetuating the scratching problem.
The circular D-Pad on the 360's controller. Anyone who's used it will tell you how hard it is to reliably hit a direction on the pad without hitting the other sensors next to it.
Ditto the D-Pad of the Microsoft SideWinder Freestyle Pro gamepad.
Why, after the introduction of integrated controllers into every other storage device, does the floppy have to be controlled by the motherboard? Sure, it makes the floppy drive simpler to manufacture, but you're left with a motherboard that only knows how to operate a spinning mass of magnetic material. Try making a floppy "emulator" that actually uses flash storage, and you'll run into this nigh-impassible obstacle.
The floppy drive interface design made sense when it was designed (first PC hard drives also used a similar interface) and was later kept for backward compatibility. However, a lot of motherboards also support IDE floppy drives (There may not have been any actual IDE floppy drives, but a LS120 drive identifies itself as floppy drive and can read regular 3.5" floppy disks), a SCSI or USB device can also identify as floppy drive. On the other hand, the floppy interface is quite simple if you want to make your own floppy drive emulator.
The problems with the interface aren't really that bad. Remember the LPT port? All the messed-up ISA/EISA variants? The interface design is really only bad compared with a) modern designs and b) the design of the floppy disc itself, which is often hailed by those in the tiny field as the best connection system ever, for appearing square (making it look good) but having only one way to insert it, period (in contrast to even USB, which has two ways to be forced in, only one of which works).
The LPT port is a pretty cool interface, if you like to throw together homemade devices that don't need a controller IC.
They all have nothing on the infamous A20 line. Due to the quirk in how its addressing system worked note Basically, they've skipped on the bounds check there, Intel's 8088/86 CPUs could theoretically address slightly more than their advertised 1 MB. But because they physically still had only 20 address pins, the resulting address just wrapped over, so the last 64K of memory actually were the same as first. Some early programmersnote Among them, Microsoft. The CALL 5 entry point in MS-DOS relies on this behaviour. were, unsurprisingly, stupid enough to use this almost-not-a-bug as a feature. So, when the 24-bit 80286 rolled in, a problem arose — nothing wrapped any more. In a truly stellar example of a "compatibility is God" thinking, IBM engineers couldn't think up anything better than to simply block the offending 21st pin (the aforementioned A20 line) on the motherboard side, making the 286 unable to use a solid chunk of its memory above 1 meg until this switch was turned on. This might have been an acceptable (if very clumsy) solution had IBM defaulted to having the A20 line enabled and provided an option to disable it when needed, but instead they decided to have it always turned off unless the OS specifically enables it. By the 386 times no sane programmer used that "wrapping up" trick any more, but turning the A20 line on is still among the very first things any PC OS has to do. It wasn't until Intel introduced the Core i7 in 2008 that they finally decided "screw it," and locked the A20 line into being permanently enabled.
The original model Nokia N-Gage had a complete joke of a design. As a phone, the only way you could speak or hear anything effectively is if the user held the thin side of the unit to his/her ear (earning it the derisive nickname "taco phone" and the infamous "sidetalking"). From a gaming point of view, it was even worse, as the screen was oriented vertically instead of horizontally like most handhelds, limiting the player's ability to see the game field (very problematic with games like the N-Gage port of Sonic Advance). Worst of all, however, is the fact that in order to change games, one had to remove the casing and the battery every single time.
As far as bad console (or rather, console add-on) design goes, the all-time biggest example is probably the Atari Jaguar CD. Aside from the crappy overall production quality of the add-on (the Jaguar itself wasn't too hot in this department, either) and poor aesthetics which manypeople have likened to a toilet seat, the CD sat on top of the Jaguar and often failed to connect properly to the cartridge slot, as opposed to the similar add-ons for the NES and Sega Genesis which used the console's own weight to secure a good connection. Moreover, the disc lid was badly designed and tended to squash the CD against the bottom of the console, which in turn would cause the disc motor to break apart internally from its fruitless attempts to spin the disc. All of this was compounded by Atari's decision to ditch any form of error protection code so as to increase the disc capacity to 800 megabytes, which caused software errors aplenty, and the fact that the parts themselves tended to be defective.
Of note, it was not rare for the device to come fresh from the box in such a state of disrepair that highly trained specialists couldn't get it working—for example, it could be soldered directly to the cartridge port and still display a connection error.
The Sega Saturn is probably seen as one of the worst designs internally. The original design was basically just a 32X with higher clockspeeds, more memory and CD storage, which Sega quickly realized wouldn't have a prayer of competing with the PlayStation and Nintendo 64. In an effort to try to bring more and more power to the console, Sega added an extra CPU and GPU to the system. Sounds great!... Until you consider that there were also six other processors that couldn't interface too well. This also made the motherboard prohibitively complex, being the most expensive console at the time. And lastly, the GPU's basic primitive had four sides, whereas the GPU for all other consoles used a three-sided one. This made multiplatformed games tricky to work with on the Saturn.
The "Prescott" core Pentium 4 has a reputation for being pretty much the worst CPU design in history. It had some design trade-offs which lessened the processor's performance-per-clock over the original Pentium 4 design, but theoretically allowed the Prescott to run at much higher clockspeeds. Unfortunately, these changes also made the Prescott vastly hotter than the original design, making it impossible for Intel to actually achieve the clockspeeds they wanted. Moreover, they totally bottlenecked the processor's performance, meaning that Intel's usual performance increasing tricks (more cache and faster system buses) did nothing to help. By the time Intel came up with a new processor that put them back in the lead, the once hugely valuable "Pentium" brand had been rendered utterly worthless by the whole Prescott fiasco, and the new processor was instead called the Core 2. The Pentium name is still in use, but is applied to the fairly stripped-down, low-end processors that Intel puts out for cheap computers.
The Prescott probably deserves the title of worst x86 CPU design ever (although there might be a case for the 80286) but allow us to introduce you to Intel's other CPU project in the same era: the Itanium. Designed for servers, using a bunch of incredibly bleeding edge hardware design ideas. Promised to be incredibly fast. The catch? It could only hit that theoretical speed promise if the compiler generated perfectly optimized machine code for it. Turned out you couldn't optimize most of the code that runs on servers that hard, because programming languages suck, and even if you could, the compilers of the time weren't up to it. Turned out if you didn't give the thing perfectly optimized code, it ran about half as fast as the Pentium 4 and sucked down twice as much electricity doing it. Did we mention this was right about the time server farm operators started getting serious about cutting their electricity and HVAC bills?
Making things worse, this was actually Intel's third attempt at implementing such a design. The failure of their first effort, the iAPX-432 was somewhat forgivable, given that it wasn't really possible to achieve what Intel wanted on the manufacturing processes available in the early eighties. What really should have taught them the folly of their ways came later in the decade with the i860, a much better implementation of what they had tried to achieve with the iAPX-432... which still happened to be both slower and vastly more expensive than not only the 80386 (bear in mind Intel released the 80486 a few months before the i860) but also the i960, a much simpler and cheaper design which subsequently became the Ensemble Dark Horse of Intel, and is still used today in certain roles.
To be fair, in the relatively few situations where it gets the chance to shine, Itanium 2 and its successors can achieve some truly awesome performance figures. The first Itanium on the other hand was an absolute joke. Even if you managed to get all your codepaths and data flows absolutely optimal, the chip would only perform as well as a similarly clocked Pentium III. Even Intel actually went so far as to recommend that only software developers should even think about buying systems based on the first Itanium, and that everyone else should wait for Itanium 2, which probably ranks as one of the most humiliating moments in the company's history.
The failure of the first Itanium was largely down to the horrible cache system that Intel designed for it. While the L1 and L2 caches were both reasonably fast (though the L2 cache was a little on the small side), the L3 cache used the same off-chip cache system designed three years previously for the original Pentium II Xeon. By the time the Itanium had hit the streets however, running external cache chips at CPU speeds just wasn't possible anymore without some compromise, so Intel decided to give them extremely high latency. This proved to be an absolutely disastrous design choice, and basically negated the effects of the cache. Moreover, Itanium instruction are four times larger than x86 ones, leaving the chip strangled between its useless L3 cache, and L1 and L2 caches that weren't big or fast enough to compensate. Most of the improvement in Itanium 2 came from Intel simply making the L1 and L2 caches similar sizes but much faster, and incorporating the L3 cache into the CPU die.
While Intel's CPU designers have mostly been able to avoid any crippling hardware-level bugs since the infamous FDIV bug in 1993 (say what you like about the Pentium 4, at least it could add numbers together correctly), their chipset designers seem much more prone to making screw-ups:
Firstly there was the optional Memory Translator Hub (MTH) component of the 820 chipset, which was supposed to allow the usage of more reasonably priced SDRAM instead of the uber-expensive RDRAM that the baseline 820 was only compatible with. Unfortunately the MTH basically didn't work at all in this role (causing abysmally poor performance and system instability) and was rapidly discontinued, eventually forcing Intel to create the completely new 815 chipset to provide a more reasonable alternative for consumers.
Then there was the 915 and 925 chipsets; both had serious design flaws in their first production run, which required a respin to correct, and ultimately forced Intel to ditch the versions they had planned with wi-fi chips integrated into the chipset itself.
The P67 and H67 chipsets were found to have a design error that supplied too much power to the SATA 3Gbps controllers, which would cause them to burn out over time (though the 6Gbps controllers were unaffected, oddly enough).
The high-end X79 chipset was planned to have a ton of storage features available, such as up to a dozen Serial SCSI ports along with a dedicated secondary DMI link for storage functions... only for it to turn out that none of the said features actually worked, meaning that it ended up being released with less features than its consumer counterparts.
A less severe problem afflicts the initial runs of the Z87 and H87 chipsets, in which USB 3.0 devices can fail to wake up when the system comes out of standby, and have to be physically disconnected and reconnected for the system to pick them up again.
Speaking of the 820 chipset, anyone remember RDRAM? It was touted by Intel and Rambus as a high performance RAM for the Pentium III to be used in conjuntion with the 820. But implementation wise, it was not up to snuff (in fact benchmarks revealed that applications ran slower with RDRAM than with the older SDRAM!), not to mention very expensive, and third party chipset makers (such as SiS, who gained some fame during this era) went to cheaper DDR RAM instead (and begrudgingly, so did Intel, leaving Rambus with egg on their faces), which ultimately became the de facto industry standard. RDRAM still found use in other applications though (like the Nintendo 64 and the Playstation 2).
The iRex Digital Reader 1000 had a truly beautiful full-A4 eInk display... but was otherwise completely useless as a digital reader. It could take more than a minute to boot up, between 5 and 30 seconds to change between pages of a PDF document, and could damage the memory card inserted into it. Also, if the battery drained all the way to nothing, starting to charge it again would cause such a current draw that it would fail to charge (and cause power faults) on any device other than a direct USB-to-mains connector, which was not supplied with the hardware.
The Coleco Adam. First of all, its power supply went through the printer, meaning it would brick if the printer stopped working. It didn't even have an OS installed—you had to install it with a cassette. This wouldn't be so bad if the computer didn't generate a powerful magnetic field the moment it was switched on. To top it off, owners were advised to start the computers with the tape still in the computer. Little effort was made to fix this beyond a disclaimer on the package itself.
The UEFI firmware on some recent Samsung laptops choke and become bricked if the operating system writes too many variables to the firmware's memory. It was soon discovered that "too many" was about 50%.
On top of the software problems mentioned in Games, the OUYA has a pretty bad design choice: The fan used to prevent overheating isn't pointed at either of the two vents. Never mind that the console uses a mobile processor, which doesn't need a fan. In theory, the fan would allow the processor to run at a higher sustained speed. In practice, it blows hot air directly against the wall of the casing, causing frequent issues due to overheating.
Motorola is one of the most ubiquitous producers of commercial two-way radios, so you'd think they'd ironed out issues. Nope, there's a bunch.
The MTX 9000 line (the "brick" radios) were generally made of Nokiamantium, but they had a huge flaw in the battery clips. The battery was held at the bottom by two flimsy plastic claws and the clips at the top were just slightly thicker than cellophane meaning that the batteries quickly became impossible to hold in without buying a very tight-fitting holster or wrapping rubber bands around it.
The software to program virtually any Motorola radio, even newer ones, is absolutely ancient. You can only connect via serial port. An actual serial port, USB to serial adapter generally won't work. And the system it's running on has to be basically stone age (Pentium Is are generally too fast), meaning that in most radio shops, there's a 486 in the corner just for programming them. Even the new XPR line can't generally be programmed with a computer made after 2005 or so.
If you can't find a 486 computer, there's a build of DOSBox that floats around ham circles with beefed up code to slow down the environment even more than is possible by default. (MTXs were very popular for 900MHz work because (aside from the battery issue) were tough and cheap to get because of all the public agencies and companies that sold them off in bulk)
VESA Local Bus. Cards were very long and hard to insert due they needed two ports: the standard ISA and an additional 32 bit bus hardwired to the 486 processor bus. The latter caused a huge instability and incompatibility. Things could got worse if there were a non graphics card expasion alongside it, usually IO ports. And this usually resulted crashes during games used SVGA graphics while accessing the hard drive. The cards needed to be designed well because the multiple clock frequency. These things resulted the 486 bus dependent VLB replaced with the PCI in Pentium class computers and even on newer 486 boards.