Licensing Pedantry

Such a shame to see a website lovingly crafted only to be ruined by this nonsense plastered everywhere:

This web site and its contents is licensed using the Creative Commons Attribution Licence:

Who cares?

cc licence

Senseless Figures in Front of a Mirror

My observations of some individuals in the world of software modelling and, previously, in the misnamed “academic” sector, remind me of a story by Carlos Castaneda in his book, “The Active Side of Infinity”. Castanada’s friend recommends that he visits a prostitute called Madame Ludmilla. Castanada relates that Madame Ludmilla’s speciality is dancing in front of a mirror, where she twirls round and round to a “haunting melody”:

She dropped her red robe, kicked off her slippers, and opened the double doors of two armoires standing side by side against the wall. Attached to the inside of each door was a full-length mirror. “And now the music, my boy” Madame Ludmilla said, then cranked a Victrola that appeared to be in mint condition, shiny, like new. She put on a record. The music was a haunting melody that reminded me of a circus march.

“And now my show” she said, and began to twirl around to the accompaniment of the haunting melody…

“And now, figures in front of a mirror!” Madame Ludmilla announced while the music continued.

“Leg, leg, leg!” she said, kicking one leg up in the air, and then the other, in time with the music. She had her right hand on top of her head, like a little girl who is not sure that she can perform the movements.

“Turn, turn, turn!” she said, turning like a top.

“Butt, butt, butt!” she said then, showing me her bare behind like a cancan dancer.

She repeated the sequence over and over until the music began to fade when the Victrola’s spring wound down. I had the feeling that Madame Ludmilla was twirling away into the distance, becoming smaller and smaller as the music faded.

Castaneda relates this story to his teacher, the shaman and sorcerer, Don Juan, who remarks that this story must be included in Castanada’s collection of stories, because “it touches every one of us human beings.” Don Juan explains:

“You see, like Madame Ludmilla, every one of us, young and old alike, is making figures in front of a mirror in one way or another. Tally what you know about people. Think of any human being on this earth, and you will know, without the shadow of a doubt, that no matter who they are, or what they think of themselves, or what they do, the result of their actions is always the same: senseless figures in front of a mirror.”

And that’s exactly what I see in both the “academic” world and the world of software modelling – senseless figures in front of a mirror.

Draw a line in the sand

I’m reading the book “Rework” by Jason Fried and David Heinemeier Hansson. It’s the right book for me to read right now. I’ve been thinking that as David is to Goliath, so is Archi to other tools. And here’s a quote from the book that resonates with that thought:

As you get going, keep in mind why you’re doing what you’re doing. Great businesses have a point of view, not just a product or service. You have to believe in something. You need to have a backbone. You need to know what you’re willing to fight for. And then you need to show the world.

A strong stand is how you attract superfans. They point to you and defend you. And they spread the word further, wider, and more passionately than any advertising could.

Strong opinions aren’t free. You’ll turn some people off. They’ll accuse you of being arrogant and aloof. That’s life. For everyone who loves you, there will be others who hate you. If no one’s upset by what you’re saying, you’re probably not pushing hard enough. (And you’re probably boring, too.)

Lots of people hate us because our products do less than the competition’s. They’re insulted when we refuse to include their pet feature. But we’re just as proud of what our products don’t do as we are of what they do.

We design them to be simple because we believe most software is too complex: too many features, too many buttons, too much confusion. So we build software that’s the opposite of that. If what we make isn’t right for everyone, that’s OK. We’re willing to lose some customers if it means that others love our products intensely. That’s our line in the sand.

Sand Line

But, of course, lines can always be re-drawn. Boundaries are constantly shifting depending on demand and opportunities. Perhaps, too, the wind will blow away the line in the sand and a new one drawn?

Zombie Organisations

Max Keiser rails against “zombie” banks, and rightly so as the economy suffers from the life-draining consequences of these wretched institutions. A zombie bank is a bank that that has an economic net worth of zero, or less than zero, but continues to operate as a result of government backings or bailouts.

But what about zombie organisations?

A zombie organisation is an organisation that also has a net worth of zero, or less than zero, since it has had all of its life-blood drained out of it and yet somehow, inexplicably, continues to walk the earth. Or, more accurately, the life-blood has left it – the good people of the organisation, the creative and honest people, have long since left to go onto better things, no longer able to endure the lack of management, and the incompetence and solipsism of the zombie organisation’s funeral directors. However, unlike the zombie banks, the zombie organisation is not being bailed out and instead has lost its source of funding, its fiscal blood supply, and yet stumbles on relentlessly, zombie-like, pursuing its mindless course.

I don’t know which is the saddest, the zombie bank or the zombie organisation. At least you can understand how the zombie bank continues in its unfortunate existence, pumped with the blood of tax-payers’ money. But how do you explain the continued existence of the zombie organisation, deprived of the blood of funding, unwanted even by its own host organisation, circling itself in its own uselessness and redundancy? Just how do you put the zombie organisation out of its misery?

Do you love your users?

Alan Rusbridger, the editor of The Guardian newspaper, was recently asked by a UK home affairs committee investigating the Snowden leaks, “Do you love this country?” This is not a question I will answer, but I do find myself asking a similar question of software developers – “Do you love your users?” Or, put another way, “Why do you hate your users?”

As the developer of Archi, the free ArchiMate modelling tool, I’ve put in many hours of my time, and much soul-searching, trying to create an application that works simply and elegantly, hiding complexity from the user and, above all, not crashing. I’ve thought deeply about what users want and what they probably don’t want, and I’ve listened to, and responded to, user feedback. So my answer to the question, “Do you love your users?” is unequivocally, “Yes!”

I’d like to illustrate this with an example of the process of thinking about usability in my software, and finish with an example of “user hatred” in another piece of software.

Show me the love…

I just implemented a new feature in Archi – to let the user define the line colour of a selected object in a diagram. This wasn’t too difficult, I just followed the standard presentation in the Properties pane. But then it got a bit more complicated when I added an additional option to derive the selected object’s line colour from its fill colour. Again, this wasn’t too hard, but it did present a usability challenge – one option negates the other. If the latter option is selected in the application’s global preferences, then any user line colours are ignored. So how would this look in the object’s Properties pane?

Archi Properties pane

Why are they disabled?

The problem is that the line colour selector buttons are always disabled. Whatever you do, they remain disabled since the global preference is set to derive line colours from the object’s fill colour. So why on earth are the buttons there? Perhaps the user needs to do something special to the selected object to enable them? Search in the user manual? Perhaps phone the help-desk? As it stands, this is a perfect example of the software designer hating their users. It’s the equivalent of inviting someone to dinner and then hiding the food in the cupboard.

So let’s show some love and try and solve the problem. Let’s kindly explain to the user that if they want to set their own line colour, they should have not been so stupid to have set it in the application’s preferences in the first place:

Archi Properties pane - better

Hmm…why should I?

Well, why should the user have to do that? They can’t even remember where the preferences are, let alone which preference to look for. Out with the manual again!

Perhaps the better solution is to not only explain why the feature is disabled, but also to offer a link that will open the preferences dialog window and take the user to the preference that will solve the problem:

Archi Properties pane - much better

A bit better, but…

Clicking the link takes the user to the Preferences dialog window:

Archi Preferences dialog

Preferences dialog – set it here

This is not a perfect solution, since the user has to think about whether to disable or enable the option. However, it’s a lot better than before. But wait…

…why not just completely hide the colour buttons in the Properties pane when the feature is not available? This way you wouldn’t even need to show an explanatory text and link. Well, I thought about this and this creates a different problem – the user might never know that the line colour feature exists. By greying out the buttons I’m providing a hint to the user that the feature is available under some circumstances. The additional explanatory text and link then takes the user to the preferences dialog so that they can see for themselves how and why this is an option – coaching and coaxing the user.

Even this solution sucks. There are just too many buttons cluttering up the screen. Back to the drawing board.

This is better:

A better solution

A better solution

Here I’ve combined all buttons into one control – the colour selector, as before, and the “Default” and “Preferences” into a drop-down menu available from the right of the selector. I even re-used the control for the Font selector. Nice.

And now for something completely different…

That is a small example of the process I go through when demonstrating the love I have for Archi’s users. But what about software developers who seem to hate their users? I give you Protégé, an open source ontology editor from Stanford University. Here’s the opening screen on Windows:

Protege - WTF?

Protege – WTF?

This just broke Software Rule #1 – Don’t Throw Shit at the User.

Ok, how about simply opening a file in the current editor window? Here’s the result:

Protégé - oh dear...

Protégé – oh dear…

Protégé also has a menu item called “Refresh User Interface“. Really? You don’t get a dog and bark yourself. Come on, this is supposed to be Stanford Frickin’ University.

You know what? I think the Protégé developers hate their users.

We are all Journalists

It seems that the US Senate wants to redefine the term “journalist” with the so-called “Shield Law”.

Of course, this means excluding Julian Assange as a “journalist”:

Whatever they say, with the power of the internet at our disposal, we are all journalists.

we are all journalists