The following is extracted from Jakob Nielsen's weekly newsletter on usability.
----------------------------------------------------------
While in London for last week's conference, I stopped by the British Museum. Among other exhibits, I saw King George III's collection of antique coins. Because this was part of an exhibition about the growth of knowledge during the Enlightenment period, the collection was shown in the way the King had organized it.
His Roman coins were sorted chronologically, which is the same system the Museum uses to this day. But the Greek coins were sorted alphabetically according to the name of the ruler depicted on the coin. This meant that coins issued at the same time would be in widely varying parts of the collection. It also meant that coins minted in the same city state would be dispersed across the collection. Not surprisingly, the British Museum no longer uses George III's system for its collection (except for this special exhibit).
Information architecture lessons:
I think we can excuse George III for knowing too little about IA, but it's amazing how many websites and intranets are still structured like the bad part of his collection.
See also 6 Ways to Fix a Confused Information Architecture
----------------------------------------------------------
So why is this relevant to Maple? Easy: the information on the context-sensitive menus has (recently!) been change to be ordered alphabetically!
Comments
example
Could you name an example, the versions for which it differs, and whether the object is (2D Math) input or output?
acer
example
[For some reason, right now my Maple 9 does not start, and I don't have Maple 9.5 on this machine]
Compare the context menu obtained from the (output of) <<1,2>|<3,4>> in Maple 8 and Maple 10-11-12. Very different. Also note how much faster the Maple 8 version of the menu comes up compared to 10-11-12. The original design of the context menus [I know, I did it] prized two things: 1) speed, 2) usefulness.
But pretty much every single context menu (on integers, polynomials, etc) have changed between 8 and now. Sometimes they are better now, sometimes they are much worse. Pretty much always they are much slower to come up.
thanks
Hi Jacques,
You wrote that it had changed "recently", which initially had me slightly confused. The Math Library section of context-sensitive menus was all rewritten between Maple 9 and 9.5. That's when this change to the order came about, I believe. That development was done in late 2003, so about 4.5 years ago.
The rewrite work was done by a former student of yours, if I recall. Not that you had anything to do with it, of course. But you could ask the author, if you need more details about either the decision to change the item order or about other changes in it.
We know that it also slowed down, both with the rewrite and with the advent of Java in the GUI. Some performance improvements have been made in Maple 12, especially with regard to the speed of generating the context-menus for large Matrices, but also in some other ways. Naturally, we would like to find the resources for making it faster still.
I'm writing here about the performance of the Library-side code that generates the menus on the fly for a given object. The speed of Java for doing its part (especially for the very first menu's initialization) is a whole other GUI aspect from my perspective.
If you see context-menu items that you think are wrong, please do submit them. Thanks.
Dave Linder
Mathematical Software, Maplesoft
"recently" and CM
Apparently my notion of "recently" has been evolving over the years! I guess I knew it was not so recent, and I knew that I disliked this change intensely, but never had anything but my own opinion to offer for my dislike. So when I saw a UI expert clearly articulate a principle that was violated by the 'new' CM design, I finally thought that I had objective grounds on which to complain.
I did talk to the author of the new CM; the basic conclusion was that he was the programmer, not really the designer, and that various of these design decisions were given to him as constraints.
And of course it slowed down! The design of the previous CM was extremely careful in this regard [even though a couple of bugs slipped in]. We knew, from the UI literature, that anything above 200 msec (ie .2 sec) was too slow for a menu. In fact, around 100 msec is considered 'acceptable. And this is a flat number, it does not depend on the 'size' of the underlying object. In Maple, the only way to get things to be that fast is to do structural analyses of objects [via op] and eschew all commands that do expensive traversals. Then only compromise was the use of 'indets', which is where all the bad slowndowns were [many of which were fixed by making indets smarter, which benefited the rest of Maple too, which in my mind is always the 'right' fix]. But any kind of analysis that requires multiple traversals, or worse, tree traversals instead of DAG traversals, were doomed to fail. So the old CM code was designed around the best structural analyses we could do that would return 'useful' information. So, 7 years ago, on machines many times slower than today's, CM came up essentially instantaneously. Now, on fast machines, it is sluggish. [All of this is about the library-side code].
Another part of the design was to have maximally useful items show up on CM. We knew, from the same literature, that finding an item on a menu is linear in the distance from the root of the menu; basically, if a menu is too long, the things at the bottom will be more aggravating to use than the overall benefit of the CM. So things were (subjectively!) ordered from "most often useful" to "of use, but less often" and everything that was only 'potentially' useful was kept off the menu. It was not an issue of 'building the menu' speed, it was an issue of cognitive efficiency for humans that was the driving concern.
As far as CM items that are "wrong", that is a much more difficult problem. Some of them are "very rarely useful", so are more clutter than anything else. Some of them seem to be there purely for marketing reasons. Others are downright frightening: giant words that are difficult to parse are used where simple words would have done better. 3D plot is much superior, from a recognition and cognitive load perspective, than 'visualization'. While I am sure I could find 1 or 2 items which are "wrong", the real problem is much deeper. If there is agreement that the current design suffers from deeper problems (ie too slow because it uses analysis methods that are too expansive, and disobeys very standard UI guidelines on cognitive load), then I can help with some concrete suggestions.