No more tap tap tap sounds: yay!

A few days ago the fantastic Fritz from the Netherlands told me that my Hands On Web Audio slides had stopping working and there was no sound coming out from them in Firefox.

Which is pretty disappointing for a slide deck that is built to teach you about Web Audio!

I noticed that the issue was only on the introductory slide which uses a modified version of Stuart Memo’s fantastic THX sound recreation-the rest of slides did play sound.

I built an isolated test case (source) that used a parameter-capable version of the THX sound code, just in case the issue depended on the number of oscillators, and submitted this funnily titled bug to the Web Audio component: Entirely Web Audio generated sound cuts out after a little while, or emits random tap tap tap sounds then silence.

I can happily confirm that the bug has been fixed in Nightly and the fix will hopefully be “uplifted” to DevEdition very soon, as it was due to a regression.

Paul Adenot (who works in Web Audio and is a Web Audio spec editor, amongst a couple tons of other cool things) was really excited about the bug, saying it was very edge-casey! Yay! And he also explained what did actually happen in lay terms: “you’d have to have a frequency that goes down very very slowly so that the FFT code could not keep up”, which is what the THX sound is doing with the filter frequency automation.

I want to thank both Fritz for spotting this out and letting me know and also Stuart for sharing his THX code. It’s amazing what happens when you put stuff on the net and lots of different people use it in different ways and configurations. Together we make everything more robust 🙂

Of course also sending thanks to Paul and Ben for identifying and fixing the issue so fast! It’s not been even a week! Woohoo!

Well done everyone! ??

How to keep contributors when they are not even contributors yet

Today I wrote this post describing my difficulties in getting started with Ember.js, a quite well known open source project.

Normally, when I find small issues in an existing project, I try to help by sending a PR–some things are just faster to describe by coding them than by writing a bug report. But the case here was something that requires way more involvement than me filing a trivial bug. I tried to offer constructive feedback, and do that in as much detail as possible so that the authors could understand what happens in somebody else’s mind when they approach their project. From a usability and information design perspective, this is great information to have!

Shortly after, Tom Dale contacted me and thanked me for the feedback, and said they were working on improving all these aspects. That was great.

What is not great is when other people insta-ask you to send PRs or file bugs:

Look, I already gave you A FULL LIST OF BUGS in excruciating detail. At this stage my involvement with the project is timid and almost insignificant, but I cared enough to give you good actionable feedback instead of just declaring that your project sucks in a ranty tweet.

The way you handle these initial interactions is crucial as to whether someone decides to stay and get more engaged in your community, or run away from you as fast as they can.

A response like Tom’s is good. He recognises I have more things to do, but offers to listen to me if I have feedback after they fix these issues. I can’t be sure I will work more with Ember in the future, but now I might check it out from time to time. The potential is still there! Everyone’s happy.

An entitled response that doesn’t acknowledge the time I’ve already invested and demands even more time from me is definitely bad. Don’t do this. Ever. What you should do instead is act on my feedback. Go through it and file bugs for the issues I mentioned. Give me the bug numbers and I might even subscribe to them to stay in the loop. I might even offer more feedback! You might even need more input! Everyone wins!

This is the same approach I use when someone who might not necessarily be acquainted with Bugzilla or Firefox tells me they have an issue with Firefox. I don’t just straight tell them to “FILE A BUG… OR ELSE” (unless they’re my friends in which case, yes, go file a bug!).

What I do is try to lead by example: I gather as much information from them as I can, then file the bug, and send them the bug URL. Sometimes this also involves building a test case, or extracting a reduced test case from their own failing code. This is work, but it is work that pays off.

These reporters have gone off to build more tests and even file bugs by themselves later on, not only because they saw which steps to follow, but also because they felt respected and valued from the beginning.

So next time someone gives you feedback… think twice before answering with a “PATCHES WELCOME” sort of answer—you might be scaring contributors away! 🙂

Distro/desktop (s)hopping, part 3: Lubuntu

As I’m now fully embarked on my experimental setup, today I tried to kill two birds with one stone and

  1. set up a virtualised Android development environment
  2. try out yet another distribution

I did something similar a couple of days ago: I created a virtual machine, installed Arch Linux on it and assembled an “on demand” server with Nginx, Apache, MySQL and PHP. “On demand”, in this case, means “it’s started when I demand it to start”. It’s great because when I’m not using the computer for web development I don’t have any of these services running, plus they are completely isolated, so if I break something configuring them I don’t end up with an unusable system!
Continue reading “Distro/desktop (s)hopping, part 3: Lubuntu”

Line spacing inconsistencies when pasting to Firefox from gedit

I was adding some productions to escena.org when I noticed something strange about the way the info section of the latest productions was looking. I was slightly distracted by the excitement of watching all those intros and demos that I hadn’t heard before about, so it took me a while to notice what it was exactly that “didn’t quite look right”. It was the spacing!

Or more exactly, the double spacing that I was seeing, instead of just a single line as in the original!

Initially willing (or expecting) to put the blame on me, I examined my back-end code first, but there is nothing dealing with double spacing or “Windows spacing” correction, such as automatically replacing \r\n with \n only.
Continue reading “Line spacing inconsistencies when pasting to Firefox from gedit”

Android’s SoundPool.play is broken on the Xperia PLAY

Whenever you try to play a sound with a rate other than 1.0f, the sound will simply not play at all on the Xperia “PLAY”. You get nothing. Not even the sound at the original 1.0 rate. Silence. Void. Vacuum. Zeroes.

What an ironic, unfortunate coincidence–maybe we should retitle the phone as Xperia NOT PLAY.

And the worst is… I don’t even know where to report it! I can’t find any Sony Ericsson bug tracker, and since I’ve tested this on other several phones and even the Galaxy Tab, and it works on them, I’m pretty sure it’s only the PLAY that decided to act silly.

But having in mind this was a developer phone, and probably it had many rough edges still to be polished, I thought: maybe there’s a software update and this is old news already? Yes, some sources said so, it was exactly released on the 2nd of August. Excellent!
Continue reading “Android’s SoundPool.play is broken on the Xperia PLAY”