Is this the Era of Crap Software?

Is this the Era of Crap Software?

So this was my past week in software:

I went to get a haircut this morning, and having a few minutes to kill, opened up the Amazon Kindle App on my Phone and tried to continue my current read. However, when I opened the Windows Phone App, it presented me with a page about 100 pages prior to where I’m currently at on my Surface Pro (and 50 pages prior to where I last read it on my Desktop PC) I click sync and am promptly told I’m currently synced across all my devices. This would surprise me except for the fact that WhisperSync has been broken to varying degrees across all the Windows Apps for a ridiculously long time now (as in years). So instead of productively reading a dozen or so pages before my trim (as Amazon often touts as an advantage in Kindle Book ownership), I’m instead presented with a choice between trying to manually ascertain the page I left off on last or giving up in the limited time I have.

I give up.

Haircut Accomplished, I go home and open up my Plex App on my Roku Player to stream some music, kick on a playlist, and begin writing for an upcoming coaching session. About the 1st 6 tracks play just fine, then the next 3 play between 3-10 seconds of a song, and immediately go to the next song. Just about the time I get fed up enough to stop writing and reset the App and/or the Roku Player, it starts playing another string of songs correctly; taunting me into thinking things are fine for about 30 minutes when it repeats the process again.

I tolerate it and keep writing.

I check the NBC News site on Chrome, but when I click on one of the story links, the page loads up with enough ads and automatically launching video streams that the browser stops responding for about 2 minutes as the fans on my PC kick on from 2 Video cards and a CPU trying to render it all. I mentally imagine my electric meter spinning wildly at the sudden furious consumption of electrons attempting to provide 6 paragraphs of breaking news surrounded by 200 poorly written advertisements.

I exit the web site.

I switch to the NEWS360 App instead, and things go fine for a short while until I open an article and the whole app hangs, then exits about 2-3 minutes later. This App has behaved this way across at least 6 PC’s/Tablets over more than 3 years. But I’ve yet to find anything I like better for News Aggregation.

So I deal with it.

Earlier in the week, I get in my Ford Fiesta ST and issue a Voice Command to play an album I bought and ripped to an SD Card stored on the SYNC system. I’m told (in a very polite Jen Taylor tone) the command cannot be completed because the system is Indexing Now; something the system does randomly and fairly often. About 10 minutes later (good thing it wasn’t a short trip, huh?) I get access back and when the album plays it plays all the music in alphabetical order, even though all the tracks of all the music files are numbered (and display on the screen) sequentially (i.e. 01, 02, 03). This has been an issue that pops on this system, with numerous forum comments about that particular behavior posted widely across the Internet for years now. However, Ford’s reply always seems to be that the issue is with how the music was ripped, deflecting the problem back to the owner. I might believe that statement, except that the same music plays in the correct order on the following devices: Windows Music Player, VLC, PLEX, Android Music Player, Windows Phone, and even an ancient Samsung SANSA that my wife still uses. Only the Ford SYNC fraks it up. So my only other real choice is to either grit my teeth and tolerate the situation or spend countless hours “experimenting” with ID Tags, the Order the Music was copied to the SD card, and other foolishness that would likely break all the other working music player apps.

So I simply live with the buggy software that plays my Music in the order IT wants to.

Later in the evening, my Wife and I settle down to watch some TV via our Comcast Xfinity Box. However as I browse through the guide, the guide freezes, all three status lights on the front of the box start lighting up, and I’m informed that it can’t connect to the service right now. My choices are to reset the box (which after the roughly 5-10 minutes of time lost waiting for it to reboot, will usually work), wait for box to start responding again (which can take anywhere from 5 to 50 minutes), or switch to an alternate media device (i.e. Roku, Local TV Tuner, etc…) until I feel like trying again. This behavior has existed pretty much since the day we got the service and given our location we don’t have much in the way of alternatives.

So we put up with it.

The sad part is that I’m not really singling out these products (OK, I’m singling them out a little…) these just happen to be ones that hit the perfect storm of being perennially annoying combined with the complete sense of resignation that the issues will never be addressed, combined with the need to provide some consistent examples of Software that NEVER GETS COMPLETELY FIXED.

The fact is when I started taking some notes over the last week about my experiences with software and software-driven products, there actually wasn’t a single Product or App that did not, on at least one occasion, misbehave or confound in some way.

Not One.

Even sadder is a large portion of my career has been spent in getting Information Technology to work, with diagnostic skills being something that has become highly refined over the years. Indeed, to this day it isn’t uncommon for me to spend hours/days researching a tech issue simply because I enjoy doing it (Therapy for this has been recommended and tried, unfortunately the condition is terminal). The reality is my “stuff” works far better far more consistently than the stuff of my family and friends. For them it is generally a world of things that never seem to work consistently or as expected; where protests are usually treated with semi-implied responses by the Developers and the Enthusiast Community that the problems are with the “end user”.

However, having lived both inside and outside of the development process in its many forms (Corporate IT, Vendor, Integrator, etc…) the ugly little secret is that we in technology all know this. No one truly believes that a product will be fully functional on release any more, indeed development methods over the years have moved to approaches that rely on fewer people moving at a faster pace with problem-resolution focused on squeaky-wheel repairs until a predetermined finish-line is reached and the software is released to generate revenue as soon as practical. Post-deployment Support Teams are (if lucky) trained in providing “work arounds” if possible, and broken functionality is always a “future release” fix away.

And... this week was the release of Windows 10…

Picking on a software product that is in Beta has always felt a bit like kicking a puppy. It’s something that is mean and cruel and one just doesn’t do it. But a funny thing has happened along the way in the maturation of the software industry. Software companies have seemed to learn this and we are now seeing the advent of product that is in “perpetual beta”. (one application in this article has been in a series of .9.xx.x.xxx revisions for so long that at this point it’s kind of a joke). Windows 10 looks to epitomize this approach where there is no RTM version of the product, the release version (while being reviewed quite positively) has known issues and apps that could be considered “unfinished”, and is even being touted as the “last” version of Windows that (for all intents and purposes) will going forward be in a constant state of development.

And Billions of Users will be expected to upgrade and wait patiently for those fixes as they come along.

Sorry, no solutions offered here (although I’d love to hear some ideas in the comments). Merely a suggestion that we seem to be arriving a moment where as consumers of Information Technology we are surrounded by stuff that simply-kinda-sorta-works and rather than rising up in arms and looking hard at how the industry needs to solve this, we are all just developing thicker skins.

Yuri Tan, P.Eng

Avionics Software Design Assurance and Process Assurance Engineer

9 年

Antony Booth: If we know the causes, as you have described them (memory management and network connectivity), then we should be able to deal with them (but, admittedly the network connectivity issue is a difficult one to handle). We must impose requirements (something similar to "memory leaks must not...") and then design with those requirements in mind. The problem, as I see it, is that too many software developers do not know -- or care -- how to properly design and develop software. Whatever happened to the proper due diligence of proper planning, requirements analysis and definition, and robust design BEFORE starting to code? Nobody builds a house without first drawing up detailed blueprints (design), so why do we allow software to be built without detailed requirements and robust design?

回复
Michael G?hring

Delivery Manager at Tata Consultancy Services

9 年

Great article. Software quality is key to Software and System Engineering, sometimes not easy to understand why so many buggy applications are out there.

Hector Saenz

Machine Learning Hardware Engineer | Software Co-design Practitioner

9 年

Quality is a significantly smaller part of the equation as companies focus on cheaper manufacturing and development. Where consumers once had a choice between quality or price, we are now more often limited to buy or not to buy.

Giorgio Occhioni

AIVQ support for GMS (Thales Alenia Space) Galileo Mission Segment

9 年

We live in the "ship version 1 when is good enough, then move to version n+1 and forget about versions 1 to n..." era...

Stephen Moran

Senior Software Engineer, Air Traffic Control radar tracking and rule-based decision support

9 年

It all comes down to dollars and “sense”. Additional up front testing is a cost, and makes the development program, and program manager appear less profitable over the short-term. Fixing bugs during maintenance is a hidden development cost. Maintenance (bug fixes) usually come out of another budget bucket after the initial program metrics are long finalized. If the costs of fixing software bugs were included in total program profitability, many more would be resolved up front before initial delivery because the earlier software bugs are caught, the less they cost – a lot less. But, personnel and cost accountability for maintenance is often not the same as during development, and ... companies report profit quarterly. Leaving the dollars, without the “sense.”

要查看或添加评论,请登录

社区洞察

其他会员也浏览了