Looking for a job ?

August 19, 2010

Vincent did a great job of advertising for a job opening in his team. But if you are looking for desktop-related open source work, Novell is not the only game in town.

Red Hat is hiring too.

We are looking for a person who enjoys working in various corners of the GNOME software stack to fix bugs and add features. You will get to work on mixture of tasks in GNOME, Fedora and RHEL. Yes, that involves building rpms, too. And maybe talking to customers every now and then. The location for this job is in our offices near Boston.

If this sounds attractive to you, you can find out more here. Or find me or jrb online to chat about the position and what it is like to work here.

Why should you consider working for Red Hat ? We have a great desktop team, you get to work next to giants like Owen Taylor or Dave Airlie. Our scope is pretty wide, you have a chance to work on things as varied as D-Bus or Spice. I have been here for 6 years now, and I still enjoy it (most days).

Currently, we are in the middle of getting GNOME 3 out and into Fedora. It is exciting, and you can be part of the action!

Filed under: Uncategorized — mclasen @ 7:21 pm

It is coming

June 1, 2010

It might not look like it for the casual observer, but GNOME 3 is coming.

Indeed, it is already around the corner, and we are on the home stretch. Many things have happened behind the scenes and did not receive the attention they deserve. A huge amount of platform cleanup has happened. As one of the last pieces in the platform cleanup puzzle, GSettings and dconf are now ready to replace GConf.

We have a new control-center shell that can embed configuration panels and launch traditional capplets.

We have a new yelp with a very clean interface that is using webkit and is ready for Mallard docs.

And of course, the shell team is putting a lot of hard work into the gnome-shell user experience. One nice recent addition is an integrated magnifier (which I didn’t manage to create a meaningful screenshot of, but you should absolutely try it, it is really nice)

But GNOME consists of well over a hundred modules, so there is naturally a lot of work left. There are a number of things where you can help:

  • Port your application to GSettings – there are several examples to look at by now: yelp, evince, gedit…
  • Make sure that your  application works with GTK3 – this is a lot easier than it sounds; with the help of GSEAL_ENABLE and GTK_DISABLE_DEPRECATED
  • If your module installs a GTK+ module, install it for both GTK+ 2.x and GTK+ 3. See this page for some hints.
  • Work with the documentation team to convert your apps help into Mallard docs.
  • Help turning capplets into control-center panels, in particular capplets that do not live in the gnome-control-center module.
  • If your module installs a panel applet, consult with the GNOME designers on how to make its functionality available in GNOME 3.
  • When GtkApplication support lands in GTK+ (any day now), port your application to it.

Lets make GNOME 3 rock !

Filed under: Uncategorized — mclasen @ 3:13 pm

GSettings

April 17, 2010

The GSettings hackfest is over. It was an exhausting, but productive week.

What have we achieved ?

  • Some 190 commits on the glib/new-gsettings branch
  • The bulk of the GSettings framework has been merged to GLib master, and will appear in the 2.25.0 release next week
  • We have decent documentation, including a porting guide
  • We have a tests
  • We have multiple backend implementations: a null backend, a memory backend, a keyfile backend and even a GConf-based backend
  • There are utilities to convert schemas and migrate data

Of course, some things did not work out quite as we had hoped:

  • We did not get much application porting done, mainly due to a lack of app developer participation. At least, Vincent converted gnome-utils
  • The GSettingsList class has not been merged yet, it will hopefully appear in a later 2.25.x release
  • dconf is not ready yet. The current dconf backend will need adjustment to the backend API changes that have happened this week, and more importantly, Ryan wants to redo the on-disk format for dconf (to make it better, of course). Thankfully, the GConf backend will allow us to start porting applications to GSettings without blocking on dconf

Next week I’ll do GLib and GConf releases, and then the porting can begin.

Filed under: Uncategorized — mclasen @ 6:37 am

Mnemonics

March 24, 2010

I released GTK+ 2.20 today. It contains some nice work by Thomas Wood that I would like to talk about a bit.

GTK+ takes keyboard navigation seriously, and one part of that is to make controls accessible via mnemonics – that are the underlined characters in labels, which let you activate a control by pressing Alt-<mnemonic>.

Mnemonics are very convenient for keyboard users. But too much of a good thing can sometimes be problematic, in particular if you are using a mouse and are sensitive to visual noise.

Count the mnemonics

Thomas change does the obvious thing for mnemonics that occur outside of menus, e.g. in dialogs: Show them only when the Alt key is pressed.

Alt up, Alt down,...

Of course, things are much more complicated in menus. Everything in GTK+ menus is a bit special, and keynav is no exception. For one thing, mnemonics in menus are activated without pressing the Alt key first. Another complication is that it is not always obvious which of the visible mnemonics on the screen are currently active. In the evolution menu shown in the first screenshot, pressing M would activate the Import item. But if you wiggled your mouse and the pointer ended up over the separator, pressing M would activate the Message item in the menubar!

It took as a few iterations to make mnemonics in menus work as we want them, but I think the result is very pleasant.

  • no mnemonics are shown when menus are opened with the mouse
  • interacting with the menus via the keyboard (opening a menu with keyboard shortcut, or navigating with arrow keys or similar) will make mnemonics visible
  • mnemonics which cannot be activated are not shown; this includes insensitive controls
  • moving the mouse over a non-activatable menu item does not change which mnemonics can be activated

To try all this out, simply add the line

gtk-auto-mnemonics = 1

to your ~/.gtkrc-2.0. Or wait a few days for these changes to appear in the Fedora 13 packages. And if you like what you see, remember to to thank thos when you see him.

Filed under: Uncategorized — mclasen @ 1:57 am

Details

March 2, 2010

While I am waiting for Ray to finish up the gdm integration patch for for my accounts dialog, I spent some time on getting some details right. One of the more complicated pieces of our initial design was setting passwords, with several different modes, and controls that appear and disappear according to the selected mode. After some iterations with Máirín, things look much better:

Writing that custom widget for the password strength indicator didn’t take more than 30 minutes, but it makes a surprising difference, compared to the progress bar that was there before…

Filed under: Uncategorized — mclasen @ 2:02 am

first release

January 30, 2010

Just in time for the Fedora 13 feature freeze, I’ve created the first real releases of my little accounts dialog project and the service that goes with it. I’m continuing to enjoy working on a young project, where one can still make changes without upsetting people. So, what has changed in the accounts dialog in the last two weeks ?

  • The login screen options are now being saved – implementing that was a nice reminder why we need DConf…
  • The somewhat annoying column of “Change…” buttons has been replaced by much smoother in-place editing
  • I’m now using PolicyKit lock buttons to avoid popping up authentication dialogs in unexpected places
  • Finally, working hot-plug for webcams – the future is here ! Many thanks go to Bastien for that…

In-place editing

The next steps in this little adventure are to finish my gdm patch to make talk to the service instead of parsing /etc/passwd itself. Once that is working, gdm needs to learn to be helpful by showing password hints.

For updates and more screenshots, head to the Fedora feature page, or to the project page that I have just begun to put together.

Filed under: Uncategorized — mclasen @ 5:19 am

Old promises

January 15, 2010

Back when the gdm rewrite was happening, we knew that we did not want to carry the old gdmsetup tool forward, since it was not very usable and had a ’show-me-all-your-obscure-settings’ approach. But still, some things on the login screen need to be configured, like the user who gets automatically logged in, or whether to show a user list, and similar things.

At the same time, we have collection of more or less inadaequate tools for managing user accounts in Fedora. On the one side, there is system-config-user with its more 1-1 translation of /etc/passwd and /etc/group into widgetry, on the other side, we have gnome-about-me, which is just a variant evolution contact dialog. I once tried to fill out the ‘Assistant’ field, but it didn’t work. The assistants never showed up in my office…

So we sat down and did a bunch of design work for a new user account dialog that would also cover login options, back in Spring of 2008. Somehow, we never got beyond the planning phase, unfortunately.

So, during the X-mas break, I decided to see if I could put together at least a prototype implementation. It was a fun experience to start a coding projects from scratch for a change, after years of mostly patching old and crufty^Hmature codebases like GTK+.  This has been going better than I thought, and you can find the results so far in the accountsservice and accounts-dialog repositories.

Screenshot-Overview

Recently, Bastien joined in the fun and added photo support, via cheese, which is really fun to play with.

The next steps for this tool are outlined in the Fedora feature, mostly getting gdm and other programs to work with the data provided by the accounts service. I should probably also work on setting up more proper project infrastructure, so that we can accept contributions from others more easily. Until I get around to that, patches are welcome via mail…

Filed under: Uncategorized — mclasen @ 7:10 pm

Pixel-perfect is just not good enough

October 29, 2009

The Fedora design team are a demanding and skilled crowd. Recently, Martin Sourada dropped by on fedora-desktop-list to complain that some of our recent UI work did not quite meet their standards of quality, since we did not align our drawing properly to the sub-pixel grid. And he was right.

tooltip-before

tooltip-after

Worse weather, better tooltip

Martin did not stop at complaining though, he gave us patches to fix blurriness in tooltips and OSDs. Way to go! If your Fedora 12 experience is sharp and crisp, thank Marin.

osd-before

Bright, but blurry

osd-after

Dark and sharp

Filed under: Uncategorized — mclasen @ 12:02 am

5 little things

October 26, 2009

Here are 5 small things that I am looking forward to in the Fedora 12 desktop.

Trendy tooltips

Better tooltips

GTK+ tooltips have traditionally been yellowish, and have a strong smell of Windows 3.x. In Fedora 12, they will come in a fresh blue, with nice rounded corners and a touch of translucency. We have also improved the positioning algorithm to avoid covering the tool that the tip refers to, as well as appear in a more predictable position.

Statusicons

Spacious icons

Status icons have any number of problems. Two of the bigger problems are that they are all crammed together, and that they jump around as they come and go. In Fedora 12, we have added a small amount of padding between status icons. The padding is added inside the icons, enlarging the clickable area for each icon. And the notification area keeps icons from jumping around, by sorting them into predetermined positions. ‘Standard’ icons such as battery, network, Bluetooth and volume go the the right, everything else goes to the left.

Spacious applets

Spacious applets

Just like status icons, applets are traditionally crammed together on the left or right side of the panel, since the panel configuration is not flexible enough to do anything better, short of hard-coding absolute positions. No more. It took me one evening to figure out how to insert padding between objects without breaking any of the drag modes that the panel supports.

Special folder icons

Special folder icons

Just a nice little touch. These icons make it a little easier to find the locations for Music, Downloads, Pictures, etc. They appear in the file chooser, in nautilus and in the Places menu on the panel.

A new NetworkManager look

A new NetworkManager look

NetworkManager has always been stretching the limits of what a GTK+ menu can do. The new design still straddles those limits, but in a much more usable fashion. The ‘More Networks’ submenu limits the length of the menu, the unwieldy progress bars have been replaced by icons, and it is possible to explicitly disconnect.

Filed under: Uncategorized — mclasen @ 9:02 pm

Fit and Finish – how are we doing ?

August 26, 2009

We’ve now had four Fit and Finish test days. So maybe it is time for some status update. I think it is fair to say that some have attracted more testers than others, but we’ve managed to identify a fair amount of issues in each one.

  • display configuration – 24 bugs
  • batteries and suspend – 7 bugs
  • peripherals – 25 issues, 21 bugs filed
  • printing – 12 bugs

One thing to notice here is that we should follow up and make sure that all the identified issues actually make it into bug reports. We seem to miss a bunch of bug reports for the peripherals test day.

But how did we do wrt. to actually fixing things ?

  • display configuration – 6 of 24 fixed
  • batteries and suspend – all 7 fixed
  • peripherals – 4 of 25 fixed
  • printing – 8 of 12 fixed

Not a perfect result; maybe retesting of the reported issues is in order, to see which ones have been fixed and report more details for those which are have not.

But nevertheless we did get a bunch of very noticeable improvements already. For instance, we no longer clone multiple monitors by default (#510026), rotated monitors display without an offset (#510074), the brightness on-screen display matches the volume on-screen display visually (#512962), we detect if hibernation is possible before trying it (#513015), Bluetooth printers no longer crash the cups backend, and system-config-printer shows printer status in the printer icons.

Of course, things are getting fixed all the time, whether they are reported as a fit-and-finish bug or not. Here is a small list of ‘polish’ fixes that we are doing for F12.

What comes next for Fit and Finish ? I think we are going to look at ‘Sharing’ (of music, files, your desktop, etc) next. I haven’t figured out the exact date for that yet, though.

Filed under: Uncategorized — mclasen @ 9:41 pm
Older Posts »