14
Jul/09
44

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.

F-Spot

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

For more frequent updates, you should follow me on Twitter here.

Comments (44) Trackbacks (0)
  1. Rowan Lewis
    07:47 on July 14th, 2009

    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. Spencer
    07:53 on July 14th, 2009

    And to think, i thought banshee development was begining to slow down.

  3. Aaron Bockover
    07:55 on July 14th, 2009

    @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 :)

  4. Anders Rune Jensen
    08:09 on July 14th, 2009

    Love the interface. Looks very sleek. Good work :)

  5. Nil Gradisnik
    08:32 on July 14th, 2009

    Great news. You guys must be one of the most active dev team in the field. :)

  6. Frederic
    08:35 on July 14th, 2009

    Reminds me a lot of the Zune software interface. I like it.

  7. zekopeko
    08:41 on July 14th, 2009

    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!

  8. Fowl
    08:42 on July 14th, 2009

    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!

  9. Aaron Bockover
    08:51 on July 14th, 2009

    @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.

  10. Vanya
    10:44 on July 14th, 2009

    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.

  11. Lucas Rocha
    10:50 on July 14th, 2009

    Looks very promissing :-)

  12. Vanya
    10:57 on July 14th, 2009

    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.

  13. Dane
    11:19 on July 14th, 2009

    As for Cubano.. Can’t you have better icons for the pause,forward,backward?

  14. Ed Ropple
    11:49 on July 14th, 2009

    >> 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.

  15. Aaron Bockover
    12:02 on July 14th, 2009

    @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…

  16. Dread Knight
    13:00 on July 14th, 2009

    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.

    Cheers!

  17. Mike
    13:08 on July 14th, 2009

    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.

  18. Mike
    13:46 on July 14th, 2009

    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”?

  19. sharkbait
    14:53 on July 14th, 2009

    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?

  20. Aaron Bockover
    15:16 on July 14th, 2009

    @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.

  21. Dread Knight
    15:48 on July 14th, 2009

    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.

  22. Aaron Bockover
    16:44 on July 14th, 2009

    @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 :)

  23. Mike
    16:48 on July 14th, 2009

    excuse me, but I have to try out whether the recaptcha thing works here.

    the code I got is “sunni 12½”

    see for yourself here: http://bayimg.com/IACPDaaci

  24. Dread Knight
    17:56 on July 14th, 2009

    Thanks for your reply. I understand. Yeah, before that schematic, I’ve never heard of Nereid. Keep up the great work :)

  25. prokoudine
    12:10 on July 15th, 2009

    Re. F-Spot… So we are back to old Miguel’s idea about pluggable workflows? :)

  26. Michael
    13:40 on July 15th, 2009

    Hail to the king, baby! This stuff just rocks :)

  27. Mats Taraldsvik
    14:21 on July 15th, 2009

    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. :)

  28. naesk
    17:11 on July 15th, 2009

    Looks rather swish :)

  29. Andrew Tierney
    18:37 on July 15th, 2009

    Very cool.

    What did you use for your architecture diagram ? Very nice.

  30. brain extender
    04:22 on July 16th, 2009

    Uh – that looks promising. If i could choose i would prefer the Netbook relase over the windows version.

    brain extender

  31. daniel
    08:29 on July 16th, 2009

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

  32. prokoudine
    12:03 on July 17th, 2009

    @daniel Read again and you’ll see where you got it wrong :)

  33. davijordan
    21:16 on July 17th, 2009

    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.

  34. Aaron Bockover
    23:50 on July 17th, 2009

    @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.

  35. Brandon
    01:10 on July 19th, 2009

    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.

  36. Eric
    09:36 on July 22nd, 2009

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

  37. Tom Wright
    14:49 on July 23rd, 2009

    @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.

  38. Jeremy
    01:50 on September 30th, 2009

    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!

  39. Sam
    15:44 on October 13th, 2009

    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!

  40. Guitaraholic
    12:07 on October 15th, 2009

    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 :)

  41. beaver
    16:07 on October 15th, 2009

    Hello to all! How can i compile this project on Windows? I downloaded the files from the git repository (and from the info on the project site), but when i try to load solution (MonoDevelop, SharpDevelop, VS 2008 .NET) i got bunch of errors (cproj for example)… I think that info on http://banshee-project.org/download/development/#windows isn’t quite correct… Help? :) Cheers!

  42. Hauser
    06:54 on November 15th, 2009

    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.

  43. Nemo
    11:55 on November 23rd, 2009

    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.

  44. vaskark
    22:42 on December 11th, 2009

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

Leave a comment

No trackbacks yet.