If you're feeling adventurous and are the kind of guy that would do stuff like run Ubuntu on his home computer, buy the BMW USB cable on eBay for around $50ish (total guesstimate) and you can get the real BMW software online from various places.
I've been through a couple OBD2 code pullers and keep upgrading. I bought the PLX Kiwi Wifi to run a bunch of the ones available in the Apple appstore, specifically the claimed BMW code scanning one, but no joy with it. IMHO, if you're a big DIYer or stats junkie it's nice to have both a medium-ly nicely featured (call it a 5-series

) OBD2 handheld scanner, and also the INPA, DIS, SSS, etc. suite.
PS - anyone else catch that Braun shavers have completely stolen the 3-series, 5-series, 7-series naming schema from BMW for their shavers?! weird!