Week 11: My Work Here is Done
This post is intended for the person who picks up the rules authoring interface I've worked on this summer. First, I should apologize. It won't be fun walking through all the muddled code I wrote for the interface. I intended to clean up the code before leaving, but the motherboard on my laptop died...
Due to the motherboard dying, I was unable to see several parts of the interface to their completion. I designed these parts in the service of making the interface more accessible. If the person that picks up this project deems these parts important enough for their time and energy, I would love to see some progress on them.
The first piece is syntax highlighting in the script authoring portion of the interface. This was suggested by Dennis, and I decided to try it out. Currently, constructs and regular expressions appear in different colors, but the color scheme is pretty nonsensical. Dennis suggested that the construct chosen by the drop-down menu should appear differently from the other constructs. I meant to add this feature, but I never got around to it.
Another piece of the interface that I was in the process of working on was ‘help boxes’ that appear when users hover their mouse over one of the five step buttons. I feel that the interface should immediately be usable to someone who has never authored a rule before. I imagined these help boxes would explain the significance of each step in the rules authoring process. I also imagined that these help boxes would include links to the (to-be-created) API, example tests, and various other helpful links. I implemented this feature by incorporating JLayeredPanes into Croquet. Getting Croquet to agree with the inclusion of a JLayeredPane was a bit of a hassle, and I’m not sure it’s the best solution. I meant to consult Dennis for a better alternative (he did mention ToolTips?) but I ran out of time. I will try to share the sketches I created for the ‘help boxes’ when have access to a scanner.
The last part of the project still in progress is the interface’s communication with the community. I worked with Kyle at the end of this summer. Currently, a user can upload her script to the database. I intended several other things to be uploaded as well, including a test title, description, and the modified version of the world that the mentor initially wrote the script for. At some point, the interface will also need to be able to receive scripts written by other mentors, and worlds to tests the mentor’s script on (which, in some fashion, the interface currently does… kind of).
My previous blog posts detail the interface design, but I expect certain portions of my sketches, code and the actual implemented interface will be a bit ambiguous in their meaning or the direction I intended to take them in. That said, I would be happy to answer questions about any of the work I’ve done this summer. Feel free to contact me at pnevels [at] iwu.edu.