Getting in-depth with SketchFlow

SketchFlow is a super fast way to get your ideas across to a client without spending too much time on the intricacies that come with building rich internet applications. Gone are the days of trying to express your ideas on pen and paper, which can be extremely tedious when designing applications with hundreds of interconnecting pages . This can be very difficult for a client to visualize and harmful to your concept.

With SketchFlow you can create pages, navigation items, text boxes, buttons, and all items you will ever need to show your concept at its full potential. You can add as much or little detail as needed. Your clients can even leave feedback by drawing directly on the concept with a brush tool or leaving notes next to items, which you can later integrate into the concept.

Have a look at my finished SketchFlow application here.

Let's check out how it all works

Open Expression Blend 3 and create a new project. Here you will find the option to create a Silverlight 3 SketchFlow application.

The layout for a SketchFlow application looks pretty much the same as any Silverlight application with one major difference, the SketchFlow map. By default, this is docked under the ArtBoard area. If not go to Window > SketchFlow Map to open it.

Now we can start creating our mocked-up application. You will see a blue square in your map named Screen 1. This is your first page. Feel free to rename this by double clicking its name in the square.



Now we can start adding items to our first page. My first page will be a log-in page for my commenting system. So we need a username and password field, a sign-in button, and a sign-up button. In your Assets tab under Styles you will find a category called SketchStyles. These give the effect of a hand-drawn application, which can help clients focus on your basic ideas instead of styles.

So now we have our log-in page created, and we need to create a new page for commenting. Right click on your SketchFlow Map area and select Create a Screen. Give it a name and start adding items to this screen.  Repeat this process for any other pages you want in your application mock-up and then we will be ready to connect everything together.

Navigation!

Go back to your log-in page by double clicking it in the SketchFlow Map. Right click on your Sign-in button and point to Navigate to. Then select the page you want this button to navigate to and you’re done! You will notice on the SketchFlow map there is now an arrow connecting these screens.

Note: the green arrow next to your screen indicates this is the start page.

Use Component Screens to reuse controls

Another great feature to check out is the component screens. This is basically a control (such as a menu or toolbar) you can place on any or every page. Right click on the SketchFlow map again and select Create a Component Screen. I have created a simple navigation system to show how this works. Now just grab your new component screen in the SketchFlow map and drag it onto another screen. You will see it has created a dotted line between the two items. Now if you view the connected screen you will see the component screen appears there.

Let's run it up!

Press F5 to launch your SketchFlow application. Notice that your application is housed in the SketchFlow Player. This has options for the user to navigate quickly between pages, zoom in and out, and leave feedback or view the map.

All the buttons and textboxes are real and working, so your client can use your mock-up application the way it should work, getting a real feel for the concept.

Either host your application online somewhere, or send it to the client (be sure they have the correct setup to run Silverlight projects internally on their machine).

Once the user has left drawings and notes on the application, they can send back their notes by clicking the Show Feedback Options (folder icon)    and selecting export feedback. Here they enter their Name and save the file to their computer, pop it in an email to you, and then you import it into your project. It’s an XML file saved as a .feedback file. Having multiple feedback files allows multiple users to provide feedback and to avoid any security flaws in the product.

Import the Feedback

To import feedback into your project, go to Window > Feedback and click the Add icon. Locate the file, and  the user’s feedback spills onto your project. Feedback is shown by the light globe icon which you can see above your scenes on the SketchFlow map. You can turn it on and off via the light globe icon in the feedback panel.

Extra Options

If you don’t wish the user to be able to provide feedback or access the navigation panel in the SketchFlow player, go to Project, select SketchFlow Project Settings, and change the options.

The Final Cut.


Once you are happy with your mock-up application, you can export it to Word format as a .doc file. This lays out all of your navigations items, screen shots of each screen, and any other items relevant to your application in a Word document which can be used as a specification document of your prototype. 
Check out my specification document here in PDF format.

Thanks for reading.
 

About the Author

Alex Knight

Alex is a Silverlight MVP with a strong focus on the graphics and user interface side of things. He runs a Xamling with Jordan Knight (@jakkaj) which specialises in creating awesome experiences for Silverlight and WPF. So it doesn't matter what platform, if its xaml he digs it. If you want to find more out about Alex, check out:
AGKDesign.twitter | xamling.net

#1 Paul on 11.06.2009 at 10:07 PM

Good article! It gives the right direction to unveil the potential of SketchFlow...

But I have a question: what's the difference between "SilverLight Sketchflow" and "WPF SketchFlow"?

Microsoft in several tutorials tells you to use the Silverlight version, but what if I have to prototype a WPF application? o_O

#2 Alex Knight on 11.11.2009 at 2:07 PM

Hi Paul,

SketchFlow is the same whether you are designing in WPF or Silverlight. The difference is that you finished SketchFlow is build as a WPF or Silverlight application, so you get the exact same results but one is browser based and the other is desktop. I guess Microsoft think that a browser based SketchFlow prototype is just a better choice and I would agree.

So it doesn't matter whether you are creating a WPF app or Silverlight, SketchFlow is the same, just depends how you plan to use it.

#3 Dale Chase on 1.14.2010 at 3:05 AM

Some of the "screens" in your example could alternatively function as popup dialog boxes. Does Sketchflow support this distinction?

#4 Alex Knight on 1.14.2010 at 9:12 AM

Dale,

For sure! Sketchflow basically has the power to do anything that Silverlight or WPF can so depending on how you want to implement the pop up in your mock-up is up to you.

I would probably use states for it.

#5 Zullu on 2.04.2010 at 7:40 AM

Can we write rules and validations, Decision branching stuffs in skecthflow like it is posssible in iRise?

#6 Carla Merrill on 3.11.2010 at 7:26 AM

What if I want to use other assets instead of the SketchStyles assets? For example, if I already have assets from a WPF application that we've created and I want to use those buttons and containers in my SketchFlow prototype. Can I just use those and attach the simple SketchFlow navigation options to them or will they not work?

Thx.

#7 Alex Knight on 3.11.2010 at 9:31 AM

Hi Carla,

You can use your other assets for sure, the sketch assets are not actually assets but styles added to normal objects.... The simple navigation stuff comes from the libraries that sketchflow uses.

Although I have not tried to do it, I cannot see any reason why it wouldn't work

Good luck!

#8 ezmoz.com on 8.13.2010 at 4:02 AM

Good job mate,

I'll just download the PDF attachment.

Leave a Comment