One of cool things I get to do besides being a consultant is (helping) organizing NG-NL. This is the annual conference in Amsterdam dedicated to the Angular framework. As you might expect, a lot of preparation goes into hosting a conference like that and this blog post is meant to give you a sneak peek of what we all did behind the scenes to make it happen.
1. Setting the stage: picking the right venue
This year we opted for the same venue of last year (het Sieraad, Amsterdam). Mainly because the location is great, has a great crew that really helps along in the creative process and we were sure the WiFi would survive 2 days of heavy internet usage because we battle-tested it in the previous edition and some other Xebia conferences.
2. Choose your mood: fleshing out the theme
After the venue has been chosen, we can start fantasizing about what it should look like on conference day. Our event manager started by showing us some mood boards that contained various references to Alice in Wonderland and we were asked to brainstorm about cool ideas fitting the theme of “Sense of Wonder” and “Steam”. One of funniest parts of the whole get-up was the photobooth that played an optical illusion on you in true Alice in Wonderland style where you would go from being really tall to being very short. On conference day we made some great pictures of the crew an the speakers in various arrangements of tall and short. To see what I mean, check out the aftermovie!
3. Getting content: selecting speakers
Opening up the call for papers is always a time of great anxiety. Will we be getting any proposals? Will the proposals be any good? Are we calling enough attention to the fact that the CFP has opened? Basically: Will we be able to fill our conference day with talks our attendees want to hear? Fortunately this year we were once again blessed with a great number of proposals so we had a lot to choose from. While the call for papers ran we already started categorizing the incoming proposals by theme and intended audience so we could select talks from within a category instead of selecting from the entire pile of submissions. When we closed the call for papers we had long list of talks waiting to be discussed.
We first started by voting on all of the proposals by simply looking at the title and abstract. After this we found out there were already some submissions we all really wanted to have so we put them on the shortlist. After that we started debating the remaining proposals that had been given a lot of votes. We really dove into the content and tried to find the best match for our visitors and ended up with, what we believed, was the best set of talks that were proposed to us.
Once we finalized the list of talks for our conference we started shuffling them about in the slots of the schedule so we were sure there was enough variety in intended audience level and subject on each slot. This took quite some time as it is quite hard to make a schedule that is pleasing to all. But in the end I think we made a nice schedule that offered something for all attendees of all levels. Of course we were reassured by the fact that both tracks were recorded, so in case we accidentally planned two must-see talks simultaneously our visitors would still be able to watch the other talk online.
4. Connecting the dots: creating the conference app
One thing that I find really important in any conference is a schedule app for your mobile phone. I really like having a quick overview of all available talks in all tracks so I can pick where I want to go next. In previous years we used native applications for both Android and iOS, but this year we were a bit low on native development capacity to pull that off. Of course we looked at using Angular in combination with NativeScript, but we found the implementation still a bit too flaky to risk using it for this scenario. Fortunately we had a React Native app available, that we could easily fill with the right content (through Firebase) and the right theming. In a single day I was able to implement the NG-NL design and upload the right content for all the talks. This was only 10 days before conference day so I was really pushing to get the new app in the Play/App store. The Android version was uploaded and approved in a breeze, but the iOS version took far longer because of Apple’s approval process. The iOS version was cleared on the sunday before the conference, so well ahead of time and I could finally sleep again.
5. Show time: day of the conference
The conference day itself is one big rush. For me it starts at 5:30 am in order to make it in time (7:00 am) at the venue for the first technical run-through. After getting Todd Motto ready to give the opening keynote it’s all one big stressful blur. Making sure everything is setup properly for the AV department, chasing speakers, having some small talks in the hallways with attendees. It’s both exhausting and exhilarating at the same time. You feel like you’re living a day that lasts for 40 hours, but once it’s over it always feels like it’s only been an hour. The first moment we, as organizers, get to unwind is the speaker dinner that is held after the guests have left. This is a really great opportunity to connect with the speakers and start enjoying the day that just passed. Like last year we had a singer that completed our great dinner with some lovely background music, even spurring the occasional dancing (see this tweet for example). After dinner it’s finally time to go home and hit the bed at 00:00.
It is so awesome to see all your effort culminate into a single day filled with great talks and all round happy faces. I really love organizing this conference because of the huge amount of energy you get from the community and the great sense of satisfaction once it’s all over. It’s also a process that has no equal in my day job as a consultant so it’s a great opportunity to broaden my skill set.
I hope you like this sneak peek of what we all did behind the scenes of NG-NL. If you want to know more about it (or about Xebia), don’t hestitate to contact me. What we all did it for
[caption id="" align="alignleft" width="120"] Great crowd![/caption]