← Back to team overview

launchpad-dev team mailing list archive

Developing interactive mockups for new features

 

Hi all

The Purple Assassins are working on the disclosure feature and a large
part of that is the managing disclosure LEP
(https://dev.launchpad.net/LEP/ManagingDisclosure). Because this work
involves the development of a fairly complex new UI, Matthew and his
team tasked us with delivering an interactive mockup of the some of the
core pages to allow exploratory testing with users. The users acting as
guinea pigs were given various tasks to complete and it was observed
whether the features they were testing were easily discoverable, what
usability issues came up, could workflow be simplified etc.

The interactive demo was meant to be a quick prototype. We did it using
static HTML and Javascript (with YUI). It's deployed simply by checking
out the branch to p.c.com
(http://people.canonical.com/~ianb/disclosure/manage_disclosure_index.html).
All the Launchpad YUI widgets are available for use, and interactivity
is achieved using Javascript to manipulate the DOM. There's no
templating or app server running etc. The data model is implemented in
Javascript and using the UI "saves" changes as expected but everything
resets when the page is refreshed.

Despite fulfilling its purpose, there's some limitations we'd like to
overcome. We see these sorts of demos being used more often moving
forward so coming up with a preferred way of doing them will benefit us
all. One of the biggest issues for us was the restriction to static
HTML, and the lack of core technologies like tales that we use in
production. It would be great to have a light weight app server / web
framework available which would offer more of a chance to use these
technologies and to hence produce prototype code more easily transformed
to something suitable for use in production once the demo has served its
purpose.

Something like Grok (http://grok.zope.org/) may be suitable. We'd have a
slightly more complicated deployment process than simply checking out a
branch to p.c.com. It may involve deploying to an ec2 instance for example.

So does anyone have any thoughts or input or past experience they'd like
to share? My personal goals would be for:
- lightweight
- easily deployable
- rapid development (duh!)
- leverage as many technologies/frameworks/libraries as used in prod as
possible
- solution for some form of persistent data storage nice to have






Follow ups