Conference Sessions
Besides the numerous social, sports and artistic activities, the technical programme of DebConf15 consisted of the following:
- The Open Weekend during the first two days of DebConf had talks geared at a more general audience
- The talks, panels and sessions during the remainder of the conference were mostly focused on Debian-specific topics
- The Unconference where participants could register ad-hoc talk sessions or meetings (BoFs) at a whiteboard on their own
- The Hallway Track where people meet spontaneously at a random conference spot and start discussing
The first two were part of the official programme and selected by the content team. In addition to the traditional 45-minute slots, shorter 20-minute presentations were solicited this year as well.
TODO: Add numbers of submitted and accepted talks
Some of those official events consisted of Invited, Featured or Plenary Speakers.
 Invited, Featured and Plenary Speakers
Last year's DebConf introduced invited speakers, and we repeated and expanded upon this for DebConf15. The content team sent out a call for invited speakers in march and selected the following speaker from the numerous submis sions:
- Bradley M. Kuhn, "Debian's Central Role in the Future of Software Freedom"
- Werner Koch, "GnuPG: Past, Present and Future"
- Bdale Garbee, "Debian and HP: A Fresh Perspective"
- Jacob Appelbaum, "What is to be done - Reflections on Free Software Usage"
In addition, we selected several high-profile speakers who had submitted their talks via the regular call for papers as 'featured speakers'. Those were:
- Allison Randal, "Philosophy of Free Software"
- Peter Eckersley, "Let's Encrypt"
- John Sullivan, "Debian and the FSF: Ending disagreements by solving problems at the source"
- Jon 'maddog' Hall, "Two contests, no waiting!"
Finally, several additional talks were deemed important enough to be a plenary session:
- Ian Jackson: "dgit - treat the Debian archive as a git repository"
- Holger Levsen, Lunar, Chris Lamb and Dhole: "Stretching out for trustworthy reproducible builds - creating bit by bit identical binaries"
- Niels Thykier: "Onwards to Stretch (and other items from the Release Team)"
As usual, the submitted talks were reviewed by the talk selection committe. Similar to last year, a first batch of talks with unanimous conesent was accepted while the call for papers was still open. After the call for papers had closed, the committe agreed on the remaining submissions in several meetings. Due to the high number of submissions, those were tough decisions in some cases, and a handful of speakers were asked whether they could shorten their talks to 20 minutes if that was deemed suitable for the content. In addition, a handful of slots were reserved for important last-minute submisions, including a talk about the City of Munich's LiMux project which attracted considerable attention in external blogs and websites.
 Ad-Hoc Meetings and Discussions (aka BoFs)
This year we organized the ad-hoc sessions in an unconference-like mannor, setting two flipcharts near the front desk that listed the slots available to be used for adhoc sessions, one flipchart for the current day and one for the next day. People could simply reserve a slot by writing down the title of the session in an available slot.
Periodically, we transferred this info into the conference system so the ad-hoc event was visible in the online schedule.
 Internal Notes
This year we did an unconference-like experiment regarding the adhoc sessions, setting two flipcharts near the front desk that listed the slots available to be used for adhoc sessions, one flipchart for the current day and one for the next day. People could simply request a slot by writing down the title of the session in an available slot.
Every couple of hours, either Michael or I loaded this info into summit so the event was visible in the online schedule.
- It was very easy for attendees to schedule a new adhoc, and after the first day it was used extensively.
- Lots of adhoc meetings were schedule and people were able to know about them both through the flipchart and the online schedule.
- The online schedule wasn't immediate, but best effort based, that was mostly ok, but giggity and the unofficial mobile page wouldn't know about the changes till much later.
- It was "hard" to move a slot, and slots with empty sticky notes on top were not reused.
- No "drafter" information in the unconference flipcharts.
- No distinction in the online schedule between adhocs and the official schedule.
 Feedback received
- "Thanks for making it human friendly".
- "Much better than last year".
- The wiki includes the request to have more time available for adhocs, also popularity vote.
 Things to improve
From the conference software part it would be better if it had an official mobile page, a clear distinction of the official schedule and the adhoc sessions, and a usable scheduling admin interface. The main issues with summit were the agenda item edition (an agenda item is what binds room, time and event): the event needs to be selected from a randomly sorted select box with all the events from dc14 and dc15, and the time that it takes to load a single event (approx 1 minute!).
The official schedule was printed in A4 size, what made it much harder to read from afar than the flipcharts. Something larger would have been nice.
We could have used a whiteboard, or a blackboard and chalk (i.e. something that allowed erasing and moving in a better way).
One of the first things done was to prepare an schema of the schedule, this was prepared from the ideas proposed by the local team, the feedback from the global team, the venue meal times, etc. The main ideas that remained were: to have an OpenWeekend at the start of the conference which would have lots of talks, selected to be "geared to a broader audience", reduce the amount of events per day as the week progresses, a morning plenary, 20 minute talks should have 20 minute talks in parallel.
Ideas that had to be overridden due to the amount of talks/bofs approved: having more "hacking" time during DebConf (i.e time without any scheduled talks) all the official events should have video coverage, no BoFs during the OpenWeekend.
Having the schema gave us a general idea of the amount of event-hours we could fill. But as proposals kept coming, we started moving some of the BoFs targetted mostly to people present at DebConf to be in-person-only (i.e. without video coverage), and also changed some 45 minute talks to 20 minutes, in order to be able to provide video coverage for more events. We also had to open the BoFs sessions during the OpenWeekend, and in the end, the only "free" afternoon (Friday) had scheduled talks, mostly because of really hard to solve conflicts.
After the talk selection meeting, we had almost all the event-hours that could fit in our extended schema. To do the schedule, I first based myself on the spreadsheet used last year and then adapted it to include more checks regarding speaker availability.
One problem with this was that in multi-speaker events, I only had the information of the submitter, which I didn't notice at first and required a lot of re-arrangements later on. Another problem was that the spreadsheet was not connected to the summit database, so changes were not reflected automatically.
Automatic checks implemented in the spreadsheet:
- Event submitter had reconfirmed
- Event submitter was present on that day
- The slot was not assigned more than once
Other checks done manually:
- Avoid setting a talk on the same day that the speaker arrives to the venue.
- Try to follow the requests written in the comments to content.
- The speaker is in another event at the same time ( :-/ )
- A maximum amount of events from the same speaker during the same day.
We had no sensible track information, and no track coordinators, so the very first draft just ignored them, and only tried to have a broad coverage of interests in each time-slot. But after a first round of feedback, I started moving topic-related talks to the same day, which worked mostly fine as a track replacement, but it added some weight in some cases, for example, on Sunday 16th, we had a bunch of gnupg and git/gbp as topics, that put into test dkg's endurance.
With a preliminary version, and the deadline over our heads, I sent it to the list and to the speakers, and requested feedback. Naturally, this revealed some errors. The feedback helped fixing most issues. But of course it was impossible to make everyone happy regarding event overlaps (scheduling is a known NP-hard problem).
Once the schedule was done, a painful point was transferring this information into summit: I had no access to the database, and the admin interface was way to painful to use. To avoid wasting hours that I didn't have, I had to create blind SQL commands that cate then ran on the database, first to create the time slots, then to assign those time slots to the events. In a way, it was fun, in another, it shows how much we need to improve our current conference management system.
- "You made a big mistake, you asked for feedback"
- "This looks like painful, manual work, thanks for all your effort"
 Things to improve
- Include all speakers (not just submitter) in checks for availability
- Check that a speaker is not scheduled twice on the same slot
- Check that there are not too many events on the same day for the same speaker.
- Codify the comments into programmatic checks (e.g. "early in the conference", "before X talk", "after Y talk", etc)
- Update availability information "live".
- Code this into something that is not a spreadsheet
- Have a conference management system that does not take 1 minute to load each event page in the admin mode.
- Solve N=NP ?