What am I missing that drives the need for the terrible complexity of IP Multicast for this DNS discovery? Esp. at the consumer, SMB and SOHO level.
Let's say I've got this fancy new product and want you to be able to control/configure it from your iPhone.
I can
(A) Write an App that controls the product and takes care of figuring out where the device is on the network. Upside: You don't have to do anything special to talk to the device. Downside: In addition to developing the product, I have to write the code for the app, and I have to make separate apps for iPhone, Android, Windows, Mac, Linux.
(B) Put a webserver in my product and tell you you're responsible for figuring out the IP address of my device on your network, e.g.
http://192.168.1.36. Upside: my product will work with all devices because every modern device has a browser. Downside: Try explaining to my mom how to go into her router and figure out the IP address of a specific device on her network, multiplied by the kabillion versions of consumer routers.
(C) Like "B" but use mDNS. Upside: You can tell people to access your device by typing "bubblelight"[*] in their browser bar. Downside: mDNS required.
Arguably (A) is the path of least resistance for the generic consumer because it requires the least work on their part -- everybody knows how to use the App store. This is why you see apps for things like the Phillips Hue and Belkin WeMo. Getting into the hands of the maximum number of customers means making things as easy for them as possible. But I'm just a poor developer and I don't have the time/money to develop an app for the iPhone, much less for Android and Windows Phone and Macintosh and Windows and Linux.
(B) is going to severely limit your market. Nobody[**] wants to have to figure out the IP address of a device.
So my hope is (C). Actually my hope for the product I was developing with the CC3000 was (C), but TI's half-brained implementation showed that wasn't going to happen. Fingers crossed with the CC3100.
[*] or "bubblelight.local", depending on your network and client
[**] "nobody" as in "my neighbor who thinks the Internet is magic voodoo", not people like us who know how the series of tubes really works.
(edit - typos)