|Sep. 2nd, 2009 10:28 am Some Technical SMOFing: Programming Information Systems|
Inspired by my experience working in Programming Operations at Anticipation, as well as attending other Worldcons, attending the San Diego ComicCon, attending and working several regional and local SF cons, and some other discussions (like the "mind meld" article that kevin_standlee recently referenced), I've been thinking off and on about how computers and Internet technology can be used to improve programming communication for conventions.
From those thoughts, I've started coming up with some ideas what such a system might be able to do and how it could be built.
I'll start with some "non-functional" requirements. Given the budgets of the intended users (cons) and their diversity, such a system would need to be cheap, probably open source itself, and based on technology that is both cheap and easily available on a number of hosting platforms, both public and private.
Since this is a data based system, some sort of a database will be required. Similarly, since this system needs to be easily accessed by a number of different people in different locations and roles, it should probably have a web-based front end.
All of these lead to the need for something backed by an open source database such as mySQL or Postgress, and a front end written in PHP, Perl, JSP/Java Servlets, Ruby on Rails or other similar systems. (If I were the primary designer I'd probably go with mySql and either PHP or JSP/Java Servlets since throes are what I'm used to using, and I'd lean to PHP since it is more often available on less flexible hosting systems).
If this were a formal project being specified for a company or consultant to bid on, there would also need to be specifications for capacity and reliability, but for a volunteer project that may not ever happen, those can be ignored at least for now.
With these non-functional requirements out of the way, there needs to be some functional requirements. I can outline what I'd like to see from a couple of perspectives.
First, from the perspective of the programming planner, I'd want to see a system where I can enter my resources (panelists, rooms, tech equipment, etc.) in appropriate categories, and then assign them to panels and times appropriately. Ideally the system would be able to flag conflicts for unique items (panelists and rooms) and produce a list of the maximum usage for non-unique items (tech equipment).
Of course, it would be wonderful to have the system automatically produce the perfect schedule of rooms and times. But I'm pretty sure that that is a task that has proven sufficiently computationally hard to do that there are few if any successes. (I've seen this problem in graduate testing classes enough to make me think that it is something that CS professors want to create but end up just using as a sample system).
Second, the system should then be able to produce, at least in a starting format, most or all of the programming schedules for publications, including program listings by time or track for the main programming book, programming grids for the pocket program or daily updates, indices by room and panelist, etc.
Third, the system should allow for easy updating of the schedule on the fly, especially changes in the panelists and the tech equipment. It should also be able to produce a report of the changes that can also be put into daily updates.
Fourth, the system should produce a tech services chart that will allow them to distribute their equipment easily.
Fifth, the system should produce the information that needs to be communicated to the panelists. This would mostly be the schedule stickers or cards for their quick reference and possibly a bigger sheet that has the descriptions of their panels.
Ideally the system could also generate a reports that can be directly used as the tent cards for each panel (perhaps with notes to the panelists on the back) and the room schedules for each room.
But another set of important users are the regular convention attendees. They should have more limited access to the system from a public site.
The public site should allow the user to download the most current schedule -- through direct access to the database if it can handle the load -- at any time. They should also be able to search the schedule by time, track, panelist etc. I would think that having the system automatically bring up the panels and events starting in the next couple of hours would also be of great use.
This information also needs to be formatted so that it is useful both on computers and smaller devices (phones, PDAs, web enabled MP3 players, etc.).
Users should be able to download the schedule in at least a couple of common formats for calendar import.
Were the budgets and technology available, I can think of some other things that would be nice to have. Being able to put the next few hours schedules onto large electronic signs (i.e. monitors) that can be kept constantly up to date would be ideal. I'd also love to see a smaller electronic sign for each panel room that would always display the current schedule, and the schedule for the rest of the day. But both of these are probably beyond most cons, even Worldcon, unless the facility has the electronics in place and is willing to let the convention have access to them to tie them into their system.
I know that systems that do at least some of this exist. Anticipation was using a system that seemed to handle a lot of the scheduling work. But it didn't produce the printable schedules, nor the change sheets which had to be done manually. Depending on the nature of that system, or similar ones used elsewhere, it may be a starting point.
One thing to keep in mind is that the computer tool is never more than an aid for the volunteers. Many scheduling and other crises will occur that will need to be resolved without being able to update the database, and the volunteer staff will have to adjust.
Also, people will never be 100% happy. Schedules will change, and nothing will ever be completely up to date. Plus late changes will be missed by a lot of people.
But, I suspect that a decent information technology that is well understood by the key staff users and used consistently would be of benefit, and I know that an increased ability of the general membership to get at real time programming data will help as well.7 comments - Leave a comment