Jump to content

KDE PIM/Meetings/KDE PIM at Akademy 2016: Difference between revisions

From KDE Community Wiki
Dvratil (talk | contribs)
Dvratil (talk | contribs)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 17: Line 17:
== User Survey ==
== User Survey ==


The plan is to have a KDE PIM User Survey to learn about which features our users use and how they use it so that we can prioritize work on certain features or remove the others.
The plan is to have a KMail User Survey to learn about which features our users use and how they use it so that we can prioritize work on certain features or remove the others.


For (Y/N) questions, the possible answers to choose from should be
For (Y/N) questions, the possible answers to choose from should be
Line 37: Line 37:
* How many messages do you have in your biggest folder? (#)
* How many messages do you have in your biggest folder? (#)
* Do you have at least one IMAP account? (Y/N)
* Do you have at least one IMAP account? (Y/N)
* Do you have at least one Kolab account? (Y/N)
* Do you have at least one POP3 account? (Y/N)
* Do you have at least one POP3 account? (Y/N)
* Do you have at least one mbox account? (Y/N)
* Do you have at least one mixedmaildir account? (Y/N)
* Do you use offline IMAP? (Y/N)
* Do you use offline IMAP? (Y/N)
* Do you use mail filters? (Y/N)
* Do you use mail filters? (Y/N)
Line 54: Line 57:
* Do you use custom mail headers? (Y/N)
* Do you use custom mail headers? (Y/N)
* Do you use auto-resize image attachments? (Y/N)
* Do you use auto-resize image attachments? (Y/N)
* Do you use external composer? (Y/N)
* Do you use Follow-up reminder? (Y/N)
* Do you use Follow-up reminder? (Y/N)
* Do you use Send Later? (Y/N)
* Do you use Send Later? (Y/N)
Line 66: Line 68:
* Do you use custom character encoding when sending message (Y/N)
* Do you use custom character encoding when sending message (Y/N)
* Do you print your emails? (Y/N)
* Do you print your emails? (Y/N)
* Do you send HTML emails? (Y/N)
* Do you use "Create Todo/Event/Note"? (Y/N)


dvratil, vkrause, mlaurent and others will meet the week after Akademy and will discuss more questions to be possibly included.
dvratil, vkrause, mlaurent and others will meet the week after Akademy and will discuss more questions to be possibly included.
Line 81: Line 86:
* Remove Rot-13 converter
* Remove Rot-13 converter
** Turns out Rot-13 converted is just an example plugin and is not installed in RELEASE builds
** Turns out Rot-13 converted is just an example plugin and is not installed in RELEASE builds
From CM with Laurent:
* reduce color configuration options
* reduce font configuration options
* merge Plugins and Misc -> plugin


== mimetreeparser release ==
== mimetreeparser release ==
Line 89: Line 100:


== Message list optimization ==
== Message list optimization ==
dvratil, dfaure and ervin briefly talked about optimizing message list to solve the overhead of doing beginInsertRows()/endInsertRows(0 for each single message, triggering slow paths inside QAbstractItemView/QTreeView.
dvratil, dfaure and ervin briefly talked about optimizing message list to solve the overhead of doing beginInsertRows()/endInsertRows() for each single message, triggering slow paths inside QAbstractItemView/QTreeView.


* dvratil suggested batching of the signals, but that's very hard to do without substantial changes to the Model design
* dvratil suggested batching of the signals, but that's very hard to do without substantial changes to the Model design
* dfaure suggested disconnecting the model from the view during threading
* dfaure suggested disconnecting the model from the view during threading
** since the Model also handles thread expansion, we would need a second pass after the model is attached back to the view to expand some threads
** since the Model also handles thread expansion, we would need a second pass after the model is attached back to the view to expand some threads
== Moving libraries from KF5 to PIM namespace ==
* dfaure does not like that KDE PIM has no API/ABI promises but installs itself into /usr/include/KF5 and uses libKF5Foo naming scheme and KF5:: namespace
* dvratil: makes sense, we could use /usr/include/KPIM/libKPIM*/Pim:: namespace for libraries
== Using reverse URL naming for QLoggingCategory ==
* instead of using log_foo as a name for logging categories, we could use org.kde.pim.foo - this allows to easily switch off entire sub-categories with the "*" notation (e.g. switching of entire akonadi: org.kde.pim.akonadi.* = false)
== Move serializer plugins to akonadi-foo ==
* move serializer plugins from kdepim-runtime/plugins to akonadi-$foo so that we can have unittest with actual content types without having to have kdepim-runtime installed
* can't do easilly due to translations (??)

Latest revision as of 09:02, 15 September 2016

Nots from KDE PIM BoF at Akademy 2016

Present

  • dvratil
  • dfaure
  • ervin
  • sknauss
  • mbohlender
  • knarf (Franck)
  • ade
  • gamaral
  • tosky
  • jpoortvliet
  • vandenoever
  • * please add yourself to the list if I missed you *

User Survey

The plan is to have a KMail User Survey to learn about which features our users use and how they use it so that we can prioritize work on certain features or remove the others.

For (Y/N) questions, the possible answers to choose from should be

  • "Yes, I regularly use this feature and I would miss it if it vanished"
  • "Yes, sometimes and I would miss it"
  • "Yes, but it's not that important"
  • "No, but I might"
  • "Yes, now that I know about it"
  • "Yes, if it worked better"
  • "No, this feature has no value for me"
  • "Gamaral thinks this is way too complicated"


Questions we collected on the BoF:

  • Do you use Kontact or KMail?
  • How many email accounts do you have? (#)
  • How many identities do you have? (#)
  • How many email folders (cca) do you have? (#)
  • How many messages do you have in your biggest folder? (#)
  • Do you have at least one IMAP account? (Y/N)
  • Do you have at least one Kolab account? (Y/N)
  • Do you have at least one POP3 account? (Y/N)
  • Do you have at least one mbox account? (Y/N)
  • Do you have at least one mixedmaildir account? (Y/N)
  • Do you use offline IMAP? (Y/N)
  • Do you use mail filters? (Y/N)
  • Do you use local mail filters? (Y/N)
  • Do you use sieve mail filters? (Y/N)
  • Do you cryptographically sign your messages? (Y/N)
  • Do you use custom fonts settings? (Y/N)
  • Do you use custom colors settings? (Y/N)
  • Which window layout do you use?
    • * 3 columns
    • * 2 columns with email preview
    • * 2 columns without email preview
  • How many favorite folders do you have? (#)
  • How many message tags do you have? (#)
  • Do you use custom message templates? (Y/N)
  • Do you use custom mail headers? (Y/N)
  • Do you use auto-resize image attachments? (Y/N)
  • Do you use Follow-up reminder? (Y/N)
  • Do you use Send Later? (Y/N)
  • Do you use Archive feature? (Y/N)
  • Do you use Ad-block? (Y/N)
  • Do you use Anti-virus? (Y/N)
  • Do you use Anti-spam? (Y/N)
  • Do you use Translator? (Y/N)
  • Do you use URL shortener (Y/N)
  • Do you use "Change letter case" feature? (Y/N)
  • Do you use custom character encoding when sending message (Y/N)
  • Do you print your emails? (Y/N)
  • Do you send HTML emails? (Y/N)
  • Do you use "Create Todo/Event/Note"? (Y/N)


dvratil, vkrause, mlaurent and others will meet the week after Akademy and will discuss more questions to be possibly included.


We also ended up with a list of features that can be killed or changed their default:

  • "Close message window after reply" checkbox - remove this feature
  • Systray settings - modern systrays can handle the behaviour for us, no need to have it managed by KMail
  • Gravatar HTTPS - no reason to even switch HTTPS off
  • "Hide tabbar when there's only one tab" - remove this options, should be always on
  • "Close button on each tab" - remove this option, should be always on
  • "Replace :poop: by poop emoticons" - always on
    • might have issues when email contains code or references which might get mistakenly converted to emoticons
    • Volker notes that KNode had a context-menu feature to temporarily turn this off
  • Remove Rot-13 converter
    • Turns out Rot-13 converted is just an example plugin and is not installed in RELEASE builds

From CM with Laurent:

  • reduce color configuration options
  • reduce font configuration options
  • merge Plugins and Misc -> plugin


mimetreeparser release

We briefly discussed with Sandro releasing of libmimetreeparser. Kube wants to use libmimetreeparser, but that currently lives inside of messagelib repo with other libraries. Kube would like for libmimetreeparser to be a separate repo with API and ABI promises.

  • dfaure/ervin: we could just have a CMake option to build messagelib only with libmimetreeparser
  • dvratil: we don't really want to add yet another repo. Any contributions going to libmimetreeparser will go through review from Sandro anyway because me or Laurent don't dare touching the code :-) so he can make sure we don't do anything that would be API/ABI incompatible

Message list optimization

dvratil, dfaure and ervin briefly talked about optimizing message list to solve the overhead of doing beginInsertRows()/endInsertRows() for each single message, triggering slow paths inside QAbstractItemView/QTreeView.

  • dvratil suggested batching of the signals, but that's very hard to do without substantial changes to the Model design
  • dfaure suggested disconnecting the model from the view during threading
    • since the Model also handles thread expansion, we would need a second pass after the model is attached back to the view to expand some threads

Moving libraries from KF5 to PIM namespace

  • dfaure does not like that KDE PIM has no API/ABI promises but installs itself into /usr/include/KF5 and uses libKF5Foo naming scheme and KF5:: namespace
  • dvratil: makes sense, we could use /usr/include/KPIM/libKPIM*/Pim:: namespace for libraries

Using reverse URL naming for QLoggingCategory

  • instead of using log_foo as a name for logging categories, we could use org.kde.pim.foo - this allows to easily switch off entire sub-categories with the "*" notation (e.g. switching of entire akonadi: org.kde.pim.akonadi.* = false)

Move serializer plugins to akonadi-foo

  • move serializer plugins from kdepim-runtime/plugins to akonadi-$foo so that we can have unittest with actual content types without having to have kdepim-runtime installed
  • can't do easilly due to translations (??)