Sunday, August 03, 2008

Visions of GNOME 3.0

Introduction

I've been silently digesting all the GNOME 3.0 thoughts for a while now. Then, yesterday, I installed KDE 4.1 and all of a sudden things kinda crystallised in my mind. I'm a marketing person, so I tend to think in terms of users; and user needs and wants.

In what follows, I will assume that in any GNOME 3.0 release the GNOME 2.x values (Powerful, Simple) will be incorporated. I would like to see GNOME's next major release add to that list and I've got a tag-line all ready: GNOME 3.0: Helpful. In what follows I will try to explain what this means and why I think it's a good idea.

What do you mean, "Helpful"?

I mean that GNOME (the development platform and the bunch of officially blessed applications that comprise a release set) is a set of enabling technologies that enable developers and users to get stuff done using computers without putting barriers in the way. In other words, user experience.

What, then, are the barriers that get in the way of getting stuff done? What would produce a qualitatively different release of GNOME, one that makes using it feel different?

Uninterrupted workflow

Has it worked?

Why, why, why does it take the simplest of applications (a text editor or a terminal) more than a second to start up? At least there's a little animation to tell me that my request is being considered, but why is it taking so long? Should I be worried? And if the animation happens for requests (commands) that take a long time, why doesn't it happen for all of them? Many times I've clicked on the update manager icon in the panel twice (with a delay of a second or two between clicks) because nothing seems to be happening. And then, of course, I get two instances of the application running (eventually).

This behaviour interrupts work-flow and train-of-thought. Application startup time is a seemingly small issue, but consider how it would feel to use a computer when there was more-or-less instant reaction to user input. It would become a qualitatively different experience.

With the work on GNOME-Mobile underway, can we get that work for re-jigging GNOME to work well on resource-constrained machines back into "mainstream" GNOME? Please? That would be really helpful.

Has it crashed?

Why, oh why, do applications fail to repaint the screen or respond to user input (mouse clicks, for example) while they are waiting on disk or network I/O? Has the application crashed (and do I need to kill it?) or is it actually working "normally"? Do I have do interrupt what I'm doing to attend to it, or shall I just wait?

It has crashed! Why?

OK, so a GNOME application has crashed. What do I do now? Start it again and hope it doesn't crash again? And if I got an error message, does it actually give me (a non-programmer) a clue about what to do in order to prevent it crashing again? If it's a problem that others have faced and solved, can I get their solutions quickly and easily? (Reverse Bugzilla?)

Helpful summary

So, priorities for GNOME 3.0 from the user-experience point of view. In summary we need to increase responsiveness:
  1. Reduce application startup time

  2. Eliminate blocking UI on I/O

  3. Automatic bug reporting

  4. Automatic bug solution/work-around suggestion
That would be helpful.

Mutual Help

All the above is about developers helping users. But how can users help developers? By writing documentation, of course! But it be "user" we mean "non-programmer", how easy is it for a user to "contribute" to the community rather than just taking?

User-contributed Documentation

It seems to be a truism that programmers hate to write documentation. Well, maybe not hate: probably they've just got better (more interesting) things to do. So let's harness the type of goodwill that gets people posting to user-to-user help forums and writing Wikipedia articles. But let's not start another "social networking" web site. Let's put the good stuff into the documentation that comes with the software.

Currently in order to do that a user must learn a markup language, and hence a write-compile-test cycle of working. Probably a (D)RVCS system too. Can't we create a tool that would make it easy for a user to submit an edit to existing documentation (including tool tips) or create an entirely new chunk of documentation? People would actually use it.

Then we'd need an editorial layer. The maintainer(s) and their trusted lieutenants need to do that. But "trusted lieutenants" need not be other coders. They could be simply particularly clueful users. But they'd need easy-to-use tools.

That would be very helpful.

Summary

I've written about things that bug me when I'm using my computers: things that get in my way, make me focus on the software rather than what I'm trying to do. Addressing these issues is not trivial, but it would produce a quantum leap in user experience compared to any other GUI that I've ever used (including various versions of Windows and OS/2).

Why should you care? GNOME will never, ever, gain significant market share if it's at least as good as the alternatives, with the additional benefit of being Free. Only if it's obviously, immediately, better than the alternatives will it grow, What is "better"? Well, "not so annoying" would be a good start.

I've written about helpfulness from the user's point of view. Perhaps someone who knows could write about it from the developers (ISVs?) point of view?

13 comments:

Anonymous said...

Some good ideas.

Relating to the user documentation, you might want to look at PHP. The user contributed documentation is often better than what is provided by the PHP developers. For many people, it's one of the key selling points of PHP. Here's a sample:

http://ca3.php.net/manual/en/function.html-entity-decode.php

Randall Wood said...

If live.gnome.org was updated to the current MoinMoin release, it would be (technically) possible to write a document in the wiki, export the document at some complete state to docbook, and then either maintain the document in svn/bzr/git/whatever or re-export the document when changes happen.

Ethan Anderson said...

I think it's a good idea to go for consistency and a good set of human interface guidelines.

Ditch the two panels w/ window list at the bottom for one panel at the top with a dock window navigator. Sic a team on fixing firefox and openoffice integration related bugs.

Merge menu and tool/location bars. Spreading visual noise out doesn't reduce it. Turn status bars off by default or make them part of menu/tool bars at the top of a window.

Text is ugly. Use shiny .svg's instead whenever possible to do in a unified, coherent manner.

The more specific the HIG and the more strict its adherence, the more polished the desktop.

...and last but certainly not least, let the DE do cool stuff /without/ having to use the terminal. Disabling nautilus? Root window screensaver parameters? XWinWrap? Doesn't Vista already ship with something that just works?

Anonymous said...

While I'm that confident it'll eventually happen, I'm not sure when we'll actually get to see GNOME 3.0 out of the door. However one of the things I do wish to see continue from the 2.x series is the relative stability, usability despite unabated innovation (e.g. gstreamer; dbus/hal; gio/gvfs; etc).

As a sidenote, I'm not sure if this is at all an appropriate avenue to channel this "concern" but here goes nothing...

Some Thai friends of mine told me that if they can help it/afford it, they'll avoid using GNOME. Why? It has to do with GNOME's foot logo. It's a cultural thingy. To the Thais, Laotians and I heard many other Tai-Kedai people in the Indochina-Mekhong region, the foot is the basest/lowest part of the human body. One should NEVER ever point any part of one's foot in the direction of another living person.

It may seem to be asking too much for GNOME to consider perhaps changing or modifying its logo to address such taboos but if eventually the Project does decide to do it, it won't be a 1st. For our fellow brethrens in libre software world - both FreeBSD and NetBSD - have in recent years, replaced their old "devil" logos with less sacrilegious and profane.

Any thoughts?

kelemeng said...

Regarding the easy documentation editing tool, this was a GSoC project last year and is living in the SVN under the foiegras module. Bad thing is that its development stalled.

Greg K Nicholson said...

I once found a typo in the online (Yelp) help documentation and wished I could fix it as if I were reading Wikipedia.

If Gnome is less open than Wikipedia, we're in trouble.

Anonymous said...

Also, stop spamming the user for no reason. One prime example is the network manager. Always when I log in, I get the silly popup balloon that I was successfully contacted to (my own.. sigh) wlan. It's horrible usability.

An other real nuisance is the packagekit gnome-panel updater applet. It's spammy as hell while ordinary users couln't care less or understand less of what even updating means.

Anonymous said...

As a gnome user, I would love to see your ideas taken into account.

1) because we don't need new stuff(TM), gnome is good enough as it is, it just needs polishing a bit. (Don't repeat others failures)
2) the end-user is our client. Make him happy, by doing everything just work. Gnome will be successful the day when the user say "Am I using Gnome ? oh, I didn't noticed!"

The less we think about the OS/UI/Application or whatever is in the way of producing things, the more we work. And when the work is done, we could then be satisfied with the tools used.

Anonymous said...

Those points you grouped under "Helpful" would be really, really nice to have. And that would also distinguish Gnome from other desktops. However, I suppose that changes like these are not really visible to a new user; it's one of those features that work best if the users doesn't really notice (I mean, it's unlikely that a user switches from Gnome2 to Gnome3 and says "Oh wow, this is _so_ much snappier!"; he'd rather say "well, it behaves as I expect it" and maybe "maaan... I switched from Gnome3, but it looks exactly the same as that old stuff - what did those lazy devs _do_ all the time?").

On the other hand, implementing quick application launch and low "latency" and no freeze-on-IO is probably going to take really lots of work... So I doubt this will really make it near the top of the Todo list...

Anyway, I would really love to see these features!

Unknown said...

Probably the coolest documentation system I've come across is SciPy's. My understanding is its a "wiki" thats really just a front end to the documentation in VCS. It will even let you edit API documentation that is inline with the code.

http://sd-2116.dedibox.fr/pydocweb/wiki/Front%20Page/

Anonymous said...

Interesting ideas for docs, but it will be pain in the ass for worlwide translations.

Reducing memory footprint, speed, polishing etc. is not for GNOME 3.0, but for GNOME 2.xx. If we plan a GNOME 3.0, we need to come with new ideas, not just improvements. See KDE, they revamp a lot of things, with pain, but they do it.

So we need ideas and developer taskforce. Personnaly I have a lot of (IMHO) interesting ideas for GNOME (e.g. something about using empathy as a framework for collaborative work and communication using your contact list, hildonization of most of GNOME) but I'm not a developer. And developers are very busy and rare people.

Anonymous said...

Regarding Documentation system for easy user contribution. This is actually not as difficult as it sounds. Using even the current format as it's not the documentation format that is the problem but the interface into it.

Just an example of how document contributions can be made.

1. John is struggling to install a new application. He does not know how. So he clicks on "Help and support"

2. He finds how to add an application and starts installing.

3. But he notices a spelling error or a miscommunication in the help documentation. So he goes into the page right clicks goes into edit mode and submits he's suggestion.

4. The documentation maintainer receives the suggestion and accepts it. Sally opens up the help page (after updating of course) and there is no spelling or logic errors in the documentation.

Anonymous said...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!