Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Songbird Source Released

Posted by ScuttleMonkey on Tue Jun 27, 2006 01:16 PM
from the for-your-patching-pleasure dept.
Rinisari writes "The source for Songbird, a music-oriented XULRunner application, is now available via Subversion. Rob Lord, CEO of Pioneers of the Inevitable, released the source for the not-yet-0.2 version of the music player, which integrates a music library and the facility to purchase and download music from a variety of vendors. If you haven't heard of it, read the features list and try it out. Slashdot previously mentioned Songbird when it was released as a preview in February."

Related Stories

[+] Songbird Flies Today 412 comments
fr1kk writes to tell us that with the recent advent of a preview version for the new open source response to iTunes, Songbird, BoingBoing has taken a few minutes to interview team lead Rob Lord. While this program may be a great alternative to the DRM ridden iTunes and Windows Media Player platforms it is still only a Windows release. The good news is that by being open source that will (hopefully) not last very long. The Songbird site appears to be swamped right now, but there are several different mirrors available to download the client.
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • I wonder if... (Score:1)

    by JPamplin (804322) on Tuesday June 27 2006, @01:18PM (#15614486)
    This will delay the release or accelerate it? I would think that releasing the code is their way of "washing their hands of it." I could be totally off by that assumption, though. Perhaps they just want some outside development help. JP
  • SongBird just goes to show what XUL can really do. Most people shun it with a, "Coding serious applications in JavaScript? Yeah, right." But with the XPCOM Standard Library as a foundation, the XUL platform is really a great way to build applications. (There's a really cool application here [faser.net] that shows off XUL's abilities.)

    XULRunner is still a problem, though. It's not clear to most programmers that XUL applications can function just as well standing alone as in a browser. Songbird is a great start, but does anyone know if there's a list of existing XULRunner applications? If such a list existed, it would be a lot easier to show people what XUL can do just by pointing them to a single URL.
    • Re:List of XUL Applications? by r0bl0rd (Score:1) Tuesday June 27 2006, @01:37PM
    • Re:List of XUL Applications? by aymanh (Score:1) Tuesday June 27 2006, @02:08PM
    • Re:List of XUL Applications? by PoprocksCk (Score:3) Tuesday June 27 2006, @02:09PM
    • Re:List of XUL Applications? (Score:5, Interesting)

      by Anonymous Coward on Tuesday June 27 2006, @02:58PM (#15615389)

      Most people shun it with a, "Coding serious applications in JavaScript? Yeah, right."


      And for good reason! XUL is a terrible, terrible, terrible, terrible, terrible system.

      Crap, now I have to back that up with reasons, don't I? And the fact that I hate JavaScript really doesn't count, does it?

      You can think of XUL as being almost exactly like VB, except without any nice GUI tools for building UIs. Almost all the things people hate about VB also apply to XUL.

      But anyway, that's rather vague. How about some specific reasons?

      First off, XUL is rendered using the same rendering engine as Firefox uses for rendering webpages. Yes, when you're looking at Firefox, everything you see is rendered by Gecko. That includes the menu, the toolbars, the tabs, and the webpage itself. This mixing of UI and webpages is just asking for security holes. The webpage is embedded in what is practically an IFRAME within the XUL document. There have already been a number of security exploits caused by webpages elevating their privileges into the "chrome" security level. If ActiveX has taught us anything, there will likely be more.

      This relates directly to the next problem: because the entire interface is implemented using Gecko, the widgets aren't native. They feel out of place. Gecko does an amazing job of making the widgets look almost-right, but they're still not native and they still don't look quite right, even on Windows (most work spent on this) and GTK (second most work). And forget about Mac OS X, it's not even close!

      But the real problem with not using native widgets is that XUL doesn't get the benefit of a platform's accessibility features. Yes, they have some hacks that attempt to stitch XUL widgets back to a platform's native accessibility system, but this means that they're chasing whatever new features are added. Right click on a native text field on my Windows system, I get the full set of Unicode editing features for dealing with BIDI text. Right click on a Firefox text field, and it's not there.

      And, finally, JavaScript. You knew it was coming. But I'm not going to go after the language, I'm going to complain about the JavaScript interpretor that Mozilla uses. Most of the widgets are implemented by using JavaScript glue to access native code using XPConnect. Some widgets are implemented almost entirely in JavaScript - this is why the progress meter under Windows looks completely wrong. The concept of having native code do the heavy lifting and using a scripting language to glue everything together is a very good idea.

      But that turns out to be a problem. If you want to write a cross-platform XUL application, you can only use JavaScript since that's what XULRunner provides. (Keep in mind, if you want to run on every platform XULRunner runs on, it's JavaScript or else.) Otherwise you'll have to compile for every platform, and you can only rely on the core XPCOM objects to be available. JavaScript is an interpretted language. And it's slllllllow. And - here's the most important part - in Mozilla, it's strictly single-threaded.

      Now, combine that up above with JavaScript being used to implement some widgets. Plus, the thread used to run chrome JavaScript is the UI thread - the thread that receives messages from the windowing system. This means that if an application is using JavaScript to do heavy lifting, the application will literally freeze while it can no longer accept messages. The windows will stop redrawing. Clicks will be ignored. Nothing will happen until the JavaScript finishes and the UI thread can start handling messages again.

      Trying to write XUL applications that don't do things that are already implemented as part of the core XUL system is mostly a waste of time. XUL works best if you can write native code for the heavy lifting and use JavaScript soley for the UI. Unfortunately, that makes your application non-portable - something XUL is supposed to help sol
      [ Parent ]
      • What an impassioned rant! With all the energy and time you put into it, I really feel sorry that's it's so incredibly wrong. :(

        because the entire interface is implemented using Gecko, the widgets aren't native.


        As it so happens, the widgets are native. Mozilla exposes the underlying implementation. Which is why buttons look like Windows, Mac, or GTK+ buttons. The caveat to this is that you can create XUL buttons/components that are entirely virtual. These components are generally used to produce skins like that used in Firefox. But most XUL applications actually rely on the native components instead. Which is why the Amazon browser I linked to looks like a native Windows app.

        JavaScript is an interpretted language. And it's slllllllow.

        It's also just glue. All the heavy lifting is done by the XPCOM components, which are FAAAAAASSSST.

        This means that if an application is using JavaScript to do heavy lifting, the application will literally freeze while it can no longer accept messages. The windows will stop redrawing. Clicks will be ignored. Nothing will happen until the JavaScript finishes and the UI thread can start handling messages again.

        Putting aside for a moment that this is an issue in all GUI programming, Mozilla does support multithreading. It just doesn't do it at the Javascript level. Threads are pushed down to the XPCom level instead, where they do the most good. (e.g. The XmlHttpRequest object can run synchronously or asynchronously.) If you really must multithread your JavaScript app, then cooperative multithreading is easy to do. Timed call-backs allow you to regain control whenever you need it, or in spurts if you'll be processing for a long period of time.
        [ Parent ]
        • Re:List of XUL Applications? (Score:5, Informative)

          by generic-man (33649) on Tuesday June 27 2006, @03:51PM (#15615859)
          (http://weill.org/ | Last Journal: Saturday October 01 2005, @01:18PM)
          Open Safari on Mac OS X 10.4. Start VoiceOver (CMD+F5 or CMD+FN+F5 on a laptop). Notice how virtually every UI control has enough metadata to let Mac OS X know what it is.

          Open Firefox (or Camino). Start VoiceOver. Notice how absolutely nothing in the web page display area is interpreted as a Cocoa widget. Notice how in the web page display area, checkboxes, drop-downs, text fields, and any other controls lack any access to Cocoa services such as spell checking and Dictionary. The same lack of OS-native widgets is apparent in Firefox for Windows, though GTK does a much better job of emulating the look of these widgets, if not the feel.

          If it looks like a native app, it's not necessarily a native app.
          [ Parent ]
          • 1 reply beneath your current threshold.
        • Re:List of XUL Applications? by popeyethesailor (Score:1) Tuesday June 27 2006, @04:06PM
          • 1 reply beneath your current threshold.
        • Re:List of XUL Applications? by dragonman97 (Score:2) Wednesday June 28 2006, @11:22AM
        • Re:List of XUL Applications? by AKAImBatman (Score:2) Tuesday June 27 2006, @04:08PM
          • 1 reply beneath your current threshold.
        • Re:List of XUL Applications? by AKAImBatman (Score:2) Tuesday June 27 2006, @04:33PM
        • Re:List of XUL Applications? by AKAImBatman (Score:2) Tuesday June 27 2006, @09:54PM
        • 2 replies beneath your current threshold.
      • Re:List of XUL Applications? by Kethinov (Score:1) Tuesday June 27 2006, @03:14PM
      • Re:List of XUL Applications? by bahwi (Score:2) Tuesday June 27 2006, @03:49PM
      • 1 reply beneath your current threshold.
    • Re:List of XUL Applications? by shish (Score:2) Tuesday June 27 2006, @11:45PM
    • Re:List of XUL Applications? by DRM_is_Stupid (Score:1) Wednesday June 28 2006, @06:31AM
    • 3 replies beneath your current threshold.
  • would be cool if... (Score:4, Interesting)

    by professorhojo (686761) * on Tuesday June 27 2006, @01:25PM (#15614557)
    It would be cool if you could send instant messages to the people whose libraries you can browse. Internet cafes would be forever changed.
  • awesome! (Score:4, Funny)

    by Anonymous Coward on Tuesday June 27 2006, @01:28PM (#15614588)
    we can finally play music on our pcs!
  • What's that quote? (Score:4, Insightful)

    by Lord Ender (156273) on Tuesday June 27 2006, @01:30PM (#15614614)
    (http://127.31.33.7/)
    A caged source can't sing?
  • Songbird is barely usable (Score:3, Interesting)

    by Anonymous Coward on Tuesday June 27 2006, @01:30PM (#15614618)
    I am going to use this as a soapbox to vent about songbird. Before anyone jumps on me about songbird being in super super early stages of development.... I know. But I tried sb last time there was an article about how awesome it was. In theory it is a great application. Cool concept. In practice I found it barely functional. When visiting a webpage with links to audio content my machine would virtually freeze while songbird was parsing the content (for about 10-20 seconds). On top of that it didn't make much of a effort to give readable names to the files it would list. So I was left guessing what stationA3958afjdzak.pls was vs stationdkfkdjfd34242.pls.

    Like I said I know its new and I look forward to it maturing some. But this isn't one of those alphas where the devs are just super dragging their feet till release (*cough gmail) This this really is ALPHA!

    Trashhalo [mindjunk.org]
  • bugs, questions etc etc (Score:5, Informative)

    by xsst4 (985367) on Tuesday June 27 2006, @01:36PM (#15614668)
    if you guy's are having any bugs or anything just file them at bugzilla.songbirdnest.com and if you guy's have any questions or just want to idle be sure to connect your clients to irc.landoleet.org and join us in #songbird. Thanks have a good one! --Inc
  • What's the big deal? (Score:3, Interesting)

    by Brix Braxton (676594) on Tuesday June 27 2006, @01:40PM (#15614703)
    (http://www.wildpad.com/)
    A browser within a media player - I thought Winamp did that (and it was annoying to me) years ago. Musicmatch does it and WMP does it to - so what's new about any of this? I guess if you were a maker of Kiosks, this would be interesting but for the average user - any of the free existing software is just fine.
    • Re:What's the big deal? by r0bl0rd (Score:2) Tuesday June 27 2006, @01:52PM
      • 1 reply beneath your current threshold.
    • Re:What's the big deal? by mrchaotica (Score:2) Tuesday June 27 2006, @01:55PM
    • Re:What's the big deal? (Score:5, Informative)

      by aymanh (892834) on Tuesday June 27 2006, @01:55PM (#15614846)
      (http://aymanh.com/ | Last Journal: Wednesday October 25 2006, @04:23AM)
      Erm, I think you are missing the point, Songbird is a stand-alone music player, some of its key features that give it special interest here are:
      • Written in XUL [wikipedia.org] and JavaScript.
      • Runs on top of Mozilla's XULRunner [wikipedia.org] platform.
      • Cross-platform, can run on Linux, Windows, and Mac OS X (among the others).
      It can be seen as a proof of concept on how general purpose multi-platform applications can be developed on top of XULRunner. Songbird also lets you visit online music stores and organize your music library, which makes it an Open Source alternative to iTunes.

      Enough to deserve /.'s interest I guess.
      [ Parent ]
    • Re:What's the big deal? (Score:5, Funny)

      by Stealth Dave (189726) on Tuesday June 27 2006, @02:10PM (#15614949)
      (http://www.stilldesigning.com/)
      so what's new about any of this?


      This one goes to eleven
      [ Parent ]
    • Re:What's the big deal? (Score:5, Informative)

      by j1mc (912703) on Tuesday June 27 2006, @02:20PM (#15615039)
      (http://www.j1m.net/)
      While I wouldn't get too excited about being able to just search the web through a browser within a media-player, I think that there's more to Songbird than just that.

      On the Linux front, Songbird will give us a media player with an attractive front end, all of the standard rip-organize-burn capabilities, plus the ability to purchase music from online music stores. Not to knock the current Linux offerings (I'm currently an Amarok user), but the UI's aren't as attractive as Songbird's UI (yes, XMMS is slick-looking, but those buttons are so small . . . ), and AFAIK, the ability to buy music from online music stores through a Linux app is slim to none.

      As for iTunes and Windows Media Player, they each lock you into their own music stores (the iTunes Music Store and the MTV-powered Urge, respectively). Songbird is going to allow you to purchase music from a wider array of online music stores from the outset, and online music stores will be able to write plugins to make them searchable from within Songbird. From the website . . . "Web page authors will be able to publish playlists and transfer MP3s into Songbird to build digital music stores like eMusic, music subscription services like Yahoo! Music Unlimited, virtual jamming services like Ninjam, playlist sharing services like WebJay and more."

      And, of course, neither iTunes nor WMP plays natively under Linux. All in all, a strong cross-platform app like this just makes Linux that much more viable for everyday desktop users.

      [ Parent ]
      • 1 reply beneath your current threshold.
  • songbird? (Score:4, Funny)

    by Lachryma (949694) on Tuesday June 27 2006, @01:40PM (#15614705)
    Oh right, the music player with the farting bird logo.
  • Doesn't play anything on Mac OS X (Score:3, Informative)

    by RustNeverSleeps (846857) on Tuesday June 27 2006, @01:48PM (#15614783)
    Too bad it reports that all songs are 1:22 seconds long and won't play them in OS X.
  • Why XUL? (Score:5, Insightful)

    by kahei (466208) on Tuesday June 27 2006, @01:50PM (#15614797)
    (http://www.hwacha.net/)

    Is XUL a good application platform? If so, why?

    It doesn't seem to have much to reccommend it at first glance -- a language that lacks features and performance (javascript) a runtime that's bulky (mozilla), and worst of all a real case of Java-itis -- XML files and source files that endlessly have to be kept in sync and bundled together, no self-documentation and no metadata.

    I ask because I tried porting a semi-complicated IE plugin to XUL and had to give up -- admittedly, I had to give up because of limitations in the HTML renderer, but long before then I had learned to dread the process of hooking into Mozilla at all. And that's saying something, considering that the original IE plugin was entirely made of hand-written COM, written against IE's none-too-predictable interfaces.

    So, why XUL? I appreciate that you _could_ write an application in it, but what's the unique selling point that justifies all the work?

    • Re:Why XUL? by Svartalf (Score:2) Tuesday June 27 2006, @02:06PM
      • Re:Why XUL? (Score:4, Insightful)

        by kahei (466208) on Tuesday June 27 2006, @02:18PM (#15615026)
        (http://www.hwacha.net/)

        To be honest, your reply comes across as 'don't use XUL'. Being cross-platform (to platforms that have Mozilla available and installed) is hardly a big unique selling point that justifies a whole new way of doing things. As you point out:


        To be sure, you don't need to do XUL- you can do the application in Qt, GTK+, Fltk, and a few others and get
        the same results with less effort unless you need some HTML rendering support
        ...and even if I do need HTML rendering support, I can embed a browser or launch a browser or use an HTML control, or use Java or (on a good day with the wind blowing S by SE) Mono or Ruby+[binding].

        So, why use XUL...

        [ Parent ]
        • Re:Why XUL? by bahwi (Score:2) Tuesday June 27 2006, @03:43PM
    • Re:Why XUL? by Marcus Green (Score:1) Tuesday June 27 2006, @02:08PM
      • Re:Why XUL? by Darkforge (Score:2) Tuesday June 27 2006, @02:49PM
        • Re:Why XUL? by bahwi (Score:2) Tuesday June 27 2006, @03:32PM
    • Re:Why XUL? by bcmm (Score:3) Tuesday June 27 2006, @02:56PM
      • Re:Why XUL? by Matt Perry (Score:2) Tuesday June 27 2006, @03:03PM
    • Re:Why XUL? by bahwi (Score:2) Tuesday June 27 2006, @03:52PM
  • all ofmp3 (Score:1, Flamebait)

    by minus_273 (174041) <aaaaa@NospAm.SPAM.yahoo.com> on Tuesday June 27 2006, @01:51PM (#15614806)
    (Last Journal: Wednesday May 16 2007, @12:43PM)
    what? no all of mp3?
    • Re:all ofmp3 by aymanh (Score:1) Tuesday June 27 2006, @02:30PM
  • by thatguywhoiam (524290) on Tuesday June 27 2006, @02:03PM (#15614894)
    Surely Songbird doesn't support DRM-wrapped content? (Not that this is their fault at all, even remotely).

    (also, nitpick: did they have to make it look like iTunes so much? sheesh. As if these users need a superfriendly, superbasic user interface. XULRunner is innovative, but the app design, not so much.)

  • by ch424 (888921) on Tuesday June 27 2006, @02:13PM (#15614981)
    ...if it doesn't support a proxy server?

    At least, version 0.1 didn't, and it certainly wasn't copying my IE or FF settings properly, if at all.

    Let's hope they fix it this time round.
  • Open Source Media Player? (Score:3, Interesting)

    by dbc001 (541033) on Tuesday June 27 2006, @02:18PM (#15615025)
    While we're talking about media players, can somebody recommend a lightweight, open source media player for me? I'd really like to find one that has nice visualizations, FLAC support, support for streaming radio, and a decent id3 tag editor.

    I'm still using winamp 2.72 because I've never found anything that compares (although Snackamp [sourceforge.net] is pretty slick for dealing with my 20,000 song mp3 collection).
  • This so obviously not ready for release. here's my entire songbird experience: Double clicked the icon selected language songbird downloaded "some extension" songbird displays "Songbird example extension 0.1 is not compatible with songbird" songbird quits ...that's stupid
    • 1 reply beneath your current threshold.
  • by kieran42 (891306) on Tuesday June 27 2006, @02:29PM (#15615130)
    (http://kieran.ca/)

    The title is a tad misleading - you've been able to view the "source" since it's first release... after all, it's written in javascript and XML.

    Now if they open sourced the project, that would be something!

  • Forgot about this (Score:1)

    by TheSkepticalOptimist (898384) on Tuesday June 27 2006, @02:50PM (#15615316)
    Actually just came across an old installation of this today, what a coincidence.

    Wasn't overly impressed with it, iTunes and its simplicity has left me pretty jaded. Songbird is almost a direct rip off of iTunes. I prefer originals to copy cats.

    My biggest question is, why does every music player have to have online music store tie ins? I mean, whatever happend to a simple music player that played music. Now I must be affliated with some music store which robs me of system and network resources in the background. Whether I fire up WMP with Urge, iTunes with the iTMS, or WinAmp and AOL, its going off in the background and updating its music store tie ins and making sure to make me aware of music advertising.

    You would think that an open source application would avoid this kind of overhead and bloat.

    I guess that its a matter of money, and online music stores off big bucks to have some media player tie in.

    The bottom line is, no media player out there is that great. They really don't organize music well. Showing me lists and lists of music files isn't the best way to organize music, and ALL application lack personality in favour. In fact, I actually prefer the new Windows Media Player 11 interface as its the first media player to organize music that looks like collections of CD's.

    Anyways, I will give Songbird another shot as I don't have any arrogant preference to which music player I use, I am still struggling to find one that works well without the bloat of multimedia and blatant RIAA DRM and music store fronts.
  • linux (Score:2, Offtopic)

    by caudron (466327) on Tuesday June 27 2006, @02:58PM (#15615388)
    (http://tom.digitalelite.com/)
    When will a linux version be released? Is this something the original developers intend to do or should the community step up to port it now that we have the source?

    Just curious.

    Tom Caudron
    http://tom.digitalelite.com/ [digitalelite.com]
  • MPD? (Score:1)

    While i like their interface, I'm still a mpd fan... a feature or derived project for mpd support, including adding music to mpd from the music stores online/ CD's . Now that would be neat.
  • by Eccles (932) on Tuesday June 27 2006, @03:24PM (#15615627)
    (Last Journal: Monday November 21 2005, @11:45AM)
    A number of my coworkers have iTunes, so we have limited sharing. Does Songbird allow sharing? If so, can I make playlists including their songs? Can it show their album art? Could it connect to someone else's iTunes or vice-versa?

    One thing I couldn't figure out how to do in iTunes (granted, I didn't try very hard) was to order a (non-smart) playlist in any order, not just sorting by one of the column headers. Does Songbird allow this?
  • Damn, I Really Need This (Score:2, Interesting)

    by Kozar_The_Malignant (738483) on Tuesday June 27 2006, @04:18PM (#15616099)
    All I have on my machine here is Winamp, Musicmatch, Sonique, ITunes, the POS Win media player, and probably some festering bits of RealPlayer that I haven't completely rooted out. I really need another player.
  • Re:Sounds great (Score:1)

    by detour207 (838058) on Tuesday June 27 2006, @02:40PM (#15615225)
    (http://ghostnotebook.com/)
    "Of course using subversion instead of cvs may and will slow down that forking process" Yes could you please explain how using Subversion somehow magically slows down the forking process? Maybe you think fewer people know how to use it? The only thing that will slow down any forking is the license that they slap onto this, which neither the summary nor TFA mention.
    [ Parent ]
  • 4 replies beneath your current threshold.