SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

En vedette

Photos to use in booklet
Photos to use in bookletPhotos to use in booklet
Photos to use in booklet
NadiaPanas
 
Aretzi paola rangel
Aretzi  paola  rangelAretzi  paola  rangel
Aretzi paola rangel
eizanieto
 
Kintu Shah+ACE13
Kintu Shah+ACE13Kintu Shah+ACE13
Kintu Shah+ACE13
Kintu shah
 

En vedette (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
 

Similaire à Getting Complex Designs into Flex - FITC 2011

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
Jared Ponchot
 
The Groop Welcome Kit Sample
The Groop Welcome Kit SampleThe Groop Welcome Kit Sample
The Groop Welcome Kit Sample
thegroop
 
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
 
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
Julia Grosman
 

Similaire à Getting Complex Designs into Flex - FITC 2011 (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
 

Plus de Jesse Warden

System webpack-jspm
System webpack-jspmSystem webpack-jspm
System webpack-jspm
Jesse Warden
 

Plus 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
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

Getting Complex Designs into Flex - FITC 2011

  • 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

Notes de l'éditeur

  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