Chapter 16. SketchFlow Prototyping

SketchFlow Prototyping
  • Creating a SketchFlow prototype

A very innovative feature to Blend and Silverlight 4 is SketchFlow prototyping. There are three major goals of SketchFlow prototyping:

  • Quickly experimenting with a dynamic UI

  • Communicating design intent

  • Delivering compelling proposals to clients quickly and cost-effectively

SketchFlow prototyping is a way for you to create an interactive version of an application that is meant to demonstrate the intended interaction, design intent, and screenflow. This SketchFlow prototype can then be delivered to the client for immediate feedback that can be integrated directly into the prototype and seen by the developer. This prototype can be made very quickly and easily in Blend 4 and thus is cost-effective. This prototype is then used by the designers and developers as a roadmap for the application. Further, assets and/or functionality created in the prototype can be used in the actual application. To better illustrate what SketchFlow prototyping is, I lead you through an exercise that will show you how to build an application prototype. With that, let's fire up Blend 4 and create a new SketchFlow prototype for a web application for a shopping web site.

Create the Project

  1. Open Blend.

  2. Click File

    Create the Project
  3. Select Silverlight SketchFlow Application.

  • Name the project ShoppingSketchflow, as I have done in Figure 16-1.

    Create a new SketchFlow application in Blend.

    Figure 16.1. Create a new SketchFlow application in Blend.

Notice at the bottom of Blend next to the Results panel you see a new panel called SketchFlow Map (see Figure 16-2). If you don't see this panel, you can click Window

Create a new SketchFlow application in Blend.
The SketchFlow Map.

Figure 16.2. The SketchFlow Map.

Setting Up the SketchFlow Structure

  1. Double-click the Screen1 tile in the SketchFlow Map and rename it Homepage. You will see that Screen1 will be renamed in your Project panel as well.

  2. Hold your mouse cursor over Homepage in SketchFlow Map until you see a drawer slide out. When it does, place your mouse cursor over the farthest left icon. This icon is the "Create a connected screen" icon shown in Figure 16-3. Click and drag this to create a new Screen connected to the Homepage.

    The "Create a new screen" icon.

    Figure 16.3. The "Create a new screen" icon.

  3. Once you create a new Screen (see Figure 16-4), you can name it ShopForBooks.

    Drag out a new Screen.

    Figure 16.4. Drag out a new Screen.

  4. Repeat this and name the new Screen ShopForMusic.

  5. Repeat this and name the new Screen ShopForMovies so that your SketchFlow Map looks like what I have in Figure 16-5.

    You should now have for Screens in your SketchFlow application.

    Figure 16.5. You should now have for Screens in your SketchFlow application.

  6. Now draw a new Screen from ShopForMovies called CheckOut.

  7. Hold your mouse over ShopForMusic until the drawer slides out and place your mouse cursor over the icon that is second from the left. This is the "Connect an existing screen" icon shown in Figure 16-6. Drag this to the Checkout Screen so that it too is now connected to Checkout.

    The "Connect to an existing screen" icon.

    Figure 16.6. The "Connect to an existing screen" icon.

  8. Repeat the last step so that ShopForBooks, ShopForMovies, and ShopForMusic are all connected to Checkout, as in Figure 16-7.

    Your SketchFlow Map should now look like this.

    Figure 16.7. Your SketchFlow Map should now look like this.

Adding the Visuals

Now that we have the structure of the SketchFlow down, it is time to start adding some visuals. SketchFlow applications are meant to be design-less, but we still need something to convey the idea of what the final application will do. For this reason, we keep our visuals very simple and without final design. We are going to start off with a TextBlock on each page saying what that page is. We are going to use a BasicTextBlock-Sketch Style for our TextBlock. Double-click the Homepage Screen to start editing it and you can then click the Asset Library and type Sketch to find the BasicTextBlock-Sketch Style, as I am doing in Figure 16-8.

Locate the BasicTextBlock-Sketch Style in the Asset Library.

Figure 16.8. Locate the BasicTextBlock-Sketch Style in the Asset Library.

  1. With this new Style selected, draw a TextBlock out on the Homepage Screen, as I have done in Figure 16-9.

    Draw a TextBlock out on the Homepage screen.

    Figure 16.9. Draw a TextBlock out on the Homepage screen.

    Note

    You can easily navigate to any of the screens by double-clicking it in the SketchFlow Map.

  2. Change the Text to read Welcome.

  3. With the TextBlock still selected, go to the Text bucket of the Properties panel and change the font size to 36, as I am doing in Figure 16-10.

    Change the font size to 36.

    Figure 16.10. Change the font size to 36.

    You should now have something like I have in Figure 16-11.

    Your Homepage should now look like this.

    Figure 16.11. Your Homepage should now look like this.

  4. Now with the TextBlock still selected press Control+C to copy it and paste in a TextBlock for each page and change the text to the corresponding page. For example, the ShopForBooks TextBlock should read Shop for Books, and so on.

  5. Now go to the Homepage and add suitable images (I found mine on the internet) for a book, a musical note, and a movie camera to give the idea that the Homepage will have visual indicators of what can be found inside this site. You can see my homepage in Figure 16-12.

    Note

    You can easily right-click an image in your web browser and left-click copy and switch over to Blend and hit Control+V to paste that image right onto the artboard.

    Copy images from the Internet into your Homepage Screen.

    Figure 16.12. Copy images from the Internet into your Homepage Screen.

    Note

    To find images like I have in Figure 16-11, Google movie camera and then click the Images link. This lets you to find a large variety of different iconography to use in your SketchFlow application. Remember that this is just a mock-up, so none of the art will be final.

  6. Now Copy and paste the movie camera in the ShopForMovies Screen.

  7. Copy and paste the musical note image into the ShopForMusic screen.

  8. Copy and paste the books image into the ShopForBooks screen.

Now that you have set up the visuals for all of your Screens, you can move on and make a navigation Component Screen.

Creating a Navigation Component Screen

Now that we have all the Screens set up, and they all have some visuals, we need a way for users of your SketchFlow application to get from one Screen to the next. We can do this quickly and easily by adding a Component Screen. Let's do that now.

  1. Click the Asset Library and type Sketch again (if it's not still there from the last time) and locate the Button-Sketch, as I am doing in Figure 16-13.

    Locate the Button-Sketch in the Asset Library.

    Figure 16.13. Locate the Button-Sketch in the Asset Library.

  2. On the Homepage draw a Button for each page and label it, as I have done in Figure 16-14.

    Draw Buttons for each of the Screens in the SketchFlow application.

    Figure 16.14. Draw Buttons for each of the Screens in the SketchFlow application.

  3. Hold down Control and click each of the Buttons so they are all selected.

  4. Right-click and left-click Make Into Component Screen, as I am doing in Figure 16-15.

    Turn the Buttons into a Component Screen.

    Figure 16.15. Turn the Buttons into a Component Screen.

  5. When the Make Into Component Screen dialog box appears, name it Nav and click OK, as I am doing in Figure 16-16.

    Name the Component Screen Nav.

    Figure 16.16. Name the Component Screen Nav.

  6. When Blend creates the Nav Component Screen for you, right-click Homepage and click Navigate To

    Name the Component Screen Nav.
    Make the Homepage Button navigate to the Homepage Screen.

    Figure 16.17. Make the Homepage Button navigate to the Homepage Screen.

  7. Repeat this for each button—for example, the ShopForMusic Button should navigate to the ShopForMusic Screen, and so on.

Connecting to the Nav Component Screen

If you look at your Navigation Map you will see there is now a green tile for Nav. It is green to represent the fact that it is a Component Screen and not a regular screen, which is blue. You can see that the Component Screen has blue arrows, meaning that you can get to any of the Screens from the Component Screen—but notice that only one screen, the Homepage Screen, has a green line coming from the Component Screen. This is because all the other Screens don't have the Nav Component Screen on them. We need to change this now:

Hold your mouse cursor over the Nav Component Screen until its drawer slides out and place ther cursor over the third icon from the left (shown in Figure 16-18). This is the "Insert a Component screen" icon. Click and draw a connection to each of the existing screens (except the Homepage Screen, which is already connected).

The "Insert a Component screen" icon.

Figure 16.18. The "Insert a Component screen" icon.

Your SketchFlow Map should now look like what I have in Figure 16-19.

Your Nav Component Screen should now have green lines to each of the Screens.

Figure 16.19. Your Nav Component Screen should now have green lines to each of the Screens.

If you look at each of the pages you will see they do in fact have the Nav Component Screen on them. They need to be positioned so that they are directly under the TextBlock for the page. Adjust each page's Nav Component Screen now. Once you have done that, press F5 to compile and run the application and use the navigation Component Screen to move around the different pages. Pretty cool!

Adding Some Interaction to the Pages

We now have the start of an interactive SketchFlow application. Next we need to add some content to one of the pages. I figure we will start with the ShopForMusic page. On this page we are going to add a mock-up song that shoppers can purchase. When they do purchase the song, we are going to use the Visual State Manager to show a dialog box that thanks the shopper for purchasing the song. They then have the option of going to the Checkout page or to continue shopping. Let's add that functionality now:

  1. Go to the ShopForMusic page by double-clicking it in the SketchFlow Map.

  2. Add another note image (I found mine on the Internet).

  3. Add some Sketch TextBlocks for a fake song and a fake artist.

  4. Add a fake price TextBlock.

  5. Add a Sketch Button that reads Buy Now, as I have done in Figure 16-20.

    Add a fake song to the ShopForMusic page.

    Figure 16.20. Add a fake song to the ShopForMusic page.

  6. Next draw a Rectangle out for what is to be the background for the dialog box.

  7. Add text that thanks the shopper for the purchase and a couple of Buttons that give them the option to continue shopping or to check out, as I have done in Figure 16-21.

    Add a fake dialog box to the ShopForMusic Screen.

    Figure 16.21. Add a fake dialog box to the ShopForMusic Screen.

  8. Press and hold Control and click all the elements that make up the fake dialog box in the Objects and Timeline panel, as I have done in Figure 16-22.

    Select the objects that make up the fake dialog box in the Objects and Timeline panel.

    Figure 16.22. Select the objects that make up the fake dialog box in the Objects and Timeline panel.

  9. Next right-click the objects in the Objects and Timeline panel and left-click Group Into

    Select the objects that make up the fake dialog box in the Objects and Timeline panel.
    Group the dialog box objects into a Grid.

    Figure 16.23. Group the dialog box objects into a Grid.

  10. Rename the dialog box Grid DialogBox.

  11. With the DialogBox Grid still selected, change the Opacity to 0% in the Appearance bucket of the Properties panel, as I have done in Figure 16-24. Then in the Common Properties bucket uncheck IsHitTestVisible. This will make the dialog box invisible and not able to be clicked. This is the default state of the dialog box.

    Note

    In addition to giving the DialogBox Grid an Opacity of 0% we also set its IsHitTestVisible property to false. We do this so that when the DialogBox is not showing it doesn't interfere with other objects in the application.

    Change the Opacity of the DialogBox Grid to 0%.

    Figure 16.24. Change the Opacity of the DialogBox Grid to 0%.

Adding the Visual State Group

Now that the fake dialog box is no longer visible or hittest visible, we can go ahead and add the Visual State Group to make it visible and able to be clicked when the user clicks the Buy Now Button; this is common functionality in many shopping applications.

  1. In the States panel click the "Add state group" button, as I am doing in Figure 16-25.

    Add a new State Group.

    Figure 16.25. Add a new State Group.

  2. Name the new Visual State Group ShowHideDialogBox and give it a default transition time of 0.2 seconds.

  3. Click the "Add state" icon, as I am doing in Figure 16-26.

    Add a visual State.

    Figure 16.26. Add a visual State.

  4. Name the new State HideDialog.

  5. Add another State called ShowDialog.

  6. Set the Opacity on the DialogBox Grid to 100% in the Appearance bucket of the Properties panel and check the IsHitTestVisible property in the Common Properties bucket. This will allow the DialogBox to be clicked once again.

  7. Click on the Base State so that you are no longer recording any Visual States, as I have done in Figure 16-27.

    Click the Base State to stop recording.

    Figure 16.27. Click the Base State to stop recording.

Hooking the Visual States Up

Now we have the Visual States we need to actually hook them up to do something. Specifically, we want the Buy Now buttons to activate the ShowDialog state so that the DialogBox will appear and be able to be clicked.

  1. Right-click the Buy Now Button and left-click Activate State

    Hooking the Visual States Up
    Hook the Buy Now Button up to the ShowDialog State.

    Figure 16.28. Hook the Buy Now Button up to the ShowDialog State.

  2. Change the Opacity of the DialogBox Grid to 100% so we can see it to work on it. We will change its default state back to 0% Opacity before we run the application.

At this point we have the DialogBox Grid appearing when we click the Buy Now Button. We also need to make the DialogBox disappear when the user clicks the Continue Shopping Button in the DialogBox or navigate to the Checkout Screen if the user clicks the Checkout Button also contained in the DialogBox Grid. Let's do that now!

  1. Right-click the Checkout Button and left-click on Navigate to

    Hook the Buy Now Button up to the ShowDialog State.
    Have the Checkout Button navigate to the Checkout Screen.

    Figure 16.29. Have the Checkout Button navigate to the Checkout Screen.

  2. Right-click the Continue Shopping Button and left-click on Activate State

    Have the Checkout Button navigate to the Checkout Screen.
    Have the Continue Shopping Button activate the HideDialog State.

    Figure 16.30. Have the Continue Shopping Button activate the HideDialog State.

  3. Change the DialogBox Grid Opacity back to 0%.

Now press F5 to run the application and navigate to the Shop for Music page and click the Buy Now Button. Notice how your dialog box appears. If you click Continue Shopping it will just disappear but if you click Checkout it will actually navigate to the Checkout Screen. Pretty cool, huh? So, now you have an interactive SketchFlow application that has different screens and even a partially functional Shop for Music Screen. I challenge you to go ahead and add a fake Movie to the Shop for Movies page, and a fake Book to the Shop for Books page. And then add an interactive dialog box like we added to the Shop for Music Screen.

The SketchFlow Player and Feedback

The SketchFlow Player shown in Figure 16-31 is what the users see when they run your SketchFlow application. It is here that they can navigate the different Screens. They can also make annotations to give you, the developer, feedback on the application. To show you better, let's add some annotations that we can then load up and view as the developer.

The SketchFlow Player in the browser.

Figure 16.31. The SketchFlow Player in the browser.

  1. Press F5 to run the application.

  2. Click the ShopForMovies Screen, as I am doing in Figure 16-32.

    Click the ShopForMovies Screen.

    Figure 16.32. Click the ShopForMovies Screen.

  3. Click the Enable Ink Feedback icon, as I am doing in Figure 16-33.

    Click the Enable Link Feedback icon.

    Figure 16.33. Click the Enable Link Feedback icon.

  4. Draw a circle with an X, as I have done in Figure 16-34.

    Draw a circle with an X.

    Figure 16.34. Draw a circle with an X.

  5. Click the feedback area and type a message to the developer, as I have done in Figure 16-35.

    Type a message to the developer.

    Figure 16.35. Type a message to the developer.

  6. Click the Feedback Options icon and click Export Feedback, as I am doing in Figure 16-36.

    Export the Feedback.

    Figure 16.36. Export the Feedback.

  7. Enter your name in the Feedback Author Information dialog box, as I have done in Figure 16-37 and click OK.

    Enter your name in the Feedback dialog box.

    Figure 16.37. Enter your name in the Feedback dialog box.

  8. Give the Feedback a name of MyFeedBack, as I have done in Figure 16-38, and click OK.

    Give the Feedback a name of MyFeedback.

    Figure 16.38. Give the Feedback a name of MyFeedback.

  9. Switch back to Blend and click Window

    Give the Feedback a name of MyFeedback.
    Show the SketchFlow Feedback.

    Figure 16.39. Show the SketchFlow Feedback.

  10. When the SketchFlow Feedback panel appears, click the Add Feedback icon, as I am doing in Figure 16-40.

    Add Feedback.

    Figure 16.40. Add Feedback.

  11. You can then see the Feedback that you entered when you were viewing the site in the browser (see Figure 16-41).

    You can see the feedback you entered earlier in the browser.

    Figure 16.41. You can see the feedback you entered earlier in the browser.

Moreover, the developer can see the ink revisions made by the client (see Figure 16-42).

The developer can see the ink notations from the client right in Blend.

Figure 16.42. The developer can see the ink notations from the client right in Blend.

As you can see, this is a feature that will quickly help the client and the developer communicate changes that should be made to the SketchFlow application.

Word Documentation

Once your SketchFlow is complete, and all the Screens are signed off on, then it is time to build the real application. SketchFlow has a very handy feature whereby you can create a document that will serve as the development guide to the team that is going to build the real application. Let's go ahead and create the documentation for our SketchFlow application.

  1. Go to File

    Word Documentation
    Export the SketchFlow application to Word.

    Figure 16.43. Export the SketchFlow application to Word.

  2. When the Export to Word dialog box appears, check "Include feedback" and "Open document when complete," as I have done in Figure 16-44, and click OK.

    These are the settings for your Export to Word dialog box.

    Figure 16.44. These are the settings for your Export to Word dialog box.

When the Word document opens (see Figure 16-45) you will see that there is a very thorough document that tells you about all of the different Screens, the Visual States, a SketchFlow Map, and even the Feedback we entered earlier. This is not exactly as complete as a wireframe document that is given to developers before they are about to build a piece of software, but it is an amazingly wonderful start.

The SketchFlow Word document,

Figure 16.45. The SketchFlow Word document,

My project can be found on the download page on the Friends of ED web site, and here: http://windowspresentationfoundation.com/Blend4Book/ShopingSketchflow.zip

My SketchFlow Word document, from Figure 16-45, can be found here: http://windowspresentationfoundation.com/Blend4Book/ShopingSketchflow.doc. To watch a video tutorial on how to create a Sketchflow Prototype application navigate to: http://www.windowspresentationfoundation.com/?p=116.

Summary

In this chapter you learned about SketchFlow Prototyping and why it is used. You then made your own SketchFlow application complete with different Screens, a Component Screen, and even a Visual State Group to show and hide a fake dialog box. You then learned how easy it is to give feedback as a client and then load that feedback right into Blend as a developer. Finally, you learned how to easily create a Word document from your SketchFlow application that can be used as the basis for wireframes to help developers actually develop your SketchFlow into a real piece of software. In the next chapter I talk about some of the new features in Silverlight 4 that I haven't covered yet.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.221.154.18