In between working on classes (I'm up to five now; the latest one will debut Thursday evening, and will cover dialogs, link messages, HTTP and XML-RPC communication), I've been back at work on more schedule stuff.
My latest device is a HUD for students, showing the next five classes scheduled to be taught at Rockcliffe:
Unfortunately, for the text to be readable, it does have to take up a hefty amount of screen space, so the Rockcliffe logo serves as a minimize/restore button:
Features include:
- "Class Info" buttons cause it to tell its owner more information about the selected class (full class name, date and time, teacher's name, location, duration, etc.)
- "Teleport!" buttons bring up the Map screen, with the classroom location selected
- The green "?" button delivers a notecard with usage information
- The "Preferences" button brings up a dialog with several options:
- Alarms On - causes the HUD to play a sound and pop up a dialog indicating that one or more classes will be starting in ten to fifteen minutes (and identifying which classes)
- Alarms Off - suppresses the class notification
- TP to RUSLC - brings up the Map screen, with Rockcliffe's reception area selected
- RU Website - Loads the Rockcliffe University Web site into the user's browser
- Schedule - Loads the Rockcliffe class schedule into the user's browser
But the stuff that was the most fun to do is all behind the scenes:
- Checks the schedule about once every five minutes
- If a new version is released, the HUD is automatically updated the next time the user visits the Rockcliffe sim
- All the hardcoded URLs (the location the script the HUD communicates with to download the schedule, the Rockcliffe Web site, and the schedule Web page) can be changed by the server-side script without requiring a full update, in case of a site move, page relocation, etc.
- When downloading the schedule, it passes version information to the server-side script, so that new features may be implemented without breaking older versions of the HUD
One of these days, I will actually finish building my house and make more jewelry...