[prev in list] [next in list] [prev in thread] [next in thread]
List: kmail-devel
Subject: Re: KDE task orientation -> Konqueror-KMail integration / Folder
From: Don Sanders <sanders () kde ! org>
Date: 2003-10-31 7:22:11
[Download RAW message or body]
Hi,
I finally found the time to answer this sorry for the delay.
On Friday 24 October 2003 19:17, Marc Mutz wrote:
> On Friday 24 October 2003 07:08, Don Sanders wrote:
> <snip>
>
> > I think to avoid confusion, and the need for re-iteration it
> > makes sense to commit this written account of the process to cvs
> > in a POLICY file.
>
> <snip>
>
> I think the main problem we're having here is that different groups
> of KMail developers have different visions for the future of KMail
> as a stand-alone application as well as a part of Kontact.
>
> I think from time to time those visions should be clearly spelled
> out from all sides involved, so that we don't act childish in
> public whenever a developer seems to declare his personal vision
> (in mail or commit) in a way that hides the fact that it's his.
>
> To boot this, I'll start:
>
> I'd like KMail to go into the direction of what it's currently
> strong in already. I think this is security, internationalization,
> filtering, as well as innovative MIME handling (which it lacks
> currently, except for the MIME part tree viewer).
>
> Security here means better integration of the Aegypten stuff to the
> point that S/MIME and OpenPGP/Aegypten and KPGP combine the best
> features of them to form a multi-protocol client that is even more
> user-friendly as the KPGP-based code is now. It's clear that the
> boundaries between S/MIME and OpenPGP are blurring by the day. I
> hope we can create innovative UIs that expressedly blur that
> boundary for the user, too.
More user-friendly would definitely be good.
> Internationalization here means that we leverage the advantage of a
> Unicode-centric Free Software project and be among the first to
> implement whatever comes out of IMAA. Another open problem that
> no-one (!) has yet solved in the whole industry of messaging
> systems is virtuous and intuitive handling of multi-lingual (or
> better: multi-script) message composing. This is an area where we
> need to innovate and actually do research; an area where we can't
> copy from Outlook or even the master of the art - Mulberry - simply
> because everyone sucks in this area :-)
I think this is important. I suspect weak internationalization will
tempt free software developers in countries like Japan and China to
create their own desktop environment and messaging apps rather than
contribute to KDE.
> Filtering here means native Sieve, of course. The area of Sieve GUI
> editors is currently claimed by web-based approaches as well as the
> primitive Mulberry Sieve editor. This is also an immensely
> interesting area of UI design: How do you implement an UI that
> allows the full power of the Sieve language to be expressed in a
> user-friendly form? I don't know. Yet.
Again I think this is an important area. Working on client side imap
filtering has taught me to better appreciate the benefits of sieve.
> With innovative MIME handling I mean composing complex MIME mails
> that help implement the Security and Internationalization points
> above. E.g. mp/alternative that differ in Content-Language only. Or
> mp/signed whose second part is a mp/alternative, allowing a message
> to be signed in both S/MIME and PGP/MIME format. I'd really like to
> explore how the support for this construction is in other mailers.
> Another area is rich-text editing with automatic choice of format
> (plain, f=f, enriched, html, alternative).
Ok.
> Apart from a clear layering (which is a technical point),
Technically I desire the KMail architecture to allow new features to
be implemented easily without cluttering the KMail code or UI.
Perhaps this can be achieved by unifying the message classes into a
single class, creating ids and implementing ref counting for all
persistant objects such as filters, filter actions, messages,
folders, folder managers, identities, etc, and creating private
(kdepim only) interfaces for these objects.
Then perhaps code like KMCommands and KMFilterActions could be
implemented as plugins that use the private KMail dcop interfaces,
(it might also be nice to move code out of KMMessage into KMCommands,
and unify KMCommands and KMFilterActions in some way).
Perhaps these plugins could be implemented as KParts. That way plugins
could create new menu items, including new context menu items for the
reader window and message list widgets, in addition to new kmcommands
and filter actions. Perhaps even the reader window, folder tree and
message list widgets themselves could eventually be turned into
KParts that talk to the rest of KMail via the private dcop interface.
Not all plugin KParts would have to loaded by default, sets could be
disabled/enabled in the configuration dialog.
The ideas in the last paragraph are in the formative stage in my mind,
I doubt I'll have time to work on them anytime soon, and really I'd
prefer discussing design issues over a drink rather than on a
(comparatively low bandwidth) mailing list.
> I think
> that's where I see the strengths of KMail and potentials for
> enhancement with the aim to be different (read: on top of the
> competition instead of copying behind it).
I realize that free software in general has been criticized for
'following tail lights', but I've seen many free software projects
that have one or two cool features but that in general can't match
the features of competing (free and proprietrary) projects and fail
to attract a substantial user base for that reason.
I think to move ahead of the competition it's important to have
distinguishing features. However I believe it's just as important to
avoid falling behind by identifying and eliminating weaknesses, such
as missing features that are drawing users to competing projects.
Hopefully this intention to identify and eliminate weaknesses can be
seen as complementary to your own goals.
> I don't feel the need for KMail to become a document management
> system, or a frontend for one. I think making the reader a part and
> the composer a part or even a separate application makes it
> possible to implement all sorts of interesting custom or standard
> workflow and document management systems, but I believe that's out
> of the scope of KMail as an app, and that's probably what Ingo
> tried to say.
>
> I see the need for KMail to implement more of the IMAP standard
> (mostly ACLs, SEARCH), but unless it starts itching me, I will not
> scratch that area. We have enough clever people working on that
> already :-)
For myself to briefly give some specifics I'm interested in
implementing, html editing, leave mail on server for n days, async
filtering, client side imap filtering, full text indexing, and
multipart related support. Generally I'm interested in implementing
features that are in high demand as shown by
http://kontact.org/votes.
Perhaps it would be beneficial to discuss not just a single roadmap,
but discuss more generally the process of creating roadmaps, or the
process of deciding what is ok to work on in general.
It is my intention to negotiate terms for implementing features with
the decision making group, on a case by case basis if necessary. Let
me explain what I mean by terms.
As an analog in meatspace a company might want to open a gold mine.
The company hopes to profit by providing society with valueable gold,
at the cost of using scarce resources and the social cost of
producing pollution. These negative side effects of production are a
problem that requires a political solution, the company must
negotiate operating terms with the representatives of the community,
the government.
Likewise I hope to profit by implementing features, likewise there is
the potential for social costs to arise, such as bugs causing the cvs
version of kmail to crash for users etc. Thus I was forced to
recognize the need for a political group that I can negotiate terms
with so that I may conduct my business, and I see the KMail decision
making group as being capable of fulfilling that need. I also needed
a concrete decision making protocol so that I can think about things
from a rational political science / game theory perspective.
The kind of terms I'm thinking of are don't commit code with known
bugs, document new features, minimize gui clutter, try to fix code in
other people's code as well as my own, describing my intentions to
assist in strategic planning, basically be a good citizen of the
KMail developer community by fulfilling my civic duties.
As far as details go as to how I expect to profit by implementing
features. Basically I require a large number of organizations and
individuals to choose KMail because it profits them to do so, because
it's the best choice for them. Once this is achieved I believe those
organizations and individuals will seek improvements in KMail to make
them more profitable and I hope to negotiate terms with them to
prioritize and implement those improvements.
For Kontact it has been agreed to launch a pilot program and website
to explore this idea. Beyond that I would prefer not to discuss
details on the public lists but i'm happy to do so in private.
As far as not following tail lights go this is what I hope can be a
killer feature. Not a technical innovation but a
socio-political-economic one, that allows contributors, including
developers to improve free software in a profitable and sustainable
way.
Don.
_______________________________________________
KMail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic