Provisioning these things can be a hassle sometimes. The TI CC3xxx has a really wacky one. A custom provisioning app transmits the SSID and password of the target network by sending encrypted packets to nobody: the CC3xxx sniffs the length of the encypted packets and picks up the necessary information from the string of those length bytes.
The audio thing is a lot more elegant, but needs some filtering and processing to make it happen.
The audio thing does require an app though to do provisioning, which I suppose isn't a problem for the kinds of people ordering this thing.
My preferred provisioning method is to let the little Dash-like device broadcast some setup or config access point. You connect to it, get an HTML UI to input target AP credentials into, and submit the form. It works from just about any device.
Thankfully most devices I've been working on have a touchscreen to provision the SSID/PW, or we just ask the user to put it in a text file and inject it via a thumb drive. It really doesn't have to be this hard.
I think the audio trick is a pretty elegant hack. Device agnostic and doesn't need a lot of handholding. But it also has an impact on the BOM. You need to add that Cortex M3 + microphone to sniff it out. Otherwise the whole thing could have been run off one chip like the ESP or GainSpan GS2100.
Doing the access point-to-client switcharoo is a good one too but needs a bit more instruction on the customer side, plus a way to whack the device back into setup mode when you need it.