Sunday, 30 September 2007

Open source experience design - part 2

Now that over a week has passed since my original post, and no-one from either the open source camp or the experience design camp has "paid me a visit", I'm going to venture out a little further onto the ice.

One of the myths I'd like to try and dispel is that good design is something that can be bolted onto a product at the end. Heaven knows there are plenty of people out there better qualified to make this point than me, but whatever. There are even more people that pretend it isn't the case, so it's still a point worth making.

Good design takes place during the development process, not afterwards. In my previous post, I said that end users' requirements need to be incorporated into the design process, "through effective use of personas, timely user testing, validation of any assumptions, and an effective iterative process (as far as is practical)". But how practical is it to incorporate these ideals into the average open source project? Especially when a program of research and testing can cost tens of thousands of £££. Hardly something one can expect the average basement programmer to find the cash for.

But there are still options. Understanding why design is important is a good start. For this, I recommend reading The Inmates Are Running The Asylum by Alan Cooper, a developer himself. It's gaining in popularity in Osmosoft Towers, and I think it provides an enjoyable and persuasive overview on the subject. Readers of this blog are invited to submit their own recommendations.

For projects without cash, there's a sliding scale of the extent to which end users' perspectives can be taken into account. At the bargain basement end, just think about the type of users you've created the product for. Do any friends and family meet that description? Involve them in the design process. Get them to look at your work. Beg or bribe them to be honest.

Also, look for similar products to yours which are already successful. There are plenty of rich companies out there doing gold plated, user centered design processes, and there's no shame in learning from their successes. What is it about their sites that makes them so good?

Another option is, if it's an open source product, seek feedback from the open source community. Bear in mind that they're likely to be ├╝ber-geeks like you (that's a compliment btw!), so take their feedback with a pinch of salt. But maybe they can be encouraged to share your work with friends and family who meet your target profiles?

There are a couple of important pitfalls to avoid.

First, it's tempting to add features that are easy to add, but after a point these will have a negative affect on the experience. Look at Microsoft Word.











Then look at the iPod.












Keeping the interface simple makes it easy to use.

Second, recognise the temptation for programmers to model a user interface based on the underlying software - and then try to avoid it. Try to design the UI based solely on the user's goals, and then manipulate the software to suit. Not always entirely possible, never easy, but always worth trying.

And this is the reason why design should take place at the same time as development where possible. If it's left too late, the later one leaves it, the harder it is to change the software.

That said, it's never too late to try and apply good design principles to a product. TiddlyWiki is a great case in point; both the website and the product have evolved in a myriad of useful directions, but as a result they've become quite complicated for the novice, non-technical user to understand. I've created a screencast which guides new users through the first steps, the making of which made it obvious that we can make it easier for new users to understand and adopt the software.

TiddlyWiki is not Osmosoft's or BT's product. It belongs to the open source community (well, legally, the code is being held in trust by the not-for-profit foundation UnaMesa. But you get my point). My plan is to enlist help to come up with ideas about how TiddlyWiki can be improved, and post these on the TiddlyWiki forum for comment. Watch this / that space for more on this subject.

Monday, 24 September 2007

TiddlyTV

Our interview with Jeremy Ruston on Friday (in BT's right posh TV studio) is now posted online. You can watch it in various sizes on the Osmosoft website, or right here in glorious TiddlyVision. Warning: the cheesy grin at the start is off the scale. It's 89mb so might take a few seconds before it starts.

Update 28/9/07: having the presentation embedded here was impractical as it made a lengthy call on the Osmosoft server each time the page loaded. So if you click on the below image, it'll take you to the osmosoft site where you can see the interview in full.

Friday, 21 September 2007

TiddlyAnniversary

It's three years since TiddlyWiki was first published to the web, and we've been celebrating all week. We've had several long term contributors in the office as well as some dialing in by video.

All good fun, and we've just returned from the TV studio where we recorded an interview with Jeremy on "The History of TiddlyWiki". It'll be published online shortly, but in the meantime there are several photos here taken over the past three days:

Day One
Day Two
Day Three

Wednesday, 19 September 2007

Open source experience design

Since my new world of open source collided with my old world of experience design, I've been giving a lot of thought as to how the principles of both can co-exist. I used to be surrounded by what my former employer LBi refers to as Experience Architects, and now I'm surrounded almost exclusively by open source developers.

As a starting point, I thought it would make sense to try and state the problem.

Good experience design revolves around a few key principles, in my humble opinion. One person or a small number of people should take responsibility for the experience. The experience should be designed independent of the underlying software, as far as possible. End users need to be incorporated into the design process, through effective use of personas, timely user testing, validation of any assumptions, and an effective iterative process (as far as is practical). And the responsibility for the experience should last until the release of the final product - the buck shouldn't be passed to developers when coding starts.

Then there's open source. For the purposes of this discussion, let's assume that we're not talking about a traditional development process, with a closely bound, established team, who just happens to be publishing their code under an open source license at the end of the project. Instead, let's suppose that the open source developers are outside the enterprise, possibly in more than one country. They could even be working on a pre-existing product (such as TiddlyWiki or Ubuntu).

Put in these simplistic terms, the problem isn't a particularly new one. The pitfalls of a traditional waterfall methodology are there to be fallen into. If a solution is designed by one group and then thrown over the wall at the developers, it doesn't matter whether they're in the same room or on the other side of the world. I believe it's essential to build software incrementally in an agile fashion to minimise risk and allow users to provide ongoing input throughout the build.

I think there are three keys to success in this situation:
  • Ensure that those designing the experience remain responsible for overall delivery right up to the end.
  • Ensure that those responsible for the experience have an open dialogue with the developers throughout the build. Use WebEx, use video conferencing (Skype, iChat, MSN, whatever) use Instant Messaging, use VNC, pick up the phone, send screen grabs, send screen casts, whatever it takes. Both developers and experience designers need to fight hard for a common cause; building the best possible experience in spite of the geographical separation. There are loads of communication tools available and there is simply no excuse for not trying.
  • Ensure that those responsible for the experience maintain their open dialogue with the end users throughout the build. The experience guy or gal must bridge the gap between the user and the developer.
This is pretty simplistic stuff, but this is only a blog posting and not a book. I'm encouraging my team members past and present to join the debate via response to this blog posting.

I mentioned in a previous post how the innovation process can be stopped dead in it's tracks if the user experience is too tightly defined. The distinction that needs to be made is that TiddlyWiki is an evolving product, but when a specific need is identified for an evolving product then the experience design process should and must kick in.

What do you think?

Monday, 17 September 2007

Mash Smash Facebook?

I stuck my neck out in July when I said that a serious threat to Facebook was imminent. And I was wrong on one count; the expected redesign of Google social network offering, Orkut, was distinctly underwhelming. But Yahoo! have now released a product which could give Facebook a run for it's money.

My first impressions of Yahoo! mash are pretty good. Here's my mash profile. As you may have seen from my twitter feed, the temptation is there to compare it with Facebook:
  • No advertising - yet
  • Ability to change your friend's profiles for them, including adding widgets. Opted out of letting anyone else do this yet. At least until Snowbadger has got bored and gone elsewhere...
  • The platform isn't open to developers yet, but this is coming in the "next few months"
  • Flickr widget looks good, of course - and only 218 people using this most popular widget. Early days indeed.
  • You can configure your own background, including full control over css - get ready for some MySpace-esque horrors...and some beauties, I suppose
  • There's some kind of tamagochi creature called "The Mash Pet" that I can feed, poke, etc. I just made him happy by feeding him four times in a row...joy....
JP Rangaswami often enthuses about Facebook and how it can be used in the workplace, while being quick to point out that it isn't Facebook per se which is of interest, but rather the potential of social networking sites. I anticipate a flurry of excitement about the prospect of being able to change someone else's profile! Need to give this some more thought myself.

So, the million dollar question: will it be popular? The market is far more savvy than it was six months ago. The kids who moved from MySpace to Facebook are unlikely to want to do it again. Lots of people seem to like Facebook, for better or for worse. I think mash has to improve, and it has the potential to do so. Who knows, maybe developers will come up with a killer gadget that uses the "modify friends profile" function.

In fact I wouldn't be surprised if the support given to developers tips the balance, as Facebook has proven to be pretty unreliable so far, well documented by my colleague Simon. You screw with the developer community at your peril.

It's invite only at the moment, let me know if you want one.

Monday, 10 September 2007

One Laptop Per Child

Ha! And there you were, thinking I was all blogged out! And in fact I was, but then someone bought one of the XO-1 machines into Osmosoft Towers. They're the laptops being used for the One Laptop Per Child program, the noble cause that aims to improve education in developing countries by reducing the cost of laptops to US$100.

As you'd expect at that cost, the laptops run open source software (including Red Hat Linux), and the front end has been tailored to make them more accessible to children. They have USB inputs, web cameras and wi-fi antennae. I know there are all sorts of arguments that we should first focus on the people that need basic food and sanitation, and there are plenty who don't have electricity. Obviously that deserves effort and attention. But I think using technology to help people to educate themselves is a worthy, parallel long term solution to the same problem.

I'm pretty sure TiddlyWiki will run just fine on the XO-1 browser (based on the Gecko engine used by Mozilla Firefox), although we had some issues with USB stick detection. This would definitely complement the educational aspects of the project.

It looks pretty funky too. Ironically it got more attention here than the brand new chunky iPod nano that Jeremy bought, which is about 1/50th the size and probably more powerful. Perhaps Nicholas Negroponte has his own reality distortion field? Anyway, click through to see the photos:
One Laptop Per Child

Barcamp wash-up

We've all straggled our way back to London to re-live the barcamp event. I honestly can't remember the last time I felt part of a community like this; everyone there was passionate about games, music, photos, the web, technology, gadgets and / or films. It was brilliant.

We made it as far as 2am on Saturday night before throwing in the towel and retreating to our hotel rooms. Next time I'll definitely be sleeping over. Some cool sessions on Sunday included a demo of how TiddlyWiki can be used to make coding easier; a session by the Flickr guys about their RSS services; a talk about micropayments, and then a talk about Facebook apps. All good.

I've managed to track down the entertaining, auto-rebellious Barcamp Manifesto:
"We the geeks hereby declare that we have the means to do it ourselves,
so from this point forward we are not employee 95362 or 43671.
We are talented and sought after individuals who can and will find the
means to break free of your cubicles and ivory towers.
We dont give a dame if you have the attention of 10 billion sticky eyeballs.
We dont give a shit about sticky eyeballs.
We give a shit about people.
We are independent, empowered, and en-fucking-gaged."
Should really have 'Land of Hope and Glory' playing in the background, eh?!

Our gracious hosts at Barcamp deserve a special mention. Madgex were brilliant, and made every effort to ensure the event ran smoothly and everyone got what they want. Other sponsors provided lashings of fab food. Thanks!

Here's the final batch of Brighton snaps:

Barcamp Wash-up

Saturday, 8 September 2007

Photos from Barcamp

Photos from the first day of Barcamp can be found here:
Barcamp - Day 1

Photos from dConstruct

Photos from yesterday's dConstruct event and party can be seen here:
dConstruct

Barcamp Brighton...the story so far

We're nearing the end of the first day of Barcamp, and it's already head and shoulders above the dConstruct experience - ironic seeing as it's free of charge. It's far less pretentious, much more relaxed, and everyone's really friendly. The sessions have been more interesting and valuable too (I'm not counting Tom Coates' excellent presentation yesterday btw). Topics so far have included how to set up an ethical business, a possible future of mashups and how to do card tricks (this guy taught us how to do his trick!).

Anyone can choose whatever topic they like to talk about here. We started the day by going through the whole (small, hot) room of 100+ people, where everyone stated their intended topic. Everyone was really passionate about their specialist subject and looking forward to sharing their love with everyone else. This is what I love about this business; everyone's here in their spare time, and we all do our hobby for a living. We're a lucky bunch.

I did my session on 'Open Source meets $$$', where I tried to explain what we're doing at Osmosoft and asked Open Source developers how they'd like us to engage with them. The feedback was very encouraging, and several people stuck around afterwards to shoot the breeze.

The sessions go on until about 8.30pm, and then who knows what'll happen? One thing is likely: most barcamp overnight sessions involve a game of Werewolf (also known as Mafia). I'm a Werewolf virgin as well as a Barcamp virgin, so I'm looking forward to the experience...

Friday, 7 September 2007

dConstruct - Afternoon Session

More of the same in the afternoon sessions, with a very pleasant surprise at the end.

Cameron Moll (currently the Interaction Design Manager for the LDS Church in Salt Lake City, of all places!) had the graveyard shift, and he did his best to make his session as interesting as possible to keep everyone awake. One interesting comment was that, sometimes, design solutions can present themselves simply when the problem is described in the right way. Other than that, it was mostly a series of engaging anecdotes.

George Oates (Principle Designer at Flickr) & Denise Wilton (founder of b3ta, now working at moo) had a chat on the sofa about the growth of their web sites. The growth of b3ta was particularly interesting, given the techy audience; to get it started they experimented with what's now known as 'viral marketing'...back then it was called 'just mucking around'. This helped gather the momentum required to grow the community. Scruffy design made developers feel like they belonged.

Matt Webb (founding partner of Schulze and Webb) presented an A-Z about 'The Experience Stack'. Among other things, he touched on gameplay, where different games start in different ways (in at the deep end, tutorial, hand holding, etc.) each illiciting a different emotional response. The same lessons apply to web design. He also introduced us to the following wonderful quote:
"Design is the conscious and intuitive effort to impose meaningful order" - Victor Papanek
But the really nice surprise came at the end of the day. Tom Coates, who works in the Tech Development Group at Yahoo!, gave an informative and very entertaining talk on "Designing for a Web of Data". He urged us to think of our products not just as mere web sites. They can run everywhere the network reaches. Every service or piece of data we add to the environment has the potential to make everything else more powerful. 90% of activity on Twitter is from APIs. Take Flickr, the photos are on Moo cards, digital photo frames, desktop widgets, etc. Networked physical devices such as Nabaztag and the Ambient Orb also got a mention as did Wattson. All very thought provoking.

The biggest laugh, though, was for his description of Twitter: "Twitter is a way of accessing error messages on the web". This was the all-too-familiar screen shot...

And so that's the end of dConstruct for this year, a good time had by all. It was a pretty good event, although I think most of the important lessons can be learned by reading Alan Cooper's Inmates Are Running The Asylum.

We're now off to the pub. Barcamp tomorrow. Yay!

dConstruct - Morning Session

The sessions at today's dConstruct conference have been fairly decent on the whole. Not too many moments of real insight, but entertaining and sensible throughout. Pretty much everyone has mentioned Apple and / or the iPod, which is becoming a bit predictable if you ask me.

Jared Spool kicked off with a general session on Experience Design, mostly citing case studies where good design has led to market success (Apple, Palm, Netflix). He also described the vast array of skills an Experience Designer ought to be accomplished in. Deep breath: Copy writing, Information Architecture, Usability Practices, Visual Design, Interaction Design Editing, Technology, Business Knowledge, ROI, Domain Knowledge, Social Networks, Ethnography, Marketing, Use Cases and Analytics. It's no wonder that truly great web or product experiences are few and far between.

Peter Merholz gave an interesting talk on the need for Experience Vision, the statement of intent given by a leader to guide his enterprise in the right direction. There was one tangential story he reeled out which I found interesting, which illustrates how people treat computers like people; a study in Stanford involved people running a test on a computer, and then evaluating the experience on a computer afterwards. Those who gave feedback using the same machine that the test was run on were more polite than the others, not wishing to offend the computer!

Leisa Reichardt
gave a curious talk about project management. Essentially, her point was that most Agile methodologies lack sufficient direction when it comes to traditional User Centred Design processes. Can't argue with that. Not convinced that her analogy with a washing machine lent her arguments any greater weight.

That's all for the morning session....more later.

++

UPDATED: with a few links.

Arriving in Brighton

Photos from the trip to Brighton and dConstruct pre-conference party (click on thumbnail):

Arriving in Brighton

Thursday, 6 September 2007

Dirty Weekend in Brighton

Having previously blogged about unconference events, the excitement is building as we prepare to make our way down to Brighton for this weekend's barcamp event. For the uninitiated (hey, that includes me), barcamp events have the unusual characteristic of having no set agenda. From the event wiki:
BarCamp is free and all content is provided by the attendees. There are no spectators, only participants. Attendees must give a demo, a session, or help with one, or otherwise volunteer / contribute in some way to support the event. BarCamp is 100% non-commercial, non-profit and community driven. No one is paid for their time, no one is charged to come and no profits are made.
Osmosoft is providing food and, ahem, other refreshments. But this won't get me off the hook, and I've got a touch of the jitters as I think about standing up in front of strangers and talking about my chosen subject. I've almost decided what to talk about, so watch this space. I've also perfected my rotten tomato dodging skillz, just in case.

It takes place over two days in facilities very kindly provided by Magdex. And I feel sorry for the office cleaners, because the 100 participants will be dossing down in sleeping bags, and there are limited shower facilities. I'm bringing my "shower-in-a-can". And I expect the place will be positively humming after 30 hours of hardcore coding. Hey, it's hard work!

Barcamps often take place at the same time as popular conferences (seeing as loads of people are in town anyway), and Brighton Barcamp is no exception. Beforehand, we'll be attending the dConstruct conference, which is all about designing online user experiences, and the line-up is very promising. Watch this space for what may be a veritable orgy of blog postings.