E-Mail integration
Just some random thoughts. I don't have an account, so I can't test any of this out. I suspect Google Wave would be much more useful to me if I had a email gateway (and an account).
Requirements:
- Incoming emails automatically imported to appear as blip in most appropriate wave.
- Support attachments.
- Some way of seeing original email with full headers from blip, to use as evidence. This may/may not be located in the wave.
- Log actions to wave, so user can find out where that all important email ended up.
Would be good to support:
- Use the references header of incoming emails to determine if new email is part of an existing thread.
- Being able to move email between waves in case it was mis-classified.
Discuss:
- What happens if email has no references header? Match wave based on subject? Or is this too unreliable?
- Interactive - ask user for hard decisions? Or just guess all the way?
- Google wave robots can create blips as other users, this is used by the twitter blip. This presumably might be a problem because it allows forging of the address.
- SPAM.
- In order to match the message ids in the references header to blips, a database may be required. Presumably this must be kept outside the Wave(?).
- Duplicate emails? Import once only? Keeping track of the different headers might still be useful, e.g. prove that mail was sent to mailing list.
- Different emails with the same message-id appearing in different waves? Might be confusing.
How should E-Mails be stored in the wave? My thought is that the raw email should be stored, and then a gadget can be used to format this in a user friendly way, and this gadget could have user interface controls to control how it should be displayed. This gadget could do things like check GnuPG/SMIME signatures (assuming the user trusts the gadget). If the E-Mail has large attachments, this might very be inefficient.
Read only? My thought is the emails themselves should be read only (if this is going to be possible), as this mirrors the fact it generally isn't possible to alter emails once sent, however it should be possible to add comments to other blips in the same wave and comment on the emails.
Algorithm:
For every incoming email:
- Receive email.
- Get references header from email.
- For every reference from this header:
- Lookup blip holding this message-id in Google wave.
- If found, create new blip under this one, and put new email under it, and finish.
- If reference not found.
- Create new wave.
- Add new message to new blip in this wave.
- Add reference to new blip to wave containing log messages.
Existing code: