SlideShare una empresa de Scribd logo
1 de 355
COMPLEX DESIGNS IN FLEX
COMPLEX DESIGNS IN FLEX




                          ‣ Jesse Warden
COMPLEX DESIGNS IN FLEX




                          ‣ Jesse Warden


                          ‣ Partner   at Web App Solution
COMPLEX DESIGNS IN FLEX




                          ‣ Jesse Warden


                          ‣ Partner   at Web App Solution

                          ‣ Flex   & Flash Consultant
COMPLEX DESIGNS IN FLEX




                          ‣ Jesse Warden


                          ‣ Partner   at Web App Solution

                          ‣ Flex   & Flash Consultant

                          ‣ FITC   2011
CANADA & FITC ROX
CANADA & FITC ROX




                    ‣ Celebs   & Industry Contributors
WHO AM I?
WHO AM I?



            ‣ Jesse Warden
WHO AM I?



            ‣ Jesse Warden


            ‣ Flex& Flash Consultant @ Web App
             Solution
WHO AM I?



            ‣ Jesse Warden


            ‣ Flex& Flash Consultant @ Web App
             Solution

            ‣ Service Work   by day...
WHO AM I?



            ‣ Jesse Warden


            ‣ Flex& Flash Consultant @ Web App
             Solution

            ‣ Service Work    by day...

            ‣ ...product   work (+beer) at night.
WHO AM I?



            ‣ Jesse Warden


            ‣ Flex& Flash Consultant @ Web App
             Solution

            ‣ Service Work    by day...

            ‣ ...product   work (+beer) at night.

            ‣ Consultant    by day...
WHO AM I?



            ‣ Jesse Warden


            ‣ Flex& Flash Consultant @ Web App
             Solution

            ‣ Service Work    by day...

            ‣ ...product   work (+beer) at night.

            ‣ Consultant    by day...

            ‣ ...entrepreneur   (more beer) at night.
JESSE WARDEN
JESSE WARDEN




               ‣ passionateabout technology
                bettering the world
JESSE WARDEN




               ‣ passionateabout technology
                bettering the world

               ‣ think   positive
JESSE WARDEN




               ‣ passionateabout technology
                bettering the world

               ‣ think   positive

               ‣ like   meeting new people
clients
clients
clients



          ‣ Enterprise   | Agency
clients



          ‣ Enterprise   | Agency

          ‣ Flex/Java/BlazeDS
clients



          ‣ Enterprise   | Agency

          ‣ Flex/Java/BlazeDS


          ‣ Viaas.com    = video startup
clients



          ‣ Enterprise    | Agency

          ‣ Flex/Java/BlazeDS


          ‣ Viaas.com    = video startup

          ‣ Intuit   = Flex Training/Consulting
clients



          ‣ Enterprise    | Agency

          ‣ Flex/Java/BlazeDS


          ‣ Viaas.com    = video startup

          ‣ Intuit   = Flex Training/Consulting

          ‣ Disney    = huge Flash website
clients



          ‣ Enterprise    | Agency

          ‣ Flex/Java/BlazeDS


          ‣ Viaas.com    = video startup

          ‣ Intuit   = Flex Training/Consulting

          ‣ Disney    = huge Flash website

          ‣ HBOGO.com        = Flex video product
WHAT?
WHAT?




        ‣ That   design in that app
WHAT?




        ‣ That   design in that app

        ‣ Technical   Design Fundamentals
WHAT?




        ‣ That   design in that app

        ‣ Technical   Design Fundamentals

        ‣ Philosophies, Methodologies, & Tools
WHAT?




        ‣ That   design in that app

        ‣ Technical   Design Fundamentals

        ‣ Philosophies, Methodologies, & Tools


        ‣ Workflows
WHAT DO YOU GET?
WHAT DO YOU GET?




                   ‣ Learn   effective Production Art
WHAT DO YOU GET?




                   ‣ Learn   effective Production Art

                   ‣ Understand    when to use certain
                    techniques
WHAT DO YOU GET?




                   ‣ Learn   effective Production Art

                   ‣ Understand    when to use certain
                    techniques

                   ‣ Make Your   Software Better
TANGIBLES
TANGIBLES



            ‣ How   to get designs into Flex & Flash
TANGIBLES



            ‣ How   to get designs into Flex & Flash

            ‣ Design   Options
TANGIBLES



            ‣ How   to get designs into Flex & Flash

            ‣ Design   Options

            ‣ What Tool, Where
TANGIBLES



            ‣ How   to get designs into Flex & Flash

            ‣ Design   Options

            ‣ What Tool, Where


            ‣ challenges   with Illustrator & Catalyst
TANGIBLES



            ‣ How   to get designs into Flex & Flash

            ‣ Design   Options

            ‣ What Tool, Where


            ‣ challenges   with Illustrator & Catalyst

            ‣ engage   designers in Agile SCRUM
WHY?
WHY?




       ‣ it’s   hard
WHY?




       ‣ it’s   hard

       ‣ complex
WHY?




       ‣ it’s   hard

       ‣ complex


       ‣ tricks   & caveats
WHY?




       ‣ it’s   hard

       ‣ complex


       ‣ tricks   & caveats

       ‣ good     design == proven ROI
INSPIRATION
INSPIRATION




              ‣ Continuallyhired as a Flex consultant
               for design skills
INSPIRATION




              ‣ Continuallyhired as a Flex consultant
               for design skills

              ‣ disagreewith the Illustrator/Catalyst
               direction
INSPIRATION




              ‣ Continuallyhired as a Flex consultant
               for design skills

              ‣ disagreewith the Illustrator/Catalyst
               direction

              ‣ Encounterengineers who don’t
               know the basics
NOMENCLATURE
NOMENCLATURE



               ‣ Photoshop   make’s Pee-Ess-Deez
                (PSD)
NOMENCLATURE



               ‣ Photoshop   make’s Pee-Ess-Deez
                (PSD)

               ‣ Fireworks   make’s Pee-En-Geez
                (PNG)
NOMENCLATURE



               ‣ Photoshop     make’s Pee-Ess-Deez
                (PSD)

               ‣ Fireworks     make’s Pee-En-Geez
                (PNG)

               ‣ Illustrator   make’s Ay-Eyez (AI)
NOMENCLATURE



               ‣ Photoshop     make’s Pee-Ess-Deez
                (PSD)

               ‣ Fireworks     make’s Pee-En-Geez
                (PNG)

               ‣ Illustrator   make’s Ay-Eyez (AI)

               ‣ Flash   IDE make’s Flahz (FLA)
NOMENCLATURE



               ‣ Photoshop     make’s Pee-Ess-Deez
                (PSD)

               ‣ Fireworks     make’s Pee-En-Geez
                (PNG)

               ‣ Illustrator   make’s Ay-Eyez (AI)

               ‣ Flash   IDE make’s Flahz (FLA)

               ‣ Catalyst
                        & Flash Builder 4.5 make’s
                Eff-X-Peez (FXP)
COMMON USE CASES
COMMON USE CASES




                   ‣ Photoshop   PSD into Flex
COMMON USE CASES




                   ‣ Photoshop   PSD into Flex

                   ‣ Fireworks   PNG into Flex
COMMON USE CASES




                   ‣ Photoshop   PSD into Flex

                   ‣ Fireworks   PNG into Flex

                   ‣ Illustrator AI   into Flex
COMMON USE CASES




                   ‣ Photoshop    PSD into Flex

                   ‣ Fireworks   PNG into Flex

                   ‣ Illustrator AI   into Flex

                   ‣ Flash   FLA into Flex
COMMON USE CASES




                   ‣ Photoshop    PSD into Flex

                   ‣ Fireworks   PNG into Flex

                   ‣ Illustrator AI   into Flex

                   ‣ Flash   FLA into Flex

                   ‣ Common      FXP
WHY? LANGUAGE
WHY? LANGUAGE




                ‣ Designers   Lingo
WHY? LANGUAGE




                ‣ Designers   Lingo

                ‣ Designers   have camps
WHY? LANGUAGE




                ‣ Designers   Lingo

                ‣ Designers   have camps

                ‣ preferred   tools/methodologies
TARGETS
TARGETS




          ‣ Flash
TARGETS




          ‣ Flash


          ‣ Flex
TARGETS




          ‣ Flash


          ‣ Flex


          ‣ AS3
HOW?
HOW?




       ‣ Production Art   Process
HOW?




       ‣ Production Art   Process

            ‣ Design
HOW?




       ‣ Production Art   Process

            ‣ Design


            ‣ Conversion
HOW?




       ‣ Production Art   Process

            ‣ Design


            ‣ Conversion


            ‣ Implementation
DESIGN
DESIGN




         ‣ Planning   & Execution
DESIGN




         ‣ Planning   & Execution

         ‣ UI/UX/Design    Patterns
DESIGN




         ‣ Planning   & Execution

         ‣ UI/UX/Design    Patterns

         ‣ Design   UI Elements
DESIGN




         ‣ Planning   & Execution

         ‣ UI/UX/Design     Patterns

         ‣ Design   UI Elements

         ‣ Flex   & Flash Capabilities
PLANNING & EXECUTION
PLANNING & EXECUTION




                       ‣ Design   expectations
PLANNING & EXECUTION




                       ‣ Design   expectations

                       ‣ Do   they know Flash?
PLANNING & EXECUTION




                       ‣ Design   expectations

                       ‣ Do   they know Flash?

                       ‣ Do   they know Flex?
PLANNING & EXECUTION




                       ‣ Design   expectations

                       ‣ Do   they know Flash?

                       ‣ Do   they know Flex?

                       ‣ Format: Bitmap   or Vector?
TARGET PLATFORM
TARGET PLATFORM




                  ‣ Web
TARGET PLATFORM




                  ‣ Web


                  ‣ Desktop
TARGET PLATFORM




                  ‣ Web


                  ‣ Desktop


                  ‣ Mobile
WELL EQUIPPED
WELL EQUIPPED




                ‣ Files   been “prepped”?
WELL EQUIPPED




                ‣ Files   been “prepped”?

                ‣ Layer   effects been flattened?
WELL EQUIPPED




                ‣ Files   been “prepped”?

                ‣ Layer   effects been flattened?

                ‣ Smart    Object-i-fied?
WELL EQUIPPED




                ‣ Files   been “prepped”?

                ‣ Layer   effects been flattened?

                ‣ Smart    Object-i-fied?

                ‣ Fonts?
DESIGN FUNDAMENTALS
DESIGN FUNDAMENTALS




                      ‣ Raster   vs. Vector
DESIGN FUNDAMENTALS




                      ‣ Raster   vs. Vector

                      ‣ Deployment     Formats
DESIGN FUNDAMENTALS




                      ‣ Raster   vs. Vector

                      ‣ Deployment     Formats

                      ‣ Container   Formats
DESIGN FUNDAMENTALS




                      ‣ Raster   vs. Vector

                      ‣ Deployment     Formats

                      ‣ Container   Formats

                      ‣ SWF   Format
BITMAP/RASTER
BITMAP/RASTER




                ‣ Pixels, little   blocks of color
BITMAP/RASTER




                ‣ Pixels, little   blocks of color

                ‣ Realism
BITMAP/RASTER




                ‣ Pixels, little   blocks of color

                ‣ Realism


                ‣ Old   (iOS blits, OSX vector)
BITMAP/RASTER
BITMAP/RASTER



                ‣ High   RAM usage
BITMAP/RASTER



                ‣ High   RAM usage

                ‣ High   in file-size
BITMAP/RASTER



                ‣ High   RAM usage

                ‣ High   in file-size

                ‣ Low    CPU
BITMAP/RASTER



                ‣ High   RAM usage

                ‣ High   in file-size

                ‣ Low    CPU

                ‣ Don’t   Scale in Size
BITMAP/RASTER



                ‣ High   RAM usage

                ‣ High   in file-size

                ‣ Low    CPU

                ‣ Don’t    Scale in Size

                ‣ Easily   Hardware Accelerated
VECTORS
VECTORS




          ‣ Low   RAM
VECTORS




          ‣ Low   RAM

          ‣ Low   file-size (usually)
VECTORS




          ‣ Low    RAM

          ‣ Low    file-size (usually)

          ‣ High   CPU
VECTORS




          ‣ Low     RAM

          ‣ Low     file-size (usually)

          ‣ High    CPU

          ‣ Scale   Size
DEPLOYMENT FORMATS
DEPLOYMENT FORMATS




                     ‣ JPEG
DEPLOYMENT FORMATS




                     ‣ JPEG


                     ‣ PNG
DEPLOYMENT FORMATS




                     ‣ JPEG


                     ‣ PNG


                     ‣ SWF
JPEG
JPEG



       ‣ Lossy   Compression
JPEG



       ‣ Lossy   Compression

       ‣ Photographs
JPEG



       ‣ Lossy   Compression

       ‣ Photographs


       ‣ Realism
JPEG



       ‣ Lossy   Compression

       ‣ Photographs


       ‣ Realism


       ‣ Bad   for text, graphical shapes
JPEG



       ‣ Lossy      Compression

       ‣ Photographs


       ‣ Realism


       ‣ Bad   for text, graphical shapes

       ‣ 24   bit
WHY JPEG?
WHY JPEG?




            ‣ Compression   artifacts noticeable
             when scaled
PNG
PNG



      ‣ Lossless   Compression
PNG



      ‣ Lossless   Compression

      ‣ 32   bit
PNG



      ‣ Lossless   Compression

      ‣ 32   bit

      ‣ 24   bit + 8 bit alpha channel
PNG



      ‣ Lossless   Compression

      ‣ 32   bit

      ‣ 24   bit + 8 bit alpha channel

      ‣ Fireworks   metadata
PNG



      ‣ Lossless    Compression

      ‣ 32    bit

      ‣ 24    bit + 8 bit alpha channel

      ‣ Fireworks    metadata

      ‣ Big
PNG



      ‣ Lossless    Compression

      ‣ 32    bit

      ‣ 24    bit + 8 bit alpha channel

      ‣ Fireworks    metadata

      ‣ Big


      ‣ Betterfor shapes, text, shape
       graphics
SWF
SWF



      ‣ Flash   Player format
SWF



      ‣ Flash   Player format

      ‣ supports   vector, bitmap, 32 bit
SWF



      ‣ Flash   Player format

      ‣ supports    vector, bitmap, 32 bit

      ‣ sub-pixel   rendering
SWF



      ‣ Flash   Player format

      ‣ supports    vector, bitmap, 32 bit

      ‣ sub-pixel   rendering

      ‣ JPEG    compression with Alpha
SWF



      ‣ Flash   Player format

      ‣ supports    vector, bitmap, 32 bit

      ‣ sub-pixel   rendering

      ‣ JPEG    compression with Alpha

      ‣ Graphical   & Font Engine
SWF



      ‣ Flash   Player format

      ‣ supports    vector, bitmap, 32 bit

      ‣ sub-pixel   rendering

      ‣ JPEG    compression with Alpha

      ‣ Graphical   & Font Engine

      ‣ Color    Calibration
ALIASING & ANTI-ALIASING
ALIASING & ANTI-ALIASING




                           ‣ Stair   Stepping
ALIASING & ANTI-ALIASING




                           ‣ Stair   Stepping

                           ‣ Aliasing   looks worse, but is faster
ALIASING & ANTI-ALIASING




                           ‣ Stair   Stepping

                           ‣ Aliasing   looks worse, but is faster

                           ‣ Anti-Aliasing   looks better, but slower
ALIASING & ANTI-ALIASING




                           ‣ Stair   Stepping

                           ‣ Aliasing   looks worse, but is faster

                           ‣ Anti-Aliasing   looks better, but slower

                           ‣ Anti-Aliasing   hard to read with small
                            text sizes
ALIASING & ANTI-ALIASING




                           ‣ Stair   Stepping

                           ‣ Aliasing   looks worse, but is faster

                           ‣ Anti-Aliasing   looks better, but slower

                           ‣ Anti-Aliasing   hard to read with small
                            text sizes

                           ‣ Anti-Aliasing + sub-pixel rendering
                            built into Flash Player
ALIASING & ANTI-ALIASING
ALIASING & ANTI-ALIASING




                           ‣ stage.quality
ALIASING & ANTI-ALIASING




                           ‣ stage.quality


                           ‣ CPU   vs. GPU
ALIASING & ANTI-ALIASING




                           ‣ stage.quality


                           ‣ CPU   vs. GPU

                           ‣ bitmap/video.smoothing
ALIASING & ANTI-ALIASING




                           ‣ stage.quality


                           ‣ CPU   vs. GPU

                           ‣ bitmap/video.smoothing


                           ‣ scaling
ALIASING & ANTI-ALIASING




                           ‣ stage.quality


                           ‣ CPU   vs. GPU

                           ‣ bitmap/video.smoothing


                           ‣ scaling


                           ‣ stroke    quality
STAGE.QUALITY
STAGE.QUALITY



                ‣ LOW
STAGE.QUALITY



                ‣ LOW


                ‣ MED
STAGE.QUALITY



                ‣ LOW


                ‣ MED


                ‣ HIGH
STAGE.QUALITY



                ‣ LOW


                ‣ MED


                ‣ HIGH


                ‣ BESTESTTESTSSETEESTSTSST
STAGE.QUALITY



                ‣ LOW


                ‣ MED


                ‣ HIGH


                ‣ BESTESTTESTSSETEESTSTSST


                ‣ [bitmap   quality FLA]
LOSSY VS. LOSSLESS
LOSSY VS. LOSSLESS




                     ‣ JPEG   vs. PNG
LOSSY VS. LOSSLESS




                     ‣ JPEG   vs. PNG

                     ‣ Photographs   use JPEG
LOSSY VS. LOSSLESS




                     ‣ JPEG   vs. PNG

                     ‣ Photographs   use JPEG

                     ‣ Shapes/Gradients   use PNG
LOSSY VS. LOSSLESS




                     ‣ JPEG    vs. PNG

                     ‣ Photographs    use JPEG

                     ‣ Shapes/Gradients   use PNG

                     ‣ Lossy   usually has no alpha channel
LOSSY VS. LOSSLESS




                     ‣ JPEG    vs. PNG

                     ‣ Photographs    use JPEG

                     ‣ Shapes/Gradients   use PNG

                     ‣ Lossy   usually has no alpha channel

                     ‣ Lossless   supports alpha
LOSSY VS. LOSSLESS




                     ‣ JPEG    vs. PNG

                     ‣ Photographs    use JPEG

                     ‣ Shapes/Gradients   use PNG

                     ‣ Lossy   usually has no alpha channel

                     ‣ Lossless   supports alpha

                     ‣ SWF    supports lossy with alpha
LOSSY VS. LOSSLESS
LOSSY VS. LOSSLESS




                     ‣ Photoshophas best lossy
                      compressor
LOSSY VS. LOSSLESS




                     ‣ Photoshophas best lossy
                      compressor

                     ‣ for   PNG’s, use PNGCrush
LOSSY VS. LOSSLESS




                     ‣ Photoshophas best lossy
                      compressor

                     ‣ for   PNG’s, use PNGCrush

                     ‣ http://pmt.sourceforge.net/pngcrush/
LOSSY VS. LOSSLESS




                     ‣ Photoshophas best lossy
                      compressor

                     ‣ for   PNG’s, use PNGCrush

                     ‣ http://pmt.sourceforge.net/pngcrush/


                     ‣ Fireworks   supports masked JPEG’s
LOSSY VS. LOSSLESS




                     ‣ Photoshophas best lossy
                      compressor

                     ‣ for   PNG’s, use PNGCrush

                     ‣ http://pmt.sourceforge.net/pngcrush/


                     ‣ Fireworks   supports masked JPEG’s

                     ‣ [show   mask]
ALPHAS
ALPHAS




         ‣ GIF   = 1 bit alpha (on or off)
ALPHAS




         ‣ GIF   = 1 bit alpha (on or off)

         ‣ PNG    = 8 bit alpha (gradient)
SCALE 9
SCALE 9



          ‣9   bitmaps vs. 1 bitmap & 1 rectangle
SCALE 9



          ‣9   bitmaps vs. 1 bitmap & 1 rectangle

          ‣ minimum   scale, no maximum
SCALE 9



          ‣9   bitmaps vs. 1 bitmap & 1 rectangle

          ‣ minimum   scale, no maximum

          ‣ windows, borders, and   buttons
SCALE 9



          ‣9   bitmaps vs. 1 bitmap & 1 rectangle

          ‣ minimum     scale, no maximum

          ‣ windows, borders, and     buttons

          ‣ Flash   IDE for vectors
SCALE 9



          ‣9   bitmaps vs. 1 bitmap & 1 rectangle

          ‣ minimum     scale, no maximum

          ‣ windows, borders, and     buttons

          ‣ Flash   IDE for vectors

          ‣ mxmlc    for bitmaps
SCALE 9



          ‣9   bitmaps vs. 1 bitmap & 1 rectangle

          ‣ minimum     scale, no maximum

          ‣ windows, borders, and     buttons

          ‣ Flash   IDE for vectors

          ‣ mxmlc    for bitmaps

          ‣ [show    button FLA]
SCALE 9


[Embed(source=”/images/image.png”)]
public class MyBorder extends Bitmap

[Embed(source=”/images/image/png”),
scaleGridLeft=10, scaleGridTop=10,
scaleGridRight=220,
scaleGridBottom=320)]
public class MyBorder extends Sprite
SCALE 9


[Embed(source=”/images/image.png”)]
public class MyBorder extends Bitmap

[Embed(source=”/images/image/png”),    ‣ No   scale 9, Bitmap
scaleGridLeft=10, scaleGridTop=10,
scaleGridRight=220,
scaleGridBottom=320)]
public class MyBorder extends Sprite
SCALE 9


[Embed(source=”/images/image.png”)]
public class MyBorder extends Bitmap

[Embed(source=”/images/image/png”),    ‣ No   scale 9, Bitmap
scaleGridLeft=10, scaleGridTop=10,     ‣ Scale   9 rect, Sprite
scaleGridRight=220,
scaleGridBottom=320)]
public class MyBorder extends Sprite
MASKS
MASKS




        ‣ Mask   visually clips the graphic
MASKS




        ‣ Mask   visually clips the graphic

        ‣ area   is still rendered by Flash Player
MASKS




        ‣ Mask   visually clips the graphic

        ‣ area   is still rendered by Flash Player

        ‣ [show    mask FLA]
SWF IMAGE BASICS
SWF IMAGE BASICS




                   ‣ Base   classes
SWF IMAGE BASICS




                   ‣ Base   classes

                   ‣ Transformations
SWF IMAGE BASICS




                   ‣ Base   classes

                   ‣ Transformations


                   ‣ GPU
SWF IMAGE BASICS




                   ‣ Base   classes

                   ‣ Transformations


                   ‣ GPU


                   ‣ Filters
flash.display.shape
flash.display.shape




                      ‣ Shape
flash.display.shape




                      ‣ Shape


                      ‣ vector
flash.display.shape




                      ‣ Shape


                      ‣ vector


                      ‣ low-overhead
flash.display.shape




                      ‣ Shape


                      ‣ vector


                      ‣ low-overhead


                      ‣ no   interactions (key, mouse)
flash.display.shape




                      ‣ Shape


                      ‣ vector


                      ‣ low-overhead


                      ‣ no    interactions (key, mouse)

                      ‣ for   drawing, masks, debugging
flash.display.bitmap
flash.display.bitmap




                       ‣ Bitmap
flash.display.bitmap




                       ‣ Bitmap


                       ‣ memory   eater
flash.display.bitmap




                       ‣ Bitmap


                       ‣ memory    eater

                       ‣ no   interactions
flash.display.bitmap




                       ‣ Bitmap


                       ‣ memory     eater

                       ‣ no   interactions

                       ‣ security   implications in messing with
                        pixels
flash.display.bitmap




                       ‣ Bitmap


                       ‣ memory     eater

                       ‣ no   interactions

                       ‣ security   implications in messing with
                        pixels

                       ‣ GPU    friends4evarrr!
flash.display.sprite
flash.display.sprite




                       ‣ Sprite
flash.display.sprite




                       ‣ Sprite


                       ‣ container/compositor
flash.display.sprite




                       ‣ Sprite


                       ‣ container/compositor


                       ‣ interactions
flash.display.sprite




                       ‣ Sprite


                       ‣ container/compositor


                       ‣ interactions


                       ‣ Bitmap   with Scale 9 rect
flash.display.sprite




                       ‣ Sprite


                       ‣ container/compositor


                       ‣ interactions


                       ‣ Bitmap   with Scale 9 rect

                       ‣ MovieClip   with 1 frame
transformations
transformations


                  ‣x   and y relative to container
transformations


                  ‣x   and y relative to container

                  ‣ width
                        and height are content
                   measurements
transformations


                  ‣x   and y relative to container

                  ‣ width
                        and height are content
                   measurements

                  ‣ scaleX   and scaleY are tied to width/
                   height
transformations


                  ‣x   and y relative to container

                  ‣ width
                        and height are content
                   measurements

                  ‣ scaleX   and scaleY are tied to width/
                   height

                  ‣ rotation   is top left registration point
transformations


                  ‣x   and y relative to container

                  ‣ width
                        and height are content
                   measurements

                  ‣ scaleX   and scaleY are tied to width/
                   height

                  ‣ rotation   is top left registration point

                  ‣ alpha   is 0 - 255
transformations


                  ‣x   and y relative to container

                  ‣ width
                        and height are content
                   measurements

                  ‣ scaleX    and scaleY are tied to width/
                   height

                  ‣ rotation    is top left registration point

                  ‣ alpha   is 0 - 255

                  ‣ visible   is basically alpha 0
transformations


                  ‣x   and y relative to container

                  ‣ width
                        and height are content
                   measurements

                  ‣ scaleX    and scaleY are tied to width/
                   height

                  ‣ rotation    is top left registration point

                  ‣ alpha   is 0 - 255

                  ‣ visible   is basically alpha 0

                  ‣z   is 3D plane
color transform
color transform




                  ‣ changes   color of object
gpu
gpu



      ‣ cacheAsBitmap   = true
gpu



      ‣ cacheAsBitmap   = true

      ‣ cacheAsBitmapMatrix      = true
gpu



      ‣ cacheAsBitmap   = true

      ‣ cacheAsBitmapMatrix      = true

      ‣ inside
             <initialWindow> tag in your
       AIR descriptor XML
gpu



      ‣ cacheAsBitmap   = true

      ‣ cacheAsBitmapMatrix      = true

      ‣ inside
             <initialWindow> tag in your
       AIR descriptor XML

      ‣ <renderMode>gpu</renderMode>
gpu



      ‣ cacheAsBitmap    = true

      ‣ cacheAsBitmapMatrix       = true

      ‣ inside
             <initialWindow> tag in your
       AIR descriptor XML

      ‣ <renderMode>gpu</renderMode>


      ‣ [Lee’s   blog]
filters
filters



          ‣ Drop   Shadow
filters



          ‣ Drop   Shadow

          ‣ Glow
filters



          ‣ Drop   Shadow

          ‣ Glow


          ‣ Blur
filters



          ‣ Drop    Shadow

          ‣ Glow


          ‣ Blur


          ‣ Bevel
filters



          ‣ Drop    Shadow

          ‣ Glow


          ‣ Blur


          ‣ Bevel


          ‣ [show   in Flash]
pixelbender
pixelbender


              ‣ PBJ
pixelbender


              ‣ PBJ


              ‣ Hydra
pixelbender


              ‣ PBJ


              ‣ Hydra


              ‣ Vector   data type’s for RGB colors
pixelbender


              ‣ PBJ


              ‣ Hydra


              ‣ Vector   data type’s for RGB colors

              ‣ Shader’s
                       can be synchronous/
               asynchronous
pixelbender


              ‣ PBJ


              ‣ Hydra


              ‣ Vector   data type’s for RGB colors

              ‣ Shader’s
                       can be synchronous/
               asynchronous

              ‣ uses   GPU
pixelbender


              ‣ PBJ


              ‣ Hydra


              ‣ Vector   data type’s for RGB colors

              ‣ Shader’s
                       can be synchronous/
               asynchronous

              ‣ uses   GPU

              ‣ multi-threading
pixelbender


              ‣ PBJ


              ‣ Hydra


              ‣ Vector   data type’s for RGB colors

              ‣ Shader’s
                       can be synchronous/
               asynchronous

              ‣ uses   GPU

              ‣ multi-threading


              ‣ [FreshPic]
container formats
container formats




                    ‣ PSD   = Photoshop
container formats




                    ‣ PSD    = Photoshop

                    ‣ AI   = Illustrator
container formats




                    ‣ PSD    = Photoshop

                    ‣ AI   = Illustrator

                    ‣ PNG    = Fireworks
container formats




                    ‣ PSD    = Photoshop

                    ‣ AI   = Illustrator

                    ‣ PNG    = Fireworks

                    ‣ FLA   = Flash IDE
container formats




                    ‣ PSD    = Photoshop

                    ‣ AI   = Illustrator

                    ‣ PNG    = Fireworks

                    ‣ FLA   = Flash IDE

                    ‣ TTF/OTF     = fonts
CONVERSION
photoshop to air
photoshop to air




                   ‣ [powerz   comp to air]
fireworks comp to android
fireworks comp to android




                            ‣ round   trip w/ Flash IDE
fireworks comp to android




                            ‣ round   trip w/ Flash IDE

                            ‣ [Android   comp]
flash graphics packager
flash graphics packager




                          ‣ vector   scale 9
flash graphics packager




                          ‣ vector    scale 9

                          ‣ linking   to swf assets
flash graphics packager




                          ‣ vector    scale 9

                          ‣ linking   to swf assets

                          ‣ sub-pixels
flash graphics packager




                          ‣ vector    scale 9

                          ‣ linking   to swf assets

                          ‣ sub-pixels


                          ‣ [show     SoundCloud Android package]
flash graphics packager




                          ‣ vector    scale 9

                          ‣ linking   to swf assets

                          ‣ sub-pixels


                          ‣ [show     SoundCloud Android package]

                          ‣ [show     NBA app]
IMPLEMENTATION
IMPLEMENTATION




                 ‣ FLA   that makes a SWC
IMPLEMENTATION




                 ‣ FLA   that makes a SWC

                 ‣ Library   Project
IMPLEMENTATION




                 ‣ FLA   that makes a SWC

                 ‣ Library   Project

                 ‣ Components
IMPLEMENTATION




                 ‣ FLA   that makes a SWC

                 ‣ Library   Project

                 ‣ Components


                 ‣ States
IMPLEMENTATION




                 ‣ FLA   that makes a SWC

                 ‣ Library   Project

                 ‣ Components


                 ‣ States


                 ‣ Skins
states
states




         ‣ DisplayList   drawing capabilities
states
states




         ‣ elastic   racetrack
states
states



         ‣ visible
states



         ‣ visible


         ‣ addChild/removeChild
states



         ‣ visible


         ‣ addChild/removeChild


         ‣ mask
states



         ‣ visible


         ‣ addChild/removeChild


         ‣ mask


         ‣ scrollRect
states



         ‣ visible


         ‣ addChild/removeChild


         ‣ mask


         ‣ scrollRect


         ‣ alpha
states: components vs. page/composition
states: components vs. page/composition




                                          ‣ states   of components
states: components vs. page/composition




                                          ‣ states   of components

                                          ‣ states   of app
states: components vs. page/composition




                                          ‣ states   of components

                                          ‣ states   of app

                                          ‣ usually   visual state
transitions
transitions




              ‣ change   properties from state to state
transitions




              ‣ change    properties from state to state

              ‣ Flex’   built in tweens
transitions




              ‣ change    properties from state to state

              ‣ Flex’   built in tweens

              ‣ careful   with alphas/rotations/fonts
transitions




              ‣ change    properties from state to state

              ‣ Flex’   built in tweens

              ‣ careful   with alphas/rotations/fonts

              ‣ order    insanity flaw
states
states




         ‣ [video   recorder app]
SKINS: WEB & DESKTOP
SKINS: WEB & DESKTOP




                       ‣ Component: logic   & shiz
SKINS: WEB & DESKTOP




                       ‣ Component: logic       & shiz

                       ‣ Skin: what   you see
WHY SKINS?
WHY SKINS?



             ‣ ...here   it comes...
WHY SKINS?



             ‣ ...here   it comes...

             ‣ CSS   only
WHY SKINS?



             ‣ ...here   it comes...

             ‣ CSS    only

             ‣ set   skin parts
WHY SKINS?



             ‣ ...here   it comes...

             ‣ CSS    only

             ‣ set   skin parts

             ‣ programmatic       skins
WHY SKINS?



             ‣ ...here   it comes...

             ‣ CSS    only

             ‣ set   skin parts

             ‣ programmatic       skins

             ‣ Flash
SKIN ANATOMY
SKIN ANATOMY




               ‣ Skin   Class
SKIN ANATOMY




               ‣ Skin   Class

               ‣ SkinPart
SKIN ANATOMY




               ‣ Skin   Class

               ‣ SkinPart


               ‣ SkinState
SKIN ANATOMY




               ‣ Skin   Class

               ‣ SkinPart


               ‣ SkinState


               ‣ [show   Neybor/Skins]
MOBILE SKINS
MOBILE SKINS




               ‣ ActionScript   only
MOBILE SKINS




               ‣ ActionScript   only

               ‣ extend   MobileSkin vs. SparkSkin
MOBILE SKINS




               ‣ ActionScript   only

               ‣ extend   MobileSkin vs. SparkSkin

               ‣ no   SkinsStates
MOBILE FUNDAMENTALS




  <s:ViewNavigatorApplication
      applicationDPI="320">
MOBILE FUNDAMENTALS




  <s:ViewNavigatorApplication   ‣ DPI   vs. PPI

      applicationDPI="320">
MOBILE FUNDAMENTALS




  <s:ViewNavigatorApplication   ‣ DPI   vs. PPI

      applicationDPI="320">     ‣ applicationDPI
MOBILE FUNDAMENTALS




  <s:ViewNavigatorApplication   ‣ DPI   vs. PPI

      applicationDPI="320">     ‣ applicationDPI


                                ‣ resolution
MOBILE FUNDAMENTALS




  <s:ViewNavigatorApplication   ‣ DPI   vs. PPI

      applicationDPI="320">     ‣ applicationDPI


                                ‣ resolution


                                ‣ Capabilities.screenDPI
MOBILE FUNDAMENTALS
MOBILE FUNDAMENTALS




                      ‣ MultiDPIBitmapSource
MOBILE FUNDAMENTALS




                      ‣ MultiDPIBitmapSource


                      ‣ 160: <   200
MOBILE FUNDAMENTALS




                      ‣ MultiDPIBitmapSource


                      ‣ 160: <   200

                      ‣ 240: >=200     and <280
MOBILE FUNDAMENTALS




                      ‣ MultiDPIBitmapSource


                      ‣ 160: <   200

                      ‣ 240: >=200     and <280

                      ‣ 320: >=280
STAGE.QUALITY POWAH
STAGE.QUALITY POWAH




                      ‣ stage.quality   = LOW
STAGE.QUALITY POWAH




                      ‣ stage.quality   = LOW

                            ‣ pimp!
STAGE.QUALITY POWAH




                      ‣ stage.quality   = LOW

                            ‣ pimp!


                      ‣ stage.quality   = MED
STAGE.QUALITY POWAH




                      ‣ stage.quality   = LOW

                            ‣ pimp!


                      ‣ stage.quality   = MED

                            ‣ great   compromise
STAGE.QUALITY POWAH




                      ‣ stage.quality   = LOW

                            ‣ pimp!


                      ‣ stage.quality   = MED

                            ‣ great   compromise

                      ‣ stage.quality   = HIGH
STAGE.QUALITY POWAH




                      ‣ stage.quality   = LOW

                            ‣ pimp!


                      ‣ stage.quality   = MED

                            ‣ great   compromise

                      ‣ stage.quality   = HIGH

                            ‣ default
STAGE.QUALITY POWAH




                      ‣ stage.quality   = LOW

                            ‣ pimp!


                      ‣ stage.quality   = MED

                            ‣ great   compromise

                      ‣ stage.quality   = HIGH

                            ‣ default


                      ‣ stage.quality   = BEST.. NOOoOOo
STAGE.QUALITY EXAMPLE
STAGE.QUALITY EXAMPLE




                        ‣ LOW   vs. MED
SKIN SCALING
/* Every os-platform @ 160dpi */
@media (application-dpi: 160) {
   s|Button {
      fontSize: 10;
   }
}

/* IOS only @ 240dpi */
@media (application-dpi: 240) and (os-platform: "IOS") {
    s|Button {
       fontSize: 11;
    }
}
SKIN SCALING
/* Every os-platform @ 160dpi */
@media (application-dpi: 160) {
   s|Button {
      fontSize: 10;
   }
}
                                                           ‣ set   applicationDPI, Flex’ll scale
/* IOS only @ 240dpi */
@media (application-dpi: 240) and (os-platform: "IOS") {
    s|Button {
       fontSize: 11;
    }
}
SKIN SCALING
/* Every os-platform @ 160dpi */
@media (application-dpi: 160) {
   s|Button {
      fontSize: 10;
   }
}
                                                           ‣ set   applicationDPI, Flex’ll scale
/* IOS only @ 240dpi */
                                                           ‣ don’t   set, you scale
@media (application-dpi: 240) and (os-platform: "IOS") {
    s|Button {
       fontSize: 11;
    }
}
SKIN SCALING
/* Every os-platform @ 160dpi */
@media (application-dpi: 160) {
   s|Button {
      fontSize: 10;
   }
}
                                                           ‣ set   applicationDPI, Flex’ll scale
/* IOS only @ 240dpi */
                                                           ‣ don’t   set, you scale
@media (application-dpi: 240) and (os-platform: "IOS") {
    s|Button {                                             ‣ fine   tune with @media rules
       fontSize: 11;
    }
}
MULTI-REZ BITMAPS




<s:Image id="myImage">
        <s:source>
            <s:MultiDPIBitmapSource
                    source160dpi="assets/low-res/bulldog.jpg"
                    source240dpi="assets/med-res/bulldog.jpg"
                    source320dpi="assets/high-res/bulldog.jpg"/>
        </s:source>
    </s:Image>
MULTI-REZ BITMAPS




<s:Image id="myImage">
        <s:source>
            <s:MultiDPIBitmapSource
                    source160dpi="assets/low-res/bulldog.jpg"      ‣1   bitmap for each DPI
                    source240dpi="assets/med-res/bulldog.jpg"
                    source320dpi="assets/high-res/bulldog.jpg"/>
        </s:source>
    </s:Image>
MULTI-REZ BITMAPS




<s:Image id="myImage">
        <s:source>
            <s:MultiDPIBitmapSource
                    source160dpi="assets/low-res/bulldog.jpg"      ‣1   bitmap for each DPI
                    source240dpi="assets/med-res/bulldog.jpg"
                    source320dpi="assets/high-res/bulldog.jpg"/>   ‣ applicationDPI
        </s:source>
    </s:Image>
MULTI-REZ BITMAPS




<s:Image id="myImage">
        <s:source>
            <s:MultiDPIBitmapSource
                    source160dpi="assets/low-res/bulldog.jpg"      ‣1   bitmap for each DPI
                    source240dpi="assets/med-res/bulldog.jpg"
                    source320dpi="assets/high-res/bulldog.jpg"/>   ‣ applicationDPI
        </s:source>
    </s:Image>                                                     ‣ DPIClassification.DPI_240, etc.
BITMAP MANUAL SCALING
BITMAP MANUAL SCALING




                        ‣ [CombOver]
conclusions
conclusions




              ‣ Ask   Questions w/Designers
conclusions




              ‣ Ask   Questions w/Designers

              ‣ Break   up in Photoshop/Fireworks
conclusions




              ‣ Ask   Questions w/Designers

              ‣ Break   up in Photoshop/Fireworks

              ‣ Package   all assets in Flash
conclusions




              ‣ Ask   Questions w/Designers

              ‣ Break   up in Photoshop/Fireworks

              ‣ Package   all assets in Flash

              ‣ Create   Flex Skins in Library Project
conclusions
conclusions




              ‣ Bitmap   | Vector
conclusions




              ‣ Bitmap   | Vector

              ‣ Web   vs Desktop vs Mobile
conclusions




              ‣ Bitmap   | Vector

              ‣ Web   vs Desktop vs Mobile

              ‣ Designer   Capabilities
conclusions




              ‣ Bitmap   | Vector

              ‣ Web   vs Desktop vs Mobile

              ‣ Designer   Capabilities

              ‣ Developer   Capabilities
conclusions
conclusions




              ‣ Recognize   what tools you’ll need
conclusions




              ‣ Recognize   what tools you’ll need

                   ‣ Photoshop
conclusions




              ‣ Recognize    what tools you’ll need

                   ‣ Photoshop


                   ‣ Flash
conclusions




              ‣ Recognize    what tools you’ll need

                   ‣ Photoshop


                   ‣ Flash


                   ‣ Flash   Builder
end. questions?
end. questions?



                  ‣ Jesse Warden
end. questions?



                  ‣ Jesse Warden


                  ‣ Flex   & Flash Consultant
end. questions?



                  ‣ Jesse Warden


                  ‣ Flex   & Flash Consultant

                  ‣ Email: jessew@webappsolution.com
end. questions?



                  ‣ Jesse Warden


                  ‣ Flex   & Flash Consultant

                  ‣ Email: jessew@webappsolution.com


                  ‣ Twittah: @jesterxl
end. questions?



                  ‣ Jesse Warden


                  ‣ Flex   & Flash Consultant

                  ‣ Email: jessew@webappsolution.com


                  ‣ Twittah: @jesterxl


                  ‣ Blog: http://jessewarden.com

Más contenido relacionado

Destacado

Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net coreSébastien Ollivier
 
Deploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureDeploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureMichele Aponte
 
.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKER.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKERJosé Barbosa
 
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016Renato Groff
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and DockerIan Philpot
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2Shahed Chowdhuri
 
Windows 10 IoT-Core to Azure IoT Suite
Windows 10 IoT-Core to Azure IoT SuiteWindows 10 IoT-Core to Azure IoT Suite
Windows 10 IoT-Core to Azure IoT SuiteDavid Jones
 
Photos to use in booklet
Photos to use in bookletPhotos to use in booklet
Photos to use in bookletNadiaPanas
 
Aretzi paola rangel
Aretzi  paola  rangelAretzi  paola  rangel
Aretzi paola rangeleizanieto
 
Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...
Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...
Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...Iwl Pcu
 
Kintu Shah+ACE13
Kintu Shah+ACE13Kintu Shah+ACE13
Kintu Shah+ACE13Kintu shah
 
Collaborative Evolution of 3D Models
Collaborative Evolution of 3D ModelsCollaborative Evolution of 3D Models
Collaborative Evolution of 3D ModelsJuan Quiroz
 
Section based hex cell routing algorithm (sbhcr)
Section based hex cell routing algorithm (sbhcr)Section based hex cell routing algorithm (sbhcr)
Section based hex cell routing algorithm (sbhcr)IJCNCJournal
 
Curso de obligaciones
Curso de obligacionesCurso de obligaciones
Curso de obligacionesRebeca3112
 
icalendar nguyen duc thang
icalendar nguyen duc thangicalendar nguyen duc thang
icalendar nguyen duc thangkillertanya
 

Destacado (17)

Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net core
 
Deploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on AzureDeploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on Azure
 
.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKER.ASP NET CORE ON DOCKER
.ASP NET CORE ON DOCKER
 
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2
 
Windows 10 IoT-Core to Azure IoT Suite
Windows 10 IoT-Core to Azure IoT SuiteWindows 10 IoT-Core to Azure IoT Suite
Windows 10 IoT-Core to Azure IoT Suite
 
Photos to use in booklet
Photos to use in bookletPhotos to use in booklet
Photos to use in booklet
 
Aretzi paola rangel
Aretzi  paola  rangelAretzi  paola  rangel
Aretzi paola rangel
 
Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...
Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...
Focus Groups, Citizens’ Juries and Open Space method: Innovative tools of pub...
 
What you want
What you wantWhat you want
What you want
 
Deviprasad_Profile
Deviprasad_ProfileDeviprasad_Profile
Deviprasad_Profile
 
Kintu Shah+ACE13
Kintu Shah+ACE13Kintu Shah+ACE13
Kintu Shah+ACE13
 
Collaborative Evolution of 3D Models
Collaborative Evolution of 3D ModelsCollaborative Evolution of 3D Models
Collaborative Evolution of 3D Models
 
Section based hex cell routing algorithm (sbhcr)
Section based hex cell routing algorithm (sbhcr)Section based hex cell routing algorithm (sbhcr)
Section based hex cell routing algorithm (sbhcr)
 
Curso de obligaciones
Curso de obligacionesCurso de obligaciones
Curso de obligaciones
 
icalendar nguyen duc thang
icalendar nguyen duc thangicalendar nguyen duc thang
icalendar nguyen duc thang
 

Similar a Complex Designs in Flex

An Army of One? A Nation of Millions? Collaboration is not the key, it's the...
 An Army of One? A Nation of Millions? Collaboration is not the key, it's the... An Army of One? A Nation of Millions? Collaboration is not the key, it's the...
An Army of One? A Nation of Millions? Collaboration is not the key, it's the...Christopher Cashdollar
 
rapid e-learning: how do we get from here to there?
rapid e-learning: how do we get from here to there?rapid e-learning: how do we get from here to there?
rapid e-learning: how do we get from here to there?colin gray
 
D4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve ItD4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve ItJared Ponchot
 
GitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLabGitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLabFatih Acet
 
Shopify GraphQL API
Shopify GraphQL APIShopify GraphQL API
Shopify GraphQL APIAPI Meetup
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)Bill Gaiennie
 
DCATL 2010: The Importance of Great Design
DCATL 2010: The Importance of Great DesignDCATL 2010: The Importance of Great Design
DCATL 2010: The Importance of Great DesignJared Ponchot
 
The Groop Welcome Kit Sample
The Groop Welcome Kit SampleThe Groop Welcome Kit Sample
The Groop Welcome Kit Samplethegroop
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation ProjectPiTechnologies
 
Let's Work Together!
Let's Work Together!Let's Work Together!
Let's Work Together!Brad Frost
 
Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010Pursuit Consulting
 
Debunking Web Design Myths
Debunking Web Design MythsDebunking Web Design Myths
Debunking Web Design Mythselliotjaystocks
 
WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)
WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)
WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)Geoff Myers
 
You’ve Only Got Two Eyeballs: Designing Products for the Responsive Web
You’ve Only Got Two Eyeballs: Designing Products for the Responsive WebYou’ve Only Got Two Eyeballs: Designing Products for the Responsive Web
You’ve Only Got Two Eyeballs: Designing Products for the Responsive WebDavid Sherwin
 
User Experience 101 - A Practical Guide
User Experience 101 - A Practical GuideUser Experience 101 - A Practical Guide
User Experience 101 - A Practical GuideAdrian Bunge
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove Kris Buytaert
 
Learn How to Build a Headless Commerce Storefront
Learn How to Build a Headless Commerce StorefrontLearn How to Build a Headless Commerce Storefront
Learn How to Build a Headless Commerce StorefrontSAP Customer Experience
 
Ginger Shimp - The Care and Feeding of the Content Engine
Ginger Shimp - The Care and Feeding of the Content EngineGinger Shimp - The Care and Feeding of the Content Engine
Ginger Shimp - The Care and Feeding of the Content EngineJulia Grosman
 
Let's Work Together
Let's Work TogetherLet's Work Together
Let's Work TogetherAquent
 
Programming for non-Programmers
Programming for non-ProgrammersProgramming for non-Programmers
Programming for non-ProgrammersEvgeny Tsarkov
 

Similar a Complex Designs in Flex (20)

An Army of One? A Nation of Millions? Collaboration is not the key, it's the...
 An Army of One? A Nation of Millions? Collaboration is not the key, it's the... An Army of One? A Nation of Millions? Collaboration is not the key, it's the...
An Army of One? A Nation of Millions? Collaboration is not the key, it's the...
 
rapid e-learning: how do we get from here to there?
rapid e-learning: how do we get from here to there?rapid e-learning: how do we get from here to there?
rapid e-learning: how do we get from here to there?
 
D4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve ItD4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve It
 
GitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLabGitLab Frontend and VueJS at GitLab
GitLab Frontend and VueJS at GitLab
 
Shopify GraphQL API
Shopify GraphQL APIShopify GraphQL API
Shopify GraphQL API
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)
 
DCATL 2010: The Importance of Great Design
DCATL 2010: The Importance of Great DesignDCATL 2010: The Importance of Great Design
DCATL 2010: The Importance of Great Design
 
The Groop Welcome Kit Sample
The Groop Welcome Kit SampleThe Groop Welcome Kit Sample
The Groop Welcome Kit Sample
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation Project
 
Let's Work Together!
Let's Work Together!Let's Work Together!
Let's Work Together!
 
Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010
 
Debunking Web Design Myths
Debunking Web Design MythsDebunking Web Design Myths
Debunking Web Design Myths
 
WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)
WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)
WordPress Page Builders for Non-Developers (Create Visual Layouts Without Code)
 
You’ve Only Got Two Eyeballs: Designing Products for the Responsive Web
You’ve Only Got Two Eyeballs: Designing Products for the Responsive WebYou’ve Only Got Two Eyeballs: Designing Products for the Responsive Web
You’ve Only Got Two Eyeballs: Designing Products for the Responsive Web
 
User Experience 101 - A Practical Guide
User Experience 101 - A Practical GuideUser Experience 101 - A Practical Guide
User Experience 101 - A Practical Guide
 
From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove From Config Management Sucks to #cfgmgmtlove
From Config Management Sucks to #cfgmgmtlove
 
Learn How to Build a Headless Commerce Storefront
Learn How to Build a Headless Commerce StorefrontLearn How to Build a Headless Commerce Storefront
Learn How to Build a Headless Commerce Storefront
 
Ginger Shimp - The Care and Feeding of the Content Engine
Ginger Shimp - The Care and Feeding of the Content EngineGinger Shimp - The Care and Feeding of the Content Engine
Ginger Shimp - The Care and Feeding of the Content Engine
 
Let's Work Together
Let's Work TogetherLet's Work Together
Let's Work Together
 
Programming for non-Programmers
Programming for non-ProgrammersProgramming for non-Programmers
Programming for non-Programmers
 

Más de Jesse Warden

System webpack-jspm
System webpack-jspmSystem webpack-jspm
System webpack-jspmJesse Warden
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overviewJesse Warden
 
Technical debt in space jesse warden - 100yss 2015
Technical debt in space   jesse warden - 100yss 2015Technical debt in space   jesse warden - 100yss 2015
Technical debt in space jesse warden - 100yss 2015Jesse Warden
 
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011Jesse Warden
 
Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011Jesse Warden
 
How to Launch a Small Software Product
How to Launch a Small Software ProductHow to Launch a Small Software Product
How to Launch a Small Software ProductJesse Warden
 
Robotlegs on Top of Gaia
Robotlegs on Top of GaiaRobotlegs on Top of Gaia
Robotlegs on Top of GaiaJesse Warden
 

Más de Jesse Warden (7)

System webpack-jspm
System webpack-jspmSystem webpack-jspm
System webpack-jspm
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
 
Technical debt in space jesse warden - 100yss 2015
Technical debt in space   jesse warden - 100yss 2015Technical debt in space   jesse warden - 100yss 2015
Technical debt in space jesse warden - 100yss 2015
 
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
 
Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011Refactoring RIA Unleashed 2011
Refactoring RIA Unleashed 2011
 
How to Launch a Small Software Product
How to Launch a Small Software ProductHow to Launch a Small Software Product
How to Launch a Small Software Product
 
Robotlegs on Top of Gaia
Robotlegs on Top of GaiaRobotlegs on Top of Gaia
Robotlegs on Top of Gaia
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Último (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Complex Designs in Flex

  • 2. COMPLEX DESIGNS IN FLEX ‣ Jesse Warden
  • 3. COMPLEX DESIGNS IN FLEX ‣ Jesse Warden ‣ Partner at Web App Solution
  • 4. COMPLEX DESIGNS IN FLEX ‣ Jesse Warden ‣ Partner at Web App Solution ‣ Flex & Flash Consultant
  • 5. COMPLEX DESIGNS IN FLEX ‣ Jesse Warden ‣ Partner at Web App Solution ‣ Flex & Flash Consultant ‣ FITC 2011
  • 7. CANADA & FITC ROX ‣ Celebs & Industry Contributors
  • 9. WHO AM I? ‣ Jesse Warden
  • 10. WHO AM I? ‣ Jesse Warden ‣ Flex& Flash Consultant @ Web App Solution
  • 11. WHO AM I? ‣ Jesse Warden ‣ Flex& Flash Consultant @ Web App Solution ‣ Service Work by day...
  • 12. WHO AM I? ‣ Jesse Warden ‣ Flex& Flash Consultant @ Web App Solution ‣ Service Work by day... ‣ ...product work (+beer) at night.
  • 13. WHO AM I? ‣ Jesse Warden ‣ Flex& Flash Consultant @ Web App Solution ‣ Service Work by day... ‣ ...product work (+beer) at night. ‣ Consultant by day...
  • 14. WHO AM I? ‣ Jesse Warden ‣ Flex& Flash Consultant @ Web App Solution ‣ Service Work by day... ‣ ...product work (+beer) at night. ‣ Consultant by day... ‣ ...entrepreneur (more beer) at night.
  • 16. JESSE WARDEN ‣ passionateabout technology bettering the world
  • 17. JESSE WARDEN ‣ passionateabout technology bettering the world ‣ think positive
  • 18. JESSE WARDEN ‣ passionateabout technology bettering the world ‣ think positive ‣ like meeting new people
  • 21. clients ‣ Enterprise | Agency
  • 22. clients ‣ Enterprise | Agency ‣ Flex/Java/BlazeDS
  • 23. clients ‣ Enterprise | Agency ‣ Flex/Java/BlazeDS ‣ Viaas.com = video startup
  • 24. clients ‣ Enterprise | Agency ‣ Flex/Java/BlazeDS ‣ Viaas.com = video startup ‣ Intuit = Flex Training/Consulting
  • 25. clients ‣ Enterprise | Agency ‣ Flex/Java/BlazeDS ‣ Viaas.com = video startup ‣ Intuit = Flex Training/Consulting ‣ Disney = huge Flash website
  • 26. clients ‣ Enterprise | Agency ‣ Flex/Java/BlazeDS ‣ Viaas.com = video startup ‣ Intuit = Flex Training/Consulting ‣ Disney = huge Flash website ‣ HBOGO.com = Flex video product
  • 27. WHAT?
  • 28. WHAT? ‣ That design in that app
  • 29. WHAT? ‣ That design in that app ‣ Technical Design Fundamentals
  • 30. WHAT? ‣ That design in that app ‣ Technical Design Fundamentals ‣ Philosophies, Methodologies, & Tools
  • 31. WHAT? ‣ That design in that app ‣ Technical Design Fundamentals ‣ Philosophies, Methodologies, & Tools ‣ Workflows
  • 32. WHAT DO YOU GET?
  • 33. WHAT DO YOU GET? ‣ Learn effective Production Art
  • 34. WHAT DO YOU GET? ‣ Learn effective Production Art ‣ Understand when to use certain techniques
  • 35. WHAT DO YOU GET? ‣ Learn effective Production Art ‣ Understand when to use certain techniques ‣ Make Your Software Better
  • 37. TANGIBLES ‣ How to get designs into Flex & Flash
  • 38. TANGIBLES ‣ How to get designs into Flex & Flash ‣ Design Options
  • 39. TANGIBLES ‣ How to get designs into Flex & Flash ‣ Design Options ‣ What Tool, Where
  • 40. TANGIBLES ‣ How to get designs into Flex & Flash ‣ Design Options ‣ What Tool, Where ‣ challenges with Illustrator & Catalyst
  • 41. TANGIBLES ‣ How to get designs into Flex & Flash ‣ Design Options ‣ What Tool, Where ‣ challenges with Illustrator & Catalyst ‣ engage designers in Agile SCRUM
  • 42. WHY?
  • 43. WHY? ‣ it’s hard
  • 44. WHY? ‣ it’s hard ‣ complex
  • 45. WHY? ‣ it’s hard ‣ complex ‣ tricks & caveats
  • 46. WHY? ‣ it’s hard ‣ complex ‣ tricks & caveats ‣ good design == proven ROI
  • 48. INSPIRATION ‣ Continuallyhired as a Flex consultant for design skills
  • 49. INSPIRATION ‣ Continuallyhired as a Flex consultant for design skills ‣ disagreewith the Illustrator/Catalyst direction
  • 50. INSPIRATION ‣ Continuallyhired as a Flex consultant for design skills ‣ disagreewith the Illustrator/Catalyst direction ‣ Encounterengineers who don’t know the basics
  • 52. NOMENCLATURE ‣ Photoshop make’s Pee-Ess-Deez (PSD)
  • 53. NOMENCLATURE ‣ Photoshop make’s Pee-Ess-Deez (PSD) ‣ Fireworks make’s Pee-En-Geez (PNG)
  • 54. NOMENCLATURE ‣ Photoshop make’s Pee-Ess-Deez (PSD) ‣ Fireworks make’s Pee-En-Geez (PNG) ‣ Illustrator make’s Ay-Eyez (AI)
  • 55. NOMENCLATURE ‣ Photoshop make’s Pee-Ess-Deez (PSD) ‣ Fireworks make’s Pee-En-Geez (PNG) ‣ Illustrator make’s Ay-Eyez (AI) ‣ Flash IDE make’s Flahz (FLA)
  • 56. NOMENCLATURE ‣ Photoshop make’s Pee-Ess-Deez (PSD) ‣ Fireworks make’s Pee-En-Geez (PNG) ‣ Illustrator make’s Ay-Eyez (AI) ‣ Flash IDE make’s Flahz (FLA) ‣ Catalyst & Flash Builder 4.5 make’s Eff-X-Peez (FXP)
  • 58. COMMON USE CASES ‣ Photoshop PSD into Flex
  • 59. COMMON USE CASES ‣ Photoshop PSD into Flex ‣ Fireworks PNG into Flex
  • 60. COMMON USE CASES ‣ Photoshop PSD into Flex ‣ Fireworks PNG into Flex ‣ Illustrator AI into Flex
  • 61. COMMON USE CASES ‣ Photoshop PSD into Flex ‣ Fireworks PNG into Flex ‣ Illustrator AI into Flex ‣ Flash FLA into Flex
  • 62. COMMON USE CASES ‣ Photoshop PSD into Flex ‣ Fireworks PNG into Flex ‣ Illustrator AI into Flex ‣ Flash FLA into Flex ‣ Common FXP
  • 64. WHY? LANGUAGE ‣ Designers Lingo
  • 65. WHY? LANGUAGE ‣ Designers Lingo ‣ Designers have camps
  • 66. WHY? LANGUAGE ‣ Designers Lingo ‣ Designers have camps ‣ preferred tools/methodologies
  • 68. TARGETS ‣ Flash
  • 69. TARGETS ‣ Flash ‣ Flex
  • 70. TARGETS ‣ Flash ‣ Flex ‣ AS3
  • 71. HOW?
  • 72. HOW? ‣ Production Art Process
  • 73. HOW? ‣ Production Art Process ‣ Design
  • 74. HOW? ‣ Production Art Process ‣ Design ‣ Conversion
  • 75. HOW? ‣ Production Art Process ‣ Design ‣ Conversion ‣ Implementation
  • 77. DESIGN ‣ Planning & Execution
  • 78. DESIGN ‣ Planning & Execution ‣ UI/UX/Design Patterns
  • 79. DESIGN ‣ Planning & Execution ‣ UI/UX/Design Patterns ‣ Design UI Elements
  • 80. DESIGN ‣ Planning & Execution ‣ UI/UX/Design Patterns ‣ Design UI Elements ‣ Flex & Flash Capabilities
  • 82. PLANNING & EXECUTION ‣ Design expectations
  • 83. PLANNING & EXECUTION ‣ Design expectations ‣ Do they know Flash?
  • 84. PLANNING & EXECUTION ‣ Design expectations ‣ Do they know Flash? ‣ Do they know Flex?
  • 85. PLANNING & EXECUTION ‣ Design expectations ‣ Do they know Flash? ‣ Do they know Flex? ‣ Format: Bitmap or Vector?
  • 87. TARGET PLATFORM ‣ Web
  • 88. TARGET PLATFORM ‣ Web ‣ Desktop
  • 89. TARGET PLATFORM ‣ Web ‣ Desktop ‣ Mobile
  • 91. WELL EQUIPPED ‣ Files been “prepped”?
  • 92. WELL EQUIPPED ‣ Files been “prepped”? ‣ Layer effects been flattened?
  • 93. WELL EQUIPPED ‣ Files been “prepped”? ‣ Layer effects been flattened? ‣ Smart Object-i-fied?
  • 94. WELL EQUIPPED ‣ Files been “prepped”? ‣ Layer effects been flattened? ‣ Smart Object-i-fied? ‣ Fonts?
  • 96. DESIGN FUNDAMENTALS ‣ Raster vs. Vector
  • 97. DESIGN FUNDAMENTALS ‣ Raster vs. Vector ‣ Deployment Formats
  • 98. DESIGN FUNDAMENTALS ‣ Raster vs. Vector ‣ Deployment Formats ‣ Container Formats
  • 99. DESIGN FUNDAMENTALS ‣ Raster vs. Vector ‣ Deployment Formats ‣ Container Formats ‣ SWF Format
  • 101. BITMAP/RASTER ‣ Pixels, little blocks of color
  • 102. BITMAP/RASTER ‣ Pixels, little blocks of color ‣ Realism
  • 103. BITMAP/RASTER ‣ Pixels, little blocks of color ‣ Realism ‣ Old (iOS blits, OSX vector)
  • 105. BITMAP/RASTER ‣ High RAM usage
  • 106. BITMAP/RASTER ‣ High RAM usage ‣ High in file-size
  • 107. BITMAP/RASTER ‣ High RAM usage ‣ High in file-size ‣ Low CPU
  • 108. BITMAP/RASTER ‣ High RAM usage ‣ High in file-size ‣ Low CPU ‣ Don’t Scale in Size
  • 109. BITMAP/RASTER ‣ High RAM usage ‣ High in file-size ‣ Low CPU ‣ Don’t Scale in Size ‣ Easily Hardware Accelerated
  • 111. VECTORS ‣ Low RAM
  • 112. VECTORS ‣ Low RAM ‣ Low file-size (usually)
  • 113. VECTORS ‣ Low RAM ‣ Low file-size (usually) ‣ High CPU
  • 114. VECTORS ‣ Low RAM ‣ Low file-size (usually) ‣ High CPU ‣ Scale Size
  • 116. DEPLOYMENT FORMATS ‣ JPEG
  • 117. DEPLOYMENT FORMATS ‣ JPEG ‣ PNG
  • 118. DEPLOYMENT FORMATS ‣ JPEG ‣ PNG ‣ SWF
  • 119. JPEG
  • 120. JPEG ‣ Lossy Compression
  • 121. JPEG ‣ Lossy Compression ‣ Photographs
  • 122. JPEG ‣ Lossy Compression ‣ Photographs ‣ Realism
  • 123. JPEG ‣ Lossy Compression ‣ Photographs ‣ Realism ‣ Bad for text, graphical shapes
  • 124. JPEG ‣ Lossy Compression ‣ Photographs ‣ Realism ‣ Bad for text, graphical shapes ‣ 24 bit
  • 126. WHY JPEG? ‣ Compression artifacts noticeable when scaled
  • 127. PNG
  • 128. PNG ‣ Lossless Compression
  • 129. PNG ‣ Lossless Compression ‣ 32 bit
  • 130. PNG ‣ Lossless Compression ‣ 32 bit ‣ 24 bit + 8 bit alpha channel
  • 131. PNG ‣ Lossless Compression ‣ 32 bit ‣ 24 bit + 8 bit alpha channel ‣ Fireworks metadata
  • 132. PNG ‣ Lossless Compression ‣ 32 bit ‣ 24 bit + 8 bit alpha channel ‣ Fireworks metadata ‣ Big
  • 133. PNG ‣ Lossless Compression ‣ 32 bit ‣ 24 bit + 8 bit alpha channel ‣ Fireworks metadata ‣ Big ‣ Betterfor shapes, text, shape graphics
  • 134. SWF
  • 135. SWF ‣ Flash Player format
  • 136. SWF ‣ Flash Player format ‣ supports vector, bitmap, 32 bit
  • 137. SWF ‣ Flash Player format ‣ supports vector, bitmap, 32 bit ‣ sub-pixel rendering
  • 138. SWF ‣ Flash Player format ‣ supports vector, bitmap, 32 bit ‣ sub-pixel rendering ‣ JPEG compression with Alpha
  • 139. SWF ‣ Flash Player format ‣ supports vector, bitmap, 32 bit ‣ sub-pixel rendering ‣ JPEG compression with Alpha ‣ Graphical & Font Engine
  • 140. SWF ‣ Flash Player format ‣ supports vector, bitmap, 32 bit ‣ sub-pixel rendering ‣ JPEG compression with Alpha ‣ Graphical & Font Engine ‣ Color Calibration
  • 142. ALIASING & ANTI-ALIASING ‣ Stair Stepping
  • 143. ALIASING & ANTI-ALIASING ‣ Stair Stepping ‣ Aliasing looks worse, but is faster
  • 144. ALIASING & ANTI-ALIASING ‣ Stair Stepping ‣ Aliasing looks worse, but is faster ‣ Anti-Aliasing looks better, but slower
  • 145. ALIASING & ANTI-ALIASING ‣ Stair Stepping ‣ Aliasing looks worse, but is faster ‣ Anti-Aliasing looks better, but slower ‣ Anti-Aliasing hard to read with small text sizes
  • 146. ALIASING & ANTI-ALIASING ‣ Stair Stepping ‣ Aliasing looks worse, but is faster ‣ Anti-Aliasing looks better, but slower ‣ Anti-Aliasing hard to read with small text sizes ‣ Anti-Aliasing + sub-pixel rendering built into Flash Player
  • 148. ALIASING & ANTI-ALIASING ‣ stage.quality
  • 149. ALIASING & ANTI-ALIASING ‣ stage.quality ‣ CPU vs. GPU
  • 150. ALIASING & ANTI-ALIASING ‣ stage.quality ‣ CPU vs. GPU ‣ bitmap/video.smoothing
  • 151. ALIASING & ANTI-ALIASING ‣ stage.quality ‣ CPU vs. GPU ‣ bitmap/video.smoothing ‣ scaling
  • 152. ALIASING & ANTI-ALIASING ‣ stage.quality ‣ CPU vs. GPU ‣ bitmap/video.smoothing ‣ scaling ‣ stroke quality
  • 154. STAGE.QUALITY ‣ LOW
  • 155. STAGE.QUALITY ‣ LOW ‣ MED
  • 156. STAGE.QUALITY ‣ LOW ‣ MED ‣ HIGH
  • 157. STAGE.QUALITY ‣ LOW ‣ MED ‣ HIGH ‣ BESTESTTESTSSETEESTSTSST
  • 158. STAGE.QUALITY ‣ LOW ‣ MED ‣ HIGH ‣ BESTESTTESTSSETEESTSTSST ‣ [bitmap quality FLA]
  • 160. LOSSY VS. LOSSLESS ‣ JPEG vs. PNG
  • 161. LOSSY VS. LOSSLESS ‣ JPEG vs. PNG ‣ Photographs use JPEG
  • 162. LOSSY VS. LOSSLESS ‣ JPEG vs. PNG ‣ Photographs use JPEG ‣ Shapes/Gradients use PNG
  • 163. LOSSY VS. LOSSLESS ‣ JPEG vs. PNG ‣ Photographs use JPEG ‣ Shapes/Gradients use PNG ‣ Lossy usually has no alpha channel
  • 164. LOSSY VS. LOSSLESS ‣ JPEG vs. PNG ‣ Photographs use JPEG ‣ Shapes/Gradients use PNG ‣ Lossy usually has no alpha channel ‣ Lossless supports alpha
  • 165. LOSSY VS. LOSSLESS ‣ JPEG vs. PNG ‣ Photographs use JPEG ‣ Shapes/Gradients use PNG ‣ Lossy usually has no alpha channel ‣ Lossless supports alpha ‣ SWF supports lossy with alpha
  • 167. LOSSY VS. LOSSLESS ‣ Photoshophas best lossy compressor
  • 168. LOSSY VS. LOSSLESS ‣ Photoshophas best lossy compressor ‣ for PNG’s, use PNGCrush
  • 169. LOSSY VS. LOSSLESS ‣ Photoshophas best lossy compressor ‣ for PNG’s, use PNGCrush ‣ http://pmt.sourceforge.net/pngcrush/
  • 170. LOSSY VS. LOSSLESS ‣ Photoshophas best lossy compressor ‣ for PNG’s, use PNGCrush ‣ http://pmt.sourceforge.net/pngcrush/ ‣ Fireworks supports masked JPEG’s
  • 171. LOSSY VS. LOSSLESS ‣ Photoshophas best lossy compressor ‣ for PNG’s, use PNGCrush ‣ http://pmt.sourceforge.net/pngcrush/ ‣ Fireworks supports masked JPEG’s ‣ [show mask]
  • 172. ALPHAS
  • 173. ALPHAS ‣ GIF = 1 bit alpha (on or off)
  • 174. ALPHAS ‣ GIF = 1 bit alpha (on or off) ‣ PNG = 8 bit alpha (gradient)
  • 176. SCALE 9 ‣9 bitmaps vs. 1 bitmap & 1 rectangle
  • 177. SCALE 9 ‣9 bitmaps vs. 1 bitmap & 1 rectangle ‣ minimum scale, no maximum
  • 178. SCALE 9 ‣9 bitmaps vs. 1 bitmap & 1 rectangle ‣ minimum scale, no maximum ‣ windows, borders, and buttons
  • 179. SCALE 9 ‣9 bitmaps vs. 1 bitmap & 1 rectangle ‣ minimum scale, no maximum ‣ windows, borders, and buttons ‣ Flash IDE for vectors
  • 180. SCALE 9 ‣9 bitmaps vs. 1 bitmap & 1 rectangle ‣ minimum scale, no maximum ‣ windows, borders, and buttons ‣ Flash IDE for vectors ‣ mxmlc for bitmaps
  • 181. SCALE 9 ‣9 bitmaps vs. 1 bitmap & 1 rectangle ‣ minimum scale, no maximum ‣ windows, borders, and buttons ‣ Flash IDE for vectors ‣ mxmlc for bitmaps ‣ [show button FLA]
  • 182. SCALE 9 [Embed(source=”/images/image.png”)] public class MyBorder extends Bitmap [Embed(source=”/images/image/png”), scaleGridLeft=10, scaleGridTop=10, scaleGridRight=220, scaleGridBottom=320)] public class MyBorder extends Sprite
  • 183. SCALE 9 [Embed(source=”/images/image.png”)] public class MyBorder extends Bitmap [Embed(source=”/images/image/png”), ‣ No scale 9, Bitmap scaleGridLeft=10, scaleGridTop=10, scaleGridRight=220, scaleGridBottom=320)] public class MyBorder extends Sprite
  • 184. SCALE 9 [Embed(source=”/images/image.png”)] public class MyBorder extends Bitmap [Embed(source=”/images/image/png”), ‣ No scale 9, Bitmap scaleGridLeft=10, scaleGridTop=10, ‣ Scale 9 rect, Sprite scaleGridRight=220, scaleGridBottom=320)] public class MyBorder extends Sprite
  • 185. MASKS
  • 186. MASKS ‣ Mask visually clips the graphic
  • 187. MASKS ‣ Mask visually clips the graphic ‣ area is still rendered by Flash Player
  • 188. MASKS ‣ Mask visually clips the graphic ‣ area is still rendered by Flash Player ‣ [show mask FLA]
  • 190. SWF IMAGE BASICS ‣ Base classes
  • 191. SWF IMAGE BASICS ‣ Base classes ‣ Transformations
  • 192. SWF IMAGE BASICS ‣ Base classes ‣ Transformations ‣ GPU
  • 193. SWF IMAGE BASICS ‣ Base classes ‣ Transformations ‣ GPU ‣ Filters
  • 195. flash.display.shape ‣ Shape
  • 196. flash.display.shape ‣ Shape ‣ vector
  • 197. flash.display.shape ‣ Shape ‣ vector ‣ low-overhead
  • 198. flash.display.shape ‣ Shape ‣ vector ‣ low-overhead ‣ no interactions (key, mouse)
  • 199. flash.display.shape ‣ Shape ‣ vector ‣ low-overhead ‣ no interactions (key, mouse) ‣ for drawing, masks, debugging
  • 201. flash.display.bitmap ‣ Bitmap
  • 202. flash.display.bitmap ‣ Bitmap ‣ memory eater
  • 203. flash.display.bitmap ‣ Bitmap ‣ memory eater ‣ no interactions
  • 204. flash.display.bitmap ‣ Bitmap ‣ memory eater ‣ no interactions ‣ security implications in messing with pixels
  • 205. flash.display.bitmap ‣ Bitmap ‣ memory eater ‣ no interactions ‣ security implications in messing with pixels ‣ GPU friends4evarrr!
  • 207. flash.display.sprite ‣ Sprite
  • 208. flash.display.sprite ‣ Sprite ‣ container/compositor
  • 209. flash.display.sprite ‣ Sprite ‣ container/compositor ‣ interactions
  • 210. flash.display.sprite ‣ Sprite ‣ container/compositor ‣ interactions ‣ Bitmap with Scale 9 rect
  • 211. flash.display.sprite ‣ Sprite ‣ container/compositor ‣ interactions ‣ Bitmap with Scale 9 rect ‣ MovieClip with 1 frame
  • 213. transformations ‣x and y relative to container
  • 214. transformations ‣x and y relative to container ‣ width and height are content measurements
  • 215. transformations ‣x and y relative to container ‣ width and height are content measurements ‣ scaleX and scaleY are tied to width/ height
  • 216. transformations ‣x and y relative to container ‣ width and height are content measurements ‣ scaleX and scaleY are tied to width/ height ‣ rotation is top left registration point
  • 217. transformations ‣x and y relative to container ‣ width and height are content measurements ‣ scaleX and scaleY are tied to width/ height ‣ rotation is top left registration point ‣ alpha is 0 - 255
  • 218. transformations ‣x and y relative to container ‣ width and height are content measurements ‣ scaleX and scaleY are tied to width/ height ‣ rotation is top left registration point ‣ alpha is 0 - 255 ‣ visible is basically alpha 0
  • 219. transformations ‣x and y relative to container ‣ width and height are content measurements ‣ scaleX and scaleY are tied to width/ height ‣ rotation is top left registration point ‣ alpha is 0 - 255 ‣ visible is basically alpha 0 ‣z is 3D plane
  • 221. color transform ‣ changes color of object
  • 222. gpu
  • 223. gpu ‣ cacheAsBitmap = true
  • 224. gpu ‣ cacheAsBitmap = true ‣ cacheAsBitmapMatrix = true
  • 225. gpu ‣ cacheAsBitmap = true ‣ cacheAsBitmapMatrix = true ‣ inside <initialWindow> tag in your AIR descriptor XML
  • 226. gpu ‣ cacheAsBitmap = true ‣ cacheAsBitmapMatrix = true ‣ inside <initialWindow> tag in your AIR descriptor XML ‣ <renderMode>gpu</renderMode>
  • 227. gpu ‣ cacheAsBitmap = true ‣ cacheAsBitmapMatrix = true ‣ inside <initialWindow> tag in your AIR descriptor XML ‣ <renderMode>gpu</renderMode> ‣ [Lee’s blog]
  • 229. filters ‣ Drop Shadow
  • 230. filters ‣ Drop Shadow ‣ Glow
  • 231. filters ‣ Drop Shadow ‣ Glow ‣ Blur
  • 232. filters ‣ Drop Shadow ‣ Glow ‣ Blur ‣ Bevel
  • 233. filters ‣ Drop Shadow ‣ Glow ‣ Blur ‣ Bevel ‣ [show in Flash]
  • 235. pixelbender ‣ PBJ
  • 236. pixelbender ‣ PBJ ‣ Hydra
  • 237. pixelbender ‣ PBJ ‣ Hydra ‣ Vector data type’s for RGB colors
  • 238. pixelbender ‣ PBJ ‣ Hydra ‣ Vector data type’s for RGB colors ‣ Shader’s can be synchronous/ asynchronous
  • 239. pixelbender ‣ PBJ ‣ Hydra ‣ Vector data type’s for RGB colors ‣ Shader’s can be synchronous/ asynchronous ‣ uses GPU
  • 240. pixelbender ‣ PBJ ‣ Hydra ‣ Vector data type’s for RGB colors ‣ Shader’s can be synchronous/ asynchronous ‣ uses GPU ‣ multi-threading
  • 241. pixelbender ‣ PBJ ‣ Hydra ‣ Vector data type’s for RGB colors ‣ Shader’s can be synchronous/ asynchronous ‣ uses GPU ‣ multi-threading ‣ [FreshPic]
  • 243. container formats ‣ PSD = Photoshop
  • 244. container formats ‣ PSD = Photoshop ‣ AI = Illustrator
  • 245. container formats ‣ PSD = Photoshop ‣ AI = Illustrator ‣ PNG = Fireworks
  • 246. container formats ‣ PSD = Photoshop ‣ AI = Illustrator ‣ PNG = Fireworks ‣ FLA = Flash IDE
  • 247. container formats ‣ PSD = Photoshop ‣ AI = Illustrator ‣ PNG = Fireworks ‣ FLA = Flash IDE ‣ TTF/OTF = fonts
  • 250. photoshop to air ‣ [powerz comp to air]
  • 251. fireworks comp to android
  • 252. fireworks comp to android ‣ round trip w/ Flash IDE
  • 253. fireworks comp to android ‣ round trip w/ Flash IDE ‣ [Android comp]
  • 255. flash graphics packager ‣ vector scale 9
  • 256. flash graphics packager ‣ vector scale 9 ‣ linking to swf assets
  • 257. flash graphics packager ‣ vector scale 9 ‣ linking to swf assets ‣ sub-pixels
  • 258. flash graphics packager ‣ vector scale 9 ‣ linking to swf assets ‣ sub-pixels ‣ [show SoundCloud Android package]
  • 259. flash graphics packager ‣ vector scale 9 ‣ linking to swf assets ‣ sub-pixels ‣ [show SoundCloud Android package] ‣ [show NBA app]
  • 261. IMPLEMENTATION ‣ FLA that makes a SWC
  • 262. IMPLEMENTATION ‣ FLA that makes a SWC ‣ Library Project
  • 263. IMPLEMENTATION ‣ FLA that makes a SWC ‣ Library Project ‣ Components
  • 264. IMPLEMENTATION ‣ FLA that makes a SWC ‣ Library Project ‣ Components ‣ States
  • 265. IMPLEMENTATION ‣ FLA that makes a SWC ‣ Library Project ‣ Components ‣ States ‣ Skins
  • 266. states
  • 267. states ‣ DisplayList drawing capabilities
  • 268. states
  • 269. states ‣ elastic racetrack
  • 270. states
  • 271. states ‣ visible
  • 272. states ‣ visible ‣ addChild/removeChild
  • 273. states ‣ visible ‣ addChild/removeChild ‣ mask
  • 274. states ‣ visible ‣ addChild/removeChild ‣ mask ‣ scrollRect
  • 275. states ‣ visible ‣ addChild/removeChild ‣ mask ‣ scrollRect ‣ alpha
  • 276. states: components vs. page/composition
  • 277. states: components vs. page/composition ‣ states of components
  • 278. states: components vs. page/composition ‣ states of components ‣ states of app
  • 279. states: components vs. page/composition ‣ states of components ‣ states of app ‣ usually visual state
  • 281. transitions ‣ change properties from state to state
  • 282. transitions ‣ change properties from state to state ‣ Flex’ built in tweens
  • 283. transitions ‣ change properties from state to state ‣ Flex’ built in tweens ‣ careful with alphas/rotations/fonts
  • 284. transitions ‣ change properties from state to state ‣ Flex’ built in tweens ‣ careful with alphas/rotations/fonts ‣ order insanity flaw
  • 285. states
  • 286. states ‣ [video recorder app]
  • 287. SKINS: WEB & DESKTOP
  • 288. SKINS: WEB & DESKTOP ‣ Component: logic & shiz
  • 289. SKINS: WEB & DESKTOP ‣ Component: logic & shiz ‣ Skin: what you see
  • 291. WHY SKINS? ‣ ...here it comes...
  • 292. WHY SKINS? ‣ ...here it comes... ‣ CSS only
  • 293. WHY SKINS? ‣ ...here it comes... ‣ CSS only ‣ set skin parts
  • 294. WHY SKINS? ‣ ...here it comes... ‣ CSS only ‣ set skin parts ‣ programmatic skins
  • 295. WHY SKINS? ‣ ...here it comes... ‣ CSS only ‣ set skin parts ‣ programmatic skins ‣ Flash
  • 297. SKIN ANATOMY ‣ Skin Class
  • 298. SKIN ANATOMY ‣ Skin Class ‣ SkinPart
  • 299. SKIN ANATOMY ‣ Skin Class ‣ SkinPart ‣ SkinState
  • 300. SKIN ANATOMY ‣ Skin Class ‣ SkinPart ‣ SkinState ‣ [show Neybor/Skins]
  • 302. MOBILE SKINS ‣ ActionScript only
  • 303. MOBILE SKINS ‣ ActionScript only ‣ extend MobileSkin vs. SparkSkin
  • 304. MOBILE SKINS ‣ ActionScript only ‣ extend MobileSkin vs. SparkSkin ‣ no SkinsStates
  • 305. MOBILE FUNDAMENTALS <s:ViewNavigatorApplication applicationDPI="320">
  • 306. MOBILE FUNDAMENTALS <s:ViewNavigatorApplication ‣ DPI vs. PPI applicationDPI="320">
  • 307. MOBILE FUNDAMENTALS <s:ViewNavigatorApplication ‣ DPI vs. PPI applicationDPI="320"> ‣ applicationDPI
  • 308. MOBILE FUNDAMENTALS <s:ViewNavigatorApplication ‣ DPI vs. PPI applicationDPI="320"> ‣ applicationDPI ‣ resolution
  • 309. MOBILE FUNDAMENTALS <s:ViewNavigatorApplication ‣ DPI vs. PPI applicationDPI="320"> ‣ applicationDPI ‣ resolution ‣ Capabilities.screenDPI
  • 311. MOBILE FUNDAMENTALS ‣ MultiDPIBitmapSource
  • 312. MOBILE FUNDAMENTALS ‣ MultiDPIBitmapSource ‣ 160: < 200
  • 313. MOBILE FUNDAMENTALS ‣ MultiDPIBitmapSource ‣ 160: < 200 ‣ 240: >=200 and <280
  • 314. MOBILE FUNDAMENTALS ‣ MultiDPIBitmapSource ‣ 160: < 200 ‣ 240: >=200 and <280 ‣ 320: >=280
  • 316. STAGE.QUALITY POWAH ‣ stage.quality = LOW
  • 317. STAGE.QUALITY POWAH ‣ stage.quality = LOW ‣ pimp!
  • 318. STAGE.QUALITY POWAH ‣ stage.quality = LOW ‣ pimp! ‣ stage.quality = MED
  • 319. STAGE.QUALITY POWAH ‣ stage.quality = LOW ‣ pimp! ‣ stage.quality = MED ‣ great compromise
  • 320. STAGE.QUALITY POWAH ‣ stage.quality = LOW ‣ pimp! ‣ stage.quality = MED ‣ great compromise ‣ stage.quality = HIGH
  • 321. STAGE.QUALITY POWAH ‣ stage.quality = LOW ‣ pimp! ‣ stage.quality = MED ‣ great compromise ‣ stage.quality = HIGH ‣ default
  • 322. STAGE.QUALITY POWAH ‣ stage.quality = LOW ‣ pimp! ‣ stage.quality = MED ‣ great compromise ‣ stage.quality = HIGH ‣ default ‣ stage.quality = BEST.. NOOoOOo
  • 324. STAGE.QUALITY EXAMPLE ‣ LOW vs. MED
  • 325. SKIN SCALING /* Every os-platform @ 160dpi */ @media (application-dpi: 160) { s|Button { fontSize: 10; } } /* IOS only @ 240dpi */ @media (application-dpi: 240) and (os-platform: "IOS") { s|Button { fontSize: 11; } }
  • 326. SKIN SCALING /* Every os-platform @ 160dpi */ @media (application-dpi: 160) { s|Button { fontSize: 10; } } ‣ set applicationDPI, Flex’ll scale /* IOS only @ 240dpi */ @media (application-dpi: 240) and (os-platform: "IOS") { s|Button { fontSize: 11; } }
  • 327. SKIN SCALING /* Every os-platform @ 160dpi */ @media (application-dpi: 160) { s|Button { fontSize: 10; } } ‣ set applicationDPI, Flex’ll scale /* IOS only @ 240dpi */ ‣ don’t set, you scale @media (application-dpi: 240) and (os-platform: "IOS") { s|Button { fontSize: 11; } }
  • 328. SKIN SCALING /* Every os-platform @ 160dpi */ @media (application-dpi: 160) { s|Button { fontSize: 10; } } ‣ set applicationDPI, Flex’ll scale /* IOS only @ 240dpi */ ‣ don’t set, you scale @media (application-dpi: 240) and (os-platform: "IOS") { s|Button { ‣ fine tune with @media rules fontSize: 11; } }
  • 329. MULTI-REZ BITMAPS <s:Image id="myImage"> <s:source> <s:MultiDPIBitmapSource source160dpi="assets/low-res/bulldog.jpg" source240dpi="assets/med-res/bulldog.jpg" source320dpi="assets/high-res/bulldog.jpg"/> </s:source> </s:Image>
  • 330. MULTI-REZ BITMAPS <s:Image id="myImage"> <s:source> <s:MultiDPIBitmapSource source160dpi="assets/low-res/bulldog.jpg" ‣1 bitmap for each DPI source240dpi="assets/med-res/bulldog.jpg" source320dpi="assets/high-res/bulldog.jpg"/> </s:source> </s:Image>
  • 331. MULTI-REZ BITMAPS <s:Image id="myImage"> <s:source> <s:MultiDPIBitmapSource source160dpi="assets/low-res/bulldog.jpg" ‣1 bitmap for each DPI source240dpi="assets/med-res/bulldog.jpg" source320dpi="assets/high-res/bulldog.jpg"/> ‣ applicationDPI </s:source> </s:Image>
  • 332. MULTI-REZ BITMAPS <s:Image id="myImage"> <s:source> <s:MultiDPIBitmapSource source160dpi="assets/low-res/bulldog.jpg" ‣1 bitmap for each DPI source240dpi="assets/med-res/bulldog.jpg" source320dpi="assets/high-res/bulldog.jpg"/> ‣ applicationDPI </s:source> </s:Image> ‣ DPIClassification.DPI_240, etc.
  • 334. BITMAP MANUAL SCALING ‣ [CombOver]
  • 336. conclusions ‣ Ask Questions w/Designers
  • 337. conclusions ‣ Ask Questions w/Designers ‣ Break up in Photoshop/Fireworks
  • 338. conclusions ‣ Ask Questions w/Designers ‣ Break up in Photoshop/Fireworks ‣ Package all assets in Flash
  • 339. conclusions ‣ Ask Questions w/Designers ‣ Break up in Photoshop/Fireworks ‣ Package all assets in Flash ‣ Create Flex Skins in Library Project
  • 341. conclusions ‣ Bitmap | Vector
  • 342. conclusions ‣ Bitmap | Vector ‣ Web vs Desktop vs Mobile
  • 343. conclusions ‣ Bitmap | Vector ‣ Web vs Desktop vs Mobile ‣ Designer Capabilities
  • 344. conclusions ‣ Bitmap | Vector ‣ Web vs Desktop vs Mobile ‣ Designer Capabilities ‣ Developer Capabilities
  • 346. conclusions ‣ Recognize what tools you’ll need
  • 347. conclusions ‣ Recognize what tools you’ll need ‣ Photoshop
  • 348. conclusions ‣ Recognize what tools you’ll need ‣ Photoshop ‣ Flash
  • 349. conclusions ‣ Recognize what tools you’ll need ‣ Photoshop ‣ Flash ‣ Flash Builder
  • 351. end. questions? ‣ Jesse Warden
  • 352. end. questions? ‣ Jesse Warden ‣ Flex & Flash Consultant
  • 353. end. questions? ‣ Jesse Warden ‣ Flex & Flash Consultant ‣ Email: jessew@webappsolution.com
  • 354. end. questions? ‣ Jesse Warden ‣ Flex & Flash Consultant ‣ Email: jessew@webappsolution.com ‣ Twittah: @jesterxl
  • 355. end. questions? ‣ Jesse Warden ‣ Flex & Flash Consultant ‣ Email: jessew@webappsolution.com ‣ Twittah: @jesterxl ‣ Blog: http://jessewarden.com

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n
  179. \n
  180. \n
  181. \n
  182. \n
  183. \n
  184. \n
  185. \n
  186. \n
  187. \n
  188. \n
  189. \n
  190. \n
  191. \n
  192. \n
  193. \n
  194. \n
  195. \n
  196. \n
  197. \n
  198. \n
  199. \n
  200. \n
  201. \n
  202. \n
  203. \n
  204. \n
  205. \n
  206. \n
  207. \n
  208. \n
  209. \n
  210. \n
  211. \n
  212. \n
  213. \n
  214. \n
  215. \n
  216. \n
  217. \n
  218. \n
  219. \n
  220. \n
  221. \n
  222. \n
  223. \n
  224. \n
  225. \n
  226. \n
  227. \n
  228. \n
  229. \n
  230. \n
  231. \n
  232. \n
  233. \n
  234. \n
  235. \n
  236. \n
  237. \n
  238. \n
  239. \n
  240. \n
  241. \n
  242. \n
  243. \n
  244. \n
  245. \n
  246. \n
  247. \n
  248. \n
  249. \n
  250. \n
  251. \n
  252. \n
  253. \n
  254. \n
  255. \n
  256. \n
  257. \n
  258. \n
  259. \n
  260. \n
  261. \n
  262. \n
  263. \n
  264. \n
  265. \n
  266. \n
  267. \n
  268. \n
  269. \n
  270. \n
  271. \n
  272. \n
  273. \n
  274. \n
  275. \n
  276. \n
  277. \n
  278. \n
  279. \n
  280. \n
  281. \n
  282. \n
  283. \n