Has the KDE Social/Semantic Desktop been worth the hassle to anyone?

Duncan 1i5t5.duncan at cox.net
Sun Nov 18 06:21:31 GMT 2012


Martin Bednar posted on Sat, 17 Nov 2012 18:13:58 +0100 as excerpted:

> Le samedi 17 novembre 2012 16:30:05 Duncan a écrit :
>> Kevin Krammer posted on Sat, 17 Nov 2012 14:29:22 +0100 as excerpted:
>> > On Saturday, 2012-11-17, Jerome Yuzyk wrote:
>> >> With all the hassles added by Akonadi and Nepomuk and Strigi for
>> >> some higher "social/semantic desktop" purpose, does anyone actually
>> >> _use_ the stuff?
> 
>> The database backend is both the trouble and savior in many ways, as
>> databases are notorious for causing "ordinary users" (and not so
>> ordinary ones as well) quite the headaches, not always being perfectly
>> reliable without "professional" management, etc.  Sure, high-volume
>> commercial stuff couldn't do without databases, but just to take mysql
>> as an example since that was the first and probably most common akonadi
>> backend, it's known for database version upgrades that need extra steps
>> taken to manage the data format upgrades, and for such details as time
>> and character- encoding (unicode/etc) format issues that database pros
>> deal with and configure as a matter of course, but that simply aren't
>> appropriate for end users to be dealing with.  Yet that's now what end
>> users will HAVE to deal with, as kde and mysql upgrade with their
>> distro version, and they find their old contact information not making
>> the upgrade in one piece with them.
> 
> IMO that is a distro QA problem. Being a Gentoo user too, reading news
> is all I ever needed to do to keep my system clicking.

It ends up being a distro QA issue, but really, the problem is above the 
distro.  I've seen at least one kde dev mention that had they known about 
mysql when they chose it as the first "stable" backend, what they know 
about it now, the choice may well have been different, even tho the 
reason mysql was first was because it was more ready than the others 
(sqlite, the newer default, wasn't properly thread-safe at the time, work 
had to be done to make it so, postgresql has AFAIK remained 
"experimental" the whole time, I'm not sure why, but it apparently has 
issues that aren't easy to fix, virtuoso was AFAIK very new and kde was 
the first big project to use it like that...).

The primary reason (I believe) is because mysql doesn't guarantee 
database compatibility between versions (they have seperate maintenance 
release series that remain compatible within the series, but consider 
people like me that were using pre-akonadi kmail for nearing a decade, 
across multiple distros and of course many upgrades, such series 
eventually simply fall so far behind current that it's impractical for a 
distro to continue shipping them).  There's generally a conversion 
process available, and the big database sites do it first with a test 
installation, then setup a new system with it and test it, then migrate 
production to the new/tested setup, but that's not the type of thing joe 
blow end user can be expected to do, across tens of thousands of joe blow 
end users.

So at some point when whatever mysql series people started with is 
upgraded, all those people still on mysql as their akonadi backend are 
going to have a problem.

In addition to that, there's at least two separate issues (as I 
mentioned) related to mysql internal string formating, (1) UTF-8 or 
whatever, and (2) timekeeping (timezone and/or region for holidays, etc, 
IDR the details).  These are now documented in the kde techbase akonadi 
article, because a lot of folks had problems with them.  Again, the root 
issue is that mysql is targeted at professionals, people who run 
databases for a living, with X-thousand transactions a second or at least 
in a day.  These sorts of folks will EXPECT to be setting this sort of 
database operating parameter, and these two will likely be just two out 
of dozens of tweaks that they do to setup and tune their database for 
good performance in their specific situation.

But this is exactly the type of thing you do NOT expect of an end-user.  
Yet, that's what they're left to do when mysql is used as the backend, 
and they start having problems because these settings were NOT setup 
correctly.

For this and other similar reasons, had they the chance to do it over 
again, had they known about all these mysql complications, they'd have 
likely waited until sqlite got its thread-safe updates that have allowed 
it to be the new default.  It's not as powerful as mysql and isn't really 
designed for thousands of transactions per second, but it shouldn't have 
a problem with the few dozens of transactions per day, maybe a few 
hundred for more active users, that the typical kmail/akonadi user is 
likely to have.  The format it's using is apparently stable, so there's 
unlikely to be the upgrade issues, and it's not as fancy, so "just works" 
without setting the variables that mysql needs set to work without 
potential issues.


But, there's another wrench thrown into the works for akonadi and mysql 
as well.  Unlike most of the rest of kde, where system defaults don't 
normally get written to the user config, only changes FROM the system 
defaults, in the akonadi case, it writes the backend used into the user 
configuration as well.

Which creates a problem, because normally, system upgrades don't touch 
the user's home dir or the user configuration details stored therein.  So 
guess what.  When the upstream and most distros default switched to the 
now ready sqlite backend, many users continued using the old mysql 
backend, along with its more complicated issues, because the backend 
choice is written into the user's own configuration, even if they never 
changed it from the system default.  So the system default changes, but 
the user specified configuration doesn't change with it.  Normally that's 
a good thing, because the user specified configuration was a change FROM 
the default, thus something the user did deliberately.  Unfortunately in 
this case...

So a lot of the early kde4 users are still using the akonadi mysql 
backend, even tho the sqlite backend is more appropriate and is now the 
default.  And it's a bit of a time bomb, because at some point the system 
mysql version's going to change series, and their old database will break 
against the new mysql.  But by the time it does so, the sqlite backend 
will likely have been the default for several years, and few distro kde 
folks are likely to remember that mysql was the default way back in early 
kde4, so they'll likely be expecting the sqlite backend default and will 
be looking for the problem in the wrong place when it finally triggers.

It really is more of a mess than I think many, certainly many users, 
realize.

> 
>> Plus, if there's a bug, binary formats are notoriously difficult to
>> repair and are arguably less robust, compared to "plain text" and
>> perhaps XML for contact info, etc.
> 
> You should never have to worry about the akonadi database : it's only a
> cache.
> This means that all the data is stored somewhere else (whether it be
> IMAP, POP, maildir, carddir), and that data is plaintext (or whatever).
> Akonadi resources only unify data sources.

You're right... in theory.  But in theory, theory and practice are the 
same.  In practice... not so much.

From the user perspective, one or several messages, contacts, whatever, 
simply disappear.  Yes, if they hold their ear just right while hopping 
on one foot and yodeling some obscure tune from 14th century China, and 
if they remember to do that BEFORE doing anything else that might delete 
the backup version permanently, with luck, they can get the message back.

Actually, I know from experience it feels pretty close to that, 
especially about the third or forth time in a week you end up deleting 
the cached info to let it rebuild, because yet again it lost something, 
because that's precisely the spot I found myself in, when the question 
suddenly occurred to me, Why am I putting up with this, in my mail client 
of all things, which SHOULD "just work".  After all, kmail "just worked" 
for nearly a decade for me... until they started trying to fix what 
wasn't broken!  It was at that point that I realized kmail was no longer 
the right mail client for me.  I wanted a mail client that "just worked", 
like kmail had "just worked" for me for years, not something I had to 
hold my ear just right every time I checked mail, lest something 
disappear and have me (feeling like I'm having to be) yodeling 14th 
century Chinese tunes to bring back, what SHOULD have been ABSOLUTELY 
STABLE, no loss of data in the first place!

And at least for me, claws-mail is if anything, an even better match for 
me than kmail was, for all those years.  =:^)  I really enjoy the 
scriptable extensibility and have actually created one script already, 
taking advantage of that.  Of course it's exactly the same thing that 
makes gentoo the perfect distro match for me, I LIKE being able to 
control it at exactly the level I want, overriding any defaults I don't 
like, changing functionality if necessary, etc. =:^)

Anyway, again, that's not the sort of thing an end user should be having 
to worry about.  Mail should "just work".  And for me, just as with old 
kmail, but unlike the new akonadified kmail, claws-mail does just that, 
actually works, dependably, every time.  No missing mails.  No jumping 
thru hoops or yodeling obscure 14th century Chinese tunes while hopping 
on one foot and holding my ear just so, to try to get them back.

>> Five years down the line, it might be stable.  Thunderbird and
>> evolution both depend on database backends (sqlite I believe, now a
>> choice for akonadi as well, tho it wasn't originally, and a lot of
>> folks are still using the mysql backend) and they aren't considered
>> /terribly/ unstable. But they've had years... the better part of a
>> decade I guess... to mature.  What are long-time kmail/kdepim users
>> supposed to do while it's stabilizing?  Basically, they're left either
>> dealing with the problem as kdepim slowly stabilizes on akonadi, or
>> switching to something more reliable in the mean time, from which many
>> will never switch back.
>> 
>> 
> just my $0.02 : akonadi/SQlite user here, works like a charm. (maybe
> slower than with mysql, never benchmarked, also my email collection is
> "small" compared to what I've heard from other people)

Yeah, the sqlite backend is better, as explained above.  But at least 
with the kdepim I left it with, it wasn't /reliably/ stable.  I actually 
think it's reasonably stable now (definitely more so than when I left, 
from what I read, tho I know some still reporting problems), but now is 
too late, for me.  They tried to fix what wasn't broken, breaking it in 
the process, and regardless of whether it's fixed now or not, I moved on, 
to a solution that continues to "just work", and that's extremely 
unlikely to ever have this sort of change occur, because of all the user 
scripts it would break, the ability to have those scripts being a major 
feature of that program. =:^)

> IMO the akonadi change was worth it, I see possibilities everywhere with
> this framework.

Like I said, I know why they did it.  And I can't entirely disagree.  But 
I don't like /how/ they did it.  And meanwhile, while I don't disagree 
that it does open the way to a lot of new features and flexibility, the 
direction they're going really isn't one I'm interested in following them 
on.  So I just go my way and they go theirs.

Which is more or less what I said about the whole semantic-desktop thing 
in general, too.  There's reasons for it, and people for whom it's a big 
improvement.  But that way is simply not my way.  Luckily, with the 
semantic-desktop in general, kde made it an option.  And maybe eventually 
there will end up being kde options to where kdepim is going too.  They 
just aren't there yet.

> I see you mentioned "lightweight mail client"; did you
> hear about Trojita (IMAP only)?

Yes.  Actually, I've been following it reasonably closely, altho all my 
mail providers are POP3 not IMAP so it's not something I can easily use 
personally ATM.  But I've already recommended (with the caveat that it's 
still rather new and not yet fully mature, they should consider it the 
still under development app it is) that people put it on their "checkout" 
list a number of times, when people posted questions asking about kmail/
akonadi alternatives.

Furthermore, as the trojita primary dev is a gentooer too, actually a 
gentoo dev, his blog is on gentoo-planet, which I subscribe to the feed 
from.  And a few days ago he blogged about it, saying it was in general 
fully functional now altho still a bit rough in spots, and inviting 
people to mail him with questions, etc.  I took him up on the offer, 
mentioning my activity here and the fact that I've recommended that 
people with IMAP providers check it out, with the caveat that it's still 
under development, etc, and asking a few questions in that regard, plus 
about where he thought qt5 was headed, etc (he was blogging from a qt 
developer conference).

I did mention that with permission I might end up posting bits of his 
reply where it made sense to do so, and he said that was fine.  So if 
you're interested, I can do so here/now (tho I'd probably start a new 
thread with it).

Trojita really is the sort of thing that makes me wish I had IMAP, as it 
really looks quite interesting.  I even thought of setting up my own IMAP 
server and using fetchmail or whatever to grab from my providers, just to 
give me both a chance to learn about IMAP and a chance to try trojita, 
but I haven't yet and in practice, probably won't.  But if I end up on a 
provider that has IMAP, you can bet trojita's on my list of things I'll 
try on it. =:^)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.


More information about the kde mailing list