AmaroK: Bizarre Name, Amazing Application
March 13, 2005
Well, Ktunes probably would have worked as a title, but I guess for the developers, it just wouldn't have spurred as much interest and it likely would have been written off as cliched. There is no question that the name amaroK certainly cannot be labeled as unoriginal. After some digging, it turns out the composer who used it as a title of his album doesn't even provide a clear definition for the word. While there is a reference to an association with a giant wolf in Nordic methology, it is difficult to see how a wolf relates to music.
Anyway, enough about its title, which, in the end, doesn't matter all that much beyond the point of firing up the application. There is simply too much to talk about. This program is simply amazing! Perhaps it would be a good idea to cover your mouth when using this music manager, because you will find yourself gasping a whole lot.
"What is so great about amaroK?" I hear you asking. "Music applications in Linux suck!" First off, let's address that issue of music management in Linux. XMMS is still the mother of all sound applications in Linux, and let's face it, that program has reached granddaddy status. It is written in GTK, it uses the old school "playlist" concept for managing music and, in order for it to be anywhere close to useful, it requires a whole assortment of addons and accessories. It had its day in the sun, but that time has passed and we need to move on. "But the problem is, to what?" Exactly. There have been some pretty cool applications, including JuK and Rythymbox, but they still fall short in many important areas of music management. Don't get me wrong, both of these applications brought some great ideas to the table (of which amaroK took note), but they were not complete and they did not "Wow!" the user.
Look & Feel Let's start with the most superficial, yet suprisingly effective feature, the look. amaroK has "the look." While amaroK does include an XMMS-type interface, you will likely find little use for it once you start using the features of the music library interface. As I mentioned before, music management has moved beyond the CD-player interface and matured into a full blown library (think iTunes). amaroK takes this interface style and really spices it up. Tracks flash when played, the embedded equalizer dances, and widgets light up when the mouse flies over them. The interface takes the best of the web and sprinkles it over a typical desktop app to give a truly hip interface. There is no way iTunes even comes close.
OSD The first feature to really jump off the screen at you (literally) is the on-screen display that displays when a song begins playing. OSD is a library which draws a widget that appears to be floating on top of the desktop, similar to volume indicators on a television. amaroK goes above and beyond other OSD applications by using anti-aliasing lines and text in the OSD, a feature I have never seen in any other OSD. You cannot deny that it looks downright slick. Each time the song advances, this widget appears for a brief moment, displaying information about the next song. It even includes a thumbnail of the album cover if it has been set for the current track! Additionally, it shows the metadata that is sent by an internet stream when the song changes, but I will talk more about streams later on. The OSD is certainly one of the big highlights of amaroK and likely other apps will try to follow suit.
Context Browser A list of songs is vital to any playlist, but the most important information is about the track that is currently playing. amaroK provides several sidebar views, one of which is a Context Browser. The Context Browser shows as much information as it knows about the current song, including the id3tag info, the album info, other tracks available on the album as well as other tracks available by the artist. It even goes so far as to suggest other songs available locally or through the audioscrobbler database. You can switch to the global context view, which will list recently played tracks, favorite and tracks the were recently imported. amaroK goes even furthur with this view than most applications. If you are listening to a stream, it will keep a record of all the songs played from that stream. If the song is a local file, it will attempt to use the id3tag info to fetch the album cover from amazon.com, and it really works!
Sound System One of the biggest weaknesses of Linux sound applications is the sound system support. Part of the problem is the lack of a definitive sound system standard. There are many to choose from, including arts, esd, alsa, OSS, as well as the various combinations. Tools like gstreamer and arts attempt to hide these gory details behind an API blanket, but problems still exist. Being a KDE app, one might assume that amaroK only supports arts. This assumption is simply not valid. amaroK supports just about every sound system combination imaginable through the gstreamer plugin. If you are using Fedora with Gnome, you will likely use the esdsink or the alsasink. While the application is not written in GTK2, it at least honors the user's choice of sound system, which is a huge plus.
Crossfading Again, another seemingly superficial feature that adds to the polish of this application. Whenever a song is started, stopped or changed, amaroK gracefully makes the transition with sound fading. If you have ever used Winamp 5, you will be accustomed to this feature. It let's you down gently rather than just cutting off your mental fix.
Music Library Alas, I have saved the best for last. While the bells and whistles are very important, none of it would be useful without a good music library. There have been many attempts to find the right way to organize digital music. In light of the issue, amaroK just throws all the styles into the mix. It can either index (and moniter) selected folders, store tracks in a database, or it can just play songs directly from a location on the disk. Used in conjunction with KDE's network transparency, you can pull songs in from just about anywhere. It is quite flexible as to how it organizes your music, keeping in mind that the music does belong to you and not itself. The query and filtering interface is very powerful and you will find no trouble in locating the song that you would like to play. One of the key features that amaroK offers that never seems to be available is the ability not only to remove a song from the library, but to remove it from disk. Duplicates are going to occur and the application should provide the tools to resolve them. amaroK, again, comes through.
...and more! If there is anyone left still reading this review (that hasn't left to go try amaroK for themselves), there is more! amaroK provides a scripting extension to enable features such as playlist server, web control, and whatever else the script kiddies can invent. Did I mention that amarok executes tasks in the background (similar to Eclipse)? This is a feature which improves responsiveness and gives the user the impression that the application is more stable. I'm sure there are features that I haven't even discovered yet. In my mind, amaroK is THE solution for music management in Linux and should be taken very seriously by the Linux vendors working in the desktop space. I must admit that I am star struck by this application and I cannot wait to see what other features the future holds. If you don't have it and want to try it out, there are packages for Fedora Core 3, as well as other Linux distros. So go on, get the party started!