Earlier this year I was the lead organiser of the first ever LambdAle, a functional programming conference in a pub.
This post will mostly consist of notes on how we organised the conference. Hopefully it will prove useful as a reference for anybody who is planning a conference of their own.
Apologies in advance. This post will be looooong.
The idea of hosting an FP conference first came to me during a coffee break at Code Mesh in 2017. Code Mesh is an amazing conference, but, like many others, it is hosted in a rather dull venue. So I was standing in a big grey room in the Ibis hotel in Earl’s Court, drinking a disgusting coffee from a big metal urn, and it suddenly occurred to me that it would be much more fun to do this in a pub. Not only could delicious beer be substituted for the horrible coffee, but the conference could take place in surroundings with a bit of character.
I wasn’t sure if I was alone in thinking this way, so I turned to Twitter for validation a couple of months later:
It got enough of a positive response to convince me that this wasn’t crazy. So I went away and thought of a name for the conference, and the rest is history:
I was on the organising committee for the ScalaMatsuri conference in Tokyo for a few years. (In fact I was there from the start, back when it was the catchily-named “Scala Conference in Japan”!)
I didn’t have a leadership role and my duties were mostly confined to translating slides and other conference materials, but it was a valuable experience. It gave me a behind-the-scenes view of conference organisation for the first time.
Those of you who know me IRL will know that I’m not very good at asking for help, often opting to take on as much work as I can myself. This was the case with LambdAle as well, and I think the rest of the team were eager to help more if only I’d given them the chance. If we do this again next year, I’d like to work on finding better ways to distribute tasks.
We were very light on process. Nobody had a specific role, and we only had sporadic meetings in pubs every month or so, with most interaction taking place online. We tracked work using Trello (more on that below).
The first thing I set up after the Twitter account was Trello:
At first this was just a place for me to jot down notes and ideas, but once the other organisers joined it became a proper board.
I wrote most of the cards myself, but for a long time I would give them only a title and a very brief description, so that other organisers could get some visibility on work that was in progress or needed to be done. It was only after a few months I realised what I was actually doing: writing cards with the implicit assumption that I was going to do the work myself! After this epiphany, I tried to add more detail to cards so that anybody could pick them up and start working on them.
Other than Trello, I also set up a GitHub organisation, an AWS account, a Google folder for sharing documents, and a Gitter room where we could chat privately.
Gitter turned out not to be a great choice for our realtime chat. The notifications were flaky for some of the organisers and I found the iOS app to be quite buggy. Maybe Slack would have been a better choice.
Limited company and bank account
I wanted to make the conference as accessible as possible, which meant that we would need sponsorship in order to keep the ticket price low.
In general sponsors are much happier to send their money to a proper entity than to some dude’s bank account, and I also wasn’t too keen on having thousands of pounds flowing in and out of my personal account, so I decided to set up a limited company and a business bank account.
Registering a limited company in the UK is pretty easy. There are a zillion websites out there offering company formation as a service, although they all have a rather spammy feel about them. In the end I went for CompaniesMadeSimple, and I didn’t have any problems.
Getting a business bank account was an absolute nightmare. I tried Tide, who are supposedly very good, but they didn’t seem too keen on having a not-for-profit company as a customer. So I opted for a mainstream bank, whom I will not name because I’m sure all of their competitors are equally shambolic, but it was a disastrous experience. It took literally months, and many hours of my time, before the account was set up correctly and I could login to online banking.
Website and domain
None of the organisers, including myself, have much frontend experience, so I wanted to make the website as easy to develop and deploy as possible. I took a ready-made Jekyll theme called Scribble, butchered the CSS a little to suit my purposes, and hosted the site on GitHub Pages.
I bought the domain through AWS Route 53 for a few dollars. Route 53 is nice as it auto-renews the domain for you every year. I set up an A record in Route 53 to GitHub‘s IP addresses so that https://lambdale.org would show the GitHub Pages site.
To handle incoming email to the lambdale.org domain, I used Amazon SES and this Lambda to forward all email to my personal address. In hindsight it would have been simpler to set up a Gmail account for the conference, which would also have made the emails visible to all organisers.
The venue for LambdAle was Balham Bowls Club, a beautiful pub in south London. I found this pub in CAMRA’s excellent book of London pub walks. As soon as I walked in, I knew it had to be the venue for the conference.
We hired the top floor of the pub, which used to be a ballroom back in the days when it was actually a bowls club. The room could hold 120 people, it had its own bar and toilets, and a stage and projector screen. It also had a projector and some speakers installed, but it was a bit rudimentary for our needs. More on A/V later.
I made the original logo myself, in about 30 seconds, on Google slides. Very professional!
I kind of liked its rustic charm, but when we came to print the swag we realised it wouldn’t scale up to t-shirt size. Luckily, 47 Degrees came to our rescue and kindly offered to design a properly for us, free of charge.
Here is what Israel Pérez González, their lead designer, came up with:
We cold-emailed a lot of companies asking if they wanted to sponsor us, but most of them didn’t even reply. In contrast, all the successful sponsorship agreements came about through personal connections.
I had no idea how much money we needed or how much it was acceptable to ask for, so I plucked a number out of the air. It was cheaper than most conference sponsorship deals, but based on my back-of-an-envelope calculations I couldn’t see us needing any more than that. Luckily this turned out to be correct!
I decided to keep things simple and have a single sponsorship level rather than the Gold-Silver-Bronze model used by most other conferences.
To manage the Call for Papers we used a free service called PaperCall. We were very pleased with the experience, from writing the CFP to voting on the proposals and communicating with the submitters.
I originally planned to have a mix of technical and non-technical talks, and some lightning talks, but we only received proposals for standard-length technical talks. I think the ‘non-tech talks’ idea was too open-ended and not explained well, hence the lack of responses. I’d like to try it again next year, but it needs to be more focussed.
For a while I was worried that we were not getting enough submissions, but we got a flood of them just before the deadline. In the end we received 19 proposals, which we had to narrow down to 8. This was incredibly difficult, as we didn’t want to reject any of them.
Before we started selecting the talks, I wrote down some of my over-arching goals for the conference programme and shared them with the rest of the team:
- Diversity of content (programming language, etc.)
- Balance of beginner to advanced level content
- Give some inexperienced speakers an opportunity to speak
- Don’t just choose people I know
- Diversity of speaker background
- Don’t let travel costs influence our decision
I’m not sure we can claim to have succeeded in all these goals. For example, excluding the keynote we only had one female speaker. But we were limited by the submissions we received. (We tried to advertise the CFP to various women-in-tech groups, but this did not result in many submissions.)
We wanted to attract the best speakers, no matter where they happened to live or how much money they had to spare, so we were keen to offer travel support. However, at the time of the CFP the budget was still very fluid.
We tried to be as transparent as possible on the CFP page:
We would like to offer travel assistance, but we cannot promise anything until we are sure how many sponsors we have. Please contact us if you are interested in requesting travel assistance.
If you can ask your employer to pay for your travel, please do so, as it helps us to spend the money elsewhere and keep the conference ticket price as low as possible.
In the end we got lucky and not many international speakers requested travel support. If we do this again next year, we’ll need to put some thought into how to make the budget more predictable.
We had to make international transfers to pay the travel support to speakers. Originally I planned to use PayPal for this, but I had all kinds of trouble with it. I ended up using TransferWise, which was awesome. Thanks to Noel Welsh for the tip.
One speaker, Yifan Xing, had to go through the hellish process of getting a visa to enter the UK. Thanks to my wife being Japanese, I am depressingly expert at navigating the ‘hostile environment’ that is the Home Office’s visa regulations, so I was able to give her some support and guidance.
We wanted to make the tickets as cheap as possible. The price was decided based on the total sponsorship income and on our various costs: audio-visual hire, travel support, swag, lunch and so on.
The price we settled on was £65 including lunch and one drink, which I think is pretty reasonable.
We used Eventbrite for ticket sales. We were very impressed with the experience. The only foible we found was that attendees were not able to download an invoice for their tickets because LambdAle Ltd was not VAT-registered, which doesn’t make any sense to me.
I was keen to maximise the diversity of our audience. Alex, one of the organisers, suggested selling ‘diversity patron’ tickets: when buying a ticket, people would have the option of buying an extra ticket (at a slightly reduced price), which we would then give away to somebody who needed it.
I think this idea is great but our execution of it was not perfect. Firstly, we didn’t properly define what sort of people should receive the tickets, and secondly we didn’t think about what to do if we didn’t find enough people to give them to. At first nobody seemed to want them, so we were left in the surreal situation of desperately trying to give away free tickets so we didn’t have to refund them to the people who had bought them. Luckily we were able to give them all away just in time.
I like conference swag to be both interesting and useful, so we gave the following to attendees:
- pint glass
- beer mat
- laptop sticker
- tote bag
For the pint glasses we used a company called 4imprint. They offered a very professional service, calling me to give advice on the printing process and sending a single printed glass for us to review before they started the full printing run.
For the t-shirts and tote bags, we used Vistaprint. Frankly they were a bit rubbish. The print quality was low on average and very variable, some of the tote bags were slightly the wrong colour, they sent things in tiny batches whenever the stock became available, and the last few items didn’t arrive until after the conference!
We needed to hire a projector, speakers, microphones, a mixing desk and various other equipment, along with a team to rig it and an engineer to look after it all on the day.
Alex, one of my fellow organisers, is much more experienced than me in this stuff, so I delegated to him. He requested quotes from a few companies and we decided on Acorn AV. They were very reasonably priced and professional.
The Guardian also kindly lent us two professional 4K video cameras so that Alex could record the talks.
The videos are being edited right now and should be on YouTube soon.
On the day
The day started with a lot of last-minute stress: the minicab I had booked didn’t turn up, and when I did finally get to the venue there was nobody there to let us in.
Apart from that, the whole day went very smoothly. The only technical hitch was that the gadget to record the HDMI input to the projector malfunctioned. But we used our secondary video camera to record the projector screen, so we are still able to include the presenters’ slides in the videos.
We started registration at 9am, the first talk was at 10am, and we finished the pub quiz at about 6:30pm. When I went home, elated and exhausted, at about 8:30pm, the post-conference party in the bar downstairs was still going strong.
A few days after the conference I sent out a Google Forms questionnaire to the attendees. I’m pleased to say the majority of the feedback was positive. We also received some constructive suggestions for things we could improve in future.
A few highlights:
As I’ve hinted in various places above, I’d like to do this again next year, but I can’t promise anything yet.
Organising this year’s event was a huge learning experience, and there are plenty of things we can improve. So if there is a LambdAle 2019, it should be even better!