Archives for category: linux

Episode 44 of Jonathan Nadeau’s Frostcast podcast series is up and features an interview with yours truly. I think it went fairly well with some discussion about free software, design and some other things. No doubt there will be some criticism about the quality of the guest. After all Jonathan’s been busy interviewing actually important people who run projects and communities. Hopefully I didn’t pull down his batting average too much.

The episode page can be found here: http://frostbitemedia.libsyn.com/frostcast-episode-44

Thanks Jonathan!

 

Let’s say you and I set out to design a vehicle. I think it would be wise for us to choose what sort of vehicle we were designing and who we were designing it for. Are we serving young fathers just getting into their parenting years? Or maybe 55 year old balding men knee-deep in their mid-life crises. Those two groups would likely not want the same vehicle.

Let’s say we come up with a killer soft top sports car tailored to the 55 year old. It handles well, it’s a little easier to get into and out of than a typical low-slung sports jobbie, and it has a windscreen specifically designed to protect that combover at highway speeds.

Now, how would you feel about the following:

1. Weld on a hardtop, making sure to add about 10” more head room.
2. Soften the suspension.
3. Add another pair of rear doors.
4. Expand the rear to carry several unassembled items from Ikea along with a stroller and about 115pack of diapers - or two extra rows of removable seating.

How do you think that would affect our original design? Would the 55 year old be pleased with the result?

I’ve been hopeful that Ubuntu was heading down a design path where they were becoming more focused on who they wanted to design for. And make no mistake, I don’t think I’m in that group, but still I wanted them to stick to their guns, ignore the naysayers (even if I’m one of them) and plug on with their plan.

By the sounds of this post from Jono Bacon though, it sounds as though they’d like to hedge their bets. It sounds like:
Hey, we’re still designing the best dang product for group A, but hey all you guys in the entirely opposite Group B.. don’t go anywhere. We will add stuff for you guys too!

Now with Ubuntu I suppose the inverse of my initial analogy is more apt. They’re aiming to build the best damn vehicle for new fathers, but hey all you sports car drivers.. we’ll add alloy rims and a spoiler, stiffen the springs a bit and put in some oil pressure guages for you!

That results in a crappier minivan. And a crappier sports car.
I’m not sure how you could see it in any other way. But by all means, I’m completely open to enlightenment.

 

ps. I didn’t mention that it’s a significant conundrum when the Group B guys are supposed to be the guys actually building the product for Group A.

pps. I could be wrong about this whole idea:

Let me be clear. The purpose of this post is to bitch and moan. Well, that and to wallow in my own stupidity and bad karma. It’s a brief story, at least I intend it to be.

Last Friday was as good or bad as any other. I had planned on doing some hard drive partition juggling on my laptop in advance of getting the new 1 TB eSata/usb/firewire drive I had ordered mid-week. In fact, to my surprise it arrived in my office Friday afternoon. Being the cheeky monkey I am, I decided to boot up my laptop, fire up a GParted live CD and let it do its magic while I worked away the afternoon.

This is when things went horribly wrong.

You see, it’s always best to make sure your laptop is running on AC power when you do anything important that will run for any significant length of time. You’d have to be a few bricks short of a full load to do anything different. So when I heard the laptop on the desk behind me shut off with nary a warning beep, my heart sank. Or more accurately, it drove off a cliff.

Luckily I had backed up my laptop’s home directory a couple of nights earlier in preparation for the partitioning re-org. I did however lose my aptly named ‘/creative’ partition where I temporarily stored most of my photos and videos between periodic backups to my older USB2.0 drive. They were scattered to the wind.

However, my poor organizational habits came to my rescue in one way. I still had 25GB of photos and videos on my Canon 7D’s CF card that spanned back to just before Christmas. So I managed to pay very little for my stupidity.

Until Saturday that is.

My daughter and I pulled into the Best Buy parking lot early Saturday afternoon. I needed to see if they had a PCI or AGP video card for my Dad’s desktop (he had recently bought a 22” monitor and his existing card didn’t support the native resolution). My daughter was watching videos on my Nexus One when we parked. So I told her to shut it off and stick it in her pocket while we went in. (Why didn’t I take the phone from her?? I have no idea - this is the way stupidity works people!).

We went in, didn’t find anything other than PCI-E cards (slots which his 5 yr old PC doesn’t have) and then spent about 5 or 10 minutes looking at the DSI-XL, and various other tech toys. So 10 minutes later we’re driving out of the parking lot and I ask her for the phone. WE CAN’T FIND IT.

We did all the usual things. Searched our pockets five times over. Searched the car five times over. Looked in the store. Searched the parking lot. Re-traced our steps. Talked to the store rep who called the number while my daughter and I ran around trying to listen for a ringtone. Nada (he said it went straight to voicemail).

My daughter in tears, swimming in guilt. Me, biting back my anger, telling her (and knowing inside) it was Daddy’s stupidity. Walking back to the car in disbelief, eyes desperately darting everywhere looking for a little black neoprene case in a snowy slushy parking lot full of moving cars, the sinking realization hitting home that my beloved Nexus One was gone. Worse still, taking with it a surprising amount of photos and videos that I had only backed up about 3 months ago when I upgraded from a 4GB to an 8GB microSD card.

After getting back home, changing my gmail password, and making some fumbling attempts at figuring out how to locate it, I finally resigned myself to its loss, wishing hopefully that it had been crushed under the weight of a car tire and not in the hands of someone else. After some short deliberation, I headed back out to bite the bullet and get a new phone.

I ended up getting a Samsung Galaxy S. I’ll probably have more posts on how I’m liking (or not liking) the new phone. I’ll save those for another time. But I will leave you with a heavily abbreviated list of things I came to learn this weekend:

  1. I am stupid.
  2. Backup your stuff. You don’t need some streamlined system. Just backup your stuff. Somewhere.
  3. Bell mobility staff (at least in the Aurora store I went to) is heavily undertrained on what they’re selling.
  4. Telus mobility staff are somewhat better trained, but still surprisingly clueless about what they’re selling.
  5. Think past your rage and avoid blaming a nine-year old for the stupidity of her 42 year old father.
  6. Keeping most all of my graphic design work in Dropbox was about the only smart thing I’ve done through all this.
  7. The Nexus One was an even more beautiful phone than I thought it was. If you have one, keep it. Cherish it. AKA you don’t know what you’ve got ‘til it’s gone.
  8. Plug in your laptop when you’re doing any important system work.
  9. Web sync’d apps of any kind are a godsend.
  10. BACK. UP. YOUR. STUFF. SOMEWHEREANYWHERE.
  11. I am stupid.

Iterative design. It’s a relatively simple process. You come up with an idea, then have a go at it. Analyze it, test it, figure out what’s wrong with it, and if you’re lucky, how you might make it better. Then you refine it, circle back, and carry on the cycle.

Iterative design is not throwing up 150 ideas and picking what you think is the best one. And it’s not simply about adding new things (actually, many iterative steps may involve removing things). Good iterative design should involve thoughtful, considered analysis and judgement - not a straw poll of features getting voted up and down a list.

Every suggested change should be backed up with a good reason. What am I trying to accomplish? What is this piece attempting to do? Is there a statement that it’s making? Does the thing I’m adding (or the thing I just added) contribute to that or take away from it? There are a dizzying array of questions you can ask during the design process. It can get daunting. Quickly.

In the Libre Software world we seem to be able to incorporate the iterative process into software development rather comfortably. When a new search routine is required for some functionality in a program, does the team canvas its members for multiple complete working prototypes and then choose one to use? I would think they’d take some sort of working prototype and then begin the iterative process refining and improving it. Why don’t we do that with things like visual design more often?

There seem to be a lot of people (in the circles I run in anyway) that are none too happy with what Ubuntu seems to be doing lately. And while I don’t agree with every design decision they’re making, I do respect the fact that they seem to have chosen a path and are proceeding to refine it.

Yes. It would be nice if the starting point of that path was happily decided by everyone and his uncle. But that’s simply not practical. Not everyone gets a say in that starting point. The tenets of Free Software do not guarantee you that - thankfully.

So what about the power of community? Where does it play in here?

We need to up our game when it comes to the thoughtful, considered analysis. We need to provide, discuss and discover the reasoning behind our analysis of things. We need to demand a statement of audience and then do our best to plunk ourselves into the shoes of that audience when formulating our analysis and criticism. Without an accepted target audience we’re just shouting about how “We” don’t like feature XYZ or “We” don’t like the look of dialog XYZ. Knowing audience you can step back and remove a great deal of personal emotion from the analysis. I think this sort of ethos, even in specific projects can lift all Libre boats design-wise.

Perhaps you would step back and discover that Ubuntu is NOT targeting you. Maybe Ubuntu is NOT designed for me. I don’t know their target audience (but I wish they’d tell me). However that doesn’t mean they don’t need all the valuable, thoughtful criticism they can get.

I think we need a better way of getting involved in the analysis part of the cycle. Not everyone can do the refining, not everyone can do the prototyping. But let’s not ignore the considered analysis part of this. There needs to be better tools or a better system for seeking out that sort of analysis, and making use of it.

The Real Question

The question is, are you interested enough in the success of Libre Software to find out you’re not the target of a given project and still provide that considered, reasoned analysis so crucial to the iterative design process? If so, speak up and let’s start raising the tide.

While you should feel free to comment here, I highly recommend you bring your comments over to Librescope. We’re trying to build a community of people interested in discussing Floss design over there.

The recent Smashing Magazine post “Designers, ‘Hacks’ and Professionalism: Are We Our Own Worst Enemy?” is an interesting one. I urge you to read it. It brings up several different issues but one that struck a chord with me was the whole feeling about the commoditization of design.

With sites like 99designs.com which leverage design contests and with logos coming to istockphoto.com the apparent cheapening of the graphic design profession is unrelenting. On one hand I understand the ‘world going to hell in a handbasket’ sort of view, but the pragmatist in me tries to step back and see how this is not unique and not at all unexpected.

There is the sentiment that any fool with some graphics software and half a brain can hang his shingle out as a “designer”. Whether they will be successful or not is another matter entirely. There is also the view that design work becomes undervalued and commoditized when clients see that they can get an acceptable logo for $50.00 instead of the $1000.00 the top grade designer may want to charge. Do you want to buy your shoes at Payless or head over to Gucci? Well if the buyer can’t tell the difference (which is the designer’s job to describe), then hell yes I’d expect him to head over to Payless. This is not ideal, but completely expected.

It can be a difficult rationalization. Why should graphic design escape the same sort of trend as desktop publishing, journalism, writing or photography for that matter? What makes graphic designers so unique?

We have seen photography flourish as of late and yet there are still great photographers - in fact I’d say many more of them. Is the photography business as lucrative as it once was? I’d think not. Photographers have to work harder, be more creative and up their quality to survive. I find it great that so many more people are interested in photography - if I was a professional photographer I think I’d probably hate it.

And so it is with graphic design. I love the fact that design concepts start to enter the mainstream. It is no longer a black art. Sure, it would be more romantic if it was, but it’s not. Is it hurting things for professional graphic designers? Sure. But again, I value the proliferation of skills over the health of an industry.

Granted I am not a professional graphic designer nor am I a professional photographer. It’s easy for me to hold these views. And since I’m a shit programmer by any measure, I could just as easily say the same thing for programmers as well (and writers and desktop publishers). Progress and technology lower the bar. That enables more people to participate. I think that’s a good thing, but that dilutes the market for those who’ve been in the pool the longest. I feel bad for them. Sincerely I do.

I am lucky in a way that in my own profession (structural engineering) there is greater liability. When I design a structure I am legally responsible for that design and its performance over the life of the building. This affords us signficantly more protection against the democratization of structural engineering (ha - now there’s a far-fetched idea). This sort of liability is rarely there for software designers, and probably even more rare for graphic designers. I don’t see that changing.

So where is the positive in all of this for our little FOSS corner over here? We already have a community built around voluntary contribution and knowledge sharing. We can take this time to weep about passing industries and shrinking job markets, or we can take a bunch of people who are already part of the Libre Software community and who are passionate and eager about design and teach ourselves great things so we can create even better things.

I think the first step is to admit we have a lot to learn. And perhaps we should just take that statement as fact since we may be the worst people to judge our own skill levels (as John Cleese put so well). Many would also say quite rightly that as far as design goes, Libre-land has nowhere to go but up. So let’s start climbing.

Some things to chew on in no specific order:

We need to learn to provide quality criticism, how to accept it and how to use it. No more ‘put up or shut up’ nonsense. Listen to criticism, evaluate it, discuss it, elevate it.

We need to stop thinking we know everything about design when we clearly don’t. We are smart. We can learn these things.

We need to encourage designers**, but hammer on basic design concepts. Audience, goals, colour, flow, etc.

We need to treat design seriously right from the start of our projects and stop treating it as a suit of clothes.

We need to look at the ‘why’ of good design going on outside of FOSS land. Why is something good? What is the concept at work? Not copying, not being unique for the sake of uniqueness. Let’s try to understand the ‘why’ of good design and apply that.

** I am conflicted about design contests. I understand the problems with them - if you don’t, I highly recommend reading this post. But I still think there needs to be a viable way for those eager to build their design skills to work on meaningful things. If you have ideas in this regard, let’s hear them and get a proper discussion going.

Usability testing seems to be the new black in Libre Software Land these days. And while I won’t discount its importance one bit, I am a bit frustrated reading this recent post titled “When users first encounter Ubuntu: six showstoppers” over on the Canonical Design blog.

Why am I frustrated? There is no real information about the testing itself (perhaps it’s published somewhere else?). Who are the ‘users’? How many were part of the test? Are they part of the Ubuntu’s target audience? (Who is that anyway?). What age are the people? What are their backgrounds like? Where are they from? Were they female or male?  There are a million questions (and perhaps even some answers) that I think should go along with any report about usability testing. The post gives some typical remarks and a summary of what are apparently major problems, but without context these seem just like the myriad of assumptions we make about “users” all the time anyway. These results would be much more meaningful with context and focus. And like I said, all that info may be recorded and published somewhere else. Why not provide it?

Now a few comments (not necessarily answers) about some of the “showstoppers”:

1. File compatibility

I would think this is largely an OpenOffice concern, at least in the context of Office documents. I’m not sure if this will ever be solved without moving to an open format anyway. At work I have dealt with several people who can’t open docx files in their version of Office. File compatibility is a concern even for MS-Office users on Windows.

2. Lack of feedback on system behaviour

This is one of those areas that we could do a lot better than our non-free OS competitors. There is nothing holding us back from providing something that solves the problem creatively and uniquely.

3. Use of jargon

This problem is rampant all over FOSS-land. Thoughtful consideration of every menu and dialog is required, at application and OS level. Again, this would be so much easier with a defined audience.

4. Getting flash

Rather than addressing the problem, I have to take issue with the summary of this point. “Most didn’t know what to do at that point.” Most of who? How many tried? Are we talking about 3 people or 30? And if most didn’t, does that mean 2 or 16, or 29? This is where context would be so helpful. And maybe the more pressing question is: If ‘most’ people didn’t know what to do, then at least ‘some’ actually did. And if they did, why is it that none of them were able to download it? I don’t get it.

5. Software centre

I think a good chunk of this point relates directly back to 2. and 3.

6. Adding a printer

I don’t remember encountering any of this. I opened the printing dialog from the Administration menu, clicked ‘New Printer’ and chose my model and driver. While not perfect, I don’t remember having to list anything about device URI’s etc. Were these people installing an unsupported printer model? Maybe a network printer? There is not enough in the description to tell. It sounds like the printing dialog is horribly broken for everyone and I just don’t think that is the case (again - publish the data and let’s see).
Well, I guess it’s good that there is some usability testing. But how good is the question. And without more information about the testing itself there is no answer to that.

Did you know that there is a visual identity guide for Ubuntu? I didn’t. But perhaps I never looked.

It’s currently at revision one, and you can find it here. It’s nice to see this aspect of the design taken seriously. I wonder how many other Linux distributions have one.

There are a few things of note on the second page of the guide. It’s a decent attempt at being inspirational and higher-minded, and those are not bad things in my book. Imagine that, trying to get your product to generate emotions, who-da-thunk it.

With all this whining I’ve been doing lately about audience and goal, I almost chuckled aloud at the last line of the first paragraph,

We stand for the very best operating system in the world, created by the expert few for the global many.”

I think the ‘global many’ is about as nebulous as you can get in terms of audience. And just try and tell me that ‘the expert few’ remark isn’t going to make a large contingent of the Ubuntu ‘community’ howl that this is further evidence that it isn’t being valued - When was the vote held on the content of this style guide anyway? Let’s hope it wasn’t.

Hmm.. reading along some more… what’s this? Apparently the guide is meant to help people create a consistent identity that will communicate Ubuntu values. And as of revision one these values are: FREEDOM, COLLABORATIVE, PRECISE, and RELIABLE.

I’m no linguistics expert but maybe it should be Freedom, Collaboration, Precision and Reliability. And no mention of Light, or Lightness at all. The previously described concept of light doesn’t seem to fit inside any of the above four. Maybe that’s a value for the wordmark and logo, but not for Ubuntu itself - my head hurts.

But let’s remember - revision One.

I went through the rest of it and a lot of it is spelled out quite nicely for a starting point document. I do wonder how strictly it will be followed by those outside of Ubuntu proper. There are a boatload of people out there who like to create Ubuntu-related visuals. I think a guide like this only helps them. But the “Free-means-I-can-do-whatever-the-hell-I-want” community contingent will likely spin this one off as too restrictive without thinking about the greater benefits of consistency and the potential for real, tangible forward progress.

I’m happy to see this document. With a little more focus and a well-defined [cough] audience [cough], that page Two could be a real zinger - almost dare I say it, a rallying point. Let’s hope they push this out into the community - not onto.. but into. It will be interesting to see what happens.

Let it languish and it’s wasted effort.

Two parts to this, not nearly as tied together as I’d like, but heck, it’s been a month. First it’s pretend time, then a few things to ponder.

Okay, pretend time. Let’s pretend that you and I are designing a new Linux-based distro. So being good designers means that we’re going to immediately try to hone in on a definition of audience and goal (right?).

Let’s skip through the twenty coffee-laden, late night IRC meetings and pretend that we decided that the target audience of our distribution consists of 22-32 year old female stay-at-home moms who use laptop and desktop computers. The goal for our distribution is to provide an engaging, stable, virus-free platform which is exceptionally good at social networking and creative endeavours such as writing, photography and video editing for our target audience. (Whether that audience and goal are focused enough or well-defined enough is another matter entirely - and if you don’t think it is, let’s hear your ideas).

At this point, no matter how much fun it might be, we fight the urge to simply run off and design a pink logo for our new distro.

Now, you may not know me. But you’ll have to simply take my word on it that I am not in fact female and nowhere near the 22-32 year old age bracket. So while I could in fact design this mythical OS myself, I would have no idea whether the design was progressing toward its goal. I would need to either get a broad cross section of the target audience working for me, or perhaps more practically, seriously research the hell out of it.

In most parts of Libre Culture land I venture to say we don’t do either very well for our creative endeavours. I know that I personally don’t (at least not nearly enough - though by reading, learning and writing about it I’m trying to change that.).

Perhaps even more telling is the fact that as a 42 year old male, for me to say things like “I think this distro rocks!” or “I think this distro sucks!” really means a heck of a lot less than I might think or hope it does.

So let’s bring this back around to our Free Software community. Can we pay attention to the standard design practice of knowing audience and goal? After we choose an audience can we stop pretending that “we” are the audience and research the hell out of the actual audience?

Second, and perhaps more powerfully, a few questions.

It’s great that so much Libre Software was built by people “Scratching Their Own Itch”. It has been the driving force in building such a large army of so many smart and generous people developing so much great software.

What worries me is this: Can we rally groups of these smart people to design for an audience they are not a part of? Can we get Free Software culture to really scratch someone else’s itch? If not, are we destined to results that ultimately cater, even subconsciously to the traits and desires of the developers themselves?

During this past week I was on vacation and started reading Seth Godin’s latest book “Linchpin”. One particular passage was very apropos to what I’ve been harping on about recently and I thought it would make sense to quote it here. In Linchpin, Godin defines art as a “personal gift that changes the recipient”, and based on this definition, art can encompass all sorts of design work, visual or otherwise. He also states that “most of the time, most of us make our art for an audience.”. He then goes on to give two reasons why it’s vital to know who that audience is:

The first is that understanding your audience allows you to target your work and to get feedback that will help you do it better next time.

The other reason? Because it tells you whom to ignore.

It’s impossible to make art for everyone. There are too many conflicting goals and there’s far too much noise. Art for everyone is mediocre, bland and ineffective.

If you don’t pinpoint your audience, you end up making your art for the loudest, crankiest critics. And that’s a waste. Instead, focus on the audience that you choose, and listen to them, to the exclusion of all others. Go ahead and make this sort of customer happy, and the other guys can go pound sand.

I thought that advice was spot on for so much that goes on in libre software land. We have a tendency to want to please everybody, even when the power of Free Software is built on the concept of being able to tailor software to a specific need. By taking the risk and focusing on an audience, the result is bound to be stronger for it.

Here I go probably oversimplifying again.

There are two big problems with the design of Ubuntu (and probably most other big Linux distributions): the lack of a clear audience definition and the assumption that somehow we know what that audience wants and needs.

Clearly it’s a bit silly sounding to attempt the second without knowing the first, but the danger is that we assume the first in order to do the second.

I refuse to accept “everyone” as an audience (on the grounds that it’s impossible), so I’d have to say that Ubuntu lacks a publicly defined audience (please OH PLEASE prove me wrong here). I’ve heard many people say that Ubuntu is aimed at the person who is “new to computers”. I’ve also heard many people say that it’s aimed at “grandma”, or even better, that it’s aimed at the “average user” - whatever the hell that means. I’ve even been given a pointer to an irc log (here) that kinda sorta indicates that it’s aimed at “young professionals” who are “web-saavy”.. er.. but also everyone.

Even if we were to have a well-defined audience, I think we techie-Linux folks tend to make the mistake of assuming we know what that audience wants and needs. Worse still, we confuse it with what we want and need. This is all great if the target audience are techie-Linux folks. But if it’s not, I fear all of our best intentions will still end up with a product aimed at ourselves. And unless that is the audience, it’s a failure.

I don’t doubt that there are many creatively talented people working on Ubuntu. But for the design team I think there are a few important things that need to happen:

1. Define the audience - publicly and succinctly. It ain’t easy. You will alienate people. If you don’t you’re not defining it well enough. Don’t you think BMW, Nintendo or Apple piss people off with their design work.. even within their own ranks? Aim high. Let’s build a sports car or a minivan or a pickup truck. Pick one, but don’t aim at designing a Porsche that can seat 8 and haul sheets of plywood. It doesn’t work. It’s been proven. It weakens the result when you practice scattershot design. Focus.

2. Define the goal. What are you going to accomplish for that audience? Again, document it - publicly. This gives your design team direction. It cuts down on goose chases and keeps things moving in a single (and hopefully correct) direction.

3. Be strong in your design goals, but be transparent. Please never let it be design-by-committee or consensus. You already have talented people. Do 1. and 2. and you will make those people much more efficient. But explain what you’re doing and why you’re doing it. Document the process in minute detail. This is the internet - it’s built for this sort of thing. Don’t do a complete identity rework and then have your head of design spend one single blog post defending it. This should have been explained to death. If you’re proud of your design, the designers should be bursting at the seams to explain their work and convince everybody that will listen as to why it’s great.

The last point requires relatively little risk and is easily accomplished however I don’t expect the first two, as important as they are, to be accomplished. There is this silly notion of having to aim Ubuntu at everyone - such a fear of pissing someone off, that I don’t think 1. and 2. are attainable.

I hope I’m wrong.