The Gritty World Of User Interface Exploration

No blogging for a week. Was this due to lazyness? No. Was this due to writers block? No. So what was the reason? Well obviously it was because of the grandiose duo of crime-fighting elegance that was FossCamp and the Ubuntu Developer Summit. Prepare for a series of blog entries about some of the discussions and experiences that happened at these two events in the last week or so.

Also, a quick public service announcement. Please be a little patient with me with email: despite attempts to keep up last week, I have an almighty backlog of email and will be processing it as soon as I can.

I want to get started with a fascinating discussion that happened at FossCamp. A little while ago I wrote an article called The Flow Of Ideas. The basic gist was to encourage the development of user interface ideas and the opportunity for users to test said ideas easily, effectively and importantly, safely. It was an observation that in the GNOME world at least, the sharing of prototyped ideas has really helped drive innovation forward. The problem I want to solve here is in the sharing part of this problem.

At FossCamp I used the opportunity to discuss the idea. The concept behind the workflow was largely inspired by Firefox Add-Ins: the user should be able to select from a list of user interface experiments, and easily run them with a click of the mouse. Our goal should be to make these experiments as easy as possible for the developer to produce (write some code and focus on the idea and not maintenance) as well as easy to access for the user (install and run, easily and safely). We also have many areas in which we can draw influence. KDE have Get Hot New Stuff which is similar, and there are some other resources that make the sharing of ideas easy. Allison mentioned an MIT system that she drew some ideas from in the discussion, but I forgot to write it down. If you read this Allison, do let us know. :)

But the opportunity here is not in simply delivering the crack of the day to our users, it is in developers to easily create user interface experiences that our users can provide feedback on what works and what doesnt. Imagine if I could write up a small Python script that uses Glade and PyGTK that demonstrates a user interface idea. I want to share that idea with interested users and see what other ideas could be inspired from my concept. I also want to make the solicitation of feedback as no-brainer as possible. No subscribing to mailing lists. No account creation. I want it to be as simple as walking up to someone and saying “so, what did you think?

There is nothing new in what I am suggesting, at least outside of IT. In the car industry, manufacturers produce concept cars. In the fashion world there are a range of convoluted and frankly ridiculous creations gliding down the catwalks. These innovations are never intended for the mass market, they are intended to show what is possible when the creative minds behind them can create with no restrictions.

We need to inspire our incredible community with this ethos. We should be encouraging anyone with a great idea to get it in front of our users so we can learn from these experiences together. Our community is a huge boiling pot of possibility and I imagine that many of these ideas will form the inspiration behind our future interfaces.

So, all in all an excellent discussion. But, that is not the end of the story. Ryan Lortie, a man officially renamed to Ryan “King Of The Universe” Lortie grabbed me while I was wandering through the venue and showed me that has started implementing the idea, naming it gritty:

“gritty: jono had one of the first sessions of fosscamp. his idea is that we’d have a lot more experimentation with the development of cool new software if it wasn’t so damned difficult to get your hacks on to other people’s machines. lowering the barrier to distribution would encourage people to share ideas. early exposure to users will encourage hackers to develop their ideas into proper projects. mvo and i have started hacking on a prototype for how this might work. gritty is a name chosen at random by mvo picking a number and me going to that line in /usr/share/dict/words (+/- about 10 lines… “groans” wasn’t such a good name). with any luck we can have a first version of this in jaunty”.

The man is a hero. Please tell him so. I can’t wait to see where the idea goes: I really genuinely feel like this kind of technology exploration could produce some fantastic opportunities for the Open Source desktop. Lets see what happens. :)

  • Vadim P.

    Great work. Just be careful to continue to tred the thin line of “windows stupid logic” and “apple’s overthought stupidity”. It’s very thin, but Gnome’s been doing a great job so far of making out the good parts.

  • http://www.stefanoforenza.com Stefano F. (tacone)

    How does that differs from a “Gnome generic application’s plugin installer lib” ?

    One has already been started, and implemented in the DeskBar. I don’t like it, because it’s in Mono, seems too complex and is a yet-another-daemon-dowereallyneedit ?

    If you’re interested in helping gritty, be sure do to digg brainstorm, launchpad blueprints and ubuntu wiki, you may find a nice number of lineguides.

  • ethana2

    <

    p>I don’t think Apple overthinks things. They just make one mistake in GUI design every few months, and they try to maintain consistency that locks them into those mistakes. To be fair, Apple’s OS is probably the best GUI that currently exists, although I very much look forward to the next K/Ubuntu releases.

    I have GUI ideas, but I have trouble expressing them in gconf keys because the panel configuration stuff confuses me and there are these things gconf-editor can’t mess with yet.

  • ethana2

    Sorry, I put ‘schema’ in carats and it vaporized.

  • http://troy-sobotka.blogspot.com troy_s

    @Vadim P.: “apple’s overthought stupidity” – one person’s stupidity is another person’s genius. Depends on the audience doesn’t it? ;)

  • Vadim P.

    @trouy: Yeah. What matters is who’s genius does the majority prefer!

  • http://brainstorm.ubuntu.com/idea/12644/ Howard

    the sharing of prototyped ideas has really helped drive innovation forward.

    The purpose of prototypes is to show what can be done, and then ask a group of people if they feel it should be done (at all), or else, done differently.

    Firstly, the question I think that needs asking is: “What’s the lowest barrier of entry, such that anyone with a good design idea can easily showcase it and get feedback from the greatest number of people?”

    Second, I feel it’s important, as well, to take the focus off of coding, and place it on visuals and interaction flow. You expect a plummer to be able to give you running water and fix leaks, but you don’t expect them to be able to design a beautiful bathtub and faucet. Similarly, I think we shouldn’t expect programmers to necessarily be elequent at the art of good user interface design – though some certainly are.

    The solution for these two issues is simple: Instead of coding, we should be drawing and sharing our drawings with each other, and getting comments and feedback on them. Using Gimp, or Inkscape, it’s quite easy to create a quick sketch of a new design concept. If you post a series of sketches, you can show how a user might interact with your design – as if it were an actual working prototype. If there were a Brainstorm-type website to showcase these drawings on, you could easily attract a large audience of Ubuntu users, who would provide plenty of feedback on how well that design might be received, and how it might be improved.

    Drawings are also good because it’s a lot easier to scrap them and start from scratch than it seems to be with code. This “lack of attachment” to one’s ideas is great, because it invites greater experimentation.

    I recently spoke to Ted Gould, of the Desktop Experience Team. He’s working towards creating design(dot)ubuntu(dot)com. Perhaps it will be similar to what I’m suggesting.

    Just my $0.02

  • jono

    Stefano F. (tacone):

    How does that differs from a “Gnome generic application’s plugin installer lib” ?

    News to me. What is that?

    ethana2:

    I have GUI ideas, but I have trouble expressing them in gconf keys because the panel configuration stuff confuses me and there are these things gconf-editor can’t mess with yet.

    This is exactly what I want to change. I want to see it much easier for people to express UI ideas. A small amount of Python and Glade knowledge should suffice and be able to ship this to users.

    Howard:

    Thanks for your views, and your analogy with the plumber is excellent.

    The solution for these two issues is simple: Instead of coding, we should be drawing and sharing our drawings with each other, and getting comments and feedback on them. Using Gimp, or Inkscape, it’s quite easy to create a quick sketch of a new design concept. If you post a series of sketches, you can show how a user might interact with your design – as if it were an actual working prototype. If there were a Brainstorm-type website to showcase these drawings on, you could easily attract a large audience of Ubuntu users, who would provide plenty of feedback on how well that design might be received, and how it might be improved.

    Drawings are one aspect of interaction design. We should encourage this also. But I think there is real value in encouraging prototyping and delivering those prototypes to users. They are far more suitable for demonstrating real interaction.

  • http://www.stefanoforenza.com Stefano F. (tacone)

    Jono: An invented name, as I was too lazy to search for it in google. Here it is. http://capuchin.k-d-w.org/