If there is one area I can't fault Badaboom it's the the user interface. Coloured in a very nVidia-esque black and green theme, the 'simple' interface presented on startup has three sections. On the left, a list of possible video sources, over on the right is a choice of output devices and in the centre an image of the cuurently selected output device, along with a quality slider. Most users will probably find those settings more than enough for their purposes, but should more functionality be required there's a small 'advanced' button that allows access to more options.
Advanced options allow more specific choice over the output video location which defaults to the Windows Videos folder, on Vista at least, the option to change the quality settings of the H.264 encoder used by Badaboom, separate audio quality variation and as many resolution options as one could shake a stick at.
Quality can be varied both by selecting the bit-rate to be used, whether this is constant or variable, and the H.264 Baseline encoding profile to be used. Comparing a selection of video files transcoded using both Badaboom on the 'high' default preset and iTunes on my iPhone I found it nigh-on impossible to tell the difference between either file.
On a PC things are a little different and the differences in Baseline profile chosen and bit-rate are more easily seen at the maximum 720p output setting. In these days of cheap storage I can't see why anyone would be transcoding HD video to different formats. Unless Badaboom adds .mkv file support and 1080p H.264 any time soon allowing transcoding of HD files from a PC to an Xbox 360 or PS3, perhaps.
In terms of speed the difference between CPU and GPU encoding is profound. I tested on our quad-core Phenom 9600 system as though I wanted to test using Nehalem, I couldn't get our system to work with Badaboom. I'm assured mine is an isolated incident, that Elemental have tested using Nehalem and that nVidia aren't aware of any issues, but it's worth mentioning.
Converting a 1080p trailer (Watchmen to be precise - what else?) to 480 x 272 for an iPod touch took just 28 seconds on an nVidia GeForce GTX 280 compared to one minute 53 seconds on the CPU. Scaling the input file size up, converting an entire 720p film the difference changed from seven minutes on the GTX 280 to 23 on the Phenom. Plugging in an old 8800GTS 640MB this file took 12 minutes, so there's definitely still an advantage to even an older GPU.
iTunes, though, isn't the fastest transcoder going as it limits its CPU utilisation. Testing with AutoMKV the encoding process was much faster, still on the CPU with that 720p film file being converted in a mere 14 minutes. However, as Elemental Technologies is keen to point out, while this conversion took place the system was unusable for anything else, whereas Badaboom, being GPU based, was faster and didn't hog all the system resources. So if you want to do your encoding in the background while you get on with other stuff, Badaboom looks like a compelling option.
There's a lot to like about Badaboom. Even on a fairly old graphics card it gives a decent speed up to video encoding compared to a relatively high-end quad-core CPU. On a dual-core system the difference would doubtless be more pronounced. Further to that, the speed of Badaboom's encoding doesn't come at the expense of system responsiveness.
As I've often mentioned, what nVidia has done with CUDA, that is, encouraging developers to move processes that work well in a highly-threaded environment to the GPU, is a fantastic and logical step. Badaboom is a great example of a program that has benefited from that transition and it only looks set to get better. Especially with talk of having the program bundled with some nVidia GPUs.