Innovation & the Adobe Flash Platform
      Michaël Chaize | Flash Platform Evangelist




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
Feel free to contact me




                                                                                Michaël Chaize
                                                                                Flash Platform Evangelist


                                                                                My blog: www.RIAgora.com



                                                                                      @mchaize




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   2
e origin of this session




                                                                                         ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   3
Menu du jour




                                                                                Rich Internet Application




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   4
Applications in the Enterprise



Global
                                                                                 2004
                                                                                          RICH INTERNET
                                            WEB APPLICATIONS                              APPLICATIONS
 REACH




                                                                          1998




                                                                   1992
Local
                                                   MAINFRAME                                 CLIENT/SERVER


                                                     Text UI                            Integrated media GUI
                                                                              RICH
                                                                                                               ®




                                                                          4
 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Rich User Experiences: Opportunities for internal users




                                                                                         ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   6
Rich User Experiences: Opportunities for internal users




                                                                                      5 mins       20 secs




      Increase productivity & improve decision making

                                                                                                             ®




 Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.            7
NATO




                                                                                         ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   8
NATO




                                                                                         ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   9
NATO




                   From system-centric views, to user-centric applications.




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   10
Flash Platform - A complete system for web innovation




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
97%
Flash Player 10 (March 2010)
ADOBE FLEX 4




Local user-group:
http://www.flex-labs.de/
Innovation
“introducing something new”
ADOBE FLASH PLAYER

INNOVATION FOR THE WEB




         1997




                         2010




                          2010
          1997
Innovation
“introducing something new”
INNOVATION

INTRODUCING SOMETHING NEW




             - Printing Flash content is still a pain.
             - Keep a local copy of a transaction.
INNOVATION

  PDF AND PRINTING




          XML

                                            XML




                     XFAHelper
                                 template




Adobe LiveCycle : server-side PDF generation
Flash and PDF for printing : client-side

%PDF−1.4
1 0 obj
<< /Type /Catalog
/Outlines 2 0 R
/Pages 3 0 R
>>
endobj
2 0 obj
<< /Type Outlines
/Count 0
>>
endobj
3 0 obj
<< /Type /Pages
/Kids [4 0 R]
/Count 1
>>
...


                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   19
Flash and PDF for printing




Why client side ?

You can generate PDF’s 100% client side since ActionScript 2

ActionScript 3 (ByteArray) allows us to generate richer PDF’s (images, sounds,
SWF, etc.)

AlivePDF (alivepdf.bytearray.org) is an open-source (MIT licence) library which
allows you to do that.



                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   20
Generate a PDF in 3 lines of code


import org.alivepdf.pdf.PDF;


//create a PDF object
var myPDF:PDF = new PDF();


// add a blank page
myPDF.addPage();


// save the PDF on user’s disk through a save-as dialog window
myFileReference.save ( myPDF.save ( Method.LOCAL ), “generated.pdf” );



                                                                                           ®




 Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   21
Flash and PDF for printing

var myPDF:PDF = new PDF();
myPDF.addPage();
myPDF.textStyle( new RGBColor(0x990000), 1 );
var uf:IFont = new CoreFont ( FontFamily.HELVETICA );
myPDF.setFont(uf, 9);
myPDF.writeFlashHtmlText(8, 'A long <font color="#CCCCCC">standard</font>
  <u>format that should wrap by the</u> time <b>I finish this</b>. Here <i>is some
  text</i> that I write very eeasily and lengthy And now for some text again just to check
  it's not buggy. And back to normal. Then a line break<br/>That's All.');
myPDF.addPage();
var r:Resize = new Resize ( Mode.NONE, Position.LEFT );
myPDF.addImage( this, r );
myPDF.addPage()
myPDF.addImage( myDisplayObject, null, 0, 0, 0, 0, 0, 1, false, ImageFormat.JPG, 80 );


                                                                                             ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   22
AIR & PDF generated on the y




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   23
Flash and complex PDF generation




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   24
AIR = PDF and Flash




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   25
INNOVATION

INTRODUCING SOMETHING NEW




             Out of the box
               with Adobe AIR
Saturated web browsers




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   27
Adobe AIR and system chromes




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   28
Expressive AIR applications




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   29
Innovative UI and UX




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   30
INNOVATION

INTRODUCING SOMETHING NEW




             Flash and devices
DEVICES

       WEBCAM & MICROPHONE



•Motion Detection

  •Navigation

  •Security, Alerts…

  •Gaming

• Shape Recognition

  •Face recognition for automatic log-in

  •eCommerce

•Augmented Reality

  •Immersive experiences

  •eCommerce, gaming…




                                           https://www.prioritymail.com/simulator.asp
DEVICES

WEBCAM & MICROPHONE
External Devices communication




                                                                         Binary socket server
                                                                            C#, Java, etc.
                                                                                                010011
Bluetooth stack                                                                                          Flash Player




                                                                                                                        ®




 Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   34
External Devices communication



                              WiiFlash

Open Source (MIT licence) AS3 library to connect any Wii device to the Flash Player

Website : wii ash.bytearray.org




                                                                                           ®




 Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   35
External Devices communication




                                                                        010011

   Binary socket server
      C#, Java, etc.

                                                                                     WiiFlash AS3 API
                                                                                                        Flash Player




                  var wiimote: Wiimote = new Wiimote();
                  wiimote.addEventListener( Event.CONNECT, onWiimoteConnect );
                  wiimote.connect();

                                                                                                                       ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.         36
External Devices communication




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   37
Stella Artois




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   38
INNOVATION

INTRODUCING SOMETHING NEW




    Flash and CPU emulation
Emulating a CPU


                                             ByteArray




                          switch(memory[PC++])
                          {
                          case OPCODE1:
                            opcode1();
                                                                                      MOV (B,C)
                            break;
                          case OPCODE2:
                            opcode2();
                            break;                                                   protected function SetB(inByte:int):void
                            ....                                                     {
                          case OPCODEn:                                                  B = inByte & 0xFF;
                            opcodeN();                                                   BC = (B << 8) | C;
                            break;                                                   }
                          }



                                                                                                                                ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.        40
Painting the pixels


     for (var j:int = 0; j< height; j++)
     {
        src = 0x2400 + (j << 5);
        k = 0;
       for (var i:int = 0; i< 32; i++)
       {
           vram = processor.memory[src];
           src += 1;
           for (var b:int = 0; b<8; b++)
           {
              color = 0;
              if ( vram&1 ) color = 0xFFFF6500;
              setPixel(k, j, color);
              k++;
              vram = vram >> 1;
            }
        }
     }



                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   41
Flash and emulation

Intel8080 Emulation with Space Invaders original rom executed




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   42
Flash and emulation




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   43
Flash and emulation




                                                                              h p://www.dotemu.com/en/sf2

                                                                                                            ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.         44
INNOVATION

INTRODUCING SOMETHING NEW




         Flash and Adobe labs
INNOVATION

  INTRODUCING SOMETHING NEW



                Alchemy and Pixel Bender




http://www.sideroller.com/wck/

                                  http://demo.minko.in/2
INNOVATION

INTRODUCING SOMETHING NEW




   Flash and multiple screens
97%
Flash Player 10 (March 2010)
The Open Screen Project




                    Singular experience, Multiple devices
                    Enable consumers to engage with rich Internet experiences seamlessly across any device, anywhere.




                                                                                                                        ®




Copyright 2008 Adobe Systems Incorporated. All rights reserved.
Open Screen Project: more than 70 partners

                    Technology Partners                                                   Content Partners




                                                                                                             ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   50
10.1
Flash Player 10.1 API and testing




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   52
Out of the browser
                USB storage detection
                O ine/Online sync (salesForce)
                Invoke OS Native Processes
                Embed your own Java libraries
                Soon on smartphones
ADOBE AIR 2.0
Multi-touch, USB drive…




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   54
At the train station




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   55
INNOVATION

  INTRODUCING SOMETHING NEW



Flash Player 10.1... even the hidden APIs are used !!!
Flash Platform - A complete system for web innovation




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
Innovation
                   “introducing something new”


More to come... Flash Player 10.x, Flash Player 11...
Conclusion




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   59
Flash driving Innovation & Innovation driving Flash




                                                                                          ®




Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential.   60
Feel free to contact me




                                                                                 Michaël Chaize
                                                                                 Flash Platform Evangelist


                                                                                 My blog: www.RIAgora.com



                                                                                       @mchaize




©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   61

Innovation and the Adobe Flash Platform

  • 1.
    Innovation & theAdobe Flash Platform Michaël Chaize | Flash Platform Evangelist ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 2.
    Feel free tocontact me Michaël Chaize Flash Platform Evangelist My blog: www.RIAgora.com @mchaize ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 2
  • 3.
    e origin ofthis session ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 3
  • 4.
    Menu du jour Rich Internet Application ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 4
  • 5.
    Applications in theEnterprise Global 2004 RICH INTERNET WEB APPLICATIONS APPLICATIONS REACH 1998 1992 Local MAINFRAME CLIENT/SERVER Text UI Integrated media GUI RICH ® 4 Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 6.
    Rich User Experiences:Opportunities for internal users ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 6
  • 7.
    Rich User Experiences:Opportunities for internal users 5 mins 20 secs Increase productivity & improve decision making ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 7
  • 8.
    NATO ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 8
  • 9.
    NATO ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 9
  • 10.
    NATO From system-centric views, to user-centric applications. ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 10
  • 11.
    Flash Platform -A complete system for web innovation ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 12.
    97% Flash Player 10(March 2010)
  • 13.
    ADOBE FLEX 4 Localuser-group: http://www.flex-labs.de/
  • 14.
  • 15.
    ADOBE FLASH PLAYER INNOVATIONFOR THE WEB 1997 2010 2010 1997
  • 16.
  • 17.
    INNOVATION INTRODUCING SOMETHING NEW - Printing Flash content is still a pain. - Keep a local copy of a transaction.
  • 18.
    INNOVATION PDFAND PRINTING XML XML XFAHelper template Adobe LiveCycle : server-side PDF generation
  • 19.
    Flash and PDFfor printing : client-side %PDF−1.4 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [4 0 R] /Count 1 >> ... ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 19
  • 20.
    Flash and PDFfor printing Why client side ? You can generate PDF’s 100% client side since ActionScript 2 ActionScript 3 (ByteArray) allows us to generate richer PDF’s (images, sounds, SWF, etc.) AlivePDF (alivepdf.bytearray.org) is an open-source (MIT licence) library which allows you to do that. ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 20
  • 21.
    Generate a PDFin 3 lines of code import org.alivepdf.pdf.PDF; //create a PDF object var myPDF:PDF = new PDF(); // add a blank page myPDF.addPage(); // save the PDF on user’s disk through a save-as dialog window myFileReference.save ( myPDF.save ( Method.LOCAL ), “generated.pdf” ); ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 21
  • 22.
    Flash and PDFfor printing var myPDF:PDF = new PDF(); myPDF.addPage(); myPDF.textStyle( new RGBColor(0x990000), 1 ); var uf:IFont = new CoreFont ( FontFamily.HELVETICA ); myPDF.setFont(uf, 9); myPDF.writeFlashHtmlText(8, 'A long <font color="#CCCCCC">standard</font> <u>format that should wrap by the</u> time <b>I finish this</b>. Here <i>is some text</i> that I write very eeasily and lengthy And now for some text again just to check it's not buggy. And back to normal. Then a line break<br/>That's All.'); myPDF.addPage(); var r:Resize = new Resize ( Mode.NONE, Position.LEFT ); myPDF.addImage( this, r ); myPDF.addPage() myPDF.addImage( myDisplayObject, null, 0, 0, 0, 0, 0, 1, false, ImageFormat.JPG, 80 ); ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 22
  • 23.
    AIR & PDFgenerated on the y ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 23
  • 24.
    Flash and complexPDF generation ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 24
  • 25.
    AIR = PDFand Flash ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 25
  • 26.
    INNOVATION INTRODUCING SOMETHING NEW Out of the box with Adobe AIR
  • 27.
    Saturated web browsers ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 27
  • 28.
    Adobe AIR andsystem chromes ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 28
  • 29.
    Expressive AIR applications ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 29
  • 30.
    Innovative UI andUX ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 30
  • 31.
  • 32.
    DEVICES WEBCAM & MICROPHONE •Motion Detection •Navigation •Security, Alerts… •Gaming • Shape Recognition •Face recognition for automatic log-in •eCommerce •Augmented Reality •Immersive experiences •eCommerce, gaming… https://www.prioritymail.com/simulator.asp
  • 33.
  • 34.
    External Devices communication Binary socket server C#, Java, etc. 010011 Bluetooth stack Flash Player ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 34
  • 35.
    External Devices communication WiiFlash Open Source (MIT licence) AS3 library to connect any Wii device to the Flash Player Website : wii ash.bytearray.org ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 35
  • 36.
    External Devices communication 010011 Binary socket server C#, Java, etc. WiiFlash AS3 API Flash Player var wiimote: Wiimote = new Wiimote(); wiimote.addEventListener( Event.CONNECT, onWiimoteConnect ); wiimote.connect(); ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 36
  • 37.
    External Devices communication ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 37
  • 38.
    Stella Artois ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 38
  • 39.
  • 40.
    Emulating a CPU ByteArray switch(memory[PC++]) { case OPCODE1: opcode1(); MOV (B,C) break; case OPCODE2: opcode2(); break; protected function SetB(inByte:int):void .... { case OPCODEn: B = inByte & 0xFF; opcodeN(); BC = (B << 8) | C; break; } } ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 40
  • 41.
    Painting the pixels for (var j:int = 0; j< height; j++) { src = 0x2400 + (j << 5); k = 0; for (var i:int = 0; i< 32; i++) { vram = processor.memory[src]; src += 1; for (var b:int = 0; b<8; b++) { color = 0; if ( vram&1 ) color = 0xFFFF6500; setPixel(k, j, color); k++; vram = vram >> 1; } } } ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 41
  • 42.
    Flash and emulation Intel8080Emulation with Space Invaders original rom executed ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 42
  • 43.
    Flash and emulation ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 43
  • 44.
    Flash and emulation h p://www.dotemu.com/en/sf2 ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 44
  • 45.
  • 46.
    INNOVATION INTRODUCINGSOMETHING NEW Alchemy and Pixel Bender http://www.sideroller.com/wck/ http://demo.minko.in/2
  • 47.
    INNOVATION INTRODUCING SOMETHING NEW Flash and multiple screens
  • 48.
    97% Flash Player 10(March 2010)
  • 49.
    The Open ScreenProject Singular experience, Multiple devices Enable consumers to engage with rich Internet experiences seamlessly across any device, anywhere. ® Copyright 2008 Adobe Systems Incorporated. All rights reserved.
  • 50.
    Open Screen Project:more than 70 partners Technology Partners Content Partners ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 50
  • 51.
  • 52.
    Flash Player 10.1API and testing ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 52
  • 53.
    Out of thebrowser USB storage detection O ine/Online sync (salesForce) Invoke OS Native Processes Embed your own Java libraries Soon on smartphones ADOBE AIR 2.0
  • 54.
    Multi-touch, USB drive… ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 54
  • 55.
    At the trainstation ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 55
  • 56.
    INNOVATION INTRODUCINGSOMETHING NEW Flash Player 10.1... even the hidden APIs are used !!!
  • 57.
    Flash Platform -A complete system for web innovation ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
  • 58.
    Innovation “introducing something new” More to come... Flash Player 10.x, Flash Player 11...
  • 59.
    Conclusion ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 59
  • 60.
    Flash driving Innovation& Innovation driving Flash ® Copyright 2009 Adobe Systems Incorporated. All rights reserved. Adobe con dential. 60
  • 61.
    Feel free tocontact me Michaël Chaize Flash Platform Evangelist My blog: www.RIAgora.com @mchaize ©2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 61