After I wrote my last blog post on "Hover Me - A Social Media Dashboard" I got to thinking about the power of modules and realized that there's a special power that is available from modules that operate in the cloud.
First, a little discussion of what Ed's Empire Avenue Module does. Empire Avenue's current API doesn't allow you to look up information by Twitter handle, only by Empire Avenue ID. Ed discovered that you could use the site to do it, so he used Kynetx to essentially do a little screen scaping to get the data and return it. KRL, the Kinetic Rule Language, has built-in tools that make that pretty easy. Ed essentially built an API on top of a Web site.
The problem, of course, is that any time you're scraping the Web site, you're subject to the vagaries of the HTML in the page. If the structure changes substantially, then you're in trouble. Ed has two weapons in his arsenal to protect him from that: (a) a jQuery-like query language for selecting parts of the page that allows him to get the data he needs without over-specifying and (b) the cloud.
The cloud-based nature of modules in KRL is important for what Ed's doing. If Empire Avenue changes the structure of the page beyond what the selector Ed wrote can handle, he can update the module and everything that depends on it will start working again. Now, of course, this is what we all love about the cloud, but I hadn't thought about how it applied to development--and especially modules--until now. There is great power in creating modules that operate in the cloud.