#17 Left/right mouse buttons as left/right application buttons


Two years ago I invented usability improvement which can make the way in which user interacts with jMemorize during learning session much more convenient.

There are always exactly two buttons visible on quiz panel. One on the left and second on the right. When question is being shown left button is "Show answer" and right button is "Skip card". When the answer is being shown left button is "Yes" (I did know the correct answer) and right button is "No" (I didn't know the correct answer).

Now interaction with the program using mouse looks in this way that user have to constantly move mouse from left to right and vice versa. Admittedly distance between these two buttons is small but even so these small mouse movements are very uncomfortable.

My improvement makes this awkward mouse movements no longer necessary. During the learning session user is always making binary decisions. Mouse has two buttons (left and right) - ideal for making binary decisions. In my solution left mouse button click anywhere on the quiz panel is equivalent to clicking left button of this panel. Analogically right mouse button click anywhere on the quiz panel is equivalent to clicking right button of this panel.

I have implemented this solution - patch file is in attachments. I have never seen such interaction before in any application. Most users will probably don't know about this possibility. I think that the best solution to this issue will be to change the cursor when it is on left/right button clickable panel by adding small mouse icon with left button in green color and right in blue color - then left button on panel should be highlighted with green color and right panel button with blue color. These colors are of course only my proposition - I think that they will look very nicely. Hint during first start of learning session (for new jMemorize user) with information about this possibility will also be needed.

I showed this usability improvement to many people and reactions were always very positive. For me it is definitely the most convenient way to interact with jMemorize during the learning session. I'm curious about your opinion Riad and if you put it into next release :) I followed jMemorize code convention - Checkstyle doesn't show any errors in my code. I have no idea why binary information - if currently question is being shown or if answer is being shown is stored using two booleans not only one. It is a redundancy of information which is error-prone (may lead to inconsistency). I didn't refactor it but I was using only the first boolean (m_isShowQuestion).


  • Marek Urbaniak

    Marek Urbaniak - 2008-04-17

    Left/right mouse buttons as left/right quiz panel buttons- patch

  • Marek Urbaniak

    Marek Urbaniak - 2008-04-18

    Logged In: YES
    Originator: YES

    I add the information about version of QuizPanel.java for which this patch has been created. It is for newest version (revision 1057) of QuizPanel.java. I was working on a 1.3.x release branch (revision 1092).

  • Riad Djemili

    Riad Djemili - 2008-08-31

    Logged In: YES
    Originator: NO

    Thanks for your contribution. I generally like the idea, but I'm hesistant to add it because it would kina break the default usability on systems. I mean the right button is supposed to open the context menu. Just replacing this functionality with something else might be unintuitive. Also users might still want to access the context menu to copy the selected text for example.

    For now I want to focus on adding support for plugins. When I've done that it will be easy to add ideas like these as custom plugins, so that everybody could modify their jMemorize version how they like it.


  • Marek Urbaniak

    Marek Urbaniak - 2008-09-12

    Earlier clicking right mouse button on the quiz panel was not connected with any action, like opening context menu. Just nothing happened in such situation. My solution defines action for such situation - action equivalent to clicking right button of the quiz panel. User can still access a context menu to copy a selected text (e.g. from front/flip side of a flashcard). User can also interact using left and right buttons with other components which are on the quiz panel (e.g. show category check box, controls for choosing showing of frontside or flipside of the flashcard) - my patch does not change anything in such interaction.

    BTW: what does "kina" mean in your comment? I'm not native English speaker. I have searched for it in Internet but haven't found anything which makes sense for this sentence.

    Plugins sound good but I think this idea should be used in main version. It significantly increases speed of interacting with jMemorize during learning session and makes it much more convenient.


  • Marek Urbaniak

    Marek Urbaniak - 2008-09-13

    In reference to my question about "kina", I already know that it is probably a typo and it should be "kinda" :) so the meaning of that sentence is the same as I thought before.


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks