MailNews:Minimizing Bandwidth Usage: Difference between revisions

Added related bugs and milestones sections
(Added Implementation, Incommunicado and Other concerns sections)
(Added related bugs and milestones sections)
Line 46: Line 46:
Although poor handling of MIME parts is a major obstacle to minimising bandwidth usage in TB it is also the most difficult to address. To get immediate results a low-hanging fruit approach is proposed, in rough order of priority:
Although poor handling of MIME parts is a major obstacle to minimising bandwidth usage in TB it is also the most difficult to address. To get immediate results a low-hanging fruit approach is proposed, in rough order of priority:


1) Add on/off/on-demand features to auto-sync so that user can have full control of when sync takes place
1) Add on/off/on-demand features to auto-sync giving user full control of when sync takes place


2) User configurable auto-syncs strategies to prioritise and include/exclude messages downloaded by auto-sync
2) User configurable auto-syncs strategies to prioritise and include/exclude messages downloaded by auto-sync
Line 53: Line 53:
: a) Caching of large MIME parts e.g. attachments
: a) Caching of large MIME parts e.g. attachments
: b) Support for offline storage of MIME parts
: b) Support for offline storage of MIME parts
=== Related Bugs ===
Implementing these features, particularly 3a) and 3b), will have the side benefit of fixing (or partly fixing) a number of existing bugs related to messages or message parts being repeatedly downloaded:
* {{bug|345832}} -  IMAP attachments preloading (not on demand)
* {{bug|439731}} -  Reloading of read messages when using IMAP account (enable disk cache)
* {{bug|405437}} -  IMAP mail are not cached for offline use if message size is bigger than mail.imap.mime_parts_on_demand_threshold


=== How To Do It ===
=== How To Do It ===
Line 58: Line 66:
With the exception of on-demand sync 1) and 2) can be implemented using strategies. These features and more will be supported in an extension, 'Incommunicado' (see below).
With the exception of on-demand sync 1) and 2) can be implemented using strategies. These features and more will be supported in an extension, 'Incommunicado' (see below).


On-demand sync however requires some development. [[User:Emre]] has proposed the following implementation:
On-demand auto-sync (an oxymoron I know) however requires some development. [[User:Emre|Emre]] has proposed the following implementation:
* Add a new operation mode (lets say on-demand) to nsAutoSyncManager.
* Add a new operation mode (lets say on-demand) to nsAutoSyncManager.
* Add new method to nsAutoSyncManager to explicitly tell to re-prioritize the queue.
* Add new method to nsAutoSyncManager to explicitly tell to re-prioritize the queue.
Line 64: Line 72:
* When running in this mode, nsAutoSyncManager should keep downloading all pending messages until either it is all done, or the user explicitly says STOP.  
* When running in this mode, nsAutoSyncManager should keep downloading all pending messages until either it is all done, or the user explicitly says STOP.  


For 3) modifying the cache implementation and offline storage to better support MIME parts is non-trivial. This will be tackled at a later stage, in the meantime it may be possible to avoid current problems by increasing the cache size and configuring it to save to disk rather than memory ({{bug|439731}} comment #12).
Addressing 3) is non-trivial and will be tackled at a later stage, in the meantime it may be possible to avoid current problems by increasing the cache size and configuring it to save to disk rather than memory ([https://bugzilla.mozilla.org/show_bug.cgi?id=439731#c12 bug 439731 #12]).
 
=== Milestones ===
 
'''Thunderbird 3.0b2:'''
* on-demand auto-sync
* auto-sync strategy to exclude messages greater than MAX_SIZE (Incommunicado)
* on/off/on-demand auto-sync UI (Incommunicado)
 
'''Thunderbird 3.0pre1:'''
* save cache to disk and increase size [https://bugzilla.mozilla.org/show_bug.cgi?id=439731#c12 bug 439731 #12]. (Temporary fix)
* priority auto-sync folders (Incommunicado)
* advanced on-demand auto-sync runtime dialog (Incommunicado)
** priority folders only
** select alternate strategy (e.g. sync all messages)
 
'''February/March 2009:'''
* support MIME parts in offline store
* always cache messages or message parts '''not''' saved in offline store
* better coordination between cache and offline store (e.g. no duplication)


== Incommunicado Extension ==
== Incommunicado Extension ==
113

edits