Exciting updates on the road to Banshee 2.0

At the Gran Canaria Desktop Summit last week I demoed my new work-in-progress Netbook-focused interface to Banshee called Cubano.

Cubano: Experimental new Banshee Interface

Cubano is designed with the Netbook in mind, but is certainly not limited to such a device. I prefer this clean and simple interface to the more traditional Banshee interface already, even on my desktop. Cubano is more about experiencing your music than managing it.

I am aiming to introduce visual metadata (photos, colors) and simple whitespace as UI elements to separate and emphasize content instead of the hard lines from traditional toolkit widgets.

However, even with a minimal interface you don’t lose any of the power to which you may be accustomed from the traditional Banshee interface.

Cubano: Experimental new Banshee Interface

I must stress that not all of the UI concepts here are solidified or indeed implemented. A few quick things to note about what will change in the very near future:

  • The painful source combo box will go away, don’t worry! It was just a widget that already existed in Banshee that I was able to easily reuse to connect the dots.
  • We’re working on a grid view for artists and albums.
  • I don’t care for the header either — it will receive much attention in due time.

Feel free to checkout Cubano’s source code, but you’ll also need clutter, clutter-gtk, and clutter-sharp from Clutter git master, and Banshee from GNOME git master. Bleeding edge!

Lastly, let me further stress that Cubano does not replace Banshee as we know it today. It only augments it. Cubano simply provides a different user experience on top of the existing Banshee platform.

Platform you say?

Trendy, I know. Banshee is in its third generation now. It’s been designed to be completely extensible, and major components are abstracted and organized in reusable ways.

As such we’ve fostered the development of many Mono/.NET libraries, most of which are not specific to Banshee and can easily be reused in other projects.

We essentially glue everything together with Mono.Addins, and build user interfaces on top of it all. What this means is the traditional user interface we’re used to in Banshee is an astonishingly small 875 lines of C# code.

Therefore, it’s conceivable, and even quite easy to think of Banshee as not just an application, but a platform for building new applications and user experiences. Ergo, Cubano.

A quick overview of the Banshee platform building blocks

For those interested in some of the wider details of the design and utility behind Banshee as platform, I recently had lovely a discussion on the topic with Scott Hanselman — Senior Program Manager in the Developer Division at Microsoft — for his podcast, Hanselminutes.


A major take-away from this platform discussion at GCDS last week is talk of re-basing the core of F-Spot — the wonderful photo management application — on top of Banshee itself.

The goal is simply to allow F-Spot to benefit from Banshee’s mature and maintained core, which provides many of the underpinning necessities in F-Spot, and allow the F-Spot developers to focus on the more interesting task of organizing and manipulating Photos.

While nothing is set in stone, I have a simple proposal:

  1. Re-base F-Spot’s non-UI core on Banshee’s non-UI core.
  2. Implement basic photo importing, tagging, and viewing as a Banshee extension (an optional feature). This would mean showing photos in Banshee like we do for videos.
  3. With Banshee/Cubano supporting basic photo management, grow the F-Spot user interface and experience to be more like that of professional tools such as Adobe Lightroom — an experience missing today on the Linux desktop.

GCDS Slides

The talk I gave at GCDS covered the above and a bit more. The slides are available here, but may be a bit terse if you weren’t in the audience. I’m not sure if my talk was recorded or not.

Nevertheless, for your perusal:

Slides from GCDS 2009 talk

49 Replies to “Exciting updates on the road to Banshee 2.0”

  1. That interface looks just about perfect. Is it, or do you expect it to be available in the repositories of any distribution?

    As much as I like it, I don’t much feel like compiling anything on my netbook.

  2. @Rowan the Cubano UI will be a part of the normal upstream Banshee distribution/deliverable.

    It will be packaged for Linux distributions, but the release won’t be for a couple of months. It’s still under very heavy development of course :)

  3. will f-spot have multiple UI clients like Banshee? Isn’t Lightroom a pro level app for photo management?
    on another note considering that banshee has multiple UI clients, does this mean that it could run headless on a server like mpd?

    and Cubano looks really slick. exciting times ahead!

  4. Vaguely reminds me of Zune (which is also C# btw…), I take it, banshee is slightly more open. ;=D

    Looks good. Looking forward to ditching WMP, and to something I can hopefully understand and/or contribute to too!

  5. @zekopeko it’s very possible that F-Spot will have multiple clients. The first thing we are going to experimenting with is adding basic photo management to Banshee itself, so Banshee will become more like what F-Spot is today, and F-Spot itself will become more like Lightroom. Again, this is just my proposal. It’s all up in the air for now.

    And yes, if someone wanted to write a headless client, that would be easily possible. I would like to see a web server client implemented, so you could write a web-UI to it.

  6. Not sure how you’re planning to replace the source combo box, but it would make more sense to me if the source selection were up on the left, next to the search and the import buttons, and the repeat selector replaced it down below, joining the playback controls.

    Looks wonderful already, and I’d love to see simple photo management integrated! Thanks for your work.

  7. One other thought, on the absence of menus and maximal use of the screen: if the cubano \multi-media\ interface were combined with a nice taskbar above it, one with close buttons and smart ordering, and there was also a tabless browser with minimal ui intended for use with that same taskbar, the combination would be the sweetest netbook/small screen interface I’ve yet seen. Like Google Chrome with a local media tab. With IM in a sidebar maybe. And an integrated pdf reader/doc viewer, or a way to open such things via google/other web service…uh oh, losing focus…

    Pie in the sky nonsense from a mere user, but all to the credit of your inspirational interface.

  8. >> I would like to see a web server client implemented, so you could write a web-UI to it.

    Man, I wish I had some time to take a crack at this. I currently use MPD, and it’s fine, but I’d like to be able to use something with a little more featureful frontend that still has a web backend.

  9. @Vanya RE your layout ideas, I have had some similar ones and am currently working out some changes to the header and footer area. We will be integrating a web browser as well. It’s already in Banshee proper as the MediaWeb extension. While it won’t be intended for actually browsing arbitrary sites, it will be used for immersing the user in web content related to their library, finding new music, etc. Based on WebKit.

    @Dane the icons there are picked based on your desktop environment’s icon theme. However, since we’re sort of diverging from the traditional UI toolkit model, it might make sense at some point to provide our own theme icon overrides for a few icons. The Cubano UI is going to feel more like a web site than a desktop app in the end…

  10. Cubano looks kick ass. It needs to display the name of the playing track above the position bar btw.

    It’s really awesome to hear progress regarding gtk+ and gnome… about applications working with each others to allow a nicer desktop experience.
    I’m having second thoughts about KDE4 now, hehe. Competition is good I guess.


  11. Well, I thought current Moblin would use Banhsee as core.

    There Audio/Video/Photo interface is also pretty slick.

    Didn’t think that they would have reinvented the wheel.

  12. Just viewed the presentation.

    Why do you want to rewrite Cubano in Moonlight?
    I mean, what are the reasons, when the GTK/Clutter part already works nicely?
    I would guess you could be a lot more flexible with the UI and get further away from the GTK-“look”?

  13. I LOVE the album cover grid, provided that clicking an album does something, like play it, and that it’s not only for Cubano. I’ll have to try out Cubano sometime in the near future. Keep up the awesome work.

    Btw, did I mention that I love the album cover grid?

  14. @Dread Knight: The track title, album name, and artist name are all displayed above the position slider, but the text cycles over some time, fading between cycles. That can’t be shown in a screenshot… so screencast soon!

    @Mike: I want to use Moonlight for most of the UI because that’s exactly what Moonlight is for… very declarative and expressive user interfaces without thousands and thousands of lines of custom Cairo/GTK code to do that.

    Taking Moonlight as a dependency provides no extra overhead since we’re already a Mono application and already using Cairo. Moonlight is very, very light weight. In fact, it will help with performance and memory management in many cases.

  15. I think the concept for Cubano is awesome, but I really dislike the name. Banshee on the other hand is a great name. Any chance for a rename for Cubano? I think the name of a project is an important factor when it comes to it’s popularity and so on.

  16. @Dread Knight: When Cubano is more/less finished and released, it’s not going to be marketed as such. It’s just going to be called Banshee, but you’ll get to pick your flavor, and even switch between UIs. At least that’s my plan, which may or may not be sane.

    We have codenames for all the components and client UIs in Banshee so we know what we’re talking about, but that doesn’t mean the user sees them. For example, the name of the traditional UI is “Nereid” … I’d never show that to a user :)

  17. Nice ui!

    Something I miss when making things optional in Banshee, is that I have not found a way to remove Banshee’s association with, in this case, video files. If and when you add photo support to Banshee, please have this in mind. :)

  18. The new interfaces looks great, but photo management in Banshee? What happened to the “do one thing well” UNIX philosophy?

  19. In an open source community seeing “top secret clients” really worries me. Too much like the closed microsoft world. For all the people who want mono, just wait MS will come calling for their extortion money. Two more companies just succumbed to it. Mono not wanted.

  20. @davijordan Man, you are so smart! You have it all figured out, don’t you!

    I’m not sure if you can comprehend this tidbit, but let me try to explain: those slides were a small part of an actual real life presentation at GCDS. Meaning, they were background material to supplement my talking.

    If you actually read the deck, you might understand that “top secret clients” refers to Cubano, which was announced later in the deck. The platform diagram was there to set the stage for the rest of the talk.

    Normally I just ignore and delete troll comments like yours, but this one was just too smart to deny. You have it all figured out. Brilliant.

  21. I just want to thank the banshee devs for porting it to windows finally, I can’t use linux (this is a gaming pc and there is windows only apps I require and hardware issues too) but banshee is my favorite media player. I have been anxiously awaiting the windows release.

  22. @Aaron, will you write a post on Hyena and Migo? I’m curious what they are. Information on Google seems to be sparse.

  23. @abock
    I strongly discourage using non-native icons. If the default ones look rubbish moan at the distro but it is still important to keep consistency. I think that is what will set it apart from something like the Zune UI on Windows which completely disregards the look of the rest of the desktop.

  24. Awesome! I can’t wait for this to come out. If Banshee will handle photos and become my F-Spot replacement, will features like tagging photos be added? Currently I make smart playlists by using keywords I add in the comments box in the track info. It would be GREAT if tracks were able to be tagged with labels that could then be filtered in a smart playlist. I think being able to tag songs or photos with multiple tags (similar to putting multiple labels on a gmail email) could make this program the best media program out there. Great job!

  25. This looks amazing… I’ve been waiting for a minimal (and non-clunky) music app for Linux… it’s sad but I keep going back to windows because the interface isn’t as big :(. Has there been any progress made? I’ve been waiting patiently to try it out!

  26. Hi Man! great deisgn indeed! Loving the new banshee release you guys are on fire with your deb work!!!

    Any news on a release date for this? We already include banshee in the default install on eeebuntu and this clutter interface would be a perfect addition :)

  27. Banshee is perfect and I can’t emphasize enough how great a headless web server feature would be great. I believe that in very short time it would take over the web. I personally know at least 5 people who would put it on their servers.

  28. Hi there!
    My compliments for your Banshee progect, that I use, follow and love very much.
    I’ve just a question: I use also Firefox and FoxyTune, and there’s no way to make it work with B. Is it interesting for you to do something on this way? I think that Banshee will be even better than now with this improvement.

  29. Cubano looks great. Will there be a website/forum soon? I’m trying to build it but keep getting errors.

  30. Just wondering what the status is of the Windows version. I compiled from source, and while the UI works, it seems gstreamer-sharp is failing to build due to a missing assembly (again, gstreamer-sharp) so it can’t actually play anything.

    Would be nice to see this working, as I’m stuck using Windows most of the time for my college work, and I would like a decent media player (i.e. not the bloat of iTunes, the memory usage of Songbird, the over-customisation of foobar2000, or the retardedness of WMP)

  31. I have built working banshee from source under Windows. You can download binary version of gstreamer# and bind it with Banshee.GstreamerSharp.
    But! There is a problem with the original libbanshee.dll and you have to compile your own. If you have a working copy of any GNU/Linux distribution, use MinGW to build it because you need a lot of 3rd party libraries and manipulating with libraries is under Linux a lot of easier.

  32. This looks pretty awesome, espiecially the first two screenshots.

    But considering the date of this post am I right in believing this is dead?

Comments are closed.