Adobe
Products
Acrobat
Creative Cloud
Creative Suite
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
Student and Teacher Editions
More products
Solutions
Creative tools for business
Digital marketing
Digital media
Education
Financial services
Government
Web Experience Management
More solutions
Learning Help Downloads Company
Buy
Home use for personal and home office
Education for students, educators, and staff
Business for small and medium businesses
Licensing programs for businesses, schools, and government
Special offers
Search
 
Info Sign in
Welcome,
My cart
My orders My Adobe
My Adobe
My orders
My information
My preferences
My products and services
Sign out
Why sign in? Sign in to manage your account and access trial downloads, product extensions, community areas, and more.
Adobe
Products Sections Buy   Search  
Solutions Company
Help Learning
Sign in Sign out My orders My Adobe
Preorder Estimated Availability Date. Your credit card will not be charged until the product is shipped. Estimated availability date is subject to change. Preorder Estimated Availability Date. Your credit card will not be charged until the product is ready to download. Estimated availability date is subject to change.
Qty:
Purchase requires verification of academic eligibility
Subtotal
Review and Checkout
Adobe Developer Connection / Fireworks Developer Center /

Designing and prototyping Flex applications using Fireworks

by Katie Evans

Katie Evans

Content

  • Getting started
  • Creating sketch wireframes
  • Applying visual and user interface design
  • Producing the documentation
  • Exporting and importing Flex code

Created

4 May 2009

Page tools

Share on Facebook
Share on Twitter
Share on LinkedIn
Bookmark
Print
design Fireworks CS4 workflow

Requirements

Prerequisite knowledge

Basic familiarity working with Fireworks is recommended. Some prior experience working with Flex is also helpful.

User Level

Intermediate

Required products

  • Fireworks CS4 (Download trial)

Sample files

  • fwcs4_designing_flex_apps.zip (3036 KB)

Many designers use Adobe Fireworks to create assets for web pages because it includes many helpful features to build and optimize graphic files. However, it is not as well known that Fireworks can also be used to design Adobe Flex applications.

Although Fireworks was originally created as an image editing and web design tool, it has transformed into a powerful environment for designing and prototyping applications. The combination of bitmap editing and vector manipulation tools, along with Flex integration features, make it an ideal tool for designing Flex applications.

Fireworks CS4 streamlines the product development process by allowing you to export designs to Flex code that can be handed off to developers to use as a starting point for the application layout. In this article, I'll explore the designer-developer handoff process and show how Fireworks is uniquely qualified to make the process of product development more efficient.

Getting started

In this sample project, I'll describe the design process to build a simple Flex banking application using Fireworks CS4. If you haven't already, be sure to download the sample files provided on the first page of this article.

Preplanning is essential. Begin by mapping out the flow of your application in order to ensure a successful outcome of your project. Draw a high-level site map that defines user flows, screen, and data flow of the application in Fireworks by using the shape tools (see Figure 1).

Sample site map
Figure 1. Sample site map

If you are following along with the sample files, Figure 1 represents Page 01 Site Map in the DesigningFlexApps.png file. As you build your own site map, you can drag elements from the Common Library to the canvas and use the line tool or the new arrow line tool to connect items in your diagrams. Alternatively, you could also draw these illustrations in a diagramming tool and import them into Fireworks (see Figure 2).

Common Library containing UI elements and Flex components
Figure 2. Common Library containing UI elements and Flex components

Fireworks makes it easy to create a site map, and it is critical to have a solid understanding of what the user will see and how the user will interact with the application before creating the design elements.

In the next section, I'll discuss how to begin building out the different views (screens) of the application in wireframe form to ensure that all of the necessary user interface items are included.

Creating sketch wireframes

Once you have identified the screens of your application, you can sketch out the pages as low-fidelity wireframes. You can review an example of this section of the project by opening Page 02 Wireframe in the DesigningFlexApps.png in the sample files folder.

Use the Shape tools and Text tool to add descriptions to the screen areas. Make sure that the pages are logically assembled, the main interface features are present, and the workflows are intuitive.

Using prebuilt Flex components

You can use the prebuilt component library available in Fireworks (shown in Figure 2) to help you build your wireframes quickly. To do this, open the Flex Components folder of the Common Library palette and drag Flex components, such as a button, onto the canvas. After dragging it out, you can use the Transform tool to resize it to fit your project (see Figure 3).

. Example of a low-fidelity wireframe
Figure 3 . Example of a low-fidelity wireframe

The Duplicate Page feature allows you to quickly design additional screens by replacing and modifying existing page elements instead of starting over with a blank slate. You can quickly duplicate wireframe screens by simply dragging the layer onto the New/Duplicate Page icon on the bottom right hand side of the Pages panel or selecting Duplicate Page in the Options menu (see Figure 4).

The Duplicate Page feature allows you to quickly design additional screens by replacing and modifying existing page elements instead of starting over with a blank slate. You can quickly duplicate wireframe screens by simply dragging the layer onto the New/Duplicate Page icon on the bottom right hand side of the Pages panel or selecting Duplicate Page in the Options menu (see Figure 4).

Duplicate Page command from the Options menu of the Pages panel
Figure 4. Duplicate Page command from the Options menu of the Pages panel

Sharing layers across pages

Another timesaving feature in Fireworks is the ability to reuse design elements by sharing layers. Sharing layers increases efficiency by allowing you to share common navigational elements across different pages. By creating two or three shared layers, you can easily create additional user interface states without performing significant redesign work on each application screen.

To share layers across pages, select the option to Share Layer to Pages to access the dialog box. In this example, I added a new page to the design named Page 1 and then I selected it and added it to the Include layer to page(s) list (see Figure 5).

Specifying which layers are shared across pages
Figure 5. Specifying which layers are shared across pages

Don't spend too much time on the aesthetics of the wireframes. By definition, these wireframe sketches are designed to show the bare bones of each screen viewed in the application. However, it is critical to solidify the workflow process at this stage, so ask colleagues and friends to review your wireframe sketches and provide feedback. Make sure that users can understand what your application does and how to use it. You may find that your wireframes evolve over time during this process.

In the next section I'll provide some tips and best practices for adding visual content to begin defining the design direction that will ultimately become the front end of your application.

Applying visual and user interface design

After you've completed your wireframes, you can use the pages as the starting point for your high-fidelity designs. For example, you can add a layer with a background image and incorporate other graphic elements, such as logos. You can also customize the look and feel of existing user interface elements to make your design unique (see Figure 6).

Main Menu page design
Figure 6. Main Menu page design

Customizing components

You can customize the look and feel of Flex components to make them match your design. Drag the desired component to the canvas and then double-click the component to edit it. When you are in editing mode, you'll see a detailed view of the component elements. Using the Property inspector, you can change the color of the button, change the font style, resize the elements and customize the design to suit your needs (see Figure 7).

Double-clicking the button to resize it and change the button label
Figure 7. Double-clicking the button to resize it and change the button label

Working with symbols

To increase your productivity, create symbols of any commonly used elements. For example, you can create a banner symbol by drawing a shape on the canvas and filling it with a gradient. Select the shape, right-click it (or Control-click on Mac) and choose the option to Convert to Symbol. In the Convert to Symbol dialog box that appears, set the type to graphic and name the symbol: Banner. Check the option to Enable 9-slice scaling guides; this helpful feature allows you to retain the roundness of corners and perserve the aspect ratio of symbol objects while transforming them. Also check the option to Save to Common Library to make it easy to reuse the symbol. Click OK (see Figure 8).

Entering the symbol name in the Convert to Symbol dialog box
Figure 8. Entering the symbol name in the Convert to Symbol dialog box

After clicking OK, the Banner symbol appears in the list of Custom Symbols in the Common Library panel. This allows you to drag and drop it whenever you want to add the symbol to other pages (see Figure 9).

Created symbol appearing in the Custom Symbols section of the Common Library panel
Figure 9. Created symbol appearing in the Custom Symbols section of the Common Library panel

Adding user interface elements to your design

Fireworks CS4 includes a powerful new feature called the States panel. States (similar to frames in previous versions) allow you to create visual variants for your application without investing significant design time to create a unique page for each view.

For example, take a look at the Get Cash screen (the page named 04 Get Cash – Design in the sample PNG file). You could create this screen in a new page by adding a Flex panel with buttons for standard cash amounts. To represent different button states, add a new duplicate state then change the color of one of the buttons in the improved Symbol Properties panel (see Figure 10).

Using the States panel to create a duplicate state of a button (left), and then using the Symbol Properties panel to graphically change the way the button looks on mouseover (right)
Figure 10. Using the States panel to create a duplicate state of a button (left), and then using the Symbol Properties panel to graphically change the way the button looks on mouseover (right)

By leveraging the timesaving and reusability features included in Fireworks CS4, you can quickly build out the design and user interface for an application. The pages can be exported in PDF format so that you can share them and gather feedback about the design and flow. Even better, the same document can be used to export the beginnings of an application, including the Flex code. After adding the graphics and text imported or created in Fireworks, you can also incorporate Flex skins to facilitate the handoff process.

Working with the new Flex skinning feature

A new feature in Fireworks CS4—Flex skinning—allows you to quickly access commonly used skins for Flex components in order to provide alternative skins for your application. Do not skip this step. It adds a lot of value to the document when you hand off the code to the development team.

To access the new skinning features, choose Commands > Flex skinning > New Flex skin. Choose the Specific component radio button, then select Panel and the option to Apply skin to All Instances. Click OK (see Figure 11).

Choosing the desired Flex skin in the New Flex Skin dialog box
Figure 11. Choosing the desired Flex skin in the New Flex Skin dialog box

This operation generates a new template document that contains all of the skin elements for the panel component. Review the layers in the Layers panel to see how the Flex skin is contructed (see Figure 12).

Layers comprising the Flex Skin Template in the Layers panel
Figure 12. Layers comprising the Flex Skin Template in the Layers panel

Select the Panel_borderSkin layer and turn on single layer editing so that none of the other layers in the template are affected. Select the group 2 object and ungroup it to end up with a total of two paths. Select the main path, open the Styles panel and apply the style named Plastic 50.

Continue editing the skin in this way by drilling down into the individual elements and making the desired changes. When you are finished with editing the skin, choose Commands > Exports Skins. This will allow you to hand off the skin file to a developer who can import them into Flex Builder.

In the next section I'll discuss how to incorporate documentation to your Fireworks document, so that developers have a clearer understanding of the goals of the design.

Producing the documentation

When you work with a team on a project, one of the main things to strive for is clear communication. Anything you can do to facilitate understanding and eliminate confusion will ultimately lead toward a more successful and stress-free release.

In this section, I'll describe how you can include annotations to supplement the design elements that you deliver to the developers that will be interpreting your screens and building out the functionality.

Exporting images

In addition to designing the interface, Fireworks can be used to create documentation that supports the designs you'll hand off to developers. Start this process by exporting your pages as images, because these images will be used for your documentation.

Select File > Export and in the Export dialog box, specify the directory to save your files. In the Export dialog box, choose the export option: Pages to Files. After exporting the images, we'll import them back into a template to make annotations (see Figure 13).

Choosing the option to export Pages to Files in the Export dialog box
Figure 13. Choosing the option to export Pages to Files in the Export dialog box

Annotating wireframe sketches

Using Fireworks, you can develop annotated wireframes by importing exported images into documentation templates. If you are following along with the article's sample files, open the Writeup_DesigningFlexApps.png file to view the template (see Figure 14).

Template illustrating how to incorporate pages of your design with important comments
Figure 14. Template illustrating how to incorporate pages of your design with important comments

Take a few moments to see how the template PNG file is organized. Using this strategy, you can create a single document that represents the designs you've created along with your notes. After importing the previously exported images into the template PNG file, you can use the Export to PDF feature to create the documentation for distributing to the members of your team.

Exporting and importing Flex code

Because Fireworks is tightly integrated with Flex Builder, you can export your design to Flex code (MXML) along with the images that you'll hand off to developers. The Flex components that you dragged onto the canvas from the Common Library panel are automatically converted to MXML using their respective tags. For example, the MXML code for a button looks like this:

<mx:Button id="Big Button" x="48" y="30" width="84" height="57" label="Back to Main Menu" enabled="true"/>

All of the custom symbols that you created are also converted to MXML:

<mx:Image id="Banner" source="images/Banner.gif" x="37" y="22" width="743" height="78"/>

Objects in the Fireworks document that aren't recognized as Flex components are automatically exported as bitmaps that are linked to the MXML with an <mx:Image> tag.

The MXML code that is generated by Fireworks contains the necessary styling and positioning information that can be handed off to Flex developers as a starting point for the application. Developers can use the exported MXML code by importing it into a tool like Flex Builder.

After you export the MXML code and image files, you can import them into Flex Builder and use the assets to begin developing the application. First create a new project in Flex Builder. This is achieved by selecting File > New Project. Name the project and specify the directory that contains the exported MXML code (see Figure 15).

Entering the settings for the project in the New Flex Project dialog box
Figure 15. Entering the settings for the project in the New Flex Project dialog box

By selecting the folder that contains the images and code exported from Fireworks, you are incorporating that information into the new Flex Builder project. The ease of handoff results in rapid development and the flexibility to make new iterations as the project evolves.

Double-click the MXML files in the Flex Navigator panel to open them in the Script window. Using this code as the basis of the new project, you can edit the MXML files to add the desired functionality (see Figure 16).

Imported Fireworks assets listed in the Flex Navigator panel
Figure 16. Imported Fireworks assets listed in the Flex Navigator panel

Where to go from here

Fireworks helps streamline the product development cycle by making the handoff between designers and developers more efficient, which allows team members to collaborate more creatively while reducing development costs.

Fireworks encourages innovation and productivity by offering an environment to generate wireframe sketches, design the interface, document the elements, and create an interactive prototype all within the same tool. Both the Export as PDF feature, which makes it easy to share files across an entire team, and the ability to export Flex code that can be handed off to developers as a starting point are extremely beneficial when building an application.

You can find a wealth of tips and tricks and sample projects by visiting the Fireworks Developer Center. Also check out the following online resources to help you get started:

  • Industry trends in prototyping
  • Designing a website application with Fireworks CS4
  • Adobe TV Learn Fireworks CS4 channel

More Like This

  • Designing a website application with Fireworks CS4
  • Developing an effective Fireworks workflow
  • Creating an icon in Fireworks
  • Animated logos in Fireworks
  • Industry trends in prototyping
  • Creating Web 2.0 elements in Fireworks
  • Handling Fireworks events with ActionScript 3.0
  • Mobile workflows using Fireworks CS5 and Device Central CS5
  • Creating and exporting Fireworks graphics as FXG files for Flash Catalyst
  • Prototyping for the Apple iPhone using Fireworks

Tutorials & Samples

Tutorials

  • Creating jQuery Mobile website themes in Fireworks
  • Extracting CSS properties from Fireworks design objects
  • Working with CSS sprites in Fireworks CS6

Samples

  • Twitter Trends
  • Flex 4.5 reference applications
  • Mobile Trader Flex app on Android Market

Fireworks Forum

More
04/19/2012 How to center multiple text in a button
04/22/2012 What exactly needs to be done to have my browser output text into a path that the user cannot type..
04/21/2012 Website Ranking
04/20/2012 Link problem with Fireworks CS5 - net::ERR_FILE_NOT_FOUND

Fireworks Cookbooks

More
09/07/2011 How do I use FXG XML markup in Shape subclasses?
10/15/2010 Flex4 Dotted Line
06/25/2010 ComboBox that uses a NativeMenu (Air API)
05/21/2010 Localizing a Creative Suite 5 extension

Products

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • Mobile Apps
  • Photoshop
  • Touch Apps
  • Student and Teacher Editions

Solutions

  • Digital marketing
  • Digital media
  • Web Experience Management

Industries

  • Education
  • Financial services
  • Government

Help

  • Product help centers
  • Orders and returns
  • Downloading and installing
  • My Adobe

Learning

  • Adobe Developer Connection
  • Adobe TV
  • Training and certification
  • Forums
  • Design Center

Ways to buy

  • For personal and home office
  • For students, educators, and staff
  • For small and medium businesses
  • For businesses, schools, and government
  • Special offers

Downloads

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

Company

  • News room
  • Partner programs
  • Corporate social responsibility
  • Career opportunities
  • Investor Relations
  • Events
  • Legal
  • Security
  • Contact Adobe
Choose your region United States (Change)
Choose your region Close

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

Terms of Use | Privacy Policy and Cookies (Updated)

Ad Choices

Reviewed by TRUSTe: site privacy statement