What I'd like to do in this thread is to use it for planning and brainstorming about both specific things we can do and the technologies we'd like to use to do them. There's a lot more technical talent around these days than there used to be, and I think now is a good time to think about how we can marshall this talent to do some useful things for the game. In particular, I would like to coordinate all these different efforts in such a way that people get a chance to do the stuff they're good at and also so that we're not repeating each other's work.
With that in mind, I would like to make two different proposals, one for the technology stack and one for the functionality I'd like to implement.
- Github. This is the sine qua non of collaborative development. Enough said, I think.
- jQuery and Bootstrap for the frontend. I should say here that I am not a frontend guy and you can see that from anything I have ever designed. Because of this I really prefer standardized UI packages that make it simple for me to make pretty layouts. No one's going anywhere without jQuery, though, so I assume that's gotta be part of any frontend design. If people have strong preferences about frontend UI tools, I'm perfectly happy to have those who know more about this than I do take the lead on it.
- Another front-end possibility (somewhat orthogonal to the above) is a framework like Ember or Angular. In some ways I think this might be overkill, but it does get you a lot of "automagic" out of the box. I'm agnostic on this point.
- Tournament management. To me, this is the currently most pressing need, driven in large part by the fact that ACF has been doing tournament management by spreadsheet, and that has required a great amount of manual work on our part. I envision a system in which teams can seamlessly register themselves for tournaments, hosts and TDs can see who is registered for what, and teams can get invoices for their registration, all in an automated fashion. Schedule construction is a feature that one would probably like to add once the above basic functionality is obtained.
- Scorekeeping. Right now, we do all our scorekeeping on paper, necessitating a dedicated stats person who enters the scoresheets into SQBS. Since we are no longer living in the dark ages of 2004 when you could never know whether a university would have some reasonable level of wifi access, I think it's time we thought about moving to an online scorekeeping system. I have previously linked to a skeleton of such a system, which kind of works, but obviously needs to be much more rigorously tested.
- Packet submission. This is a big one and a situation where security is absolutely paramount. I think that having online packet submission and a system where editors could construct and edit packets would be a huge benefit. Right now, all of this is done by hand in Google Docs, which mostly works, but necessitates a lot of manual labor on the part of the editors. HSAPQ has such a system in QEMS, but it has a slightly different purpose since it's for writers only, not submissions. Still, something like that which is friendly, easy to use, and has a lot of functionality, is something that we should strive for.
- Searchable packet archiving. About a year ago I updated the code of QBDB to get away from PHP (ugh), and I think that's a good base for it; the real trick is having people volunteer to format old tournaments for import. This could be generalized into a Protobowl-style practice app or whatever. I view this as the lowest priority.
What I'm looking for in this thread is some feedback on these topics, both from technical and non-technical people. Suggestions for functionality are most welcome. I am also looking for volunteers who would be willing to work on such a project. You don't have to commit your life to it, but you should be willing to do at least some non-trivial amount of work. It would be especially great if anyone who has some experience with front-end design would like to help out, because there are few things I dislike more than writing CSS rules or doing layout (and I'm sure it shows). Obviously this will be a collaborative project probably using Github, and we'll want to produce something that people can easily deploy on their own servers if they want. I want to focus on the registration/tournament management system first, and once I feel good about that working, I intend to deploy it on the ACF website, hopefully in time for Fall.