Summary
This document describes a proposal for supporting IMAP folders and hierarchy in Chandler. Originally targetted for 0.7, Lisa has proposed we start working on some aspects of this in 0.6. The paragraphs below outline 2 different proposals for supporting this.
Next Steps
- Review current design proposals with development team, get feedback and explore other scenarios.
- Design will prepare 2 lists.
- IMAP questions targetted at how other IMAP clients currently deal with issues. This is intended as a pre-cursor to a discussion with Brian K and Grant, IMAP 101.
- Issues that are specific to Chandler integration with the IMAP world.
Design Proposals
The following are two design proposals for supporting the import and synchronization of IMAP hierarchies into Chandler.
Proposal #1 - Separate pane for viewing IMAP folders
- Create a separate pane in Chandler sidebar that displays IMAP folders belonging to a particular IMAP account. If supporting multiple IMAP accounts, each would have their own pane.
- Likely need a mechanism to open, close panes to view IMAP folders and Chandler sidebar collections.
- This behaves like traditional email clients and the folders and email items will have no relationship to Chandler collections.
- You can copy an item from a folder to a collection but there would be no link between the 2 items. If we delete the email in the IMAP collection and we had copied it to a Chandler collection, it simply continues to live in the Chandler collection.
- Delete = Delete, Junk = Junk for synchronization.
- Preserves hierarchy up to n-levels
- [OI?] Questions
- What would be the properties of folders/items in this pane? Would they behave exactly like Chandler collections?
- MimiYin I think we can take 1 of 2 approaches. Try to keep the IMAP and Chandler universes separate where the IMAP pane is almost like moving to a different email client that's been cut and pasted into Chandler
- Emails in the IMAP pane are only emails and lose all of their stamping qualities.
- Emails in the IMAP pane do not interact with the App bar filters.
- Emails in the IMAP pane do not have Chandler collection labels and items in the Chandler pane do not show IMAP folder labels.
- Chandler rules and separate from IMAP rules.
- MimiYin OR, we can try to integrate at the item level, but keep things separate at the collection/folder level.
- Emails in the IMAP pane keep their stamping qualities
- Emails in the IMAP pane interact witht the App bar filters
- Emails in the IMAP pane show Chandler collection labels and vice versa
- Rules and filters are not separate
- I am confused about how this works. What happens if we select one of these IMAP folder collections, Do we simply see a list of email items in the summary table view and the regular email detail view?
- Is there a special detail view? Does it have stamping buttons?
- Can we copy items from Chandler collections into these IMAP folders? Would it only copy the email part. What happens to the other parts of the item (ie: event, task etc).
- I am assuming that in this case, there are 2 separate email items and one is then synchronized to the server based on it's membership in the IMAP folder. * I am a bit concerned about this sidebar pane and how we would get it to behave correctly. It's more like a tree view and the user could select any folder (level). Does the summary view just update accordingly. I have a feeling that this might be complicated to implement but maybe not. * Sounds like there would be no way to drag from an IMAP folder to a Chandler collection. I am assuming that only 1 pane is visible at a time. MimiYin No, I think we could have multiple panes. It would just look messy.
Proposal #2 - Integrate IMAP hierarchy into the Chandler sidebar.
- Generate Chandler collections from IMAP folders (pseudo wizard)
- loose hierarachy
- folder names translate to collection names (flattened folders) - ie: Work, Work/Projects, Work/Projects/Chandler, Work/Projects/Server
- No way to expand and collapse folders/subfolders.
- There would be a mechanism to distinguish IMAP collections from Chandler collections ie: @foldername
- More integration with Chandler world.
- Delete = Delete, Junk = Junk
- Might need UI for selecting which folders to sync.
- Will need affordances to indicate to the user the difference between moving an IMAP item and a Chandler item.
- Don't allow users to put a single items in more than one IMAP sync collection - feedback on mouse pointer.
- Moving an item to a Chandler collection will make a copy. No link preserved.
- UI for selecting certain folders to get migrated to sidebar - there might be too many.
- [OI?] Questions
- I have similar questions to proposal #1. Mostly about stamping. MimiYin I think we should try to keep stamping consistent as much as possible.
- In this case, we can drag items between IMAP Chandler collections and regular Chandler collections. This will copy. Moving between IMAP Chandler collections should do a move.
Open Issues/Questions
General IMAP Questions
We would like to understand how exisiting IMAP clients deal with the following scenarios.
- MimiYin Inserting desired ideal behavior.
- What happens when I move emails from one folder to another in one client?
- MimiYin It should be mirrored in Chandler
- If I mark emails to be deleted in one IMAP client, what happens to these "marked for deleted emails" when I view them using another IMAP client?
- MimiYin They should be given a Triage status of: Marked for deletion but remain in their collections/folders.
- What happens when I delete emails using another email client?
- MimiYin They should be placed in the Trash
- If I mark emails as junk in one IMAP client, what is the behavior of these "marked as junk emails" when I view them using another IMAP client?
- MimiYin Triage status of: Marked for junk but remain in their collections/folders.
- If I cancel my IMAP account, what happens to my IMAP folders and email in my IMAP client?
- MimiYin They should be cached in your repository and your IMAP folders have a failure icon next to them in the sidebar. When user rolls over the icon, they get more information as to why the folders can't sync.
- If my IMAP account is deacitivated for some reason, how will my IMAP client behave when I try to read the mail from that IMAP account. Is there an indication that the IMAP account is no longer active?
- What happens when you move an email from a folder belonging to one IMAP account to another folder belonging to a different IMAP account, possibly residing on another server.
- MimiYin Should be okay. Works in Apple Mail.
- Email message MIME parts can contain complex internal components such as forwarding a message within a message. An entire message including attachments can be inserted within the body of another email.
- How common is this?
- How do other IMAP clients handle this problem?
Chandler Specific Questions
- What target user are we trying to satisfy? In order to pick the correct proposal we need to figure out what our target scenario/user is.
- What type of IMAP structure are we aiming to support?
- Someone with many IMAP accounts and many levels of hierarchy?
- Someone with one IMAP account?
- Somebody with relatively little hierarchy?
- MimiYin What kind of people do these use cases translate into?
- What is the goal of supporting IMAP
- One-time import. Are we targetting a user that will perform a one-time import then use Chandler as their regular IMAP client? In this case, if they are switching to Chandler, they may want to integrate their IMAP folders into the flat structure of Chandler.
- Many client scenario. Are we targetting a user that will use many different IMAP clients view and sync their IMAP folders and email. The user will be managing emails (ie: deleting, moving between IMAP folders, synching) using different clients.