What’s the best way to: a. Improve usability in software applications? b. Review usability of existing software? c. Generate, encourage and review new ideas on software UI design? d. Make all this research work freely available to everyone (open source, proprietary, etc.)? e. Connect with all developer groups and individuals out there to share this work with them? Read more to find out.I’m an idealist when it comes to software and computing in general (not so much in other aspects of life I admit!) and I think software usability is lacking on a very basic level. There have been efforts – big, structured and commendable efforts – to try and improve application usability – like the Gnome and Apple HIG. These efforts, however, do not work for improving or generating new ideas in UI design and usability. Instead, they are in place to make sure applications conform to set guidelines – guidelines which do not push the boundries of interface design.
Between all this, I think there is a gap in the development process where-in new UI ideas are not voiced, encouraged and built upon. The only place where this goes on in a structured manner is in companies with big R and D budgets, e.g. Apple, Microsoft, Macromedia (now Adobe), etc. We need an alternative, not to replace what these big companies are already doing, instead, to
build our own open forum (for lack of a better word) for everyone to
discuss and build new interfaces and improve usability.
Aim of the Project:
To help increase awareness
about interfaces and usability (or the lack of it), to help raise the
standards of what is considered acceptable, push new ideas into the
open for discussion and in the end, make sure every Mum in the
world can email/ nag her son/ daughter who is half way around the
world.
Simple, and with good direction
— easily achievable aims — expect for the ‘Mum’ bit …
Basic Principles of the Project:
- It must be accessible to everyone; Absolutely everyone…
- Everyone should be allowed to borrow ideas, designs, etc. from this forum and use them in their projects, without restricting it only to open source projects. So, if Microsoft come to visit and decide they like a UI idea, go back and build an entirely new OS out of it, so be it; good luck to them.
- Credit must be given whenever anyone uses a design/ UI idea(s) in their software which first originated on this forum.
- The forum should encourage people to submit demos and not simply write up what they think is a good idea. This, for obvious reasons cannot be a blanket rule. More details below …
- The forum should not be restricted to desktop applications. Mobile applications, Web applications, etc should all be welcome.
All this throws up a lot of questions, a few obvious ones which I’ll try and list below.
Project Structure:
From whatever little thinking I have done about this, here is how I
think the Project should be structured:
For every type of application, for e.g. News readers, users can submit
their design/ demos/ write-ups all which can be commented on, rated and
improved by everyone else.
Project License:
Licensing is always a contentious issue, today more so than what others
experienced a few years ago and this is something that we’re going to
need a strong consensus on. I think we need to keep one thing in mind
when discussing this: the license should give credit where it is due
and should be open to everyone.
The way I see it, we can go two ways with this:
- A blanket license for the project that every submission should
adhere to. Or, - Let each contributor decide which license they want their work to be
available under.
With either option, we need to decide who other than the original
author/ creator should also get the credit. Should everyone who has
commented and helped improve the idea and design also get credit?
Personally, I think they should.
As for which license we use: based on my limited understanding of
licenses and their idiosyncrasies, I think the Creative Commons license
would be ideal for such a project.
There may be other licenses out there that can achieve the same which
is good but I think we should avoid trying to write a new license which
would only end up confusing the issue more than it
needs to be and distract everyone from the project’s main aim.
As for why not a more ‘closed’ license, this project would be
effectively useless if we locked out all the major software vendors who
build and supply so much of the software out there. There is no point
in building good UI’s if only a handful (lets not argue about the specifics,
please) of desktops will ever see them while the rest of the
proprietary world is left to the whims of the companies. This way, at
least the companies can choose whether to adopt an idea or not instead
of simply blocking them out of it.
Demo Tools
If we are going to be reviewing and proposing new UI’s, we need a
way
to show it to everyone on the forum and not just describe it in words.
Flash demos are good but I can’t see many people going for that, simply
because it does not come cheap. The other way could be simple
slideshows built using S5, scans of sketches drawn on paper or even
research tools like Denim which are ideal for such initial prototyping.
This I imagine will be a very open topic with lots of options all of
which can fulfil our aim of providing demos.
How do we start?
I suggest we start small. That is not to say that we shouldn’t put everything we have and can behind it, but, rather, we keep it measured and grow incrementally.
- Get some general consensus on the idea: This is going to be tricky but it always is and with good reason.
- Set up the project somewhere: This would include looking in to existing project/ source management tools Sourceforge, etc. and seeing if they fit our needs. If not, build our own.
- We will also need a place to host it, administer it, etc.
- Try and get OSS projects like Gnome, KDE, and other major
contributors along with distributions to join in and pledge their
support. Companies and other vendors will follow — hopefully. - Let the community take it from there…
About the author:
I’m currently working as a project manager in the UK. I’ve only recently started writing and working on getting my own website running. For now, I’m temporarily parked at http://manabenz.blogspot.com.
If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
UI has a life of it’s own – it’s not something a forum or commitee can actually change or “improve upon” dramaticall simply because UI evolves by borrowing ideas from all areas.
To have a forum which actively tries to setup these ideas simply will not work, because of the nature of “borrowing” ideas – nobody is going to go onto a forum to look for ideas when they are already present.
One persons menu idea is not anothers, so you’ll end up with constant disagreement.
Being a Flash developer I constantly scour the web and view what other people have done, I rarely consult anybody on UI design, prefering to trust my instinct to what I know my clients are USED to – that’s the key thing.
It’s accepted to have widgets like window maximise/minimise/close, to have tabs and menus – these have developed and evolved over the years and continue to do so.
It’s an almost organic process.
KDE may decide to go in one direction, Gnome in the other. Apple may look at what KDE have done in one area and go “Hey, that’s cool – lets borrow from that”, Gnome may look at something Microsoft has done and implement a similar concept.
That’s the way it works and it’s the way it always will work.
As much as it may seem like a good idea to try to setup some UI standards and a design forum, I dought it will have much impact on the industry as a whole – the basics of UI are already defined and are a change that is constant – it’s moving forward with popular desktops and desktop software, slowly introducing users to new ideas and concepts.
I think it’s a good idea. News, editorials and comments about usability and interface innovation are appearing from time to time, and a project so open like this one could lead to some interesting developments on this issue.
I hope it could attract enough people, organisations and companies to have some real effect!
Good luck!
I humbly request a voting so that I may vote-up previous post.
I mean, previous-previous. Doh.
I think there’s some genuine merit for a a forum like this that focuses on experimental UI. Especially if the scope of what’s being considered is pushed into non-traditional computing environments.
There are a lot of forum on application specific UI. Forums on OS UI. Most seem to be reactionary to the interface platform. A forum like this could provide UI designers with a venue where experimental and alternative UI designs could be evaluated and refined.
It is soo relaxing seeing people dreaming… especially when their dreams are even more far fetched then mine and I am a chronic dreamer still hoping to see Adobe producing Creative Suite or Premiere for Linux, maybe Zero-Install replacing apt as the main software distribution system.
bb_matt, I agree UI is evolutionary. But your argument somehow seems to strengthen the point I’m making as well: we need a different way to guide the evolution of UI than what currently exists.
I’m not proposing radical solutions and ground breaking changes. All I’m suggesting is lets give regular users, designers, etc. who are not employees of MS, Apple, or involved with Genome, KDE a chance to contribute because there are a lot of clever people out there with some very good ideas.
As for the point you make about standards, what standards? The article makes no effort to say that we need standards or god forbid, new standards in place.
As for you point about widgets, I’m afraid to you that you’re completely missing the point here.
As for every project taking and creating their own path, they do that right now and they will continue doing that int their own ways. All I’m saying is, lets give others a chance to provide suggestions that might lead them on a better path.
Mayuresh
Usability is much like religion, art or philosophy. Everyone has their own school of thought, point of view and vehement bias. There is no one size fits them all solution. Each project has to tackle usability on an individual basis.
Fundamentally, usability is about good design. The reality is that there are not many creative and good designers in the programming world. I know only a handful of hackers who have a good sense of style and taste. Unfortunately, usability is more about good judgement, style and taste, than it is about rules, principles and human interface guides.
UI design is like a religion – some people might find it pragmatic, some dogmatic, and some can find the light they were looking for all life. Some change it a lot, some little, and some are fine with what-ever it is. Some are always on the most-popular one, and some are strictly orthodox… And wars, and wars, and wars.
Heh, okay – I dunno… Lastly I’ve took this look at UI design, from portable programming perspective:
1. Native look approach (aka wxWidgets). Do whatever you do, make sure that your app looks native on the platform it’s running on.
And that’s not only to take care of the look&feel, but also to be able to use the IME, the Speech, or reading capabilities the system is giving you.
For example Qt or FLTK, by not using native system-widgets are unable to cooperate with what the system is giving you additionally (for example a service which is reading the text off your window, if that was a standard GUI window – then the service would work – a.k.a. wxWidgets).
2. Then again, sometimes widgets which look one and same everywhere are preffered – for example typical audio-plugins (VST), which are full blown sets of cool-buttons, knobs, etc, or games, or application which are not supposed to be runned by everyone (I do not expect my granny to tackle with the latest reverb, or echo audio plugin).
So clearly if you decide that your project would need to create UI accessible for everyone, then you are actually limiting yourself. Freedom for one thing, is limitation for another.
Lastly I was mocking around with the wonderfull non-native widget GUI (actually full-blown framework) JUCE kit. It’s located here:
http://www.rawmaterialsoftware.com/juce/
The author has some cool demo on his site:
http://www.rawmaterialsoftware.com/juce/downloads/jucedemo.exe
http://www.rawmaterialsoftware.com/juce/downloads/jucedemo.dmg
First for Windows, second for Mac OS X.
http://www.rawmaterialsoftware.com/juce/api/index.html
or CHM:
http://www.rawmaterialsoftware.com/juce/api/juce.chm
I’ve did a small app (System-Wide Environment Editor) really quickly in it. Here it is (sources+exe included)
http://homepage.mac.com/malkia/swee32.zip (285kb).
bb_matt, I agree UI is evolutionary. But your argument somehow seems to strengthen the point I’m making as well: we need a different way to guide the evolution of UI than what currently exists.
I’m not proposing radical solutions and ground breaking changes. All I’m suggesting is lets give regular users, designers, etc. who are not employees of MS, Apple, or involved with Genome, KDE a chance to contribute because there are a lot of clever people out there with some very good ideas.
As for the point you make about standards, what standards? The article makes no effort to say that we need standards or god forbid, new standards in place.
As for you point about widgets, I’m afraid to you that you’re completely missing the point here.
As for every project taking and creating their own path, they do that right now and they will continue doing that int their own ways. All I’m saying is, lets give others a chance to provide suggestions that might lead them on a better path.
Mayuresh
Points taken – perhaps I did misinterpet your ideas.
The widgets point was more to point out what has become “standard” and I do feel very stongly that Standards are needed.
Without a set of standards, we end up with what still happens on Linux desktops – unfamiliar interfaces differing from the default widgets.
Because of some existing “standards” of methods of UI, it is possible for me to shift from windows, to MacOS to Linux without too much difficulty – that, to me, is where good UI is at.
Without standards, we end up with different shortcuts for basic things like Cut, Paste, Save, Open etc. across applications and operating systems.
I can see that a forum could work, but it would need to have a lot of focus and control.
I do not understand it. What you are supposed to do with it?
It feels unintuitive (I did not read the documentation). Also it now “hanged” – the main window is over-there, but the tool-bar is now missing.
Actually there might be already standards about these things. Had Mayereesh checked it out? What about ECMA, ISO, ANSI, W3C or other organizations dealing with standards? Or like FCC?
Other than hose, there are plenty of de-facto standards for different platforms – Win32 UI for Windows, Gnome/KDE for Linux, etc.
I just don’t see how this would work. It sounds a bit utopian if it tries to solve all problems at once.
I think such a forum would be a great idea. Centralized discussions about future UI desing are very interesting. Set it up and let us see how many ppl contribute.
From the article:
“The only place where this goes on in a structured manner is in companies with big R and D budgets, e.g. Apple, Microsoft, Macromedia (now Adobe), etc.”
Try academia (this is where bunches of industry UI specialists jump out to insist that they are the only ones to do things). Trust me – whether you like it or not, the zooming user interface came from academia (Ken Perlin and Ben Bederson – not Jef Raskin) and the Web (Berners-Lee) among others. Industry may have taken the ideas and made them “glossy”, but the idea came from academia.
I also have doubts about a forum being the right place for effective usability design. In my industrial experience, UI people rarely play well with each other. Often there is a maximum number of people that can participate before it all breaks down into pointless arguments. Placing the thing on the web would probably increase this.
I wonder sometimes if people are aware that HCI is an empirical pursuit – conditions can be tested against each other according to criteria to see which solution is best. I recommend “The Psychology of Human-Computer Interaction” by Card, Moran and Newell. Those interested in HCI and usability should read this: it’s good (though old).
For every type of application
The idea of applications to begin wiht is bad UI design so it’s kind of bad to base the structure of a UI innovation project around applications.
Now, that aside, we tried to launch a project like this a while ago (www.simpleface.org)
http://www.russellbeattie.com/notebook/1000016.html
just make sure not to end up the same way though
http://www.russellbeattie.com/notebook/1000616.html
Hmm, this might be something:
http://time-tripper.com/uipatterns/index.php
Make sure to check out Raskins:
http://www.russellbeattie.com/notebook/1000616.html
I’m pretty sure the “humane environment” project is still active with Aza, Jeff’s son. The homepage seems to have dissapeared though as I cant link to it from sourceforge.net. Which included all the specs and info detailing the project. Basically Jef studied the cognitive mind of human beings and based on studies & testing. Starting building a non-modal environment where a person can retain focus on 1 item without have stupid popups, or multiple windows to deal with. It’s has a very small similiarity with emacs. You could maybe call it emacs for the typical computer user. Last I heard there was a 2 million dollar grant from a multi-national corp. and a estimate of 18 months to get a 1.0 release by Jef. Now that he has died a while back, I don’t know what’s up. Any python coders, give it a look, and buy Raskin’s book.
I almost think the “Humane Environment” could have used the tools of Emacs and one of the window managers (based on Lisp to help emacs in X11). The problem though is efficiency that is required of being able to zoom out or in, and move in any direction over a billboard of media like pictures, documents, and still’s of video. Lisp, although extensible, is not that efficient in space or processing time. Python looks like it can be compiled to a point better than other interpeted languages due to it’s popularity. I personally have found ruby most intuitive, but now im rambling. There used to be a demo on Jef Raskin’s homepage. The sourceforge page is:
http://sourceforge.net/projects/humane/
I think the detractors are missing the point here. This is not about setting HCI standards for platforms – its about exploring new ways to visualize and interact with data.
That may mean how do I design a better button (functionally or visually), buts its more likely to mean how do I get a list of emails John sent me about the meeting tomorrow. Its at a much higher level.
We need more of these types of communities – a research orientated envoirnment where I not only introduce new concepts but build them out – potentially building on other’s work.
I can’t say I am a fan of the idea but I could see it being something good. The issue that I believe comes into play is that most people are just going to rant or throw up a mockup or two. I do believe this is good for people to get them thinking and perhaps others. The problem though is that it could hide good ideas and designs, drawing attention away from those who could possibly cause a revolution.
The other important aspect that seems to be missing is the collaboration toward iteration. A screenshot is far cry from explaining usability or a IU theory. In addition, design is an iterative process so some form of comment and critism would be positive for hashing out details.
Again, I don’t really see how it would work and be effective but I just wanted to say why so if something happens, these ideas will be considered.
a well designed solid not majorly changing framework. look at the links of my homepage about NeXTSTEP and OPENSTEP, they are fantastic. that’s ApplicationKit and FoundationKit, they already exist! it’s also in Mac OS X, called Cocoa
I think Andy has got exatly what I was trying to put forward: it’s about exploring new ways and ideas.
I can also appreciate what Eric has said above about being able to comment and criticism, which is something I completely agree with but did not come across clearly in the essay because of my stress of screen shots, demos, etc.
As for the point about people creating ‘noise’ on the forum and distracting from the main aim, I can’t see any way of avoiding that. It’s the flip side of the coin with such open methods of development and every projects faces this issue.
Mayuresh
Users think what they want… but I know what they need.
While I think that the complexity of today’s UIs has a lot to do with the underlying structure of operating systems and apps, I think Mayuresh’s idea has good potential. I haven’t seen a lot of online forums where UI matters are being discussed, and I think in the end we could all benefit from serious discussions about UIs. A simple but great idea!
“I haven’t seen a lot of online forums where UI matters are being discussed, and I think in the end we could all benefit from serious discussions about UIs.”
Usenet should have a few.
I think one could improve UI. Is open up a forum, with a good web address and advertise it, where developers can go to show their UI and ask for comments for improvement. Or can go and propose UI and ask people if they like it.
The forum would be populated by moderately knowledgeable users; and not just developers but not without some developers. So this way, all the creativity put into apps can be better seen while others are developed, and some of the stupid mistakes can easily be learned from by all. And, one can get their UI critiqued before releasing it!
To help increase awareness about interfaces and usability (or the lack of it), to help raise the standards of what is considered acceptable, push new ideas into the open for discussion and in the end, make sure every Mum in the world can email/ nag her son/ daughter who is half way around the world.
Thats funny i actually showed my “mum” how to e-nag me what was i thinking! and you want to make it easier?
If you need a starter website you can use the BB i setup at http://www.shadowsea.com for free. AIM giantgoat for more details if anyone is interested
http://irc.evtek.fi/urllog/urllog/2005/04/15/vim.gif
im starting to question about user interfaces is the concept of applications. in a properly done interface any “app” would register in the os what tasks its designed to perform and then it would interface with the os to create the gui. no need for seperate apps for every last task, in fact you could be able to access image manipulation abilitys inside a website for example so that you could alter the images of a website and then maybe have the system replace every use of the original image with the one you have alterd and stored.
and actions that you can perform on a item should be fully user defineable. there should be a inherent system where the list of gif actions should be a child of the image actions that again is the child of the file actions. any child should be able to override a action inherited from the parent.
It’s one thing to talk about interface. It’s another to do it.
The problem with UI is simple: you have to put up or shut up.
If you have an interface idea, implement it. UI design isn’t like architecture, where people can become famous for designing thought experiments (building on paper). UI design is putting it to the metal and driving it around.
It’s a lot harder than you think. Look at the iPod: it wasn’t the first mp3 player on the market, but it was by far the cleanest and easiest to use. Why? Because you didn’t have to have a very sophisticated mental model to use it. In fact, you could pretty much figure out how to use it in under 10 minutes.
It’s the same with cellphones. Cellphone makers made them work just like a phone, which (if you know anything about cellphone technology) was pretty amazing. They’re going off the reservation a bit these days, but the concept still holds: if you can allow the user to use familiar mental models, you can take great leaps forward.
The question today is “is that still valid?” In another generation or two the easy mental models will be (and probably are now) the desktop, windows, documents, apps, etc. Maybe UI can stop designing with the computer illiterate in mind and start taking advantage of the new computer fluency.
What does that mean for UI? Who knows…but maybe games will lead the way. Pretty much every game these days has its own unique UI, one that requires a learning curve to climb. One neat thing that games do to make this easier is “tutorial mode”, where it walks you through the UI conventions that the game uses.
Those are really neat, and they work pretty well. I’d suggest that if you really wanted to do something new, you need a tutorial mode (create a document, find something, etc) so new users can ramp up more quickly. Go through the basics, and leave the users with enough so they can poke around themselves afterwards.
The other thing to do is figure out what users really do, and how your UI would make it easier for them to do it. Do people really spend a lot of time searching for documents? To read the press, it’s the #1 user need. In reality, is that true? Does file navigation really matter that much? Does anyone really give a crap about file metadata?
The UI field is really still in its first or second generation of iteration. Not everyone appreciated the Kai’s Power Tools interface, but it was out-of-the-box. The same could be said for most games.
But one thing remains: you can’t make any progress until your UI is used and abused by users.
Just my $0.02.
With GUI design, like many things, you reach a point of diminishing returns. There comes a point when excessive hand-holding just becomes obtrusive. There comes a point where being overly fancy and/or overly cutesy is just annoying.
Cases in point: “clippy”, transparent menus, wobbly windows.
The key merit of the project as proposed is that it would provide a place to discuss visualisation of specific data types. As such, I like the idea of a forum to discuss issues with the UI.
Like hobgoblin (above) I question the merits of breaking user services into separate applications. The truth is, users don’t care about applications, they care about getting something done. As a result, I don’t like the idea of breaking it down into individual platforms / apps. Furthermore, even in an application-oriented user environment, a good GUI needs to span all the user services, providing consistent visualisations of similar types of data.
That said, I with the project every success, no matter how it is structured.
i believe the best ui is one that the user does not know even exists – the purpose of a ui should not be to wow the user but rather aid him/her to be more productive and use the application in the quickest and best manner – aid that user to get the job done
a terrible example is the verizon menu structure to setup voice mail – unless you know, it is not clear how to setup your long term message.
In the area of usability, i would suggest looking at john whiteside’s original paper on the topic – i still think it lays out the principals of usability quite nicely but it is an art form.