Friday, April 02, 2010

Embrace Change

This is a letter to all those who think change = bad.

If you don't want your software to change then don't upgrade.

If you want your software to improve then expect (and enjoy) change.

If a feature is present in a version X, then that feature may not exist in version X+1. This is not a regression - applications don't exist to provide features; they exist to serve the users that the application is targeted at.

Default applications are there to serve the greatest number of users. In both the proprietary and open-source worlds there is often a "basic" and an "advanced" application for a given task. This is a good thing - trying to please everyone isn't as good as focussing on one group.

If there is an application that better serves your need then use it. (If you are an advanced user then use an advanced application).

I'm personally most interested in writing applications for the beginner to intermediate user. I'll relate this to the applications that I develop:
  • Simple Scan is not a replacement for xsane or gscan2pdf. But it is great if you have a picture you want to upload to Facebook.

  • GCalctool does not have the features of Qalculate or wxMaxima. But it does solve common equations.

  • glChess would not be used by a experienced chess player like xboard. But it is a good introduction to the game of Chess.


Anonymous said...

You are making a few flawed assumptions. The short short short rebuttal is that:

a) all change has a cost and a harm (in terms of experience and time investment)

b) harm that helps in the long run is one thing, but most UI change is totally unnecessary and hence totally harmful

c) the UI changes you are a making are probably pointless, no matter how awesome you think they are

d) learning curve is not nearly as relevant as efficiency, because you're only a beginner at a task once but you're experienced the rest of your time doing that task... unless the task needlessly changes for no actually measurable reason

e) real users HATE CHANGE far more than you apparently think; this isn't irritation or just an "aw shucks I have to figure out where this button went." They HATE IT TO DEATH. They will HATE YOU. They will HATE YOUR APPLICATION. Example: I've seen people scream and yell in utter rage over the moving of the Add/Remove Programs pane being moved from Control Center to My Computer between XP/Vista. The other stuff was change that merely added or enhanced, but a mere movement of an icon really pisses people off.

e) people hate change because it wastes their time and makes them feel stupid. they were an expert in the old version and now they are a beginner again, and they have to spend time relearning something they already had learned.

g) if your users tell you you are wrong, you are wrong; you can't take complaints of change and say, "you should like it because it's better for you because I think it is easier for beginners"

h) the beginners you are trying to target with rearrangement of UI and other changes are hurt MORE by the change than the experts -- you'll never know that though because those kinds of beginners aren't the savvy kind that know a damn thing about bugzilla, GNOME forums, mailing lists, or anything else they wouldn't have needed to learn about to get on Facebook/MySpace/etc.

Robert Ancell said...

Anonymous, firstly I disagree that your rebuttal is short.

My rebuttal to your rebuttal:

In my experience the people who respond anonymously and immediately to blog posts do not represent the opinion of the majority of users. The real feedback comes from people you talk to, observe using or respond in their own way (often by emailing me directly).

Usability is not only about learning curves. See for a good description of usability.

If you want to criticize change for "totally unnecessary" or "awesome" in the developers opinion or "changing for no measurable reason" then put up or shut up. Disagree with the listed improvements, point out the changes that are "awesome" but not useful or provide some measurements.

Yes, a lot of people hate change. But nothing has ever improved without change. Apple wouldn't have made OSX successful without changing things from OS9. The iPhone wouldn't be successful if it just ran a small version of OSX. Microsoft is a good example of the opposite - you don't hear people talking about how Windows 7 is better than Vista or XP or how successful their Windows phones have been. You do hear people saying wow, Linux is a lot better than 5 years ago.

And you're wrong, users do know how to email you from the about dialog, how to write on their blogs or twitter (both of which can be easily tracked via Google blog search etc).

Anonymous said...

There is a flaw I see as well. The button change does not bug me. I see no reason for it other than apparently some self fashioned designer thought to himself "Gee this would be kewl", but what ever. Maybe there's a better reason, but noone's come out with one.

The flaw however is assumed availability of choice. In the case of the buttons, there is a choice. You have to hack the gnome registry, but it's possible to do and you don't need to compile your own version. The things I gripe about are the things for which there are no choice.

Of course, as you say, I could keep running software from five years ago, but that seem pretty unreasonable. Changing a default is fine. Hiding a setting in the bowls of a system is petty, but fine. Changing the default and removing the choice to switch back is removing a feature and breaking people's work flow. When it happens to them often enough, people head for the door and for good reason.

Seeing you rebuttal, I can tell you won't care, but what ever. I'm anonymous, and I don't blog or twitter. Guess that means I'm nobody.


Robert Ancell said...

The main reasons for the button change (assuming you mean gGCalctool) are (see
* Supporting Mathematical syntax (so you don't have to learn the calculator behaviour to solve mathematical equations)
* Making the input methods more learnable (instead of the existing 20 or so shortcut keys)
* Adding new functionality - logarithms in different bases, mixing number bases in calculations, mathematical constants (pi, e), complex numbers (didn't work in time for release).
* Reducing the amount of options and state (simplified menus, reduced number of radio/toggle buttons).
* Reducing limits on variables

If the above were not useful or could have been achieved by not changing the existing UI then I would agree the latest release was a mistake.

I can assure you the changes I am making to GCalctool are not to be kewl but rather to make a calculator suitable for 2010 (GCalctool was started in 1986).

The reality is you cannot provide an application that implements both historic and new behaviour. It would be unmaintainable (the previous GCalctool tried to maintain both arithmetic and left-to-right modes very badly a few releases ago). Either you support old behaviour forever or delay when users will have to change to the supported behaviour.

I do care about feedback, I do care about how useful GCalctool is. I would not be writing a blog about this and spending my time writing it if I was not a passionate developer.

Anonymity is not about not having a blog. It is about providing a name and/or some context to your comments.

Belinda Tolua said...
This comment has been removed by a blog administrator.
Anonymous said...

Your premise is wrong. Yes, change is not bad automatically, but change is also not always good.

I could give you plenty of examples of times when change WAS bad.

Mathias said...

Yes, no software is perfect and of course most software needs improvement. Still change for the sake of change is bad. Software changes must be justified and provide a real benefit. A __real__ benefit.

Robert Ancell said...

My premise is "no change is bad". Perhaps I'll update the title.

Yes, change has a cost.
Yes, change for changes sake is bad.

But, if you don't change you are going backwards. The world changes all the time and if you let the fear of change hold you back you'll never make anything great.

nebakke said...

Not to be painful but you posted it, so I followed ;)....

Technically change for change's sake isn't inherently bad either. It's the focus on the value of change itself that is the issue. Whether or not something changes is not enough information to decide whether the change is for the better or for the worse. Rather whether the change improves the application is what matters.

So in normal terms I think you'd be better off judging change on something like democratic terms. If you made changes and gCalctool is still there this time next year, then it seems reasonable to think that, at the very least, the change has not been so detrimental so as to stop everyone using it... As worst case.. Best, it's been for the better... Just what I think ;)

Andy said...

Fascinating discussion. I think the flaming is more of a knee jerk and the long-term implications for these changes are positive. I do wish the close icons was on the outer left edge, like OS X, but I can't have everything I guess.

Obviously change has a cost, but unlike others who have commented here, I actually like the direction Ubuntu is going in.

I am an advanced user. I jumped off the MS train in 1999 while I was in undergrad. And, with the exception of Wine and Virtual Machines, I haven't used it since. I use Ubuntu at work to perform data analysis (R), database work (postgres), etc. I am NOT a "Joe Six-pack" user.

I don't use the default calculator tool. More often than not, opening it would take more time than just asking R or python to add things up for me. For me, the default tool is never going to meet my needs and it bothers me not at all.

In contrast, I use a scanner only once or twice a year. I really hope that Simple Scan works as nice as it looks (haven't tried it yet) but I love the fact that it is SIMPLE. If I want something more advanced, I can always install it myself. But, when I go in to scan something real quick (tax records, etc.) I want it to work, I don't want to consider the color depth or the kerning style. I want it to work and look nice. End of Story. Assuming the new tool works well, I give it two thumbs up.

On my computers, I nearly always install R, reinteract and a half dozen other programming/data analysis tools. For me, these are essential tools and any computer without them just feels -- naked. Installing them as part of ubuntu-desktop would be ludicrous.

Scanning, advanced editing of digital photos, composing music, etc. -- These are all specific spheres of expertise. I can't draw worth $hit. I don't need the latest drawing tools, but I always install them for my girlfriend who is a talented artist.

I find it amusing that dropping the Gimp or changing the calculator upsets people, but when Base got dropped there was nary a whisper. And you know what - these decisions were equally valid. Most users don't need Base and most users don't need the Gimp.

If you want more advanced tools, you can EASILY install them and if you are upgrading, Ubuntu won't delete the gimp out of spite, I promise.

PS - I really like the default Gnome chess program. It's fast, easy to use and is perfect for me when I'm sitting in the airport (again) waiting for yet another overdue/lost airplane.

Ethan Anderson said...

I have converted tens of people to Ubuntu, which will, next month, include my grandmother.

I interact with these people, I see what confuses them, I see what they like. It's accurate to say you can't know everything from a small sample size. It's not accurate to say we're all horrible at indicating what people want.

..and I recognize different types of users. I can put up with change easily for the sake of functionality, convenience, elegance.. and I have a relatively high tolerance for buggy software. My grandma and mom, not so much. At all. For my grandma, the simple exterior of the eMac I got her made ALL the difference in the world from the other ubuntu desktop. I saw shallow computer aesthetics turn my grandma from a luddite into a Facebook/Hulu/Gmail users, and one thing I've noticed, upgrading the mac I got her from OS 10.3.9 to OS 10.4.11, or installing iLife, or installing Firefox was..

Change scares her almost as much as the old comp did. Next month.. we'll see how this goes, I'm hoping Ubuntu's superiority over OS X warrants the differences.

FranticLefty said...

I love this! Being told to embrace change! Whatever happened to the customer's needs being fulfilled? Prepare for a surprise...

John P said...

@Andy: It looks like, in this case at least, you can have everything.

I too am quite positive about the idea of experimenting with UI to find an optimal interface for Ubuntu users.

However, I'm rather unhappy about myself and my users being the guinea-pigs for it. Rather than the changes themselves, it is the manner of them that matters to me. Coming out in non-optional form just before an LTS release, and before they are fully thought through and tested (what will go in that top right corner? as of yet we just don't know, and LTS users won't see anything for years).

I support several dozen Ubuntu instances as part of my day job. We've moved to 8.04 LTS from a mixture of SuSE and RedHat, (at my initiative, my reputation is on the line if upgrades dont go well). Robert says don't change if you don't like it, but that's not an option; 8.04 has 12 months of support life left. In the next year I have to test that the applications needed for our work are all functioning properly and working well with our hardware, then migrate our machines and users, if not to 10.04 then to something. Staying still is not possible.

I think this should have been done in an LTS+1 release and even then possibly as an option. It should be widely tested and experimented with, and when it's stable and trusted make it the default for an LTS release, thinking about the migration path for existing users even then. When winXP came out it had an easy to apply option for the classic UI. I still has users with a desktop which looked like win2000 in 2006.

As interesting as these ideas are, I don't really want my users to be subjected to experimental UI changes.

My previous belief was that Fedora was an experimental distro (in contrast to the conservatism of RHEL), but that Ubuntu was more mainstream. This hasn't really come to pass and I wonder if Shuttleworth would really be better with an experimental version too (or just leave LTS releases for consolidation and bug fixing then let rip with the new directions in an x.10 release).

Anonymous said...

I agree that change = bad is not correct,
but change = good is not correct either for me.

I hate being told that change should be embraced... I'm not opposed to change, I'm not opposed to learning, improving or progress at all. But being told to accept it instead of seeing the good side/benefit for myself does not feel right for me.

I jet have to understand change for change's sake...

For me it is the simples thing to embrace something new, a change, when I see the benefit of it (for me or in general). If someone can explain to me how it has the potential to become much kewler. This can for sure include some re-learning, adjusting ...

In general I think people are ok with change or say welcome improvements easily in areas they feel comfortable with. Change on things they are no expert in and still need to cope with can drive them crazy.

PS: Robert I'd like to thank you for the really simple SIMPLE SCAN - it just works for me!
Thank you!

Genghis said...

I agree, good post.

Sometimes change is one step back but next it's two steps forward. That's life, accept it. Have a whinge and grumble, that's normal, but as long as it's progressing and there is a vision, all is fine.

And remember, it's impossible to please everyone or even mostly everyone, so it's useless trying to. That may seem uncaring but that is reality just as constant change is a reality.

Anonymous said...

No one thinks change=bad. But that doesn't mean change=good. Some changes are good, others not so much.

Moving buttons in a UI pisses users off. Don't blindly tell them to embrace it --- learning hurts.

If studies had determined that it was slightly more efficient (less strain on your foot or something) to switch the accelerator and brake in your car, would you embrace switching them? I suspect you would prefer to avoid the short term cost of thousands of accidents caused by pressing the wrong pedal.