Sunday, 12 June 2011

Ubuntu Varsity Wallpaper

Decided to scratch a "design a wallpaper" itch on Friday. It's the first wallpaper I've created in a very long time but people seemed to like the first cut on Twitter on Friday so I went ahead and created a few more colours and sizes.

It's inspired from a pretty standard t-shirt design and so it's no surprise most people wanted a t-shirt of it! I might create a few mobile size variants if I get some time, but for now here are the links by size, with each archive containing all the colours:

Friday, 11 March 2011

Of Borders and Shadows

Finally, after nearly three cycles, we now have zero pixel window borders and larger shadows for the active window:

Huge thanks go to Sam Spilsbury for generally being awesome but more specifically for adding the invisible-window-borders and state-dependant-shadows to unity-window-decorator and also the ability to tweak these through the theme.

You can see that Radiance needs a tiny amount of work to remove the border around the title-bar that makes it look like the there is a size mismatch, I'm hoping that will get fixed soon.

N.B. Remember this is purely visual, there is still a nice big hit areas on the left, right and bottom edges for you to resize the window with, you just can't see them :)

N.N.B. We'll try and fix before beta.

Monday, 25 October 2010

Unity on the Desktop

Mark's keynote at UDS spoke about one of the biggest changes to happen in Ubuntu since it's inception: Unity as the default desktop. As the technical lead for the project, I wanted to explain some of the technical changes that will occur this cycle to put us in the best position for Natty:

Graphics Support

Firstly, it's good to mention that it's actually "Unity as the default desktop if your graphics card and drivers support it". We've learnt a harsh lesson this cycle about where Unity works well, where it should work but doesn't and finally where we just can't expect it to work.

Therefore, it is going to be a primary focus this cycle to enable Unity on as many chipsets as possible. We will be much more lenient about what OpenGL features are required (allowing runtime fallbacks through detection and through quirks files for those chipsets that lie about their capabilities).

That means that we'll make a best attempt at running, trying to gracefully degrade through features, but at least getting to you a panel, launcher and places.

So what happens when we detect that we just can't run? We hope to automatically fallback to GNOME Desktop, which will give the best experience at that point.

Performance and Compiz

This is a huge issue on the current Unity implementation. Yes, if you have good hardware it'll work fine, but it's unacceptable for it not to be performant on, for instance, Intel i945 based systems. There are a few reasons for the current performance issues, and after much thinking and testing, we have decided to move Unity's view implementation from Mutter to Compiz 0.9.

For what Unity needs to do, Compiz will give us a huge benefit in terms of performance and power usage, as well as allowing us to get closer to the graphics hardware and easily implement the graceful fallbacks of GL capabilities that I mentioned above.

It also means we can build on the great work of the Compiz team's upstream work and their excellent window management plugins to provide a more complete desktop experience, faster.

We're finalising some technical bits and pieces with regards to the switch and we're aiming to get it into archive ASAP. I'll be sure to post here as soon as we've done that.

Stability and Quality

Stability is the final technical issue to solve for the desktop. We have come leaps and bounds from the early Maverick cycle (currently most of the crashes are graphics issues, trying to do things the drivers don't support). We want to continue this and we will be pushing more things out of the Unity process and into D-Bus based services that can crash at their pleasure (but hopefully they won't :), and Unity can just restart the services instead of crashing itself.

Unity was always architected like this, but we've found ways to get the last bits of logic out of process and so you should see a rock-solid Unity on your desktop this cycle.

Quality is of upmost importance and is the focus for this cycle, over features or anything else. The community did an excellent job last cycle for Unity and we hope to repay the favour by fixing as many bugs as possible and assuring that Unity oozes quality.

Finally, for those thinking that we are starting from scratch due to the move to Compiz, I can assure you that we aren't and honestly, we couldn't. Unity is architected to separate the views from the models and controllers, and we are using that to enable us to quickly port our views to Compiz while keeping and bug fixing the models and controllers.

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.

Monday, 10 May 2010


Following on from Mark's keynote at UDS, I'm very pleased to announce Unity:

In it's current iteration, Unity consists of an easy-to-use launcher on the left and a panel up top. We have been and will continue to focus on a very quick log-in time, touch-friendliness and excellent usability.

The launcher allows you to launch and switch to your favorite programs, as well as any other applications you open during your session. The launcher is designed to be touch-friendly and group all your application windows into one icon. You can easily access your windows via a right-click (or long-touch) on the application icon. Adding a new favorite launcher is as easy as launching the application and then right-click-> Add to launcher.

The panel is a custom implementation that consists simply of a Ubuntu icon allowing you to quickly pick an open window and, on the other side, we've been able to harness the excellent work being done in the other half of the Desktop Experience team on Indicators, which allow us to render you panel entirely in Clutter.

In it's current incarnation, Unity is geared towards a 'light' variation of Ubuntu, which concentrates on getting the user to the web as quickly as possible. We would like Unity to be the default session for Ubuntu Netbook Edition 10.10 (Maverick) and we hope to present some ideas this week to show how we think we can make the transition to a mostly web-based session to a more fully-featured session for netbooks (including search, better file management, and easier window management). I hope people will attend the UNE sessions this week (either personally or remotely) and give their feedback/ideas).

I'm really excited about this release and I can't wait to begin working on some of the new ideas (which you'll hear about shortly from others involved in the project :). In addition to the user-friendliness, I feel there are some interesting technical aspects of Unity that I'll detail in another post. For now, please go ahead and grab Unity using the following instructions:

1. sudo add-apt-repository ppa:canonical-dx-team/une
2. sudo apt-get install unity
3. Logout and then log back in selecting 'Unity UNE Session' from your login screen.
4. Enjoy!

Sunday, 11 April 2010

Shiney Shiney

Seeing as I wasn't ever able to complete the work I started on AWN 0.4 a couple of years ago, it's only fitting that I congratulate the guys that have done a *massive* amount of work since picking it up over a year ago and brought AWN 0.4 to release!

It contains a bunch of new features, as well as being a complete rewrite from the ground up, introducing some exciting possibilities and should allow much faster release cycles in the future.

Instead of going through all the features here, I'd ask you to check out Michal's excellent post which has all the new features plus pictures and videos.

I've been told it should be landing in Lucid's archives soon, so keep a look out. A tarball is available here. If you have any questions/comments, please see the wiki or join #awn on Freenode.

Saturday, 26 September 2009

Ubuntu Netbook Remix Karmic

As Karmic hit beta freeze this week, and the artwork began to freeze, I thought it would be a good time to introduce the latest version of Ubuntu Netbook Remix (UNR):

As you can probably tell, the largest change from the previous version is a new design and layout. This is thanks to the awesome work of the design team. In addition to the new UI, there has been a fair amount of work in the architecture of the various UNR components. Apart from the users ( :) ), the largest beneficiaries of this are the launcher and window-picker-applet.

The launcher has been updated to use the latest version of Clutter, and benefits from the performance improvements that the Clutter 1.0 release carries. In addition to that, the launcher now has a framework for plugins, which allow extending the home screen and adding new categories on the left (and example is the Files & Folders category). There's not too much documentation at the moment, but I'll follow this post up in the coming weeks with some examples.

Window Picker Applet has had a major overhaul thanks to Jason Smith of Docky fame. In addition to making the code more sane, he's transformed the look and feel of the applet and fixed a bunch of annoying bugs. Coupled with the new Gtk and icon theme (Dust and Humanity), Jason's work makes the panel look much, much nicer than before:

In addition to these bits, there are a couple of things I'd like to highlight:

UNR Karmic contains both the excellent Messaging and Session Indicators. The message indicator allows you to quickly see how many unread emails/IM messages/Twitter replies you have. The session indicator allows you to easily set your IM presence and also lets you switch users (if you hardware supports it) and log out easily.

We've also got the very latest Notify OSD and the Ubuntu Software Store, for a nice and easy way to expand your netbook's usefulness :).

That's it for now, you can grab the latest UNR image from the daily builds here, and I've posted links to a few more screenshots below.