LauraCowen.co.uk

Laura's view from her world

Gallery 3 – lessons learned in consumability

April13

As a long-time user of the Gallery software for our photo gallery, and having recently totally fallen out with Gallery 2 (the software, not the people who I’m sure are lovely), I am just a little bit excited to read about the all-new Gallery 3 version which is now in its alpha release cycle. In particular, this insightful paragraph which nicely sums up the fundamental problems with Gallery 2:

Gallery 2 does many things for many people and this diversity has made it unhealthy. The code base is too complex and over-engineered because it was designed to fix every single thing that was wrong with Gallery 1 (Second System Effect) leaving its scope hazy and broad. And while the Gallery 2 code supports DB2, MSSQL, and Oracle we don’t actually have anyone on the team that knows much about them, so there is nobody to fix bugs or add features in these areas. Gallery 2 was designed from the bottom up with architecture and design patterns first, so the User Interface and User Experience need a ton of work! This is shown by the huge number of strings and documentation that need to be provided in the product for people to understand it, and multiple attempts for tech writers to document Gallery 2 have all failed. Lastly, the product is immensely complex which forces developers to take months or years to get up to speed. This makes it very hard to attract new developers, and that makes us sad.

(Gallery 3 Begins)

This paragraph, in its analysis of where they went wrong in their approach to designing Gallery 2, could easily be applied to numerous other pieces of software; it epitomises the approach taken by so many software developers (both Open Source and proprietary):

  • Not clearly identifying who the software is for and what they want to be able to do with it. And not sticking with that definition, with the result that the software tries to become all things to all people and fails everyone by being too complex.
  • Reacting to, and implementing, every user request indiscriminately. Yes, listen to users but do not be led by their requests. Users are not designers. They just want to do what they want to do and don’t really care what other users want to do. Some requests will conflict with other requests. Which is why you must have a clear understanding of who your users are, what their skills are, and what their goals in using your software are. Only then can you make informed decisions about which requests should be absorbed and which should be ignored. You can’t please everyone but, as long as you know who they are and you’re careful to design for them, you can please the people who you want to use the software.
  • Making the software difficult to maintain and support. Aside from lacking contributors to the project, it increases the risk that when updates are released, they break other parts of the software because no one in the development team really understands how everything hangs together.
  • Expecting documentation to paper the cracks in the software’s design. Documentation (not just the manuals but the labels on the User Interface or the titles in a wizard) has an important place within the whole product but always check honestly for whether the documentation is really necessary or whether it’s just covering up for a dodgy bit of design.
  • Assuming that User Interface is the same as User Experience. The User Interface (UI) is only a part of the User Experience. One example in both Gallery 1 and 2 (though it’s way worse in Gallery 2), is the expectation that users implicitly understand Unix-style permissions. The UI didn’t help but the underlying concept of Unix-style permissions makes the software (and the UI) so much more complicated than it needs to be. (Gallery 2 was way worse because I still can’t work out how to set permissions – and I do, to an extent, understand Unix-style permissions.)

I think it’s really cool that Gallery have openly recognised and acknowledged the problems with Gallery 2 and what they need to do to make Gallery 3 successful. The really hard part now, though, is to make sure that the development team don’t fall back into their Gallery 2 ways of thinking. That’s not to disparage the development team; it’s just hard to adopt new approaches. But it will get easier with practice. The clearly stated Gallery 3 list of priorities is encouraging and, while I’ve not looked at their progress in the alpha yet, I look forward to the first release.

tagged with:
posted on 2009-04-13 at 12:04 pm in HCI & Usability, Open Source | No Comments »

Updating NVIDIA graphics drivers with Ubuntu kernel updates

November30

I’ve tagged this post as a ‘BitOfAWhinge’ because…it is. But bear with me; it’s got some random praise in it too.

I run Ubuntu Hardy on my Thinkpad T61p but (as I mentioned in a previous post) I use the proprietary NVIDIA graphics drivers so that I can have a decent resolution and use Desktop Effects. This works fine most of the time. Unfortunately, however, most times that I install updates that include kernel updates, the NVIDIA graphics modules become incompatible with the new kernel.

I guess that, were I running them, the Ubuntu graphics driver would be upgraded along with the kernel and this wouldn’t be a problem. As it is, though, after installing the kernel updates and rebooting, X (the graphics environment) takes some effort to load (on the computer’s part – not sure quite what it’s doing but it seems to be straining a little) before loading into a low, non-widescreen, resolution (bit like Windows safe mode). It also seems to revert to US keyboard settings so that certain non-alphnumeric keys are in the wrong place – awkward when entering a password that might contain them.

From there, I have to re-run EnvyNG (the nifty little app that goes away and installs the appropriate NVIDIA graphics drivers – or, in this case, probably just recompiles the modules or something), then reboot. And then everything’s fine. Today was about the third time this has happened. It’s not a major problem now that I know how to fix it but it is irritating and slow. The first time it happened it was quite concerning until I realised that running EnvyNG would fix it all.

So not very user-friendly. Better would be if the kernel update would recognise that there are other modules that are now incompatible (at this point you might be able to tell that I don’t really know how it works but that’s not the point) and, after installing but before rebooting, prompts the user that you’ll need to update them too (ideally with ‘and how to do that’).

VMWare have now cottoned on to this (yes, another proprietory app). Usually after a kernel update, you click VMWare Workstation to start and it just doesn’t do anything (again, rather concerning; if you know how to run it from the command line, you at least get a message that tells you to re-run the VMWare config script). Today, however, I got a little message pop-up saying that I needed to update the modules (or something like that) and I could press a button to do just that. It did it all for me and just worked.

So, some random praise for both EnvyNG and VMWare for making things easy to update. Minus points to Ubuntu Update Manager for not at least warning me that that would be necessary. I understand that by using proprietary software on Ubuntu, Ubuntu probably can’t (or shouldn’t) be held responsible for updating it, but it would be nice to be warned that I would need to run the updates myself.

Okay, not the most riveting blog post in the world but a start on my quest to have software developers (all developers; not just Ubuntu or even just open source) think a little and put in what might seem (to them) like niceties but which make all the difference to the user’s experience. Afterall, it’s for the user that this software exists at all.

tagged with:
posted on 2008-11-30 at 03:11 pm in Open Source | 3 Comments »

My missing Keema Nan

November23

I just called our local Indian takeaway to order some yummy Friday night food. At the end of the phone call, when I gave my name, the guy at the other end of the phone stopped me and asked if I’d ordered a meal from them on 3rd September.

I was slightly bewildered and couldn’t remember. But on mention of a missing keema nan it all came flooding back.

A few weeks back (apparently on 3rd September), we ordered and collected an Indian takeaway. On getting it home I was rather distressed to find that it was missing from the paper bag. I recovered though and, ultimately, forgot about it.

Until tonight when the lovely man at the Pipasa remembered my name (and, probably, my identical order!) and told me that he wasn’t going to charge me for my keema nan this time.

How good is that for customer service? :o )

tagged with:
posted on 2007-11-23 at 06:11 pm in Other Interests | 2 Comments »