And the Winner is! | December 24, 2006
Thanks to everybody who entered my letter to Santa competition. There were some great entries and it was very hard picking the winners. However after much rumination, these five entries all win a copy of CSS Mastery.
- Martin Ringlein - for the gift of poetry
- Ryab Merket - so Santa doesn’t give him the sack
- Angelo - because he really knows how to treat a lady at Christmas.
- Remy Sharp - for his devious ransom letter.
- Michael Dick - for spreading the love this Christmas.
As for the grand prize, it was a very tough call. I really enjoyed the creativity of Martin Ringlein’s poem, but in the end the iPod Nano had to go to Remy Sharp for his devious ransom note. Santa needs his reindeer back so there was nothing I could do but capitulate.
If the winners could drop me an email with their contact details, I’ll make sure Santa adds a little something extra in your stocking this Christmas. For everybody else, thanks again for playing along and I hope you have a wonderful holiday and a fantastic New Year.
User Centred Design and Agile Development | December 22, 2006
Clearleft is a UCD, or User Centred Design consultancy. We spend time learning about the people who use our clients products, and then put those users at the heart of the design process. We do this using a variety of techniques from user surveys and contextual enquiry, through to persona creation, wireframing and usability testing. The ultimate goal of this process is to create experiences that are useful and meaningful to the people using our clients software.
As a company we specialise in the architecture and design side of the equation. We understand programming and development, but it’s not a service we offer. When clients come to us for implementation, we prefer to partner with another agency that specialises in back-end development. We’ve been designing a lot of interesting web applications recently, so Ruby on Rails seemed like a natural choice of development technology. One of the interesting things about working with Rails developers is their love of agile development.
Not being a developer, I’ve always been a bit nervous about agile development. I’ve heard people evangelise the benefits of reduced documentation, fast iterations and peer programming, and it logically makes sense. However I’ve always seen agile development as a bit of an ideological clique, and terms like extreme programming and scrum methodologies hardly make it accessible to the lay person. Because of this I’ve been aware of the concept for some time, but never really looked into it. It’s always seemed much more relevant to developers, so we’ve done our thing and let our dev partners do theirs.
A few weeks ago I was lucky enough to attend the Flash on the Beach conference in Brighton. As I mentioned at the time, my favourite talk of the conference came from Aral Balkan. During his wide-ranging presentation, Aral touched on a number of topics, but the one that piqued my interest the most was his take on agile development and how it fitted into a user centred design philosophy.
At first glance you’d be excused for thinking that the two techniques were diametrically opposed. After all Agile development is about making the developer’s life easier, while UCD is about making the user’s life easier. However the ultimate goal of both techniques is to deliver more useful software, and there is a lot of crossover.
Sat in the audience listening to Aral describe agile development, I was amazed how similar parts of it were to our UCD process. The agile process starts with a “Planning Game” where the client and dev team sit down and create a series of “user stories” in plain English. These stories are then broken down into tasks which are estimated and prioritised. This is pretty much exactly what we do, except we call it an IA workshop. We start by talking to the client about their users and examining any user data we may have gathered previously. Using this information, we”ll develop a set of “user personas” and create “scenarios” and “user paths” based on these archetypes. The user paths are broken down into tasks and each task is estimated and prioritised based on utility, complexity and time/cost.
In agile development, project specifications and other documentation is eschewed in favour of rapid implementation. We take a similar approach, and avoid written documentation in favour of representative wireframes. Rather than spending weeks trying to explain how a system will work in words, we build a non-functional paper prototype or a semi-functional XHTML/CSS prototype. Our clients can then start playing with the site before a single line of code has been written, so changes are fast and involve little overhead.
This is where we diverge slightly from the agile process as we wireframe the whole system in one go whereas agile devotees will only implement one user story at a time. I prefer to plan the site out fully first as I feel it makes for a more holistic approach. One process invariably affects another, and if you’re only concentrating on one story, it is easy to miss important patterns or vital connections. We’ve never done the small, fast iteration thing before so I’d be interested to see how it works. However I’d be worried that it would make user testing difficult as you would either be forced to do lots of small user tests which would cause resource problems, or wait till enough of the system has been designed to run a multi scenario test, at which point it becomes more difficult and costly to re-program the interactions
Minor issues aside, I think the similarities between agile development and UCD are fascinating. There is a great article over at UXmatters at the moment called Clash of the Titans: Agile and UCD which mirrors my feelings on the subject. I urge you to check the article out and would love to hear your thoughts.
Last Chance to Win an iPod Nano | December 18, 2006
The fantastic CSS Mastery letter to Santa competition closes this Friday, so if you want a chance to win, you’d better get your letters in quickly. There are currently 16 entries, so your chances of wining a book or an iPod Nano are pretty high. Just don’t expect Santa to get it under your Christmas tree before new year as he’s currently snowed under.
Win an iPod Nano with CSS Mastery this Christmas | December 8, 2006
Christmas is well and truly on the way, and I’ve got a fantastic seasonal competition for all my readers.
As you know, tech books make wonderful presents for the whole family, from Grandma and Grandpa through to little Johnny. So why not get Santa to empty his sack for you this Crimbo and stuff a copy of CSS Mastery in a loved-ones stocking.
Simply write a post on your blog telling Santa why you, your friend or family member deserves a copy of CSS Mastery this Christmas. Title your post something sensible like “CSS Mastery iPod Giveaway” and link back to this post. Then add a link to your post in the comments here so we can find it again later.
The top 6 “letters to Santa” will win a copy of CSS Mastery for the person in their letter, and one lucky person will also win an 2GB iPod nano for themselves, courtesy of friends of ED.
The Lions Den | December 8, 2006
The last couple of days have been very quiet in Clearleft towers. However It’s not through a lack of work, as we’re currently booked up till March. It’s because we’ve all been nipping round the corner to catch the odd session at Flash on the Beach. If you’re not familiar with FOTB, it’s a new Brighton based Flash conference organised by our friend, John Davey. The event is a big multi-day, multi-track affair that has seen over 45 of the world’s hottest Flash stars present on subjects from abstract design to hardcore development.
Now considering Clearleft is very much a standards based shop, you’d be excused for finding it odd that we’d be attending a Flash event. However we decided to set up a cultural exchange program with the Flash world when we invited Aral Balkan to speak about Flex at d.Cosntruct 2005. It was now our chance to return the favour, so we sent Jeremy into the lions den with the provocatively titled talk, Ajax: Flash Killer?.
Jeremy was initially nervous at the thought of addressing a conference full of die hard Flashers. He needn’t have worried though, as true to form, he gave an excellent presentation to a packed audience. The crux of his talk was that Ajax is the perfect technology for small UX enhancements. For more complicated apps, the benefits start to dwindle to a point beyond which it makes more sense to build the app using Flash. Jeremy hypothesised that the tipping point was the point at which it becomes too complicated or time consuming to make the app degrade nicely. At this point, you lose one of the major benefits of the standards based approach, so if it’s easier to build the app in Flash, then why not use the best technology for the job?
I wasn’t sure how people would take this approach, as many Flash developers (like standardistas) have an all or nothing attitude. However the reaction seemed very positive and I was impressed with the audiences pragmatic approach. This was re-iterated the following day in a talk by Geoff Stearns on the subject of Flash and web 2.0. In this talk, Geoff discussed where Flash fitted into the current web app landscape and how developers needed to be open minded and chose the right tool for the job.
In the web standards world, many of us have a view of Flash that is somewhat out of date. I know that I stopped using Flash back around Flash MX when it had become synonymous with bad usability and designer excess. However things have definitely moved on, and and it’s a much more mature community that we give it credit for.
A great example of this was Niqui Merret’s talk on Flash accessibility –two words I never thought would be mentioned in the same sentence. It was amazing how many people in the audience had an understanding of accessibility and had began to integrate it into their daily workflow.
Another great example of the communities maturity was the number of times people talked about the user experience and the importance of user testing. This was exemplified by Aral Balkan who gave my favourite talk of the conference. Despite coming from completely different world, it was amazing how similar Aral’s development process was to our own, using a mixture of user-centered design and agile methodologies.
The Flash community has matured massively over the years, and so has the technology. While I’m sure a lot of the audience were still programming in the timeline, FLEX 2.0 has opened up a new world of possibilities. The thing that excites me the most about FLEX 2.0 is how similar it is to standards based development. You have an declarative XML-based mark-up language to build the UI. You can then add style in the form of CSS and behaviour using the ECMAScript based Actionscript language. Cool huh?
However the thing that really excited me at FOTB was a demo of Adobe’s new Apollo technology. Apollo is essentially a runtime that allows you to create Flash and XHTML/CSS based apps that run on the desktop. These apps can interact with the desktop like any native applications, but also have the ability to communicate via the Internet like a regular web app. So you have all the benefits of web deployment and update and live date, with the ability to save state and interact with your local machine. All very cool.
This looks very similar to what Microsoft are trying to achieve with WPF, WTF, XAML, Sparkle, Shnizzle Ma Nizzle or whatever the hell it’s called at the moment. The main difference is that Adobe are taking existing web technologies and trying to move them onto the desktop, whereas Microsoft have created a new desktop technology that has a web component. So basically both camps are coming at the problem from different ends.
The battle lines are currently being drawn and I’m looking forward to seeing how it all plays out. MS have the upper hand when it comes to marketing spend and desktop developer buy-in. However Adobe are trying to capitalise and the ubiquity of the tools and the shear volume of web developers out there. They also have the cross platform advantage which could be a deciding factor. We shall see.
Adobe | December 5, 2006
Back in the good old days, when you paid money for a product or service, the people you bought said product of service from treated you with a certain amount of respect. After all, you were their customers and the people keeping them in business. These days, rather then being treated like valuable clients, customers are treated like thieves and pirates.
A classic case in point is when you go to a movie theatre these days and the finger of suspicion is immediately pointed towards you for being a pirate. You’re not allowed to take pictures of the screen, you are told, and if you do the police will be called and you’ll be ejected from the cinema. I remember the days when people were thought to be innocent until proven guilty, but sadly that right no longer exists.
I recently bought a copy of Photoshop for the office, but when I tried to install it on my laptop as well as my desktop (as sanctioned by the licence) it all went wrong. I was presented with an error screen saying that my copy of photoshop needed to be verified online. I followed the instructions and was told that there was an error and it needed to be verified by phone. Again I followed the instructions, but there was an error and I was told that I needed to speak to an operator.
The verification process was intended to prevent people from pirating Photoshop, but all it was doing was preventing as legitimate user from running the program. It basically locked you out of the software, pointed the finger of blame and forced you to prove that you had the right to run the product.
After filling the serial number and activation code online and on an automated phone service, I was forced to read it out to an operator. You would have hoped that this information would already have been passed to the operator but no such luck. The operator I spoke to tried to fix the problem, but had no luck. In the end he had the nerve to tell me that the problem was with my new MacBook and not the software. Now I’m sorry, but if your anti piracy software is preventing me running Photoshop on my laptop, them the problem is squarely on your shoulders.
Eventually I managed to get the software working, but it cost me a good 2 hours of my time and numerous angry phone calls.
This morning, when I tried to open up Photoshop on my desktop, exactly the same thing happened. I was essentially being told that I was a pirate and that I had to phone Adobe to prove that I wasn’t. Again I rang up, and this time complained about the shoddy customer service Adobe and Photoshop were providing. I wasn’t expecting much in the way of an apology, but I wasn’t expecting to be hung up on, which is exactly what happened. The bastards!
So I’d just like to take the opportunity to tell Adobe and other software vendors that if you start accusing your paying customers of being liars and thieves, you’ve already lost the battle and you don’t deserve our sympathy and support. Because frankly, if you treat your clients like thieves, where is the motivation not to act like one?