The Power of APIs
So we just wrote a program here that really shows off the bang for the buck you get when applications provide you with an API. Microsoft Outlook, like other Office apps, has a great deal of its functionality exposed using Microsoft's ActiveX technology. And our Members Only app has a SOAP interface. So how hard can it be to write a pipe that connects the two?
Well, it turned out not to be hard at all for our colleague Minghua Feng, who used Microsoft's published interface to write an Outlook plug-in to turn Members Only into an address book available from within Outlook. Our SOAP interface already provided services for retrieving a person by name, retrieving all people at a company, retrieving all people in one of your Workgroups, or retrieving all people with a specific tag, (actually Minghua set up most of those services too, I think, but that's besides the point...) so the plug-in can let you create an Outlook email to everyone on your Board, or your Staff, or your Legislative Alert List, straight from your main database, without any importing or exporting. And with the right security, you can pull this data from your server to wherever on the internet you are.
One thing that excited me about this little app is that it is Internet technology without a browser. The idea of the Internet and the browser have been welded together in our minds, but really the Browser is just one way to display the content we pull across the network. Developers are just starting to realize that what used to be thought of as desktop apps can access data and content from anywhere on the net just as a browser can.
One major vendor looking at this type of application is Adobe. They are starting to envision a browserless internet in a big way with their Apollo project. As CNET reports, "Adobe Systems is working on software meant to blur the line between the Web and desktop PCs."
Another aspect of our little plug-in project we've been thinking about is how our API allows it to access the Members Only database without it's having any direct access to the database or knowledge of its structure. If another CRM product provided the same interface, the plug-in could use it instead of Members Only without any changes, regardless of how the data was structured or what SQL engine it used. A while back, Alan Benamer wrote a post calling for all CRM providers to make an API available, and I chimed in suggesting we form a workgroup to design a standard "lowest common denominator" API for non-profit CRM systems. Our little Outlook adventure makes it clear what a good idea that would be!
Tags: nptech, API, SOA, SOAP