All posts by sole

The ideal talk length

I have been doing a number of talks this year, and each conference has different parameters for what each talk should last. They range between 15-60 minutes. My personal preference is between 20-30 minutes. Those should give enough time to lay out the concepts without rushing it too much, do a bit of a deep dive and finally close down with some conclusions—even allowing for the speaker to hesitate a little bit if need be. 45+ minutes start verging on the “attention span” limit, and I hate both doing those (I end up showing silly stuff because I just cannot be speaking for so long non-stop), and listening to those (I just can’t; my brain zones out unless they are REALLY GOOD).

It’s funny, at the beginning most of the conferences I attended would have sessions of one hour, so they could fit relatively few speakers. They started doing parallel tracks and then they had more speakers and attendees had to choose between speakers. So I guess then single-track conferences pushed for shorter talks so they could have more speakers and people would not need to choose who to listen to.

But… there is a limit on how short you can go. 15 minutes is nothing when your audience is big and diverse–you want to make sure most of them can follow, so you need a moderately sized introduction. Then you don’t have 15 minutes anymore, you might have 9, or 8. You cannot fit too many complex concepts in just 10 minutes. Or well, you can, but most of the people won’t follow, and you might also die because you didn’t breathe in order to fit more words per minute.

Or the speaker, used to longer talks, might feel the topic too complex to really dive into it in such a short amount of time, and ends up just giving a very shallow overview of a topic. If many talks are like that, a conference can feel dull and meh: what did you tell me I didn’t know already?

There were a few comments about this after and before dotJS. The general feeling between speakers was that under 20 minutes is just too short for technical stuff (unless you assume everyone has knowledge of the topic, but then you’re excluding a huge bunch of the audience). The feedback I heard from attendees was that either the talks were too vague, or things were unclear (because there was too much content in too little time).

I would like to encourage some debate on this. Conferences should be about quality and not quantity. If I wanted quantity, I could just lean back on my couch and open YouTube—there are so many talks we can watch nowadays, it’s awesome!

I’ll even go further: what about agreeing with speakers what they think could use, instead of going for a one-size-fits-all solution upfront? Yes, it will be harder to build the timetable, but you’re already curating the content and taking your time—why not spend some more to make sure your speakers don’t stress about talk length and can focus on delivering great content?

Let’s discuss.

Tools for the 21st century musician—super abridged dotJS edition

I attended dotJS yesterday where I gave a very short version of past past week’s talk at Full Frontal (18 minutes versus 40).

The conference happened in a theatre and we were asked not to use bright background so I changed my slides to be darker and classier.

It didn’t really go as smoothly as I expected (a kernel panic a bit before the start of the talk, and I got nervous and distracted so I got more nervous and…), but I guess I can’t always WIN! It was fun to speak in French if only one line, though: Je suis très contente d’être parmi vous!–thanks to Thomas for the assistance in coming up with the perfect presentation line, and Guillaume and Sasha for listening to me repeat it until it resembled passable French!

While the video is edited and released, here’s a sample in the form of slides, online and their source code in GitHub.

It was fun to use CSS filters to invert the images so they would not be a big white block on top of a dark background. Yay CSS filters!

.filter-invert {
    filter: invert(100%) brightness(2);

Also, using them in transitions between slides. I discovered that I could blur between slides. Cinematic effects! (sorta, as I cannot get vertical/horizontal blur). But:

.bespoke-active.emphatic-text {
  filter: none;
.bespoke-inactive.emphatic-text {
  filter: blur(10px);

I use my custom plugin presentation-fullscreen for getting real fullscreen in my slides. It’s on npm:

npm install presentation-fullscreen --save

then just


will add a new option to the contextual menu for making the whole body go fullscreen.

I shall write about this tip and how I use bespoke.js in general, and a couple thoughts and ideas I had during the conference soon. Topics including (so I don’t forget): why a mandatory lack of anonymity is not the solution to doxxing, and the ideal talk length.

Firefox OS Bug Squash party

Oh hey, here’s another belated post from Sole! But at least it didn’t take me a full whole year to write ^_^

We hosted the first ever Firefox OS Bug Squash Party at Mozilla London (also known as MozLDN) last week, thanks to the initiative of Francisco and Guillaume that mostly brainstormed it all with support from Valentin Schmitt.
Continue reading

Full Frontal 2014

I had the honour and privilege to speak at Full Frontal this year. I also had the chance to watch most of the talks, so here are some notes and thoughts on the ones I was able to watch (I was too late for the first ones, and I’m so sad, because I’ve heard they were so good!).
Continue reading

Tools for the 21st century musician

That is the title of the talk I gave yesterday at Full Frontal in Brighton. The video is still not out but here are the slides (and the source for the slides, with all the source for the examples).

If you were in my Web Audio workshop in Berlin, this talk followed the same style, except I refined some points and sadly forgot a couple. I also showed the Web Audio Editor in Firefox DevTools, which I didn’t in Berlin because Jordan was going to talk about it after me.

I had a little bit of a surprise at the end of the talk, when I “presented” for the first time a little project we’ve been working on for a while: OpenMusic. And I have “quoted” the presented word because the work has always been in GitHub in the open, so if you followed me in GitHub you might have seen all the repos popping up and wonder what the hell is Sole doing lately.

So, just in case you weren’t in the conference, OpenMusic aims to be a nice collection of interoperable/reusable Web Audio modules and components. This is an idea that Angelina sort of had when they saw my audio tags talk last year, and has been brewing in the back of our minds until a couple of months ago when the A-HA! moment finally happened.

And so I’ve been pulling apart components and pieces from my existing Web Audio-based code, because I realised I was doing the same thing over and over and I wanted to do new things but I didn’t want to do the same thing yet again. So, small npm based modules it is. And a bunch of them!

I’m a bit short on time lately (and I’m being very generous on this description), so some of the modules are a bit too rushed and a tad obscure, but they should work and have some minimal documentation already, and they’ll get better. Be kind while I deconstruct my hacks–or better yet, start deconstructing yours too! =)

Thanks to Remy for inviting me to this ultra cool conference… and accidentally triggering the A-HA moment!