
Open Source Needs a New UI - cobychapple
http://blog.cobychapple.com/blog/2011/12/07/open-source-needs-a-new-ui/
======
SeanLuke
To see what's wrong with UIs, we need look no further than X. Consider the
myriad of UIs which run on X, many of which aren't compatible with one
another: starting with Athena, through Motif widgets, through competing Gnome
and KDE, GNUStep, and so on. There must be dozens of major toolkits
historically.

What caused this mess? Openness and the hacker nature did.

A UI needs a bully: someone who says that you _will_ do text fields _this way_
, and if you don't like it, tough. Consistency is absolutely crucial in a
successful UI. In Windows, the bully is Microsoft. In OS X the bully is Apple.
Open systems by their very nature don't have a single dictator.

A UI also needs a bully to force simpler designs. X is replete with
applications that have every single possible configuration option. It's part
of the tradition. The problem is that this makes the applications
extraordinarily unfriendly to the 99% of the population who want to get work
done, in favor of the 1% hackers who like to tweak. It's a rare X application
which doesn't suffer from this malady: indeed X does itself. There's no one to
tell these application designers that their propeller-hats are screwed on too
tight.

I don't know if there is a way to fix this. Simplicity and consistency are the
two most important features of a UI, and the open nature of Linux, X, etc.
simply run against them. When a bully arrives to the Linux world (such as
Google in Android) you start seeing quality again. Without it, you wind up
with Maemo.

~~~
saucerful
> Consider the myriad of UIs which run on X, many of which aren't compatible
> with one another

If you are referring to window toolkits, they are all compatible in the sense
that you can run different ones side-by-side. If you are referring to window
managers, you only need one. If you are referring to a consistent look, the
two major ones (GTK and Qt) each have themes which render their widgets in the
other toolkit (GTK-Qt and QGtkStyle, respectively). I can vouch for GTK-Qt. It
works.

~~~
jebblue
Totally agree, UI's do not need to be overseen by an overlord of design. I can
right now start up a KDE app or a Gnome app and they happily co-exist. Try to
pull of something like that on oh Windows, Mac or Android. At least I don't
think I've ever seen anything like that on those OS's.

~~~
jodrellblank
Something like running a Win32 app, a .Net Winforms app, a Java app and
wxPython app concurrently?

~~~
jebblue
Good points. Even Gtk apps now that you jog my memory.

------
_dps
I think a large source of the UX quality gap for _volunteer_ -driven Open
Source products is the grossly underestimated _cost_ of getting good UX. I
submit (without proof) that volunteer Open Source efforts are great at
competing on easily quantified dimensions (foos per cycle, feature parity) and
not-as-great at competing on dimensions that take anything other than free
time and a computer to evaluate.

It's very expensive to truly evaluate UX quality of complex products, except
at a bare minimum level of "can users do what they want without being
harassed". Measuring UX quality means finding the common appeal in a
potentially large and heterogeneous group (as a heuristic: the more
heterogeneous the audience's tastes, the less satisfying volunteer-based
solutions tend to be). To find the common appeal in a large heterogeneous
group you have to _interact with a lot of people_ and _measure them
repeatedly_ because people's tastes for complex products is not something that
can be well-modeled by point-in-time measurements (e.g. it took me a few weeks
to discover my MacBook's 4-finger touchpad gestures).

Apache is an excellent competitor in the web server market (very narrow,
highly technical audience). GIMP has a decent, but not huge following
(somewhat broader audience, but still specialists). Open/Libre Office,
GNUmeric, and GNUcash are not going to replace their commercial competitors
any time soon.

~~~
bluekeybox
> To find the common appeal in a large heterogeneous group you have to
> interact with a lot of people and measure them repeatedly because people's
> tastes for complex products is not something that can be well-modeled

 _Or_ you could just go out and hire a good designer. Your comment just
illustrates the problem why a lot of computer geeks don't get taste: they
assume it's something you go out and measure.

Any good designer will tell you: you do not measure taste and design for two
simple reasons: (1) public taste is constantly changing, and (2) as soon as
you can measure something, it's outdated. I call it the Heisenberg uncertainty
of taste. If you go to the trouble of polling 10 million people, you will be 3
years behind; measuring the opinion of 100 million individuals will set you
back 6 years behind the curve or maybe more.

The kind of minimalistic web design that is commonly seen right now and which
Facebook, Apple, Google, and others use was hot among the designer circles
about seven years ago. If you tried measuring public taste at that time, you
would get a result sheet listing PHP.net as "the" design to copy. You don't
measure good design, you _define_ it by producing something that's good and
usable in some basic aspects yet not seen before and interesting in others.

~~~
_dps
I think this is largely unfalsifiable. I have not seen evidence that
designers, on average, know what people will want in advance. You absolutely
_need_ a designer to interpret what people tell you about their experiences
with a prototype, but I don't think you can tell a designer "I'm building a
tractor for your garden. Tell me how it should work." and expect an a priori
good design from it.

I'm open to being disproven on this matter, and I'm obviously biased toward
empiricism, so if you have suggestions on references I'd be appreciative.

~~~
bluekeybox
> I have not seen evidence that designers, on average, know what people will
> want in advance.

Of course designers do not have magical powers and cannot predict future.
However, one often can make a good guess about the future based on knowing who
is widely imitated. Widely imitated people are influencers, and whatever they
like will often be liked a few years from now. All great designers have a
mental list of such influencers and they likely will never share it with you
because that list is literally the source of their success.

Also, if you are really great designer, you can directly make future happen
without having to imitate others. I had a chat with one former roommate of
mine who was going to a wedding when he asked me about my opinion on his
shoes. The shoes were way too clubby (i.e. completely inappropriate for a
wedding) and I was frankly horrified, telling him that I would never in a
million years be seen at a wedding wearing that type of shoes. Next day, he
shows me a very fell-fitted suit looking completely dapper yet still wearing
those completely inappropriate shoes because he could not get a pair of shoes
that fit on time (Saturday was right around the corner). Seeing his new
outfit, I changed my opinion on the shoes and asked my roommate this question:
"Do you know what happens when one item you are wearing is wrong and out-of-
place but everything else about your outfit is completely and utterly
awesome?" He responded, "Hmmm, no one notices?" I said, "No, you're wrong.
That one out-of-place item becomes the new trend."

~~~
_dps
I think we are in agreement but coming at it from different viewpoints.

As you say, designers do not have magical powers to predict the future. In a
situation where you can't predict the future you have to make your best guess
(designers help here), find out how good that guess was (interacting with lots
of people happens here), and make your next guess (again, designers help
here). Having a good designer doesn't eliminate the potentially expensive
middle part where you need to find out how a large heterogeneous audience
reacts to your current best guess.

~~~
bluekeybox
> Having a good designer doesn't eliminate the potentially expensive middle
> part where you need to find out how a large heterogeneous audience reacts to
> your current best guess.

I absolutely agree. When trying to appeal to a large audience I would
definitely do both -- if I had the money that is. Which part is more important
(mass appeal or trendiness) depends on the kind of business you are doing.

------
reledi
I agree that UI in FOSS is often terrible, but as munaf mentions below,
developers are becoming more design-minded and it's slowly changing.

It's hard to get designers to contribute to FOSS, I don't know why. A lot of
developers simply don't care or do care but don't know enough about design to
do a great job (I fall in the latter category but I think I'm quickly
improving).

The recent trend is that FOSS projects _want_ to have good UI, but they need
help. Designers don't need be involved with a specific FOSS project, they can
for example create beautiful icons and openly release them.

Toolkits such as Bootstrap by Twitter and Foundation by ZURB have been a big
help.

~~~
lazerwalker
I think what's tough is that FOSS design generally ends up as design by
committee, with a tendency towards introducing more configurability (and thus
more complexity) as a means of appeasing everyone when dissension arises.

From an engineering standpoint, that's part of what makes FOSS great. From a
design standpoint, that sounds like a gig from hell.

------
naner
Yes, we know. Since you're a designer why not offer your time to some open
source project you use instead of just offering your criticism.

~~~
cobychapple
You mean like I did for <http://mentoring.is> (as discussed here:
[http://blog.cobychapple.com/blog/2011/09/18/a-distributed-
me...](http://blog.cobychapple.com/blog/2011/09/18/a-distributed-mentoring-
movement/))?

~~~
naner
No, I don't think so... isn't that just a page that says "hey, contact me if
you want me to mentor you"?

I meant reaching out to an open source project that you use in an effort to
become a contributor.

~~~
cobychapple
Point taken.

FWIW, helping with the mentoring.is page (albeit a small project) is what got
me started about this whole topic. I've been talking with a couple of mentors
(who are heavily involved in open source themselves) about how I can
contribute to some of my favourite projects, and it's definitely something I
plan to do as I get free time.

~~~
pinwale
It can be hard to get some people in the open source community to accept that
"shiny stuff" is also crucial to a project.

For example, I organized and developed the <http://www.thisisthecountdown.com>
event for the recent Ubuntu release as a volunteer project. While the response
was mostly well received, there were very harsh remarks by some people
directed at the site.

~~~
cobychapple
Nice design! Can I ask where you got that header background image from?

~~~
pinwale
The background was adapted from a NASA photo but I can't seem to find the
original photo at the moment. In the weeks before the release, the site had a
countdown timer with the original image as the background. You can see some of
the stages of the Ubuntu ARG on google images: <http://goo.gl/eGjTT>

------
thinker
I've been thinking about this situation myself this last month and wanted to
help give back to the OSS community as a designer/front-end developer - but I
didn't know where to start.

I'm considering building a simple matchmaking site that lets open source
project developers request for design/front-end help and for designers/front-
enders to offer up their time as well.

Would anyone be interested in this if I built it or has this already been
done?

~~~
mcantelon
Great idea. Haven't heard of this being done.

------
jdthomas
I think this has a lot to do with not having to sell anything to anyone. OSS
projects are, in general, less concerned with converting users than commercial
software -- you like our project join us and use it else 'meh'. While, it
would be nice to have a shinny surface on oss projects, I think it is
unnecessary.

As someone who recently (for work) switched from using Linux boxes to a
MacBook Pro, I would generally take the less shiny functionality over the
pretty pictures any day. (\ _cough\_ keyboard shortcut to lock screen \
_cough\_ ) :)

~~~
namank
Ctrl+Shift+Eject.

to turn off the screen. To lock it, set your laptop to it to lock after 5 secs
and then use the above.

~~~
jdthomas
HOLY CRAP!! Thank you! ... Wow, I must be retarded or not have looked hard
enough as the second google result now shows that. :D Anyway Mucho gracias.

~~~
technomancy
Haven't you heard? Mac OS X is intuitive.

------
munaf
Generally, I agree with the article. But I've been seeing a lot of projects
that lead me to believe developers are becoming more design-minded. Many new
JS libraries, for example, are beautifully presented.

My hunch has always been that GitHub is setting a trend for OSS developers to
present content to each other in a clean and pretty way. Hopefully that
extends to the apps they create.

~~~
aangjie
+1 for GitHub... I think they are doing some good.. and would love to see that
as a standard for UI design of open-source projects to follow. Though am not
sure..

------
mikecsh
Perhaps there is a difficulty in getting designers involved with open source
software projects. As a freelance web developer you could overhaul a few of
the promotional websites for the software you use and find poorly promoted.
Perhaps better tools are needed to make it easier for designers to contribute
- maybe this could be addressed in someoway by someone like Github.

------
namank
A very fair point and I think this is mostly because we, as an
industry/society, have only recently begun to pay attention to UX.

I'm not going to buy arguments that say good software has (needs) enterprise
backing. Open software, more often than not, follows well established industry
trends. UX is only just becoming a trend.

The same arguments that ten years ago applied to open software can today be
applied to good UX. Thats that. Thats all there is to it.

Give it time, it'll happen. Better yet, MAKE it happen...be the first one to
revamp Cyberduck's interface.

------
makecheck
Some investment in good UI is certainly nice. But it may not be clear to non-
programmers just how much work good UIs can be (so it should be no surprise if
volunteer projects don't spend the time).

There are some fairly obvious tasks, like artwork and putting some thought
into what the behaviors should be. There are less obvious things like the fact
that _huge_ side effects often pop up.

How much time will you spend on artwork? Every version of Mac OS X looks
different, so your custom widget may have 4 different looks and you just know
you'll need a 5th next year. Maybe it's a cross-platform program. Maybe the
entire thing needs to change depending on where in the world it will be used.
And this doesn't even begin to look into issues with programming images (e.g.
tracking the mouse inside odd shapes or figuring out how to render things at
different window sizes).

Setting UI behavior is also deceptively simple. It can take a very long time
to be sure that you've thought of everything even if you're reproducing a
variation of UI that's pretty standard already. You often interact with
existing things, e.g. a window manager or mouse event system, and you can be
seriously screwed if you find a deficiency in a dependency.

What about when your entire framework breaks because you need a customization?
(This seems to happen in Cocoa all the time.) For example, guess what:
customizable toolbars and resize-from-any-edge come "for free" in standard
windows but they are _completely_ unavailable for custom windows. Some changes
can look simple on paper and explode when you actually try to implement them.
Nothing ruins a weekend like discovering that a simple change would break all
kinds of tangentially-related UI elements that were already working. So what
do you do...recreate half the OS yourself just so one piece of UI can be a
little more interesting or appropriate to a task?

------
the_mat
"most of these sites look stuck in a much older paradigm of thinking about web
design"

This needs some explanation. The vim site looks dated, but clearly I'm not
enough of an insidery web guy to know why some of these sites are stuck in a
much older paradigm.

In fact, I'm kind of lost on the purpose of the entire rant. UI is important?
Is that the takeway? Why even write an article about that?

~~~
Jach
If the vim site is outdated, so is Amazon's. (Okay, Amazon's less so, but I
think the taste issue is more from the tabular layout than the lack of
gradients or rollovers. Just my thoughts though.) vim itself has a fantastic
UX.

As for the rant, I think people need to be reminded of such obvious things
quite often. "What does you in is not failure to apply some high-level,
intricate, complicated technique. It's overlooking the basics. Not keeping
your eye on the ball." -Jerry Cleaver

~~~
DanBC
The Amazon site is just hideous on so many different levels. Just awful. As
well as looking not great it's hard to use and some aspects (search) are
broken.

The Vim site looks a bit dated, but it serves its purpose. I can't really
comment without seeing someone do a makeover. When I'm looking for information
I prefer a bunch of nicely marked up text rather than snippets of text
scattered over various shiny image heavy pages.

The Vim website even tells people how to get involved with making it better -
(<http://vimonline.sourceforge.net/>)

------
danudey
I couldn't help but notice that most (all?) of the projects he listed as good
examples are open-source projects funded by companies.

Magento, Firefox, Wordpress, PhoneGap; even jQTouch is maintained by an
individual who does mobile consulting for a living. In this case, it's not a
group of volunteers who are pitching in for a project, then someone putting
together a website. The websites (and projects) in all of those cases are
marketing a product that the creator of the website is making money off of
(whether directly, though search revenue, consulting, etc).

------
swanson
I've always wondered why designers don't point to open source as a portfolio
like some developers do.

As a developer, I would imagine that there aren't many better ways to land a
job at a tech company than designing a logo or brand identity for a cool open
source project. There is no shortage of projects on github that don't even
have something as simple as a logo or an About page. To me, seeing a portfolio
of tech-related material sure beats 25 brochure-style sites for a local winery
or wedding photographer.

~~~
chii
"designing a logo or brand identity for a cool open source project. "

a logo or a brand does not a good UI make.

What you need is indepth research and intuition into what a user "feels" at
home with - especially with programs targeted at the non-technical user. This
is an amazingly difficult skill to acquire, and thus, is worth lots of money.
I don't see a good UX designer volunteering their time for an OS project, when
there are many a profitable opportunities out there for them to exploit their
skills.

------
Me1000
Fortunately there are designers out there who are willing to help with OSS
projects. Cappuccino is a great example of this. Sofa has made 3 versions of
Aristo (our theme) for us; they also helped design many other open source
apps.

Even though Sofa is no longer around, there are many very good designers out
there willing to help work on open source projects. You just have to ask.

------
lukeholder
There is an obvious reason for this, most of the well designed projects have
financial backing (a company that consults around the product/library) and as
such have the resources. They want the platform/app to succeed because they
finically benefit.

Good UX is good for business.

------
rhlee
This reminds me of what David Siegel (creator of Gnome Do & Docky) said once
at a Ubuntu Developer Summit. Each open source project should have a design
advocate whose sole role is constantly make sure that as much though goes into
usability as the code.

------
ghempton
Designers live in a different world. Unlike many developers, they depend on
proprietary tools (Adobe) and don't interface directly with open source
software in a contributive or decision making capacity.

------
omouse
Unfortunately, the better UI doesn't mean a better product. Working with
Magento for example has been a pain in different ways. It sure does look
pretty though even when you're debugging things! ;-)

------
b1daly
On the topic of visual design and UX, these are two (not quite orthogonal)
different domains. The area in which they meet, design that helps UX and UX
that doesn't look off putting, is usually missed. IMO, software used by
professionals can get away with poor graphic design as long as it provides
high functionality and efficiency. For software intended for beginners or
occasional users the graphic design needs to be stronger to encourage the user
to keep trying!

------
philjackson
I made an effort with <http://apiaxle.com>. Very much a work in progress...

~~~
schraeds
Looks pretty good. I am a UI/UX designer and would love to help out for free
to boost my portfolio. A few ideas.. Center large gear image on icon, move
smaller to right a bit and reduce in size. Smooth out banding a bit on metal
texture. Change button text from "Try it Now" to something like "Download
Now", "Learn More", "Get Started" or a combination of the above. Current
button seems like free trial and might scare some users off vs being free.
Email in my profile if you want to talk more!

~~~
philjackson
Thanks, schraeds. The idea was that people would pay for my
support/development so I would like people to suspect a certain degree of
'commercialness' which is why I chose 'try it now'.

------
portentint
It's all about time. You're writing an open-source project - I know SOME lucky
folks get paid to do it, but not most - and you have to just get the damned
thing working. Once you do, you have to go back to your job, or whatever else
feeds your face. The UX has to wait. And wait. And wait.

~~~
tikhonj
I don't think this is really the core issue. If you're not getting paid to
work on an open source project, chances are you're doing it just because you
simply love _programming_. You probably aren't an expert designer, and, more
pertinently, you're probably more than happy with what you have.

In my experience, building a UI makes you blind to its shortcomings. There are
methods and procedures around this, but if you just love programming, chances
are you don't know them. I found this out myself when I saw my dad struggle to
use even a simple chess game I designed. When you've made something, you
naturally know it inside-out; nobody else is going to have nearly that much
experience with it.

------
nknight
Right now, GNOME is probably the last example you should cite as "getting it
right" if you're trying to convince open source developers of something.
GNOME's UI decisions of late are not particularly popular with the crowd you
need to convince.

~~~
cobychapple
I realise it hasn't been popular, and I'm not the biggest fan either, but my
point isn't about what's popular amongst open source developers. Also, if
developers need to be _convinced_ of the need for good design I think that's a
good example of the problem right there.

~~~
nknight
You don't need to convince them of the need for good design, you need to
convince them that what they're doing now _isn't_ good design, and that they
should do something different.

I'm saying, citing the project they think is an example of _bad_ design isn't
going to help, your opinion will carry less weight.

