At Dave Winer's meeting about bootstrapping the Rss Cloud someone (I don't remember who, sorry) asked about the possibility of using the cloud as an opensource peer to peer IM network to replace Jabber/XMPP (there was a little discussion around how difficult it is to implement XMPP securely and correctly). As I'm working on my cloud I've gotten to thinking about how to implement IM. I have no time to lead this for real, so this may be just a mental exercise. But if someone does have to the time to implement it I'd love to help.
Here's the initial handshake flow as I see it:
I'm pretty sure that the initial handshake would require a separate procedure, we would need different parameters passed back and forth and at the end of the day, this is entirely the opposite of the cloud element instead of "I want to follow this", you're sending "I'd like you to follow this and tell me what to follow". However once that initial handshake is made you are open to use the cloud as a communications platform
As I hinted above PGP could be used to encrypt the items, allowing you to have a publicly accessible RSS file that anyone an subscribe to but only can be read by the people involved in the communication. Minimally, I think all of items sub-elements should be encrypted with the possible exception of the GUID. Assuming the GUID is clock based and not URL based, I see no data leaking with the GUID and, as a benefit, if you already have a message, there will be no overhead in decrypting it.
Part of me is thinking it might be preferable to have the PGP keys available in the feed which seems more graceful than needing some sort of key expiration in the process. This either requires either specially keyed items with the PGP keys as enclosures that the client can filter out or defining PGPKeys and Fingerprints at the channel level in a namespace.
There would be some differences between a standard RSS Cloud subscriber and the client required for IM
This is the ramblings of a man at 3:30 AM. I'm probably missing a lot. I'm thinking it's just a conversations starter. Feel free to rip me a new one, if I'm oversimplfying things.
Sean Reiser, 40, is a developer, technologist, and amateur photographer. Sean has spent the past 20 years as a programmer, system architect and development manager. He is a life long New York resident.
Sean currently serves as the President and Chief Geek Officer of Repair Sense, Inc.. Please go to that site with any professional inquiries.
Sean can be found using a number of social networks. These are the ones he's most active on: