KDE PIM/Meetings/PIM October 2012 meeting: Difference between revisions
(17 intermediate revisions by 7 users not shown) | |||
Line 10: | Line 10: | ||
* Developing simple Akonadi example applications which showcase Akonadi and should hopefully make it easier for developers to integrate Akonadi in their applications | * Developing simple Akonadi example applications which showcase Akonadi and should hopefully make it easier for developers to integrate Akonadi in their applications | ||
* KMail dev sprint and bug squashing? | * KMail dev sprint and bug squashing? | ||
* Related to kmail but mentioning specifically. Since KDE 4.9.2 there seems to be an issue with kmail [http://lists.kde.org/?l=kde-pim&m=134964369713847&w=2 getting slower]. I'd be nice to dive in this issue with the people there and fix it. | |||
* QML Calendar Akonadi integration sprint. | * QML Calendar Akonadi integration sprint. | ||
* Figuring out all the [http://api.kde.org/4.x-api/kdepimlibs-apidocs/ PIM classes] and improving their documentation. | * Figuring out all the [http://api.kde.org/4.x-api/kdepimlibs-apidocs/ PIM classes] and improving their documentation. | ||
Line 20: | Line 21: | ||
* EntityTreeModelPrivate::retrieveAncestors won't work (We have to figure out a way of fixing this, I have a patch and an idea we have to talk about it) | * EntityTreeModelPrivate::retrieveAncestors won't work (We have to figure out a way of fixing this, I have a patch and an idea we have to talk about it) | ||
* Activating resources when added (When a new resource is adding for example in AddressBook, the user will have to "check it" manually. | * Activating resources when added (When a new resource is adding for example in AddressBook, the user will have to "check it" manually. | ||
* Try to improve KMail user perception by fine-tunning when and how we FETCH | |||
* Investigate if we can use accounts-sso instead of doing our own thing | |||
=== DFaure (remotely) === | |||
I plan to implement some sort of incremental saving in ChangeRecorder to speed up operations affecting a large number of items. | |||
If there's still time after that, I'll ask for input on how to fix my other pet peeves: | |||
* Some sent mails have "Date: Unknown" (and others are 2 hours in the future) | |||
* Debugging mixedmaildir ending up with "MySQL server has gone away" | |||
* Plans for more parallelism in resources, for better reactivity to user actions | |||
=== Marty K === | |||
* Social Feed (lots of stuff) | |||
* New Address Book (+metacontacts a bit) | |||
=== Milian === | |||
* performance | |||
=== John Layt === | |||
* New Qt ICU backend including QTimeZone | |||
* Plasma Calendar Service - See http://community.kde.org/Plasma/Clock | |||
* KHolidays NG - JSON file format, Qt-only base library, KDE-only widgets | |||
* New QML Plasma Calendar Widget - See http://community.kde.org/Plasma/Clock | |||
== Agenda == | == Agenda == | ||
Line 32: | Line 56: | ||
=== Friday 12th=== | === Friday 12th=== | ||
==== IMAP Improvements ==== | |||
* support dynamic switching between online and offline IMAP | |||
* implement two pass (initial) sync, ie. do a first sync with online mode, and then if the user selected offline mode initially run a second sync with that enabled to fetch the missing bodies (depends on the above point obviously), this will give you a much faster initial access to the mail before having the full sync completed, aka the "Spanish sync" | |||
* download throttling, to prevent a fast network connection from overflowing the IMAP resource | |||
* parallel fetching and syncing, so that reading a single mail with online IMAP is not blocked by a long on-going sync (aka the "d4 problem") | |||
* increase default sync interval from 5 to 60 min, common users are assumed to mainly work with inbox for incoming mails (ie. no shared folders and server side filtering), so IMAP IDLE is all they need and we can avoid the high load caused by frequent syncs | |||
* fix cache policy overwriting by the IMAP resource to preserve user changes | |||
* consider the time it took to sync when determining when the next interval sync happens, aka the "continuous sync problem" | |||
* fix progress indicator during initial sync, aka the "non-monotonous progress problem" | |||
==== <s>Indexing</s>Heavy Task Scheduling (aka "Spanish Scheduling") ==== | |||
Things to consider: | |||
* KIdleTime | |||
* OS scheduler | |||
* PM inhibitions | |||
* Akonadi agent status | |||
* Battery/AC status | |||
* Activities | |||
* manual override | |||
* other ongoing heavy tasks | |||
=== Saturday 13th=== | === Saturday 13th=== | ||
Fixed stuff: | |||
* Fixed accidental by-passing of unit test isolation. | |||
* Fixed ETM not freeing up memory (pending review), | |||
* Memory optimization by leveraging implict QString sharing for message headers (~10% reduction) (pending review). | |||
* Optimize memory layout of Akonadi::ItemPrive (~5% reduction on 64bit architectures). | |||
* Fixed ETM not updating correctly for resources with structural ancestor collections. | |||
* Replaced synchronous Nepomuk calls in KMail with async ones. | |||
* Fix individual item retrieval in the Kolab resource. | |||
* Optimize Mixedmaildir resource filesystem access. | |||
* Don't trigger Nepomuk Feeder for irrelevant changes. | |||
* Fix filtering on MBox folders. | |||
* Fix progress/status reporting during filtering. | |||
* Fix folder monitoring in filter agent. | |||
* Fix conflict handling in filter agent. | |||
* Optimize required part calculation in filter agent by ignoring disabled filters. | |||
* Fix install location of Sqlite Akonadi backend. | |||
=== Sunday 14th=== | === Sunday 14th=== | ||
== Blogs == | Fixed stuff: | ||
* Improved handling of not configured vs. broken agent instances | |||
* Optimized change recorder saving (pending review) | |||
* Kill obsolete address completion jobs. | |||
Analysis for the filter duplication issue: | |||
* Problem: mails are duplicated on IMAP with spam-filtering locally | |||
** Filter setup: pass-through spam filter, move and mark as read if spam | |||
** Observation on IMAP log: FETCH UID x; APPEND ... -> UID 2; DELETE UID 1; DELETE UID 1 | |||
** APPEND is caused by a change due to spam filters adding headers, first delete belongs to that | |||
** second DELETE is due to the move to a local maildir trash, but is replayed with the wrong RID | |||
* Filter agent does store before move (log says "to be on the safe side") | |||
* Conceptually move before store seems to be right (avoid expensive modifications that are deleted anyway) | |||
* We did not find a scenario where move before store would be unsafe nowadays | |||
Akonadi Server 1.8.1 release. | |||
== Blogs / Media == | |||
* [http://www.youtube.com/watch?v=i8X4G9yXhLA KDE TeaTime Extra #1 - KDE PIM Sprint] | |||
* markg85 : [http://kdeblog.mageprojects.com/2012/10/17/the-kde-pim-meeting-just-awesome/ The KDE PIM meeting, just awesome!] | |||
* svuorela : [http://pusling.com/blog/?p=261 Kontact / PIM sprinting] | |||
* amantia: [http://blogs.kde.org/2012/10/17/three-days-berlin-or-improving-pim-user-experience Three days in Berlin (or improving the pim user experience)] | |||
== Organization == | == Organization == | ||
Line 54: | Line 144: | ||
|- | |- | ||
| Kevin Krammer || 2012-10-12 08:40 || OS 271 || NH Express, Stresemannstr. || 2012-10-14 19:10 || LH 197 | | Kevin Krammer || 2012-10-12 08:40 || OS 271 || NH Express, Stresemannstr. || 2012-10-14 19:10 || LH 197 | ||
|- | |||
| Mark Gaiser || 2012-10-11 18:00 || || Eldenaerstr 28A || 2012-10-15 14:00 || | |||
|- | |||
| Volker Krause || 2012-10-11 20:35 || AB 6538 || Home || 2012-10-15 07:25 || LH 2057 | |||
|} | |} |
Latest revision as of 07:26, 18 October 2012
Topics
Please do add your topics.
Markg85
These are just possible topics that i'd like to know more about.
- Introduce new PIM folks to the PIM principle.
- A lot of Akonadi knowledge sharing so a broader range of people knows what it all about and can use it in applications. Right now i know close to nothing about it.
- Developing PIM applications.
- Developing simple Akonadi example applications which showcase Akonadi and should hopefully make it easier for developers to integrate Akonadi in their applications
- KMail dev sprint and bug squashing?
- Related to kmail but mentioning specifically. Since KDE 4.9.2 there seems to be an issue with kmail getting slower. I'd be nice to dive in this issue with the people there and fix it.
- QML Calendar Akonadi integration sprint.
- Figuring out all the PIM classes and improving their documentation.
- Discussing the future of Kontact. Right now it looks out of place in the current KDE. Perhaps replacing applications with modern ones where they exist and fit KDE. I for one would like to replace KOrganizer with my QML Calendar once it's production ready (far from that at the moment).
Afiestas
These are just possible topics that i'd like to know more about.
- Showcase how may laptop gets up to 2gb memory using KMail, try to fix that.
- Add a new status for resources called "Unconfigured"
- EntityTreeModelPrivate::retrieveAncestors won't work (We have to figure out a way of fixing this, I have a patch and an idea we have to talk about it)
- Activating resources when added (When a new resource is adding for example in AddressBook, the user will have to "check it" manually.
- Try to improve KMail user perception by fine-tunning when and how we FETCH
- Investigate if we can use accounts-sso instead of doing our own thing
DFaure (remotely)
I plan to implement some sort of incremental saving in ChangeRecorder to speed up operations affecting a large number of items. If there's still time after that, I'll ask for input on how to fix my other pet peeves:
- Some sent mails have "Date: Unknown" (and others are 2 hours in the future)
- Debugging mixedmaildir ending up with "MySQL server has gone away"
- Plans for more parallelism in resources, for better reactivity to user actions
Marty K
- Social Feed (lots of stuff)
- New Address Book (+metacontacts a bit)
Milian
- performance
John Layt
- New Qt ICU backend including QTimeZone
- Plasma Calendar Service - See http://community.kde.org/Plasma/Clock
- KHolidays NG - JSON file format, Qt-only base library, KDE-only widgets
- New QML Plasma Calendar Widget - See http://community.kde.org/Plasma/Clock
Agenda
Friday 12th
Saturday 13th
Sunday 14th
Meeting Notes
Friday 12th
IMAP Improvements
- support dynamic switching between online and offline IMAP
- implement two pass (initial) sync, ie. do a first sync with online mode, and then if the user selected offline mode initially run a second sync with that enabled to fetch the missing bodies (depends on the above point obviously), this will give you a much faster initial access to the mail before having the full sync completed, aka the "Spanish sync"
- download throttling, to prevent a fast network connection from overflowing the IMAP resource
- parallel fetching and syncing, so that reading a single mail with online IMAP is not blocked by a long on-going sync (aka the "d4 problem")
- increase default sync interval from 5 to 60 min, common users are assumed to mainly work with inbox for incoming mails (ie. no shared folders and server side filtering), so IMAP IDLE is all they need and we can avoid the high load caused by frequent syncs
- fix cache policy overwriting by the IMAP resource to preserve user changes
- consider the time it took to sync when determining when the next interval sync happens, aka the "continuous sync problem"
- fix progress indicator during initial sync, aka the "non-monotonous progress problem"
IndexingHeavy Task Scheduling (aka "Spanish Scheduling")
Things to consider:
- KIdleTime
- OS scheduler
- PM inhibitions
- Akonadi agent status
- Battery/AC status
- Activities
- manual override
- other ongoing heavy tasks
Saturday 13th
Fixed stuff:
- Fixed accidental by-passing of unit test isolation.
- Fixed ETM not freeing up memory (pending review),
- Memory optimization by leveraging implict QString sharing for message headers (~10% reduction) (pending review).
- Optimize memory layout of Akonadi::ItemPrive (~5% reduction on 64bit architectures).
- Fixed ETM not updating correctly for resources with structural ancestor collections.
- Replaced synchronous Nepomuk calls in KMail with async ones.
- Fix individual item retrieval in the Kolab resource.
- Optimize Mixedmaildir resource filesystem access.
- Don't trigger Nepomuk Feeder for irrelevant changes.
- Fix filtering on MBox folders.
- Fix progress/status reporting during filtering.
- Fix folder monitoring in filter agent.
- Fix conflict handling in filter agent.
- Optimize required part calculation in filter agent by ignoring disabled filters.
- Fix install location of Sqlite Akonadi backend.
Sunday 14th
Fixed stuff:
- Improved handling of not configured vs. broken agent instances
- Optimized change recorder saving (pending review)
- Kill obsolete address completion jobs.
Analysis for the filter duplication issue:
- Problem: mails are duplicated on IMAP with spam-filtering locally
- Filter setup: pass-through spam filter, move and mark as read if spam
- Observation on IMAP log: FETCH UID x; APPEND ... -> UID 2; DELETE UID 1; DELETE UID 1
- APPEND is caused by a change due to spam filters adding headers, first delete belongs to that
- second DELETE is due to the move to a local maildir trash, but is replayed with the wrong RID
- Filter agent does store before move (log says "to be on the safe side")
- Conceptually move before store seems to be right (avoid expensive modifications that are deleted anyway)
- We did not find a scenario where move before store would be unsafe nowadays
Akonadi Server 1.8.1 release.
Blogs / Media
- KDE TeaTime Extra #1 - KDE PIM Sprint
- markg85 : The KDE PIM meeting, just awesome!
- svuorela : Kontact / PIM sprinting
- amantia: Three days in Berlin (or improving the pim user experience)
Organization
See the Sprint page for more details.
Arrival/Departure
Name | Arrival | Note | Accommodation | Departure | Note |
---|---|---|---|---|---|
Kevin Krammer | 2012-10-12 08:40 | OS 271 | NH Express, Stresemannstr. | 2012-10-14 19:10 | LH 197 |
Mark Gaiser | 2012-10-11 18:00 | Eldenaerstr 28A | 2012-10-15 14:00 | ||
Volker Krause | 2012-10-11 20:35 | AB 6538 | Home | 2012-10-15 07:25 | LH 2057 |