views:

413

answers:

3

I'm building a prototype using Expression Blend 3 and SketchFlow (a Silverlight SketchFlow application to be specific) and it consists of multiple screens that I want to share state between.

Take this example:

  1. Screen 1 - 'Login' screen: I want the user to type in a fake user name and password.

  2. Screen 2 - 'Home' screen: I want to display that user name so the user sees that their input is reflected.

This is just a trivial example and not something that most prototypes need to demonstrate, but the same functionality could be used in an application where the selection on one screen needs to be persisted for the next screen.

How can I do this in SketchFlow? I know that I can write Silverlight code to store some data in isolated storage, but I'm trying to go with the 'zero code' approach since this will be a throw-away prototype and would prefer to use some built-in mechanism in SketchFlow if available.

Does Sketchflow offer a way to state data between screens?

+2  A: 

If you're doing a throw-away prototype, then my suggestion is the simpliest:

Only provide one path through the prototype. Only allow the person walking through the prototype to navigate through a single path through the different screens. That way, you don't have to worry about state because you always know how the user is going to get to that prototype screen.

It requires no code and gives the user/customer some idea of what the screens are going to look like.

Justin Niessner
That's a good suggestion, and most likely the path i'll take, but I'm often conflicted between making the prototype 'dynamic' to be closer to the real functionality or to keep it simple. For example, say its a shopping website where a user can select from a list of product to make their order. Do I boost the complexity and handle different product selection or just direct the user to select a specific product to keep the prototype simple? Thanx!
TJB
I usually try to keep the prototype as simple as possible until somebody requests that it become more complex. If you really need to show dynamic content, Sketchflow should make it easy to branch the flow of the prototype...and then you cut and past the elements (essentially make duplicate screens to handle the 'dynamic' aspect of the prototype).
Justin Niessner
@Justin Thanks for the guidance. I've decided to avoid saving any state between screens and if necessary provide different links to redirect to different screens if i need to show different data, sketchflow makes it easy to just duplicate screens anyway. Thanx!
TJB
+2  A: 

Here is an example showing how to use behaviors to store global state from Christian Schormann: http://electricbeach.org/?p=349

Chuck Hays
+1  A: 

You might also want to have a look at the demo I gave at PDC last week which contains an example for both preserving global state and a login behavior. Code for this sample is on my blog at electricbeach.org

Christian Schormann