[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Yet Another Proposal: a "docking station" for educational apps

Today at work when I was supposed to be programming in RPG, I was
thinking of an application that could be the "base" of our educational
software.  At the core, it would be a launchpad for educational
programs, but it would do more than that.

It would implement a system of keeping track of which level in each
program all the users were at.  It would also let a parent or teacher
set a goal, and when the student reaches that goal he/she would get a
reward, like the games folder being unlocked.

Programs that use the functionality of this base would have to be
specifically coded for it, of course, but it would be easy.


Educational programs would all be under /usr/local/edu or something. 
This launchpad would reside in this directory along with a file for each
user.  It would probably be a DBM file with the key being the program
name and the data being a combination of level they're currently at,
goal, and any other info.  Easily done in Perl.

When a user starts the launchpad, it would search for subdirectories of
/usr/local/edu and add each one to its menu.  Each subdirectory would
have at least the following files:

  start - the actual executable of the program
  description - ASCII text to describe the program on the launchpad menu
  icon.xbm - Icon to identify program on menu

Once the main menu is built, the launchpad would then read in the user's
DBM file (which would be owned by the education administrator, not the
user) and determine where the user is currently at in each of the
applications, as well as the goal.  Both would be displayed on the menu
along with the program name and icon.

When a user clicked on a program, it would close the launchpad program
and execute SubDir/start with the parameter being the data value of the
program's DBM key.  When the program quits, it would run the launchpad
again, passing parameters on the command line like how far the user got
in the program.  The launchpad would then update the DBM file and
redisplay the menu.

Any ideas?

It seems to me that something like this would establish consistency for
Linux educational software.
Linux: Everything else is just a toy!