luni, 1 decembrie 2008

Amarok developers don't see the point in KDE4

Visiting the #amarok channel on freenode gave me very disappointing results, the amarok people seem to be very ignorant to me, I think their main focus is to deliver an MS Windows version and a Mac OS X version of amarok, instead of at least trying to integrate with the KDE4 desktop.

Why am I thinking this?

As I tried to compile amarok2, I realised that It will never build without mysqle, but there are problems with this, because:

"Unfortunately there's still packaging issue, being that mysql-embedded packages present in most of the existing distributions are not fit to use with Amarok for the following reasons:

Also, there were some failures reported:

  • InnoDB does not start for lfranchi. But his configuration is too complex for me to contemplate. Perhaps this is a bug for Lenz/bugs.mysql.com
"

"Download MySQL 5.1.28 (5.1.29 doesn't seem to work) "

source: http://amarok.kde.org/wiki/Development/MySQL_Embedded

So there are so many problems with mysqle and the amarok devs still insist on using it, they want to make amarok work with mysqle and *maybe* then let it work with an external mysql server.

Why is this a problem?

If it's not obvious from the quotes, mysqle is not mature enough for general use, seriously, how can you manage a large collection of music(that was the reason to use mysql in a first place) when "mysql library calls exit() wherever it feels like it"?

I asked on the IRC about plans for using external database instead and this is what I got: "post-2.0 you will be able to connect to an external server as well"

OK, let me get this straight, it's more important to make amarok use an embedded RDMS that doesn't have a usable upstream version, than making it use an external database, that just works, not to mention the hell, it puts you trough if you want to compile it.

Let's say that Sun probably will fix those issues with mysqle in the near future, and it actually becomes usable, but what about KDE4?

By today's standards it's inevitable for a desktop to have a good efficient database, that's why the Akonandi team has chosen, to use an external MySQL server, and for that reason most distros will probably ship MySQL with KDE for that reason, because, they would most likely want to provide all the features, that KDE can offer. But does amarok2.0 want to comply with this? No, they want to be standalone-only.

You don't have to be a genius to guess where this is all going, it just reminds me of one of the KDE4.0 release event, where a KDE dev complained that how KDE3 sucked, because they couldn't port Amarok to Windows, and KHTML had bad performance:

http://video.google.com/videoplay?docid=5412915388096352771&ei=mWY0SaeJIYiOiQLC1c2KCA&hl=en


At 2:00, he begins his story, about "Why they almost left KDE?"

He begins with complaining, how slow was rendering amarok's context with KHTML, so it looks like performance matters in amarok, not that anyone forced them to use KHTML for rendering context, but I will refer to this point later on.

At 5:00 he complains that KDE3 could not be ported to Windows, making amarok X11-only.

Let's get the facts all together one more time:
- mysqle is not yet suitable for every day use
- mysql is known to just work
- Akonandi uses mysql for storage
- KDE4 will probably depend on mysql on most distros, because missing out features of Akonandi because of mysql would be a really bad thing for a distro
- mysqle is important for amarok2.0
- mysql support will not be available for amarok2.0

Using mysqle mostly benefits non-KDE4 desktops, because as I said earlier KDE4 will probably have a mysql server anyway, but isn't improving the KDE4 user experiance top release priority anymore? Is amarok on Windows on Mac more important than getting the best out of amarok on KDE4?

Why is using mysqle in amarok ruins the user experience in KDE4?

Akonandi has a mysql server, that can be used by anyone(any program).
Amarok has a mysqle server, that can be used by only amarok.

1+1=2 for what? for windows and mac? but what about KDE4?

2 mysql servers = almost 2 times as many CPU and memory usage

But what now, didn't a developer just say at a big release event that performance is important for amarok, and now they making amarok use an embedded mysqle under KDE4 for no reason? (mysql can be used by others, mysqle can't so there is no other way around)

What did the people in the IRC channel had to say about this?

"come on, you should not run amarok on a server that has a high load anyway. if it does not have a high load, your point falls flat"

"how much RAM does it wast, how much CPU? And what would you do with that amount instead. would you even notice the difference? and if you do, how many of amarok users would and how many just enjoy the speed and ease of mysqle."

"but thanks for making clear that you just want to complain without having any point and are not able to consider the majority and see no way but to exagerate. bye bye"

"why do people simply don't see that we can't do everything at once?"

My favorite quote from here is: "consider the majority"

It's like saying: "consider the majority, which are Windows and Mac users, and screw the KDE4 users"

Today, amarok1.x is the slowest KDE3 program, if not it's surely in the top 3 slowest KDE3 programs, I expected amarok2.0 to finally deliver improvement over here and do what it's supposed to do "just play the music", but now amarok 2.0 will be busy "playing database" instead of "playing music".

Jeff Mitchell the developer who spoke at the event that I was referring to, referenced KDE as a family, but where is the love now? The lack of communication between Amarok and the rest of KDE4(Akonandi) doens't seem to back up Amarok as being a family member.

UPDATE:
Jeff posted a response to which I wrote a response in form of a post, which contains my answerers to some of the comments: http://djdarkmanx.blogspot.com/2008/12/im-poisoness-dont-touch-me-or-ill-bite.html

6 comentarii:

nhnFreespirit spunea...

I am sorry, but I think you are _way_ off the mark.

First of all, the vast majority of Amarok developers are KDE4 users. We have 2 or 3 people developing on Mac and 1 ( I think ) developing part time on Windows, but other than that it is all Linux/KDE4. So claiming that we only focus on getting Windows and Mac versions out is just plain wrong! In fact there likely will not be a stable release on either platform for some time yet as it is simply not mature enough on platforms other than *nix yet.

I do agree that actually building mysql embedded from source is currently a pain, but for most users this is a non issue as this is not their job but their distributions. The main reason for choosing mysql embedded was simply that maintaining 3 different database backend was causing way too much overhead and slowing down development. At this time, we have found no better alternative than mysql embedded as it is config free ( from the user perspective ), significantly faster than sqlite in most cases and will allow for users already running a mysql server to eventually use this instead ( something that many users do with Amarok 1 and would not like to loose with Amarok 2 ).

While Akonadi might also use a mysql embedded server, there is really no way we can depend on that being present. And this is not just about Windows and Mac, but even KDE users might not have Akonadi running, and then there are the users on Gnome, Xfce, ...

One place where i would like to see us make more use of KDE4 technologies is to eventually move to a Nepomuk backend which would do away with the need for running our own db server altogether, and we do in fact already have a prototype Nepomuk collection backend, but as the author of this backend recently wrote on his blog, Nepomuk itself is simply not stable, fast or feature complete enough for us to depend on it just yet.

All in all you come across as one of those people who are just incredibly mad as us for not doing things exactly the way you think we should, and you do not seem to want to grasp that these decisions might have been thought about and discussed for a long time internally in the project before we settled on a solution that we think best meets the technical requirements of the project.

- Nikolaj

sven423 spunea...

- mysqle is not yet suitable for every day use

Nope, it works just fine for most users. Better than SQLite (which is too slow) or an external SQL server (which most users aren't able to configure)


- mysql is known to just work

Nope. You have to set the server and users up. 90% of our users aren't able to do that. So this is absolutely no option as the only backend.


- Akonandi uses mysql for storage
- KDE4 will probably depend on mysql on most distros, because missing out features of Akonandi because of mysql would be a really bad thing for a distro

See nhnFreespirit's reply.


- mysqle is important for amarok2.0

Of course it is, as it is 1.) fast, 2.) easy to configure.


- mysql support will not be available for amarok2.0

No one said that. It might come back. But, as you might see if you could open your eyes, nearly no one needs it and so it doesn't have a very high priority.

You might also want to notice, that we can't do everything at once. If you want to help you are free to check out the sources.

As I said yesterday on IRC, too: "calm down".

lfranchi spunea...

Jeff Mitchell has written a blog post replying to your concerns and other criticisms of amarok 2.0. If you are interested, you can find it here:

Avast, We Be Getting Slandered, Yar

Antal István Miklós spunea...

My reply:

http://djdarkmanx.blogspot.com/2008/12/im-poisoness-dont-touch-me-or-ill-bite.html

gkmeyercpa spunea...

You sir sound like the kind of guy that would be angry and argue about amarok being white instead of black, even though it is black already.

I have a sense that you would have been negative and posted a bunch of crap no matter what choices were made during development, as your comments have no basis in fact and where there is fact, they are taken completely out of context and twisted around.

Boo!

Antal István Miklós spunea...

"You sir sound like the kind of guy that would be angry and argue about amarok being white instead of black, even though it is black already.

I have a sense that you would have been negative and posted a bunch of crap no matter what choices were made during development, as your comments have no basis in fact and where there is fact, they are taken completely out of context and twisted around.

Boo!"

And you sir, don't have better things to do, than to come to a blogpost, and acknowledge the comments, saying worthless sentences in a general form, therefore your comment is crap because it has no link to the post, and has no content at all.