Neil's News

+ 2010
+ 2009
+ 2008
+ 2007
+ 2006
- 2005
 Shell Acoustics
 Context Menus
 Security Lecture
 Unfortunate Typo
 Logging Out
 Switch
 Through the Looking Glass
 Scotland Video
 Comma Separated Values
 OU-M880 (Soft Eng)
 Cycling Britain
 Hidden Costs
 Hiring
 Golden
 Style vs Substance
 Bess
 Ajax Content
 DHTML Client
 Over There
 Content Hijacking
 Raw Statistics
 Trying to Fail
 SETI@home 2500
 Security Separation
 Gamma Ray Bursts
 Fishy Behaviour
 Moo Browser
 Caption this Photo
 All Good Things
 Dalek
 Moo Direction
 Open University
 OU-M865 (Projects)
 OU-M876 (Data)
 OU-M886 (Security)
 OU-M878 (Objects)
 OU-M874 (Java)
 OU-M873 (UI)
 Einstein's Riddle
 Glowing Books
 Hogmanay
+ 2004
+ 2003
+ 2002

Context Menus

19 December 2005

Moo Canada now has context menus. Whenever an object is mentioned, there is a small arrow next to it which pops up a list of simple commands associated with that object. I think this will open up the Moo to a generation who didn't grow up with CP/M, DOS or UNIX command prompts. New users can draw upon their experience with Windows or MacOS to click around and explore. On the other hand, it may dumb-down the environment to a limited point-and-click experience. History is replete with well-intentioned people inadvertently killing the things they mean to improve.

Attempting to make these context menus secure, flexible, cross-browser, and fast was somewhat challenging. The execution chain for a menu goes something like this:

Moo code (e.g. $physical:title_menu) writes Moo code, which is buffered by Python, which is transmitted by PHP, which is parsed by JavaScript, which creates JavaScript (the empty menu stub), which is transmitted to PHP, which is transmitted to Python, which is executed by Moo ($player:do_out_of_band_command), which writes Moo commands (e.g. $command_utils:commandmenu) which is buffered by Python which is transmitted by PHP which is parsed by JavaScript which creates JavaScript (the visible menu) which is transmitted to PHP which is transmitted to Python which is executed by Moo (e.g. look flag pole).

And in other news, the OU confirm that I've passed all my courses. They've also accepted the topic proposal for my dissertation: Construction of a Multi-user Asynchronous Integrated Development Environment. Otherwise known as merging SubEthaEdit and the Smalltalk interface and shoehorning it in place of the Moo's verb editor. Should be fun.

< Previous | Next >

 
-------------------------------------