Posts

Showing posts with the label quality

Google has Googaplexes but not Gigabytes - Good Enough software?

Image
  Google has its large numbers such as googaplex : " Googleplex " is a portmanteau of Google and complex (meaning a complex of buildings) and a reference to googolplex, the name given to the large number 10 (10 100 ) There are further such curt identifiers for big, big numbers: A googol seconds is about a sexvigintillion (10 81 ) times the estimated age of the universe. A googol angstroms is approximately 100 trevigintillion light-years. It takes approximately  317 novemvigintillion years  to count to a googol one integer at a time. Unfortunately, at least part of the Google enterprise is still getting to grips with rather smaller numbers, such as the Gigabyte: Since when has a gigabyte just 1000 megabytes? Perhaps this is some kind of IT equivalent of a move toward the metric system? Yet it looks more like a bug. In software there are always trade-offs, the most obvious being Quality vs Productivity, and this seems such an example...  OR is this a case of "good enou...

Outlook: Today, Today, Yesterday. Today ... - Application Quality as a Trade-off with Functionality (Productivity)

Image
Microsoft software, despite unfortunate products such as the CMD line envrionent (no-one who has switched to Unix or bash-on-Windows has ever complained!) - generally have high quality, considering the sheer range of hardware supported, the different product lines and their generations, and the millions of users, it is somewhat impressive that it mostly works. However, there is the odd slip-up which we helpfully point out in these pages: Timeless messages from classic code Like any engineering endeavor, there are trade-offs between cost and value, and so quality can at times suffer...

null++ and its alternatives - NULL as an anti-pattern and some alternatives - stateless functional code

Image
  Notepad++ is a great and free text editor with many practical features, such as line-sorting, multi-file and directory find-and-replace, and excellent encoding support. However, programming is hard, and even the noble Notepad++ has been caught off guard in the war on bugs:  To NULL or not to NULL... A display full of NULLs is not that desirable, but on the other hand is better than random, uninitialized data, or worse, reading beyond assigned buffers into memory regions containing data this user is not supposed to see.  The history of NULL is a controversial one: it was, somewhat like JavaScript, cheap to implement at the time and seemed a good idea. However, notoriously, even the inventor of NULL considers the invention to be a mistake . At first glance, and when used in a very limited scope, NULL seems a sensible construct: a global kind of default 'this is not set' value, that is reliably detectable, as opposed to some random memory garbage. Issues arise when the NU...

Lync - wait 15 minutes - Error handling, UX and automatic software updates: a bad example

Image
Not all issues are bugs, and not all issues take a long time to fix. Consider this example from Microsoft Lync (the posh Skype): Be right back... Unlike many other application boo-boos exemplified in this series, this one is a bit hard to explain. The message does admit there is a problem, and this is a modal dialog (absorbing all user input and so blocking any other part of the application from processing any new user actions). So, on the face of it, this appears an example of catastrophic failure . However, reading further through the message, we see that the user has a rather specific task to perform: restart and leave it running for 15 minutes . Restart does seem a little unfortunate and casual: we don't quite know what the problem is, but in fact we DO know the software is, like your aunt Wilma's old car, a bit unreliable, and just needs a bit of a kick and another try every now and then. Admitting to unreliability is unfortunate, yet the honesty is to be commended - hop...