You are previewing Macromedia® Flash™ Enabled Flash Design and Development for Devices.
O'Reilly logo
Macromedia® Flash™ Enabled Flash Design and Development for Devices

Book Description

Flash Enabled guides Flash designers & developers in creating content and applications for multiple devices with Flash and other tools. Focusing on the Pocket PC platform, this book also discusses considerations in developing Flash for set-top box systems, cell phones, and lays the foundation for devices such as the Palm. The book targets four main concepts: 1)design/development considerations, 2) creating content once & deploying to many platforms, (including info on using MM Generator to author content in Flash and serve it to Palm Pilots and cell phones that don't yet have Flash Players), 3) creating Flash content for Pocket PC, and 4) application development using Flash integrated with middle-ware. Throughout this book the authors provide guidelines, step-by-step tutorials, workflow, best practices, and case studies.

Table of Contents

  1. Copyright
    1. DEDICATION
  2. OUR CONTRIBUTORS
  3. ABOUT THE TECHNICAL EDITORS
  4. ACKNOWLEDGMENTS
    1. A Message from New Riders
    2. Visit Our Web Site: www.newriders.com
    3. Email Us from Our Web Site
  5. 1. INTRODUCTION TO MACROMEDIA FLASH FOR EMBEDDED DEVICES
    1. A LITTLE FLASH HISTORY
    2. THE EXPANDING POPULARITY OF FLASH
      1. Return on Investment (ROI)
      2. Portability
      3. Embedded Devices
      4. Game Development
      5. Built for Branding
      6. Accessibility
      7. Scalability
    3. WHAT YOU’LL FIND IN FLASH ENABLED
  6. I. GETTING STARTED WITH FLASH ON DEVICES
    1. 2. CREATING CONTENT FOR THE POCKET PC USING FLASH
      1. WHAT IS THE FLASH PLAYER FOR POCKET PC?
      2. WHY USE FLASH FOR THE POCKET PC?
      3. ON WHICH POCKET PCS CAN THE FLASH PLAYER FOR POCKET PC RUN?
      4. WHAT ISN’T SUPPORTED IN THE FLASH PLAYER FOR POCKET PC?
      5. CONTENT CREATION GUIDELINES
        1. Movie Size
        2. Frames Per Second
        3. The User Interface
        4. Intros—Don’t Do Them
        5. Build Once
        6. Input Methods
        7. Buttons
        8. Right-Click Menu
        9. ”Stacking” the Deck
        10. Progress Indicators
        11. Forms
        12. Fonts and Text
          1. Small Fonts are Blurry and Hard to Read on Pocket PCs in Flash
          2. Pixel Fonts
          3. Colors on the Pocket PC and Flash
        13. Vectors and Optimization
        14. Image Compression
        15. Multimedia Elements
          1. Sound
          2. Using Sound Inside Flash for the Pocket PC
          3. Which Sound Compression Is Best for Flash for the Pocket PC?
          4. Animation
          5. Gaming and Interactivity
      6. VIDEO IN FLASH FOR THE POCKET PC
        1. Windows Media Playeron the Pocket PC
        2. Video Inside Flash on the Pocket PC
          1. Importing a Sequence of Bitmap Images
          2. Video with Wildform Flix
      7. MEMORY AND MEMORY MANAGEMENT WITH FLASH FOR THE POCKET PC
        1. Managing Memory
        2. LOADING DATA INTO FLASH FOR THE POCKET PC
        3. Using loadVariables
        4. Using XML to Load Data
        5. Data Loading and Processing Considerations
        6. Data Loading Bandwidth Conservation
        7. Connected and Unconnected Applications
        8. Online Detection
        9. SECURITY MODEL OF FLASH ON THE POCKET PC
        10. Version Detection
      8. DEVICE SPEED AND FRAMES PER SECOND
      9. DETECTING THE PROCESSOR SPEED ON THE POCKET PC WITH FLASH
      10. SCREEN ECONOMY WITH FLASH FOR THE POCKET PC
        1. Fit to Screen
        2. Pocket PC Screen Dissection
      11. ROTATING FLASH CONTENT FOR THE POCKET PC
      12. INTERNET EXPLORER FOR POCKET PC
      13. HTML AND THE INTERNET EXPLORER FOR POCKET PC
        1. Multilanguage Support
        2. Embedding Your Flash Application into HTML for Pocket Internet Explorer
        3. Using the Flash Player 5 for Pocket PC Templates
          1. Copying Content to the Pocket PC: A Checklist
          2. Quality Settings
      14. USING JAVASCRIPT WITH FLASH FOR THE POCKET PC
      15. SNIFFING FOR INTERNET EXPLORER FOR POCKET PC ON THE SERVER
        1. Using Middleware to Detect the Pocket PC
        2. Using JScript to Detect the Pocket PC
      16. DISTRIBUTING YOUR FLASH CONTENT FOR THE POCKET PC
        1. Using the Auto Run Feature to Install and Transfer Files on the Pocket PC
      17. EMULATION OF THE POCKET PC FOR TESTING
      18. TEST, TEST, TEST, AND TEST SOME MORE!
      19. ADVANCED TOPICS
        1. Embedded eVC and eVB, Gotta Get ‘Em!
        2. Changing Registry Settings on the Pocket PC
        3. Terminal Services
        4. Playing Flash Full Screen on the Pocket PC
        5. Animated Today
      20. SUMMARY…THAT’S ALL, FOLKS!
    2. 3. INTERFACE DESIGN FOR DEVICES
      1. COMMON INTERFACE ISSUES
      2. SPECIAL CONSIDERATIONS FOR DEVICES
        1. Making Buttons Stand Out
        2. Limited Device Functionality
        3. The Challenge of Typing
        4. Small Display Area
      3. CREATING STANDARD COMPONENTS FOR DEVICES
        1. Checkboxes
        2. Radio Buttons
        3. Sliders
      4. OPTIMIZING INTERFACES
        1. Non-Coding Issues That Are Related to Optimization
        2. Code-Based Optimizations
          1. Optimizing Variables and Objects
          2. Loop Optimizations
          3. Memory Optimizations
      5. SUMMARY
    3. 4. TYPOGRAPHY IN FLASH FOR DEVICES
      1. WHAT ARE PIXEL FONTS?
      2. TYPE CONSIDERATIONS
      3. PIXEL PROBLEMS IN FLASH
      4. THE SOLUTION TO PIXEL PROBLEMS
      5. USAGE OVERVIEW
      6. MINIML FONT NUMBER SYSTEM
      7. MAKING YOUR OWN FLASH PIXEL FONT
        1. Determining Your Need
        2. Initial Setup
        3. Construction
        4. Determining Font Size
        5. Importing into Fontographer
        6. Cleaning Up the Characters
        7. Eliminating Fill-In
        8. Generating Fonts
      8. FONTS IN APPLICATION
      9. SUMMARY
    4. 5. FROM START TO FINISH: UNDERSTANDING THE FLASH APPLICATION DEVELOPMENT WORKFLOW
      1. INTRODUCING THE EVENT GUIDE APPLICATION
      2. PLANNING YOUR PROJECT
        1. Five Things to Ask First
        2. Understanding Your Limitations
        3. Planning the Workflow
        4. Defining Your Project
          1. Introducing the Event Guide
          2. Why Flash and the Pocket PC Are a Good Fit
        5. Choosing Your Platform
        6. Planning the User Experience
          1. Amount of Information
          2. Type of Navigation
          3. Creativity
          4. Any Special Requirements
          5. Ease of Use
      3. CREATING THE FLASH PROJECT
        1. Project Requirements
        2. Organizing the Project
        3. Gathering Content
        4. Organizing Your Folders
        5. Making the Event Guide
          1. 5.3.5.1. Laying the Foundation
          2. 5.3.5.2. Creating the Sections
          3. 5.3.5.3. Creating the Navigation
          4. 5.3.5.4. Testing
          5. 5.3.5.5. Deployment
      4. SUMMARY
  7. II. ADVANCED FLASH DEVELOPMENT FOR DEVICES
    1. 6. CREATING MOTION GRAPHICS AND CHARACTER ANIMATION FOR THE POCKET PC USING FLASH
      1. PLANNING, ORGANIZING, AND OPTIMIZATION
        1. Character Animation and Motion Graphics for Devices
        2. Repurposing Content
        3. Animation and Motion Graphics Styles that Work on Devices
        4. THE REALITIES OF DEVELOPING FOR DEVICES AND PLATFORMS
        5. The Limits of Processor Speed and How It Affects You
        6. Sound Compression
        7. File Sizes: Connectivity and Storage Space
        8. Developing for Different Displays
      2. KEYS TO MOTION GRAPHICS
        1. Making Motion Graphics that Work
        2. Movie Creation Step–by–Step
          1. The Title Sequence
          2. Adding Sound to the Title Sequence
          3. Adding Animation to the Title Letters
          4. Adding Color with Motion Tween
          5. Adding a Picture Frame
          6. Designing the Loading Sequence
      3. KEYS TO CHARACTER ANIMATION
        1. Squash and Stretch
        2. Anticipation
        3. Follow Through/Overlapping Action
        4. Arcs
        5. Secondary Action
        6. Timing
        7. Exaggeration
        8. Ease In, Ease Out
        9. Straight Ahead Animation and Pose to Pose Animation
        10. Staging
        11. Movie Creation Step–by–Step
          1. Creating the Storyboard
          2. Creating the Characters
          3. Creating the Background
          4. Adding the Characters to the Movie
          5. Adding Dialog
          6. Adding Details
          7. Optimizing the Movie File
          8. Exporting the Movie
      4. SUMMARY
    2. 7. CREATING INTERACTIVE GAMES FOR DEVICES USING FLASH
      1. CONSTRAINTS OF THE GAME PLATFORM
        1. Processor Speed
        2. Don’t Count on Connectivity
        3. Saving Game States
        4. File Size for Games
        5. Game Sound
        6. Display Size for Games
        7. Game Controls
      2. GAME CATEGORIES—WHAT WORKS ON THE POCKET PC, AND WHAT DOESN’T?
        1. Card Games
        2. Thinking and Strategy Games
        3. Action and Reflex Games
      3. MAKING A CARD GAME
        1. The Rules
        2. The Game Play
        3. Programming the Game
        4. The Foundation
        5. Implementing Classes for Movie Clips
        6. Defining Classes—A Button Class
        7. Inheritance—A Screen Class and a Child Title Class
          1. Finding a Super Class
          2. Defining a Screen Super Class
          3. Creating a Sub Class
          4. Implementing the Screen Classes
        8. The Main Screens of the Game
          1. Defining a Class to Hold the Game Screens
          2. Implementing Screen.GameScreens
        9. The Cards
        10. Holding Cards in a Hand
          1. More on Overwriting Methods
          2. Implementing the Hand Class
        11. The Player Class
        12. The Human Player
        13. Bringing the Pieces Together—The Game
          1. The ActionScript in the Main Timeline
          2. Putting the Cards into the Deck
          3. Running the Game
        14. Playing Against the Computer
      4. SUMMARY
  8. III. CREATING APPLICATIONS FOR DEVICES WITH FLASH
    1. 8. DATA PERSISTENCE WITH FLASH, JSCRIPT, AND HTTP COOKIES
      1. WHAT ARE HTTP COOKIES?
      2. DATA FLOW BETWEEN FLASH, JSCRIPT, AND COOKIES
        1. Using JScript to Retrieve Cookie Data
        2. Using JScript to Pass Data to Flash
        3. Flash Passing Data Back to JScript
        4. JScript Saving Data as Cookies
      3. DISSECTING FLASHTONE
        1. Using JScript to Load Saved Phone Numbers
        2. Passing the Phone Numbers from JScript to Flash
        3. Inside the FlashTone Movie
        4. Passing Phone Numbers from Flash to JScript
        5. Using JScript to Write to the Browser’s Cookie Database
      4. SUMMARY
    2. 9. STANDALONE APPLICATION DEVELOPMENT USING FLASH AND JAVA
      1. DEVELOPING WITH AN N-TIERED ARCHITECTURE
      2. PLATFORM INDEPENDENCE
      3. WHY USE DIFFERENT TECHNOLOGIES FOR A SINGLE PROJECT?
      4. THE TEXTTOOL APPLICATION WE ARE BUILDING
        1. Why Use Flash for TextTool?
        2. Why Also Use Java?
      5. JAVA ON THE POCKET PC
      6. FLASH ON POCKET PC
      7. BUILDING THE TEXTTOOL BACK-END
        1. Understanding the PocketServer
          1. Stateless Versus Stateful PocketServices
          2. Using ServerSocket to Create the Actual Server
        2. Understanding PocketServices
          1. Writing Your Own PocketService
        3. Running the PocketServer on Your PC
        4. Running the PocketServer on Your Pocket PC Device
      8. UNDERSTANDING THE FLASH USER INTERFACE
        1. Understanding the SaveFile Object
        2. Running the UI
      9. SUMMARY
    3. 10. SERVER-SIDE DYNAMIC CONTENT FOR FLASH-ENABLED DEVICES
      1. WHAT IS MACROMEDIA GENERATOR?
      2. WHAT IS JGENERATOR?
      3. ADVANTAGES AND DISADVANTAGES OF USING A SERVER-SIDE TOOL FOR DYNAMIC CONTENT FOR DEVICES
      4. CREATING GENERATOR TEMPLATES: THE AUTHORING WORKFLOW
      5. TWO TECHNIQUES FOR SERVER-SIDE DYNAMIC CONTENT CREATION
        1. Server-Side Dynamic Flash for Devices
        2. A Client/Server Architecture for Dynamic Flash Content
      6. SUMMARY
  9. IV. FLASH FOR TELEVISION
    1. 11. FLASH CONTENT FOR TELEVISION
      1. GENERAL TELEVISION DISPLAY ISSUES
        1. Fonts and Readability
        2. Safe Areas
      2. INTERLACING
        1. Colors
        2. TV-Specific Viewing Habits and Aesthetics
      3. FLASH FOR NON-BROADCAST TV: VHS, MINIDV, DVD
        1. Preparing Your Flash File
        2. VHS
        3. MiniDV
        4. DVD
      4. FLASH FOR BROADCAST TELEVISION
        1. Opportunities and Challenges for Flash as a Broadcast TV Tool
        2. Planning Your Broadcast TV Project
        3. Resolution Formats
          1. NTSC (National Television Standards Committee)
          2. PAL (Phase Alternating Line)
          3. HDTV
        4. Frame Rates and Timecodes
        5. Interlacing Issues in Professional Post Production
      5. FLASH FOR TV BROWSERS
        1. Web Access through the Television
        2. What’s a Set Top Box?
        3. TV Browsers
        4. Challenges of Content Development for Television
          1. Viewing Habits
          2. Simplicity
          3. Navigation
          4. Layout
          5. Scrolling
          6. Processors and Playback
          7. File Sizes
          8. Hard Drives
          9. Connectivity
          10. Multiple Windows
          11. JavaScript and Other Programming Languages
          12. Streaming Media
          13. Test, Test, Test
        5. Animation for TV Browsers
      6. PROBLEMS IN DEVELOPING ANIMATION FOR TV BROWSERS
        1. Playback
        2. Lines
        3. Color
        4. Bandwidth
        5. Interfaces for TV Browsers
      7. FLASH FOR ENHANCED TV
      8. SUMMARY
    2. 12. DEVELOPING FLASH CONTENT FOR THE SONY PLAYSTATION 2
      1. THE THREE VERSIONS OF THE FLASH PLAYER
        1. Generation 1: The Stock Scanline Flash Player (Flash 4)
        2. Generation 2: Strobe (Flash 5)
        3. Internet Version of the Flash Player
      2. FLASH DESIGN IN ACTION: OUR EXPERIENCE WITH LUCASARTS
      3. THE ADVANTAGES OF USING FLASH FOR SONY PLAYSTATION 2 GAME TITLES
        1. Traditional Design for Console Games
          1. Traditional Game User Interface Team
          2. Dedicated Software
          3. Procedural Layout and Animation
          4. Impact of Late Changes to User Interface in Traditional Design
        2. Designing User Interface for Console Games Using Flash
          1. Typical Flash User Interface Team
          2. Experience
          3. Rapid Development
          4. Impact of Late Changes to User Interface
      4. USER INTERFACE LOGIC FOR FLASH IN A GAME TITLE DEVELOPMENT ENVIRONMENT
        1. Communication Protocol between Flash and the PlayStation 2 Hardware
        2. Who Drives, Flash or the Game Code?
        3. Flash Commanding the PlayStation 2
        4. PlayStation 2 Code Commanding Flash
      5. USER INTERFACE DESIGN ISSUES FOR SONY PLAYSTATION 2
        1. Overview of Relevant Sony Requirements
          1. The Sony Controller and Key Mapping to Flash
          2. The Sony Memory Card
        2. Memory Footprint Issues
        3. Frame Rate Issues
        4. Localization Considerations
          1. Text Length Issues
          2. Double-Byte Character Support
          3. Keep Everything Flexible
          4. Use an Experienced Designer
      6. THE FUTURE OF FLASH DEVELOPMENT ON CONSOLES
        1. Flash Player for the Internet
        2. Flash Player for Sony PlayStation 2 Game Developers
      7. SUMMARY
  10. V. THE FUTURE OF FLASH AND EMBEDDED DEVICES
    1. 13. AFTERWORD: LOOKING FORWARD
      1. THE STATE OF DEVICES TODAY
      2. DEVICES IN THE FUTURE
  11. VI. APPENDIXES
    1. A. FLASH PLAYER FOR THE NOKIA 9200 COMMUNICATOR SERIES AUTHORING GUIDELINES
      1. SUPPORTED PLATFORMS
      2. LANGUAGES
        1. Player Installation
      3. DEVELOPING CONTENT
        1. New Flash Player Functionality
        2. Optimizing Flash Content for the Nokia 9200 Communicator
          1. Screen Size
          2. Sound
          3. Fonts
          4. Input Methods/Keyboard
          5. Editable Text Fields
          6. Navigation
          7. Tab Key Navigation
          8. Mouse Events/Buttons
          9. Animation
      4. USING BITMAPS
        1. Bitmap Versus Vector
        2. Setting Bitmap Properties
        3. ActionScript
      5. DEPLOYING CONTENT
        1. Standalone Player
        2. Synching or Playing Content
        3. Controlling Playback
        4. Adjusting the Flash Player Properties Through the Menu
        5. File Size and Memory Limitations
      6. DYNAMIC CONTENT
        1. Connected Versus Unconnected
        2. Domain Restrictions
        3. Bandwidth Considerations
        4. Data Processing Considerations
        5. Device Detection
      7. TRADEMARKS
    2. B. FLASH DEVICE MATRIX
    3. C. FLASH DEVICE RESOURCES
      1. GENERAL FLASH DEVICE RESOURCES
        1. Web Sites
        2. Forums/Mailing Lists
        3. General Flash Resources
        4. Mailing Lists
        5. Tools
      2. TYPOGRAPHY/FONTS
      3. SERVER-SIDE DYNAMIC FLASH
      4. FLASH AND JAVA
      5. DEVICE RESOURCES
        1. Microsoft Pocket PC
          1. Developer Information
          2. Community, News, and Information Sites
          3. Forums
          4. Pocket Internet Explorer/JScript
          5. Pocket PC Web Servers
          6. Creating Video for Pocket PC
          7. Useful Third-Party Pocket PC Applications
          8. Pocket PC-Related Hardware
        2. 3Com Audrey
        3. Microsoft Ultimate TV
        4. Microsoft/Compaq Web Companion
        5. Sega Dreamcast
        6. Flash for Video/Television
        7. General Device News and Information
      6. AUTHOR WEB SITES
        1. Mike Chambers
        2. Robert M. Hall
        3. Steve Leone
        4. Bill Perry
        5. Fred Sharples
        6. Glenn Thomas/Andreas Heim
        7. Phillip Torrone
    4. D. POCKET PC DEVICE DETECTION
      1. SERVER-SIDE DETECTION
        1. Macromedia ColdFusion
        2. PHP
        3. JSP
        4. ASP
      2. CLIENT-SIDE DETECTION
        1. Flash
        2. Pocket Jscript
    5. E. MICROSOFT POCKET INTERNET EXPLORER ON POCKET PC 2002
      1. HTML
      2. WAP
      3. DHTML
      4. Protocols
      5. Scripting
      6. ActiveX Controls
      7. Downloading controls
      8. XML support
      9. Cascading style sheets
      10. Font downloading
      11. Data binding
      12. Java
      13. Native file formats
      14. Recording file formats
      15. User-Agent string
      16. Cache
      17. Subscriptions, offline browsing
      18. Colors /resolution
      19. Auto-complete URL
      20. Link highlighting
      21. View HTML source
      22. Favorites
      23. Input devices
      24. Cookies
      25. User authentication
      26. Security
      27. Newsgroups
      28. CDF
      29. MIME type helpers
      30. Printing
      31. Web server
    6. F. USING FLASH FOR DEVELOPING TOUCH-SCREEN KIOSKS
      1. PLANNING DEPLOYMENT OF FLASH MX ON A TOUCH-SCREEN KIOSK
      2. GENERAL TOUCH-SCREEN HARDWARE INFORMATION
      3. ALTERNATIVE TOUCH-SCREEN TECHNOLOGY
      4. SPECIFIC TOUCH-SCREEN HARDWARE NUANCES AND TECHNOLOGIES
      5. GENERAL TIPS FOR WORKING WITH TOUCH SCREENS
      6. TIPS FOR DEVELOPING FLASH APPLICATIONS ON TOUCH SCREENS
      7. EXPLORING THE POSSIBILITIES
    7. G. WHAT’S ON THE WEB SITE
      1. Updates
      2. Source Files
      3. Resources
      4. Feedback