Why Maemo or the opensource world is not a UI friendly place…
This will be quite short (it never is I know), but it’s the idea behind the main problem I am studying how to solve:
There’s not today a simple way to really improve the UI on most of FOSS big softwares. Why?
Ownership. Open source projects are most of the time product of the need of a specific individual, most of the time a talented developer, that indeed has a problem or a desire. He starts the work, gets something done, some friends join to help and a new software is born.
This is beautiful and it’s indeed the way most of the important and nice projects came to life. After this you have some roles into the project, but the main one is the “maintainer” role. This guy is the responsible for what goes in and out of the project.
So how on earth do you expect to all of them simply to give up their position to another guy, how cannot get anything working (after all he’s just a interaction designer) and comes saying that everything should be different, some of the things should be actually quite stupid or crap (in the maintainers view) and when you decide to listen to the users, you realize that the only users that are “active” or online where you search for them, are most of the time other developers and not the real base of regular, end-users.
You get stones in the face. You get flames about not being a good way to do stuff, that this is the totally wrong way bla bla bla. Because there’s now a “community” for that software, not of the users but a community of those who help it born. So they love their software, they have a small felling that will always break a new, disruptive way of working. Ownership.
So comes the question : how to have both core developer and a core designer working together? Trusting each other and understanding the first rule: YOU (both) are not the user. We are creators. We have too much power, and with that comes the need to step out of our arrogance and do things we do not like. People may think I like Canola’s UI more than anything else for me. No. My favorite UI is more along Jeff Haskin’s invisible UI or Quicksilver on the Macintosh computers than the icon based way of Canola. My favorite graphical UI is more a grid based level-digging zooming UI than Canola. But this is not ready for the end user. This is ready for me (and I think it’s indeed quite risky still)
Back to the question, how to elevate a UI designer to a position that nowaday is 100% taken by developers (by full merit) and how would be the mechanisms to do so with the Designers? (and I’m not talking about the Icons and UI designers out there) I know that are some interesting projects like openusability.org but this is not enough. Even inside companies it’s not common to see a good Designer - Developer symbiosis and without this, again this will make a lot of people angry : there will not be a real good user experience around the open source based software. And for the developers, by user experience we are talking about everything in the OS, not only a fancy UI like Elisa on the desktop or Canola on the tablets, but the whole mental model of a daily user, internet,media hungry user being taken into account when designing a simple project. Integration, unity in every single contact of the user with your device, not only when using it but also when improving it, updating it, charging it, synchronizing it and so on.
There is no easy fix, this is true; but to basically ignore the problem, as Nokia has done with maemo, is never the correct solution.
1) Lead with code. Help redesign and extend GTK+ to make widgets more finger friendly. The Hildon color and file choosers being prime examples of wasted screen and UX problems. OpenMoko has already started developing some finger friendly GTK+ widgets that could be stolen for maemo as well. Developers may not be UI experts, but given the right tools they will tend to “do the right thing” based on feedback.
2) Lead by example. Show off built-in apps with a UI/UX polish that you want 3rd party developers to use. Even some of the bad iPhone apps still show more attention to UI design than many advanced maemo apps.
As I developed a small application for the platform both of these items bothered me. The widgets under GTK+ are fundamentally not designed with UI/UX simplicity or mobile/finger use in mind and short of a huge investment in time and energy there is no easy way around the rough edges in the base libraries. The documentation and other applications for the platform usually did not give a good example to follow with the poor UI/UX outnumbering the good UI/UX several to one.
July 28th, 2008 at 12:07 pmEric,
You are indeed right, but the lead as example is quite complicated as well. Why?
Let me explain you some funny things: I worked with both GTK and QT guys in the office. To propose a new GTK widget customized for the mobile experience is really way more problematic than going non-adherent to the current maemo guidelines.
I do agree with you that most of the problem needs to be address widget by widget but I will be honest,
I think the problem is a little bit deeper in the core:
speaking for maemo (and here the problem with the core users starts)
a. I am against the mini-desktop metaphor. I am in favor of a multi-task but one app at time only style. So it would be a mix of a little bit of what the iphone does but with true background and task switch capability.
The problem here is that Maemo defined an UI based on a old concept (the 7700 and 7710 phones) that was really old and full of flaws. Theres a lot of good comments about it (from other maemo users) and there would be really nice ways of doing the maemo UI without being Canola-like (because I know a lot of people just hate this idea, but a full desktop would designed by me and my team would not be that canola like, I am not that crazy) but at the same time I would do one thing : MORE content, less Static / systray / monitors UI. So you get more of what you’re doing. I don’t care about brightness level on every screen. I care about more webpage, more content and precision while doing it.
It’s not about being idiot proof but being simple enough so people can imagine how it works after a little seconds.
So This would require to change the whole architecture, creating data sources in a better way that we have today, allowing applications to really be integrated to the platform, instead of fighting just to play media correctly (like we do with canola and dbus to use the media manager).
I believe also that for us, that we really interested in richer UIs GTK is unfortunately a no-go. Even QT has some problems, but the trolltech guys are really more receptive to something like EDJE for UI designing /scripting.
So how to overcome the basics, to be able to do simple new widgets on a already running platform like this? I really don’t see an easy way of doing it in the more open way, but at the same time, theres no way of doing without the great developers behind the platform. But they are not up to this, they think this is sillyneess, that finger usage sucks and that users are stupid to want finger ready UIs.
Now we are probably going to look to more Clutter-enabled UIs but if the widgets there are the current GTK ones just “slightly” modified, like you said we will have a crappy UI again.
My concern is that again we are going to have a not-good enough UI guideline, but a bunch of UI effects with a lot of non-integrated APP GUI, making the whole device looks like a mess, instead of a thought mobile platform.
I also don;t think maemo users want another iphone. I have been talking that the hardest challenge is how to combine rich UI with the freedom user wants (just to drop some music, pictures, videos) and get it played / showed with great performance… the things that iphone uses it’s big proxy (itunes) to make sure things are low-quality / or in the “ok’ quality to make sure the visual effects happens and loading times are inside a “ok” range. Maemo users want to be able to have a ready to use basic internet tablet, integrated with their basic internet habits and out-of-the box working with most of their favorite internet based media as well their local content.
The power users? Well they will always have the machine at their knees, so they can bend and twist it like they already do with their linux boxes.
The wrong decision is trying to listening only to the active voices (developers) and aim the device at their needs primarily, what creates a cumbersome device, a mix of end user with hacker-ready device that is compromised in both sides.
Again a dead-lock :)
July 28th, 2008 at 3:19 pmI would completely agree that the mini-desktop modality displayed by the Hildon is wrong-headed for the mobile world. I disagree that huge change are necessary to impact real usability change in the current model. A few custom finger widgets, some style guidelines, and good examples would go a long way to making the current situation better.
Short of leading by example Nokia needs to get out of the way of developers, like INdT, and give them the power to control more of the low level API’s ( icd, bsm, dsme, … ) so that we can choose to stick with hildon or abandon it with loosing control of the device.
July 28th, 2008 at 6:56 pmYeah eric, you’re right on this one…
the point is that it’s complicated to just change a couple of widgets when the window space is not well used. But this is my opinion. for sure we would benefit from better designed widgets + basic guidelines with solid UX.
the problem is that Nokia is way beyond what we have today, and not having info on what is going to be this new freemantle thing, is it going to be 3D capable or not, is it going to have the same kind of status / title bars? so we are locked on the expectation until we can see that. It doesn’t work to do things for this current UI now.
BR
Marcelo
July 28th, 2008 at 8:44 pmThank you for the very interesting writing about a very important topic. You brought up key issues in OSS development. We are actually studying this area in University of Oulu. However, we have tried to narrow our scope to company OSS, meaning projects with some support (interest, paid developers or similar) or ownership of a company. It is a real challenge to solve issues even in that limited scope. I think Maemo is a good example of that.
You are absolute right that there should be more interaction designers in OSS projects. However, as you describe, it is problematic, if the interaction designer is not a developer (coder) at the same time. Developers have the ownership.
It is not about details. It is about how projects organize.
One of our papers can be accessed here:
July 29th, 2008 at 4:19 amhttp://www.springerlink.com/content/15k43605g1p77257/
(sorry about the ad :)
Can’t wait to hash this out in person :-) . Hopefully we can get more than a smoke and mirrors introduction to the new stuff from the “horses mouth” in September.
Eric/Brontide
July 29th, 2008 at 8:38 amHenrik,
Thanks very much for the link. I have made a nice job here at INDT but of course I had full support from the directors and even more important, by showing respect and of course a little bit of down-to-earth designs always I also won the developer’s respect. With a core developer (like my friend Gustavo Barbieri) by my side, it was easy to start creating our culture, and it’s all based on : Getting people, mainly developers excited about the project way before the development start. So our way of not using documents, focusing on more flash mock ups has worked out pretty well so far.
But as you said, inside companies, it can work.. if UX designers understands a little bit the development world and the opensource world… but outside when projects has the dominance (again by merit) of developers on the guidance of projects.. this is almost a impossible tasks.
Are you going to the summit? Let’s talk more there, and if you are available, I will be in oulu at 13th to 15th I think(august)
BR
July 29th, 2008 at 4:26 pmGood interaction designers are even rarer than good developers. That’s super rare.
So that’s even more reason for developers to not just accept everything that self-titled interaction designers say they should do. Designers, like developers, need to care enough to learn to deal well with others. Designers who can’t explain and persuade are as ineffective in closed source projects are they are in FOSS projects.
July 30th, 2008 at 7:13 amMurray, I have to agree with you (as its always harder for me to find a new interaction designer, than to me to find a good developer to join the team) but that’s the point:
We need manners to find out who is a good professional, and who’s not. For developers is based on how much you contribute and you’re a reviewed by your peers right? There’s (AFAIK) a clear path for a good developer out there, as it can also be for a designer, but it’s much easier for the developer to prove (by actually coding something great) than for a designer just prototyping something in gimp/photoshop + some animation format.
The deal with others is the crucial, and again agreeing with you, persuade or better: sell the idea, the concept the benefit is part of a good designer’s job. If he does something and just says “this will be good” it’s better him to be a good developer as well to bring that to life…
The only difference is now on the closed source when there’s a clear statement : “John Foo Bar” is the owner of this project and decides it’s strategy and user experience. So a (we hope) good designer got the power to do so. That will not happen as it is on the FOSS world, but could there be ways to do it? Like can we have ways of doing full applications prototypes, then submit to a nice pool of developers and get people interested in the idea? so the beginning of the project is based on trust… therefore the core team (a lead designer and developer) are after the same goal.
BR
July 30th, 2008 at 4:43 pmI would agree and disagree. User experience is mostly defined by design, but by functional design, not by visual design. Well designed visual appearance is cool, it can be important, if you want to sell something. But more you work with the system, other things become more important, such as functional completeness, correctness, security, robastness, performance, etc. Look at the one of the most popular application on the tablet: mplayer. Its UI is the best, IMHO for the task. I installed Canola several times, but after the last reflash I realized that I do not need it at all and I like the default UI better for every-day work. It was cool to try, but it definitely slow down my use of the device. It is much faster to open file in the file manager, click on the file and listen in the builtin player, which could be better, but which is Ok with me.
I think Internet Tablet is currently in its own niche between phone and computer. And I like it because of that. It is more computer then iPhone and more hand-held device, than UMPC or EEE. I would doubt, if it can play in the iPhone niche.
August 1st, 2008 at 11:05 pmHi Valery,
Sorry but I don’t believe that in any place I said visual design. So here was my main sentence:
“by user experience we are talking about everything in the OS, not only a fancy UI like Elisa on the desktop or Canola on the tablets”
And also, I have the data to show you why mplayr is so popular: Canola pushes it installation :)
But not discussion that it has a plain simple UI that is highly functional and DOES the work.
But is it the best UI? I know you will disagree but that’s one of the hard tasks when designing anything: What we like it’s not what others like. A lot, and I mean a lot of users don’t like the Mplayer UI. they don’t like to browse throught that really narrow list, and they want a centralized place for all their videos. They want thumbnails, they want larger list for the finger usage, they want a little bit more of no-work. For those people other UI can do the work better. (unfortunately in Canola we pay the price of Mplayer kiosk mode being less-powerful than the default playback. It’s not canola usage that brings the video playback performance down.
*but as you can see in the user forums* I agree that canola pushes the device’s limit, even more on the old ones (diablos seems to be faster)
In the end what we have is more or less what you said :
“it’s ok for me”
So and for those who are not ok with that? :) and what about if something new (I talked about that in my sentence) not Canola nor the Default media player was designed from ground with just one input type in mind, to avoid the confusion across the platform and define really dead simple tasks flows for the basic usage of an “internet tabler device” where you have a really optimal space for your CONTENT not your icones of brightness and volume taking 10% of your vertical space all the time and then a clumsy task navigator + menu with no different whatsoever between then (icon size) and then an open application icon, that also has no difference whatsoever for the other items? And what about those that don’t know how to copy their music from itunes (believe me a lot of tablet users use itunes on their windows machine) and what to synchronize the playlists? where’s that? The video converter (and we are involved in that project) is also a mess in UX and that’s the point.
The sad thing is : You cannot please everyone, so you should please the largest use base, and of course the ones who are going to be the less skilled users out of the box, because the power users can bend a system like maemo to their needs, so it’s about providing choice for those who don’t know how to choose like we do.
ending : I agree 100% that it cannot play in the iphone niche, but for sure in the ipod touch one :)
August 2nd, 2008 at 7:42 amThanks for reply. I absolutely agree that tastes are different and we can not please everyone by one product. I think we often underestimate how different they are. I am not even sure that there is a cluster of “largest users base” with small tails of special needs. I think preferences are segmented almost equaly into two-three categories, at least considering the current users base:
1. Such a nice small computer! I can run full Debian, KDE and everything. Screen is a bit small, and processor is damn slow, but I am used to. External keyboard is a must. I use it instead of my desktop for most of my tasks. I had a dream about small computer since I was a child.
2. Strange communicator. I thought that it is a kind of iPhone with keyboard, but I’m rather disappointed. The interface is complex, there is no Internet connection, the camera is bad, there are some applications you can install, but I’ve found only Canola and Skype designed professional enough. I’m going to sell it on ebay and replace it by iPhone as soon as I can run Skype on it.
3. This was a birthday present from my dad. I do not really know what to do with it. I’ve tried to use it as navigator, but I can’t find any streets in it. I’ve tried to use it as a music player, but it does not support bluetooth headphones, and it is too big to run with it. It is not as convinient as ebook reader either, the battery dies during couple of hours of flight, when my sister with her Sony Reader uses it entire week without single charge. The only use for it was our family vacation, when I could connect to the hotel’s WiFi and check my email, and do a bit of browsing. In fact, I could listen some music and play game at the same time. Maybe it is not as useless, as I thought.
So my point is that if we consider any special use, we are in bad shape. The only one feature wins - universality, which depends directly from ability to install and run a lot of different applications on one device. In this case the main interface should be a compromise between interests, and it would be better to just create different UI for every group, but it is too expensive. I, probably, consider current Hildon as good compromise, except that obvious bugs should be fixed.
Sorry for the English. I know it is bad.
August 2nd, 2008 at 9:53 pmMore on the subject:
http://mpt.net.nz/archive/2008/08/01/free-software-usability
August 3rd, 2008 at 3:58 pm