Saturday, 17 July 2010

Gwibber Concept - Part 1

I was going through one of my old computer's hard-drives recently and found lots of mockups from a couple of years back of GNOME applications I had done in my spare time. I was inspired and opened up Inkscape to see if I could still come up with anything interesting. Gwibber was my victim of choice as I had spoken to Ryan and Ken at UDS recently about it's UI and the difficulties Gtk was providing them (and of course, someone saying something is hard to do in Gtk is always a challenge I can't resist ;).

Gwibber was an interesting problem user-interface wise as, although there are many Twitter applications with great UIs out there, there aren't many that have to:

1. Support multiple accounts from different services, presenting the information in one stream to the user

2. Be able to filter the main view to one account (i.e. choosing to only see Twitter-related material in the views)

3. Integrate into many different desktops, but still try and have it's own identity

So, after thinking about these points and also looking at/using the best microblogging applications on Windows and Mac (Seesmic, Tweetie, TweetDeck), I've stolen a lot of ideas and come up with:

Theme-wise, they are obviously using Ubuntu's Ambiance theme as the palate, but I think the look would work fine on Fedora/SuSe as long as your taking the right colours from the Gtk theme. There is controlled use of gradients to work better with Gtk themeing (so you get something good looking without having to write tons of custom widgets which do lot's of drawing). There is use of some DX-team tech (Windicators, CSD), but nothing that couldn't have a simple fallback on other desktops.

I have highlighted some of my favourite things in the next image:

There are lots of nice ideas (I think) missing, hence this is "part 1". Hopefully I'll have time to finish off the other views soon, as well as apply some more polish to these ones (and apply feedback you give :).

Okay, time to pack bags for flight tomorrow to Prague for the Platform Sprint. I've got more ideas for other applications that could fit into this style (Rhythmbox and Evolution are on my radar), if you guys like it.

What Gwibber needs right now is not further UI beautification, but code cleanup. If they keep improving UI, the next version will take more time than the OS itself to start, and will consume more memory than the OS itself (right now, the startup times and memory footprint for Gwibber and OS are nearly equal).

While I like this there are a few points to make about it, gwibber and gtk:

- The rounded pane looks great but AFAIK, the GTK theme engines don't support it. If they did, I would like to see it in all Windows, not just gwibber!

- Before something like this is implemented, devs should focus on making gwibber work. That includes fixing the huge CPU issue on multi-core 64bit installs. The code is getting messy and it's growing faster than it should.

- The left sidebar should scale like the current implementation. I have the slimmest version and it would be nice if the breaks/tabs you've mocked could scale in the real version. That would rely on them being dynamically drawn and, again, I'm not sure how readily GTK will handle that.

That aside, I really like the design... I'm just not sure if it's possible.

@nekr0z: I think the Gwibber devs are well aware of the current issues and have been working in their spare time to fix them. Hopefully you should see this work soon.

@Oli: Thanks for the comments! Your right Gtk containers don't support rounded corners (has to come from theme engine), but we can easily draw this as a background to a custom container using Cairo (it won't effect performance as it's just solid colours from the gtk-theme).

Again, Gwibber devs are aware of these issues and hopefully you should see the fruits of their labour soon.

And yes, I definitely imagined this working like the current implementation with a minimal-mode (my favourite mode too :).

@Jay: I used "Coconut" initially for this mockup. Ideally it would have been with the UbuntuBeta font, but the hinting on bold isn't right yet and I wanted the different font styles in the application to come out.

@Luis: You can't....yet :) The widget in the titlebar would hopefully be the "Windicator" idea that Mark blogged about a few months ago.

@feathertail: Thanks, these comments have convinced me to do just that :)

Don't forget to point that by default keyboard pointer should be at the post message inputbox when activating Gwibber window. Now it's still a problem, 'cause user must not only switch to Gwibber but alse make a click to post a message.

I hope the monochrome icons are not becoming the latest craze and fill the whole desktop. They are kind of OK on the notification area (or whatever it's called today), but having them all over the desktop would make it too dull in my eyes. They just are not visually consistent with the rest of the desktop. There apparently has to be a new visual fad every now and then, but let's not base the look of the default desktop on one. This kind of extremely simplified monochrome icons are better offered as an alternative icon set.