Hello everyone. Another code camp has come and gone and I wanted to write a bit about what I helped out with at Ann Arbor. My time was, to a large extent, split between three things: continuing to polish and upgrade the math4 theme, designing the basic objects that will form the core of the next WeBWorK (or WeBWorK::Brewery as it is currently called), and finally prototyping a brand new addition to the achievement system.
With math4, the biggest issue was getting the most frequently used pages of WeBWorK to validate as html5 when in the math4 theme. This includes all of the pages that students can see, including the login/logout page, grades, achievements, Problem Sets, Problems, the Problem page and the Gateway Quiz page. These pages should render more consistently across a wider array of devices and if you plug their html into the w3c validator you get a green bar which is not dissimilar to our own green bar.
In addition to working on validation, I also put more twitter bootstrap scaffolding into the system.template file. This will also help the pages render more consistently and allows us to use the bootstrap "responsive" functionality to make WeBWorK look better on phones. For example, you can see below that when you use a phone to view WeBWorK the page layout is much more vertical and the side navigation bar is hidden.
One additional tweak worth mentioning is the new "Description" field for sets. This can be edited on the Set Detail page (the page where you can define the set headers). If you add a description to the text box and save, then it will appear as a tooltip whenever you hover over the set name on either the main Set List page or the HomeworkSetsEditor2 page. This means that you can now use shorter set names, which look much better, while also having the ability to present a lengthier description of the set in a way that doesn't take up screen space.
Moving on to the second project, I won't say much here about the results of our database discussion. That is covered much more thoroughly in David Gage's blog post here and here. I will mention that the notions of problem pools (a collection of problems from which each student will be assigned a random problem with a random seed) and teams/groups of students are core structures in the new database. Also the system is intended to be modular enough that (eventually) administrators will be able to choose between several different types of database back-ends when they install WeBWorK. The general vision is that the database back-end, the WeBWorK code, the PG code, and the web front-end will all be able to function relatively independently of each other and could at some point all be swapped out for alternatives.
The last thing I did was throw together a rough prototype of a new MathPets feature (too rough to show here). The basic idea is that each student will have a little animated "MathPet" that lives at the bottom of the Problem page (and may eventually travel to other pages). When they get a problem right or earn an achievement it "feeds" their MathPet and it will grow a little. On the other hand, if they miss a homework set their pet becomes sad and may get sick. Every time they earn a level (or at certain levels) their math pet will evolve into a different type of pet (and maybe even into one of several different options). I think this idea is a lot of fun, but unfortunately it is one of those things which is really sold on the graphics. While the code for this feature isn't too terrible, my artistic ability is minimal at best. I will need help if I'm going to realize the full potential of this idea. So if this feature sounds interesting to you, and you are or know of a good graphics designer that's willing to work on the cheap (i.e. free) be sure to let me know!


No comments:
Post a Comment
Note: Only a member of this blog may post a comment.