← Back to team overview

launchpad-dev team mailing list archive

Re: Developing interactive mockups for new features

 

On 24/11/11 13:25, Ian Booth wrote:
> Hi all
>
> Thanks for the great input on this thread. Purple discussed things a
> little on our standup this morning. As stated in the thread:
>
> - ec2 demo would be our preferred way to deploy things that need zope
> and other such LP infrastructure
> - as per the disclosure mockups done so far, using YUI and Launchpad's
> YUI components works fine for many types of demos which may be required
> - mustache and html5 local storage are great options to use for mockups
> which don't require an app server but still need to persist some model
> data etc

Let me try and weigh in a little bit. I've done quite a bit of
prototyping in the past and these are a few things I've learnt (I think
I'm echoing Rick and Deryck's side of things a little here).

Prototyping is all about fidelity. What exactly is it you want to
achieve with this prototype and what level of interactivity do you need?

In my experience these rules usually apply:

Do as little as you can. Spend the absolute minimum time on it.
Do just enough (technical work) so that changes can easily be made (this
is usually just a way of including reusable elements).
Everything should be a hack.
Code badly.
Don't reuse any of this work. If you're thinking of re-using it your
prototypes are probably WAY too high fidelity and your code is too good.
Don't worry about your usual technology stack. Static images, HTML and a
little JavaScript (not necessarily your usual framework) are your friend.
It'll be tempting to make a few extra things work. Don't do it. Seriously.
MUST be easy to deploy/share. Sometimes to test we'll need users to
download and look at things, sometimes they'll be able to look at a link
on the web.
Don't worry about making the design perfect, do just enough that the
meaning is clear.
If you need a database/web framework etc. you're probably doing too much.

A good way to know what to do is to write out some user test cases first
and do just what is required for them to work.
A good way to know if you're doing the prototypes wrong is if someone
comes back and asks you to change x, y and z and it's hard to do or you
think "but I just got all that working nicely".

Of course, there have been times when breaking these rules have helped
me, but they have been rare and the prototypes have usually taken a lot
longer and been harder to change.

Ian, I realise some of these things disagree with with some of the goals
you were hoping for, but hopefully my experience will help a little bit.

The prototypes for the manage disclosure pages are amazing, really well
done, but I kind of suspect that we could satisfactorily test those
pages with half or even less of the interaction they're currently
capable of. If all our prototypes were going to be that high fidelity
then yes, I can see why things like data persistence etc. would be useful.

I think it's valid to say that Launchpad has a history of over
engineering things, and think we should be a little wary of that here.

Cheers,

Huw


Follow ups

References