I’ve been using Linux for at least four years, a little more if you count the early uses I made of it as a server operating system back in high school. Over the years I’ve come to realize that a little redundancy is par for the course in the Linux world. For any feature you can imagine, there are at least five applications that provide that feature in one way or another. Recording CD and DVD disks is no exception. Gtoaster, Xcdroast, Graveman, Gnomebaker, even the command-line cdrtools. Occasionally however, an application comes along that makes you delete all your other apps as entirely obsolete in one release. Serpentine is that kind of application.
From the start, the interface is simple. No more information than the user needs. The most basic functions are big, obvious buttons on a prominent toolbar; clearly captioned, single-purpose buttons. The widgets are logically laid-out, and an intuitive widget displaying a disc filling with data makes the process crystal clear. The new paradigm in GNOME development is that software “Just Works.” Serpentine does exactly that, it works without all the bells and whistles of some other programs that often don’t work at all: spitting out coasters or worse.
The other notable feature is that it uses the Gstreamer media framework which means that any format that Gstreamer can decode and play, Serpentine can decode and record to CD. In case you were wondering, Gstreamer can decode anything.
“So,” you ask, “why only a four out of five?” Well, while I have nothing against Python programs in and of themselves, Python is a fast-moving target and python applications are extremely susceptible to bit-rot if they’re not under development. Serpentine is written in Python, which could bog down slower systems. Also, on Gentoo at least, there are a few dependency issues that are difficult to resolve if you’re not aware of them.
Finally a key functionality seems to be missing and that’s a drag-and-drop functionality with the otherwise very sensibly designed interface. I’m not terribly annoyed by this, since I know catching and handling with drag-and-drop signals with callbacks can be troublesome. Other CDR applications have implemented this though, so the code is out there and probably not too difficult to adapt. This small shortcoming is still not enough to drive Serpentine out of the software that I anticipate using on a regular basis. A hearty congratulations goes out to all the developers. Serpentine is a fine product that filled a need in Linux software that has long been inadequately met.
Hi, just found out this review through http://www.talkdigger.com/
I am the developer behind Serpentine. Thank you for the nice review.
Why are Python programs _more_ susceptible to bit-rotting?
DnD is one of the first features of Serpentine, why do you say it doesn’t work? When does it not?
Thanks! This is one of the things I love about Open Source development: users and developers can really connect.
First off, thank you for writing such a great program under an open-source license.
Perhaps bit-rot isn’t the best word. Python does leave some things deprecated on occasion, and so on new systems, Python doesn’t always seem to be backwards compatible. I guess moving target is really what I was stressing.
I discovered shortly after I wrote this that DnD is enabled from Rhythmbox and Nautilus. I was unable to drag and drop from the Serpentine’s file-chooser dialog for add track. Perhaps I misconfigured something, or just expected it to work differently. I was used to gnomebaker prior to using Serpentine.
Keep up the good work Tiago! Despite my occasional disparaging comment, I really appreciate the work you and other open-source developers are doing.
I haven’t found a case of backwards incompability since I’ve started using python (2.3) in the standard library. PyGtk on the other hand has made some changes that show deprecated warnings now and then. But if you think about it, because Python has such a clear syntax anyone can fix it and send the patch back to the author
I did not find your comment disrespectful in any way. Critics are always welcome because they improve the application for all of us!
One of the main objectives of serpentine is to integrate well with other applications, currently it supports dnd, opens playlists, k3b audio projects, rhythmbox playlists.
That’s why your review intrigued me, the “open file” dialog is modal, therfore you can’t dnd from it to serpentine, however that’s not the objective of a file dialog, it should only be used to open a file (or files through multiple selection).
Just to let you know that you were right. It’s a bug related to: bug 11447. Thanks alot for your info. Turns out that you can DnD from file dialogs (even though they are modal).
Cheers!