Yesterday we released Keyman 7!  The excitement may have been somewhat overshadowed by a rather larger product release on the same day in the US, and ironically, an update to MSKLC was released on the same day.

I’m not writing about the new features etc etc – if you want to read about those, visit our website. 
I’m writing about the bugs.  Perhaps this is airing the dirty laundry but here goes anyway.

The day before release, our testers identified a couple of issues.

 

The first of these was purely cosmetic.  If a user had too many languages installed, the languages tab would not fill the available space but would leave about 100 pixels of whitespace at the bottom – see image.  This space was there because the User Interface Language button was moved from there to the Options page.

Languagessmall

But for some silly reason, we decided to put in a fix.  So we put in a fix, tested it (well, obviously we didn’t…  wait and see) and put the release online with only one minor issue – the Configuration dialog now did not work at *all*:

Languagessmall2

Fortunately, that was only online for a couple of minutes before we took it down – and rolled the changes back.  The second issue was more significant.  Pressing ENTER in the Activation dialog (as opposed to clicking the Activate button with the mouse) would open a Windows Explorer window instead of processing the activation:

Activate1

Activate2

We quickly put in a fix for this – and broke the Activate button.

Last minute fixes:

  • Are done in a reckless state of mind brought on by the euphoria of impending release
  • Never get tested properly
  • Do not get proper attention to design and potential side-effects

The moral of the story is: NEVER, EVER do a last minute fix.  If a fix is important enough to do at the last minute, it is important enough to delay the release by a full test cycle…

Categories: Developing Keyman

0 thoughts on “A case study on why you should NEVER, EVER check in a last minute fix”

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Developing Keyboards

Using Keyman Engine for Android to create a custom keyboard app

Note: You must have a license for Keyman Engine for Android in order to access the resources documented in this blog. (Purchase a license) Keyman Engine for Android allows you to use any Keyman touch Read more…

Developing Keyman

An improved experience with deadkeys on European hardware keyboards

For many years, Keyman Desktop has adapted layouts to work more accurately with European hardware keyboards. For example, a US English keyboard has a top alphabetic row of QWERTYUIOP, but a French keyboard has instead AZERTYUIOP. Read more…

Amharic

Products we will be discontinuing in March 2015

Earlier this month, we conducted an internal review of our product offerings and development status. As a result of this review, we determined that we would stop developing and distributing several products. This is important Read more…