I did leave out the field that asks the user whether they want the alarm screen to show, which can be useful for setting up triggers to e.g. change channels at specific times, or to go into or out of nightmode. It could easily be added to the edit-alarm screen, just make sure to fix it up in the validate_alarm subroutine. I didn't add it because it adds some more complexity. If you notice, the Control Panel will only ask you if you want the alarm panel to be displayed if it's feasible not to. That is, if it's a silent alarm, you have the option to not display the "Sleep / Dismiss" screen. In order to cleanly do this in the web page, I'd want to use Javascript to hide/show the field when it is/isn't applicable. Of course, I'd /like/ something similar for the "Audio" section, which should only be visible when the appropriate radio button is selected, but I felt that was a necessary evil.
You ought to have four options to choose from for after-alarm activities: nightmode on, nightmode off, power off, and nothing. Unfortunately, it's not possible to switch channels through such an interface, mostly because I couldn't find a way to get a listing of available channels, with IDs. Just like it's not possible to come up with the arguments to an audio source through the web, because it requires information that only the Control Panel can know.
It is, however, possible to create alarms through the web and set their name and frequency, and then go back through on the Chumby and set up the audio to play and the channel to switch to.
One of the reasons I created it the way I did, namely entirely in perl, is because I wanted it to be hackable. Everything from the CGI manipulation to the file parsing is done in pure perl, enclosed within two files. As Duane pointed out to me, this could easily be extended to handle editing My Streams. If someone wants to extend this to work on editing that, I encourage them to do so. Or, really, anything else.