Clementine: A triumph of Free Software

Ages ago, in the long-forgotten days of 2008, there was Amarok 1.4. And it was good. Then KDE4 came along and Amarok was rewritten, reshaped, becoming something... different. Something unsettling. Something not altogether pleasant.

Fear not. Today we have Clementine.

Clementine

I consider Clementine a triumph of Free Software. A great project fell off the rails, so someone else picked up the pieces, forked it and kept the spirit alive.

Features present

Clementine embodies everything good about Amarok 1.4, in a shiny Qt4 package. The layout is eminently pleasant to use. It uses the classic "spreadsheet" playlist view that saw so much success in Amarok 1.4. If you care about cramming as much information about your music as possible onto the screen, this is as good as it gets. It's boring, and that's a good thing. It gets the job done.

Like Amaork, 1.4, in Clementine you can very quickly drill into your music collection, filter it, view recently added tracks, group songs by artist or album or year or genre or a combination of those things. Clementine also handles all of the edge cases correctly: it lists albums with Various Artists exactly how I'd want (exactly like Amarok 1.4). It correctly handles songs with non-Latin tag text.

Clementine detects additions and changes to my music collection instantly, without the massive scan-lags on startup that plague some other music players. Clementine doesn't bat an eye at my 7,000 song collection. There's no MySQL integration, but I don't need it. Clementine's SQLite backend supposedly handles 300k songs without much problem, which is good enough for me.

Clementine has Last.FM integration. It has three different styles of desktop notification. It has visualizations. It handles USB devices. It understands reply gain. It has cross-fading. It has an equalizer. It has a transcoder. It has a cover manager.

I'm tired of listing features. Let's just say it has every useful feature you'd ever want. And if you don't need a feature, it stays out of your way.

And for a program under such active development, it's rock solid. I have yet to see a crash. And speaking of active development, if you follow the activity in Clementine's SVN repo, you will find that this program is updated almost daily. How the devs find the time, I don't know, but I'm grateful. This program has gone from non-existent to awesome in record time.

Clementine can use gstreamer, so it even works cross-platform. I fired it up on Windows 7 the other day and I was amazed at how good it looked and felt. It supposedly also works on OS X.

Clementine doesn't cook your breakfast for you, but that might be in the works.

How to make a good UI

A perfect example of the polish of Clementine's UI: Tagging. How do you tag a whole album worth of music at once? You can select some songs and right click and go into a dialog, like most music players allow.

Or:

  1. Edit a tag for a single song (inline) by clicking the field. Let's say you edit Artist.
  2. Select multiple songs in your playlist. (Click and drag, CTRL-click, Shift-click, CTRL-A, whatever.)
  3. Right click the Artist tag in the song you edited, select Set Artist to "XXXXX", and now all the songs you selected will be updated.

Clementine

This is the kind of UI innovation that I like. It's simple, it's useful, and it's predictable. You can get things done without going through dialog windows, without a million clicks, without spending a minute scratching your head figuring things out.

(Meanwhile Amarok 2 is busy getting rid of the Stop button and making the volume control circular.)

Features missing

Admittedly, Clementine is missing a couple of features I wouldn't mind having. You can't skin or theme Clementine. You can't rate songs. You can't display song lyrics. You can't "queue" songs. But oh well. I can live without these features because the rest of the program is so darned good. For all I know, these features might pop up next week. I wouldn't be surprised.

The Clementine devs seem to be very friendly and responsive to feature requests and feedback, which is also great.

Clementine is also missing a few features/bloat that I'm glad to see NOT ported from Amarok. Wikipedia integration? Good riddance.

I would pay money for this program.

In November 2009 I had this to say:

(Anyone out there reading this, if you port Amarok 1.4 to Qt4 intact, I will pay you. Seriously. I will pay you money.)

The offer still stands. I will pay money for Clementine. I'm still waiting for a Donate link so I can do so. (Clementine devs, are you reading this?)

Why do I care about this so much? Because I have music playing whenever I'm using this computer, and when you add up work plus free time, I'm at this computer 8-10 hours per day. Music keeps me sane during multi-hour debug sessions. Music is an integral part of my life, and a music app is an integral part of playing music.

It's very important to me that the programs and tools I use all day are comfortable. Otherwise I become cranky. If you were a carpenter, would you want to use a hammer with a wobbly handle all day? I'm a programmer, and I want to use comfortable computer programs.

Clementine is very comfortable.

July 13, 2010 @ 4:48 AM PDT
Cateogory: Linux

19 Comments

David Sansome
Quoth David Sansome on July 13, 2010 @ 6:19 AM PDT

Awesome post, thanks :)

You can't "queue" songs.

Actually you can now, as of last Sunday!

It's really nice of you to offer to donate, but honestly we don't need money - just more free time. If you can donate some of that then it would be much more useful :)

Brian
Quoth Brian on July 13, 2010 @ 6:53 AM PDT

OK, if I can find some free time lying around here somewhere I'll send it your way. Thanks again.

Brian
Quoth Brian on July 13, 2010 @ 6:57 AM PDT

Oh wow, I just saw the Hypnotoad. That's hilarious.

John Maguire
Quoth John Maguire on July 13, 2010 @ 7:51 AM PDT

I'm glad you lik... ALL GLORY TO THE HYPNOTOAD!

InsanityBringer
Quoth InsanityBringer on July 13, 2010 @ 9:36 AM PDT

"multiplatform"

this may be one of the greatest things ever, actually.

Ben
Quoth Ben on July 13, 2010 @ 8:25 PM PDT

Oh Brian, thank you for pointing this nice piece of sw! Excellent!

Ivan Kristianto
Quoth Ivan Kristianto on July 13, 2010 @ 11:51 PM PDT

I am not a very much music addict. But i love music. You have a great post about clementine. Even i prefer just using Banshee media player. I don't have a good internet connection so last.fm or any streaming music is no use. Anyway i want to try this clementine. Thanks for the great review mate :)

Alex
Quoth Alex on July 14, 2010 @ 4:12 AM PDT

I've been flip flopping between Quod Libet and Exaile since Amarok 2 came out, I'll have to give Clementine a try.

Caster
Quoth Caster on July 14, 2010 @ 9:06 PM PDT

I love this software. Just when I was getting too sick of Amarok 2, and looking for an alternative somebody pointed me to clementine. It's perfect as Amarok 1.4 was.

hmmm
Quoth hmmm on July 15, 2010 @ 2:47 AM PDT

Yup, as I suspected all along: many "fans" of amarok (1.x) really wanted to use juk (which is pretty cool, if less known). And worked hard to make 1.x work like juk (which it eventually could. In the beginning, I would do my tagging in juk because it behaved the way you describe, and amarok was unusable for that).

But seriously, insulting devs because you don't like that they don't care that you hadn't realised that really, another program was designed just for your use case, and that they cater to another use case is lame.

They are not at your service. They do not care that you would pay: this is free software, where the guys who do decide, and not those with the dough. See, it's cool that people took up the 1.4 codebase. It's cool that you enjoy it. It just isn't cool that you diss the hard work of people who gave you the version you loved in the first place.

Brian
Quoth Brian on July 15, 2010 @ 3:29 AM PDT

Nowhere did I claim that the devs owed me anything or are at my service. The Amarok devs are entitled to write whatever kind of program they want. I'm entitled to express my opinion of that software. They're entitled to ignore my opinion.

"I'd pay for this" is only an indication of how much I want a certain kind of program to exist. I suck at C++ and have no time to learn, so money is the only way I can think to contribute, other than spreading the word. I'm willing to pay for something I can normally get for free, so I must really want it; that's my point. It's not an indication that I think anyone is obligated to do my bidding.

I've been writing about how good Amarok 1.4 is for years, so clearly I have a high opinion of the Amarok devs' early work. They came up with the best music app for Linux, after all.

But spending a lot of time and hard work on something doesn't mean you automatically get to be free of criticism. Criticism is a good thing. It's one way we learn things. It's not an insult to say "I dislike X about your software and wish it did Y instead".

The response to this post among readers has been largely enthusiasm and agreement, so yes, there really are a lot of scare-quote "fans" of Amarok 1.4.

(No, I don't really care for Juk.)

Elder-Geek
Quoth Elder-Geek on July 15, 2010 @ 6:25 AM PDT

The only feature left I really need is MT-DAPP support.

As an alternative, If the program could mount sshfs / nfs / smb shares when starting and stopping so remote folders were available, that would work as well.

I will mention exaile is able to work with dapp shares AND can even show cover art embedded from songs played over daap.

Francois
Quoth Francois on July 15, 2010 @ 10:42 AM PDT

Dumped amarok 2 at the sight of clementine. I still have to check the latest version to see if my last personal peeves has finally been solved. Proper gapless playback. Like without any breaks. It is supposed to work but I still have a few albums where it doesn't on some tracks - regardless of encoding. The problem was in amarok 1.4 too. It is also in amarok 2. This is probably the only reason I mainly use mpd with qmpdclient as a front-end for long listening sessions.

Henrique Marks
Quoth Henrique Marks on July 15, 2010 @ 12:28 PM PDT

Good Post from you, congrats. I think the main point is that free software never dies, and if there is a need for a revamped old edition of amarok (1.4), and if someone can do this, ths sources are all there

This is a great advantage of free software, you are not locked-in. You can choose.

About the tagging, i must say that you can do that in amarok, obviously, since ages. Exactly this way. And about juk, i am sorry to say that it is impossible to use Juk in Any-Buntu. It crashes all over, all the time. Clean Kubuntu/Ubuntu installation.

For me the real advantage of clementine is memory use, that is far less than Amarok. If the developers take care of this i will be very happy

Mind Booster Noori
Quoth Mind Booster Noori on July 15, 2010 @ 8:41 PM PDT

Hi Brian,

Great post, thanks. I had to leave this comment because I would hate to see an offer of contribution like this to go unattended. Since Clementine folks honestly don't feel they need the money, you can perhaps redirect your attention to what Clementine folks use to support their work: looking at their website, they're using Drupal, so I think they wouldn't say no if you did the donation to Drupal, which accepts them: http://association.drupal.org/civicrm/contribute/transact?reset=1&id=8

Oh, and Clementine guys, if you're still reading the comments, maybe you could add on your website something like "if you want to give us money, please consider donating to this and that instead" ;-)

Michael
Quoth Michael on July 16, 2010 @ 12:01 AM PDT

Brian, thanks for the introduction to Clementine.

If you do decide to donate in some way to clementine, please post a follow-up. I will chip in to my best ability. I imagine others would be interested as well.

Todd
Quoth Todd on July 16, 2010 @ 8:12 AM PDT

I'm digging Clementine, a very apt amarok 1.4 port. I've always had a solid affiliation with that earlier edition. Lighter system load than, easy tag editing, and it invokes Gnome notifications with album art. Would be great to be able to put the cursor over the Clementine icon and show album art, time (remaining), and those further details in amarok 1.4. :-) But it works coherently in Ubuntu 10.04.

Great potential for future releases.

Jacob Godserv
Quoth Jacob Godserv on July 22, 2010 @ 2:12 AM PDT

Have you looked at Banshee?

Andrew Lambert
Quoth Andrew Lambert on August 26, 2010 @ 4:45 AM PDT

I tried Banshee when Amarok 2 came out. I used it until I figured out how to shoehorn Amarok 1.4 into my Kubuntu system again.

I use Clementine now :D

Speak your Mind

You can use Markdown in your comment.
Email/URL are optional. Email is only used for Gravatar.

Preview