Software Integration and OSS

I’m a big believer in Software Integration, especially in OSS software. I’ve never understood why most OSS programmers haven’t gone to that logical next step to create software integration paths. For example, if I send an email to somebody through Thunderbird, I should be able to see if they are online or not via one of the IM transports, as well I should be able to send them an SMS if I so choose.
 
Thunderbird has basic AIM Online Presence FunctionalityThunderbird has started this integration, actually, but it is very early it seems and isn’t anywhere useful. It can only be found in the Addressbook. You don’t see it when sending someone an email(should appear next to their e-mail address or at least when you’re selecting their name from the address book on the compose screen). However, it’s a great start, and that little icon, gray or yellow, is going to be one of the biggest things for OSS.
 
Microsoft Outlook and Exchange server do a lot of software integration right there. My experience with Outlook and Exchange is limited, however, so I don’t know much about what it has.

 
What we need, is integration of the Mozilla 3 as I call them. Yes, pains were taken to split up Firefox, Thunderbird, and Sunbird. But, integration should be there. If only one is installed, no integration is needed. With two, the amount of integration increases. With three, the options become large.
 
Let’s take a look at vCards, or sigs, or profiles. Each should have a link to an iCal, and optionally, a link to a web page that displays the calendar. I have my iCal, somewhere around here, and my online calendar is available as well. A vCard/Profile/Sig(referred to hereafter as the generic Sig) should include these options. Say you receive a Sig from somebody in the form of:
 
Joseph Guhlin
Web: http://www.josephguhlin.com/
Cal-View: http://www.josephguhlin.com/calendar/
iCal: http://www.josephguhlin.com/calendar/somewhere/around/here/Iforget.ical
RssCal: http://www.josephguhlin.com:80/calendar/rss/rss.php?cal=Personal&rssview=week
 
Let’s say Thunderbird knows Sunbird is installed, and knows Firefox is installed. An addressbook entry is created with those three attributes(Cal-View, iCal, RssCal) and from then on you can right click that person’s name and select “View Calendar” or “Subscribe to Calendar” or, if subscribed(the system has to check with Sunbird), “Unsubscribe from Calendar.” Or perhaps a small calendar icon, left click opens Firefox, right click allows you to subscribe/unsubscribe, or to view in Firefox, or to Subscribe to the RSS Feed in either Firefox(more difficult, has to open the Bookmarks Manager of Firefox) or to an RSS Group in Thunderbird(easier). Something simple like that for Sigs could be easy, but would quickly get bloated. I think a vCard would be more appropriate, and only one of those links, because bloat is going to be such a huge problem very quickly.
 
For example:
 
Joseph Guhlin
Web: http://www.josephguhlin.com/
Cal-View: http://www.josephguhlin.com/calendar/
iCal: http://www.josephguhlin.com/calendar/somewhere/around/here/Iforget.ical
RssCal: http://www.josephguhlin.com:80/calendar/rss/rss.php?cal=Personal&rssview=week
Phone: +1-469-867-2100
Keywords: PHP, Perl, Contractor, Consultant, Linux, Unix, FreeBSD, JavaScript
Blog: http://www.josephguhlin.com/blog/
BlogRSS: http://www.josephguhlin.com/blog/feed/
IM-AIM: BlahBlah
IM-Yahoo: BlahBlah
IM-Jabber: BlahBlah@BlahBlah.Bla
IM-MSN: BlahBlah@BlahBlah.Bla
Skype: …..
 
And so on….
 
With vCard it isn’t as much as a big deal, maybe an upgrade to vCard is in order? We would want a standard that other systems would/could adopt, such as GMail, Yahoo! Mail, as well as the other OSS E-Mail Clients, such as KMail.
 
 
Integration should be as automatic as possible, perhaps using a 3rd party library to create a kind of registry(Yes, I know, it’s an evil word, but it may be the best thing to do in case things are installed in a non-standard location). With Gaim, we could attach screennames and get Presence notification from Gaim, as long as Gaim is online. Or Kopete, or whichever your preference is. If AOL decides to offer it, we should support it. Everything I am saying should be Windows compatible, as that is what I use, and that is the beauty of the Mozilla 3, and will encourage the most wide adoption possible. And with the growing use of Asterisk, you can set up automatic dialing, even to a traditional phone system(Asterisk dials your SIP phone, hard or soft, you pick up, then proceeds to dial out).
 
Let’s talk about logical steps. Application switching should be as automated as possible.
 
Let’s say I’m viewing a combined calendar and noticed I have an 11am appointment with Person X. I click on the appointment, bringing up the pertinent information, as well as E-Mail Address. I want to reschedule this appointment, so I’m want to contact this person. I see from a grayed out AIM icon that they are not online. I click the mail icon and start writing a short email. While writing this, a notification is presented saying this person is online, and a yellow AIM icon shows up next to their email address in the To: field. I right click on that icon and click “Send message Via” and GAIM takes over, with my current(short) email message ready to send. The compose window closes, and the person responds, changes the appt, and everything works. Applications were switched, but the computer is the one that did the switching. As long as I am working on one overall task(Rescheduling an appointment), the sub-tasks(Sending an Email, Checking for IM Online Presence, Sending an IM) were switched to by the computer, logically, from the context of my current task. If I switched applications myself, it should mean, at least 75% of the time, that I am switching to a different task myself mentally, perhaps to check on something else, answer another email real quick, etc…
 
These are very simple examples. Let’s explore something more interesting, although fictional:
 
Let’s say you sell stuff on eBay. Your calendar App gets a list of the dates and times the auctions end, and this is put into the calendar. It also gets noticed that 2 auctions have finished but no action has been taken, so it adds to your todo list to send your “You’ve Won, Now Pay Me” E-Mails, which you can click on from the calendar and it loads up your Thunderbird, with the proper e-mail template. This would certainly speed things up.
 
Enterprises would obviously benefit from this type of integration as well.
 
I know Exchange and Outlook already do this, but what I am proposing is a mostly automated system with distributed servers(IM Server, Calendar Server, Other Web Servers, etc…) as well as more integration and more options. Outlook isn’t integrated with AIM, Yahoo, or Jabber. There is no way to automate calendar imports from other systems without a painful translation process.
 
There are many more things you can do, but we need a basic standard platform for this integration to work, otherwise it will be GAIM checking for Thunderbird, Firefox, and Sunbird, as well an an eBay account(to receive updates via Gaim), etc…. We need an integrated method that keeps notice of everything(GAIM Installed, FF installed, TB Installed, SB Installed, eBay API Plugin Installed, Gmail API Plugin Installed, Etc..).
 
We also need basic concepts, such as presence. For example, say Skype registers as a Presence Provider, whenever that person’s email address is in the To: field in Thunderbird(Or when sending an IM to that person), the Skype icon says this person is online(or away, etc..) and that icon shows up where appropriate. We need standard services, as well as an action with the standard services(You click on the Skype icon, it has info how to load up Skype and begins dialing that user).
 
Online presence and communication are my biggest things, but there are many other things as well, and those need to be explored and worked from. An eBay service would probably be warranted, but would not be something I would call standard. An Email service would be good, for Thunderbird/Kmail/Gmail. A Calendar Service, an RSS Service, etc… Some with sub-services, for example you would have RSS service, as well as the Calendar sub-RSS service(Firefox should handle all RSS Feeds, but Calendar Feeds should be in Thunderbird, or if Sunbird gets support).
 
This concept could be a great benefit to all computer users everywhere, and is the logical next step in User Interface.
 
If anyone is interested, comment here. I want to try a few things with Firefox and Thunderbird to get some basic ideas off the ground, and perhaps generate some more interest. All these things are possible, but we need a standard way to do it, and we need to do it. That way, OSS programs will have a better foothold in the system.

Posted: August 19th, 2005 under AJAX, Asterisk, Firefox, PHP, Uncategorized, VoIP, XUL.
Comments: none

Write a comment