Open Source Needs a New UI
blog.cobychapple.com
blog.cobychapple.com
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.
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.
Something as obvious as copying and pasting between applications is still broken in these systems mainly due to the lack of a standard, or for the small standards that exist, few applications follow them.
I think that one of several issues, but it is the one that I find more obvious.
And throughout all of X, selecting text with the mouse is "copy" and the middle button is "paste." Ctrl+C, Ctrl+V have also always worked in my experience.
So what? I can run X Windows on my Mac using Apple's X app. That doesn't mean they're compatible with one another. I can't drag-and-drop between them. I can't transfer font or color preferences between them. I can't even properly cut and paste between them.
As it turns out, this is, amazingly, also the case for widget toolkits on X -- on the same windowing system!. There are major toolkits which are missing interoperability. Drag and drop is particularly bad. But in some cases even cut and paste is an issue.
> 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).
Ah, the plaintive cry of the X person who still thinks that graphical interfaces are skins. So 1985, thanks for the memories.
Some historical deliberation on that question, in a broader context, by
Matthew Paul Thomas: http://web.archive.org/web/20051030040127/http://mpt.phrasew...
Havoc Pennington: http://ometer.com/free-software-ui.html
For example both Gnome (via Gnome Shell) and Ubuntu (via Unity) have already realized that they need to be bullies to see through their grand new UI visions. That much can be inferred by how both projects are interacting with the community and the complaints/praise it generates.
But in my opinion though, the bullies behind both Gnome Shell and Unity are objectively wrong in many of their design decisions, and as a result both products are deeply and perhaps even irreversibly flawed. Unfortunately, a bully by definition must continue bullying, damn the torpedoes; and that's how we end up with products that cause such a deep rift in the community, when in fact the opposite--majority praise at how things have improved--should be happening.
Bullies are essential to good UI. It's a tragedy, though, when the bullies are wrong.
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.
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.
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.
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."
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.
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.
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.
From an engineering standpoint, that's part of what makes FOSS great. From a design standpoint, that sounds like a gig from hell.
I meant reaching out to an open source project that you use in an effort to become a contributor.
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.
Sorry, I didn't quite grasp what you were implying earlier. I didn't realize that you were a fan of the mentoring.is project and then offered them your help (which is what I was encouraging you to do), I thought you had just set up a mentoring page for yourself (which seemed unrelated).
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.
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?
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\) :)
to turn off the screen. To lock it, set your laptop to it to lock after 5 secs and then use the above.
I don't get why Apple doesn't implement a more explicit shortcut...maybe because most of their hardware is laptop and with laptops most people probably shut the screen which locks the mac automatically? Who knows!
Also, mouse hotcorners work.
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.
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.
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?
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?
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
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/)
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).
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.
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.
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.
Good UX is good for business.
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.
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.