Looking Forward (2)

In response to some of the comments on my last post about Online Desktop:

  1. I will be using completely Free Software and just as importantly, Free Services.
  2. I will be installing the services on my own server.
  3. There will be a solution to enable me to work off-line.

I have yet to hear one problem with Online Desktop that couldn’t be fixed. In fact, the idea of being able to store your settings and files online has been around for years. Now we get a chance to have a version based on Free Software principles. Still sounds great to me!

Interesting Things

A couple of interesting things are happening in the world of artwork themes at the moment:

  • There was a meeting on the future of GTK+ themeing at Guadec
  • Stephan Arts of XFCE is proposing a freedesktop.org specification for Theme Packages
  • Bruno is doing a fantastic job at putting together a new website for art.gnome.org:
    screenshot-artgnomeorg.png
    You can check his progress on this wiki page.
  • We have a new appearance capplet for GNOME 2.20:
    screenshot-appearance.png
  • We have a refreshed Clearlooks theme thanks Andrea Cimitan
  • Many more tweaks and additions to the icon theme too from Andreas, Jakub, Lapo and others.
  • And there are plenty of discussions about new artwork for GNOME, including a new GDM theme, background and new graphics for gnome-games!

Looking Forward

Two reasons I am looking forward to Online Desktop:

  1. I wont have to waste time setting up my IM/E-Mail client everytime I re-install my operating system, or move to a new computer
  2. I wont have to worry about which computer I saved my documents on when I take my just my laptop away from home

Default Wallpaper

As Andreas noted, at Guadec we discussed a couple of things about what we wanted to do with the various artwork in Gnome. One of the suggestions was to reduce the gnome-backgrounds module and provide a new default background instead. Jakub very kindly offered to take up the challenge and has come up with this first draft:

default-wallpaper-abstract.png
default-wallpaper-abstract.png (PNG Image, 1920 x 1200 pixels)

So the challenge is to try it out for a week and see if you still enjoy it at the end. Constructive and useful comments welcome.

Not sure yet what license this image will have, so please for the moment assume Copyright 2007 Jakub Steiner. Suggestions on what license would be most appropriate are welcome too.

Sato Has Landed!

Sato

What is Sato?

Sato is a new visual style for Poky Linux, the embedded Linux distribution. It is designed to work well with screens at very high DPI and restricted size, such as those often found on smartphones and PDAs. Not to mention it is coded with efficiency and speed in mind so that it works smoothly on hand-held and other embedded hardware. It will easily sit neatly on top of any device using the GMAE stack to provide a well defined user experience.

So what’s new?

We (OpenedHand) have just released the very first version. We’ve released it with version number 0.1, which indicates that it is a testing release and we think there are still quite a few improvements to make before we think it is perfect. We know there are bugs and if you think you have found a new one, we would encourage you to report it.

What does it look like?

Take a look at the screenshots:

matchbox-desktop-2pimlico contactsbasic web browserpimlico dates

Why green?

What colour would you prefer?

How can I try it out?

The sources are available from the Poky Linux site, but it is included in the latest Poky release which is probably the best way to try it out.

Credits

Post GUADEC

Packing GUADEC bags
Packing GUADEC bags

This post is fairly long, but hopefully gives an insight into what it was like to be an organiser at Guadec. The short version is it is very very busy until the about the third day, then when it’s all running smoothly you can enjoy yourself!

My Guadec start at 7am on Saturday (14th July) morning. I drove up to Birmingham and got to OpenAdvantage at about 10am. A couple of other people arrived and we set about packing delegate bags and setting up wireless routers for the day. A couple more people arrived after lunch and spent the rest of the afternoon folding and sorting name badges. We packed things into the van we hired and there still wasn’t enough room for everything. Stayed at the Etap for the night and was pleasantly surprised at how nice the accommodation was considering how cheap it was. The free wifi in the lobby was a bonus and it seems lots of people were going to take advantage of it!

Folding nametags
Folding the name tags

Sunday morning we got to the venue as early as we could, but it was never going to be easy setting up the same day as opening. Unfortunately this was unavoidable since we couldn’t book the venue for any earlier. We also hadn’t counted on lots of people arriving before 10am and all trying to register at once. This was made worse by the realisation that during printing the badges the day before, something had gone wrong and quite a number where missing. Luckily we got a printer and laptop set up and could processes any missing ones during the rest of the day.

Folding t-shirts
Folding t-shirts

Another early start on Monday and I was helping OpenedHand set up their stall. Rob, Silvia, Gil and Pippa were doing an excellent job in handling registrations and giving out t-shirts and bags. We gained access to the network room today, and where able to get the internet access up and running, although only on one of the two ADSL lines we had. As lunch started, the router seemed to have crashed and we had to wait again for someone to supervise while we went into the room and sorted out. Having to find an authorised person each time we needed access to our router was less than ideal, but there where rules. The only outstanding issue was the USB keys which should be turning up tomorrow. Went out to dinner with Nokia and OpenedHand which required a very long table. It was good to see almost all my collegues from OpenedHand this week. I think the only missing person was Dodji, who sadly hadn’t managed to get a visa in time.

GTK+ themeing meeting at the Etap
GTK+ themeing meeting at the Etap

Received news while at dinner that people from Guadec had blown the power in the Etap lobby, which was both slightly amusing and worrying at the same time.

The first core day on Tuesday got off to a good start, with the USB keys having turned up and where ready to be given out. Finally got both ADSL lines working by lunch time today, and it all seems to be running smoothly. Organising the party this evening was next on the agenda so Michelle and I went over to get a price list for drinks. Rob and

Anreas and Rob design the beer tokens
Andreas and Rob design the beer tokens

Andreas took care of printing the tickets which we gave out after the last keynote of the day. Had lunch with the guys from OpenMoko and it was good to meet a few more of them in person, having been working on the project for some six months or more now. In the evening, I was excited to be able to introduce the last keynote because it was something I had been looking forward too. Bryan and Havoc explained the Online Desktop ideas and I am fairly certain this will be a good thing for GNOME. Most of people’s concerns are fixable and I think having a strong direction (whatever it is) will do great things for the GNOME project. Plus I can’t wait for the day I don’t have to worry about which computer I saved a document on! The party tonight was well attended, probably due to the presence of free drinks. It was a great chance to also meet some new people and antagonise Jonathan Blandford about code he had written in control center some 5 years ago.

Wednesday was probably the first day I did not have to get up before 8am. Unfortunately, it was a great start as Paula who was due to keynote didn’t appear. Michael Meeks gave an impromptu demo of the new memory profiling tool he has been working on which was very interesting and Jeff Waugh gave us a reminder of why and what we are trying to do with free software. Many thanks to them both for stepping in at the last minute. Went to lunch with the Control Center guys today and discussed some of the issues that have been coming up. The lightening talks were really interesting and I was disappointed I missed the second session.

Thursday started well, except for Robert Love’s keynote being interrupted by the fire alarm! Thankfully we had very good weather today, it was even quite hot by lunch time as I ate my sandwich on the steps next to the fountain in Birmingham, chatting to Michael Meeks. Stormy’s keynote was very interesting giving and insight into how large corporations deal with Open Source, and Doc’s closing keynote was equally interesting. Paul and I did the closing “Thank Yous”, but it still seems odd to do this when we still have another two days to go.

Thanks guys
Lug Radio put on a party. Thanks guys!

Went for dinner while an amazing thunderstorm broke loose, including thunder anyone could have mistaken for an explosion. The lug radio party was also a success, with a great atmosphere. Many thanks to the lug radio guys for offering to organise this at short notice!

Friday started off packing the OpenedHand stand. Jackub’s talk about photo editing was interesting and I even installed f-spot after since I hadn’t known how many features it had got recently (or maybe I just didn’t know about them before?). I also had to attend the Advisory Board meeting to represent OpenedHand, which was fairly interesting and I’m glad we had the chicken timer to make sure the discussions didn’t go on at too greater length. Unfortunately due to flooding and subsequent train cancellations, my brother was stranded in Birmingham but luckily there was now space at the apartment for him to stay with us.

People at the lug radio party
People at the Lug Radio party

Saturday I arrived fairly late just in time for Alex Jones to be walking across, wondering if there was a speaker for the Control Center session. I had forgotten Rodrigo had told me he wouldn’t be able to do it and I had offered to take it instead. Luckily I had my laptop with me and had compiled the latest control center last night. I gave a walk through of some of the new features and some of the things we had changed. We had a good discussion with people from Novell, Red Hat and Ubuntu contributing. Not long after lunch we started packing up the posters and equipment and we were fairly quickly all ready to leave. Driving back through some torrential rain was fairly scary, but arrived home safe and sound. In fact I had been worried about my own house since it is right next to some rivers, but luckily we hadn’t been flooded.

So all in all it was a very successful Guadec for me. It was a shame we didn’t get the USB keys on time, but they arrived for the core days which was the main thing. The weather was something I was hoping would be nice, but luck wasn’t on our side. The same time last year we were in the middle of a heat wave, but this year we had the wettest July for about 200 years, so you just never can tell. I heard some people had problems with the wifi, but at the end of the day, I suspect there is hardly a conference out there that hasn’t had problems with wifi. It was made worse by the venue being very restrictive about what parts of their infrastructure we could and couldn’t use, but that was probably unavoidable.

Vincent likes his stickers
Vincent likes his new stickers

I was really glad everyone liked the stickers because it was a last minute thing that I personally made sure happened. I think reducing the amount of paper advertising was a given out was a success too. I was also glad we decided on only one Guadec t-shirt, given that we were found ourselves with Maemo and Access t-shirts at the last minute. We also weren’t expecting so many extras for the bag, but I hope people find them useful or can give the the CDs or other stuff to friends.

Aidan is now working through the videos and should have some unedited footage online soon. It would also be great if anyone who gave talks could put up links to their slides on the slides wiki page.

Many thanks again to everyone who helped out and to everyone who came and made another successful Guadec. I now have to catch up on all the (many) things I said I would get round to doing after Guadec. So I’m pleased I’ve managed to contribute quite a bit more to the latest control center release. I will be posting some more thoughts on how my summer of code student is doing and some of the exciting work I’ve been doing at OpenedHand.

Pre Post-Guadec Post

I’m still very tired from last week at Guadec, but I just wanted to thank everyone (again) for helping make Guadec really enjoyable. Once I have fully recovered and have stopped worrying about whether my house is about to be flooded, I will post some of my thoughts and pictures.

And it begins…

Guadec starts next week! I will be driving up leaving at 8am tomorrow to get the last things ready. It’s been a lot of hard work and not everything has gone how we would have liked it, but I’m hopeful it is going to be a really enjoyable event. The only thing we can’t promise is the weather!

Please note we don’t have access to the venue until Sunday. If you have any problems then feel free to call the GUADEC Hotline +44 (0) 121 634 1645 which should go through to either myself or Paul.

GUADEC Outlook

With almost a week to go until GUADEC, you may be wondering what to pack. Unfortunately, the weather here in England has been unpredictable lately to say the least. The forecast for GUADEC looks like we will have both rain and sunshine, so it would be advisable to at least pack an umbrella!

Luckily, whatever happens, the most important thing at GUADEC is the people. We have nearly 400 people signed up to come along and with over 80 different talks and workshops through the week there should be something everyone will enjoy. Not to mention there is plenty of space for ad-hoc meetings and BOFs.

Re: Suboptimal Theming in GTK

Read with interested Aaron’s commentary on theming in GTK+. If you ignore the trolls and read Benjamin’s comment you will start to understand the problem. Ben is the current maintainer of gtk-engines since I have been too busy with organising GUADEC. We’ve both spent some time thinking about the very same problems. In fact, it’s all the more interesting because I suggested to Ben that we should start thinking about a new theme API for exactly some of the points Aaron raises.

The real issue he has is that certain widgets are special cased within the engine to give them a unique look. The original idea of the GTK+ theme API was to provide a number of widget drawing primitives which were indepedant of the widget being drawn (e.g. draw_box, draw_shadow).

This is all very well and good, until you get to examples like the one mentioned. The treeview headers are actually just plain ordinary buttons, there is no special “treeview header” widget. There is no way for the theme to know that what it is drawing are treeview headers unless it actually inspects the widget heirarchy and various other things. It gets even worse if (for example) you want to draw the first and last header button differently. I agree with Aaron that the methods we have to use in gtk-engines are suboptimal, fairly ugly and as a consequence means he cannot achieve the same effect in his custom widget. The ideal way to do this would be to pass a detail hint to the engine when treeview headers are draw. Even then however, the detail strings are undocumented, as with much of the shadier bits of the theming API.

I think one of the problems here is that it is not easy to distinguish the exact “real world” context of a widget in GTK+. As an example, the theme engines often include similar nasty widget inspection hacks to make comboboxes appear as one entire widget, rather than a separate entry and button. It would also be nice to be able to do button grouping (i.e. give the appearance two buttons are related using the theme), but again there is no way to reliably pass this sort of context information to the theme engine.

So in short, we are aware of these issues but are limited in our options to solve them. You can either have more generic looking widgets (e.g. treeview headers that look like normal buttons), or we can use a few tricks to special case a some of them to give the appearance of a more unified widget set. Maybe if Ben and I can start planning a new theming method now, we can solve all these problems for GTK+ 3!

[ Update: Perhaps a good way to describe the problem is that there is a lack of spatial awareness in GTK+. Widget paths and hierarchies are fairly well defined and could be described as the vertical context. However, what surrounds the widget and what its purpose is (the horizontal spatial context) is hardly defined at all.]