Stupid QA Tester



  • I was transferring archived data from an old dead Gateway PC to a new iMac, when I encountered something that reminded me of a funny story from long ago...

    In Java, you can do something like:

    import javax.swing.*;
    JMenuBar  menuBar   = new JMenuBar();
    JMenu       menu        = new JMenu("File");
    JMenuItem menuItem  = new JMenuItem("Open");
    menu.add(menuItem);
    menuBar.add(menu);
    and everything is strongly typed, so it's kind of hard to mess up too much.

    Way back when, I was working on a Motif/XT/Xlib system written in a melange of C and C++, when my boss asked me to make an emergency change to code written by someone from another department. The change was to add a menu item to expose an existing, but hidden feature. There were lots of similarly named variables for numerous objects, all descending from X's Window. Naturally, there was no time to test it, it should be copied to production immediately. Of course, I picked the wrong variable. I had inadvertently passed a handle to an entire dialog to the X equivalent of JMenu, and when the user opened the menu, the entire dialog would be (correctly) rendered as a menu item.

    The QA tester was working directly on the new prod copy when he went to test the new feature, and discovered the unusual GUI implementation. Rather than just recognize a coding goof, he figured out how to get the menu to 'stick' open so that he could select a menu item with an additional click. No matter what he clicked on in the dialog-menu item, the menu grabbed the keystroke, closed the window, and the wrong callback would get called. He just couldn't figure out how to enter data in the 'dialog'. After FOUR hours of playing with it, he finally called my boss, who became absolutely hysterical and insisted that rather than fix it, we needed to go drinking (it was Friday afternoon).

     



  • Erm, edit timeout: make that: closed the window menu item, and the wrong callback would get called.



  • IIRC, AcornOS had "dialogs" appearing as sub-menus. As in, hover over a menu item, dialog appears to the right of it, move the pointer into the dialog to click on things, hope you don't click anything outside the dialog by accident or else the menu'll disappear, half-completed dialog an' all.



    Maybe I'm remembering wrong. Re-reading that, I'm starting to wonder if it could really've been that bad...



  • @Irrelevant said:

    IIRC, AcornOS had "dialogs" appearing as sub-menus. As in, hover over a menu item, dialog appears to the right of it, move the pointer into the dialog to click on things, hope you don't click anything outside the dialog by accident or else the menu'll disappear, half-completed dialog an' all.

    Maybe I'm remembering wrong. Re-reading that, I'm starting to wonder if it could really've been that bad...

    You are correct in all pertinent details. It really was that bad.



  • That's the first I ever hear of this Acorn thing.  Mostly popular in Europe, I suppose?

     

    Hmm, I see they're the guys originally behind the ARM processor family.



  • Don't listen to asuffield ;-)

    RISC OS's GUI was bad for other reasons (like the astoundingly bad way they implemented focus of anything) but dialogs as submenus were quite cute.

    Lots of cool screenshots here: The RISC OS GUI.


Log in to reply