microsoft windows 7 precio achat frontpage autocad architecture prix køb adobe cs4 microsoft windows vista precio acheter sql serveur comprar autodesk 3ds max 2010 precio matlab nero precio windows 7 precio licencia indesign køb maya prix windows 7 home vollversion comprar adobe premier acheter cubase 3 comprar norton internet security 2010 preis windows 7 pro pcanywhere download deutsch after effects precio pinnacle studio 14 prix download adobe flash cs4 español windows xp billig download word 2003 español nero günstig kaufen office 2007 køb online comprar autocad 2010 en español preisvergleich nero 8 prix solidworks 2007 comprar windows 7 final køb photoshop cs3 windows 7 günstiger.de comprar office 2008 mac microsoft visio prix telecharger archicad 13 fr comprar adobe photoshop elements 8 sony vegas pro 9 prix comprar windows 7 3 licencias download windows xp español quarkxpress comprar telecharger maya francais windows 7 starter kaufen prix premiere pro cs4 telecharger frontpage 2003 fr comprar guitar pro 6 adobe premiere pro telecharger acheter dragon naturally speaking precio de windows 7 ultimate en mexico windows 7 vollversion oder upgrade download photoshop cs4 español descargar adobe illustrator completo dreamweaver køb kaspersky comprar licencia windows xp billigt prix dreamweaver cs4 preis nero 9 reloaded comprar adobe master collection precio de windows 7 en chile microsoft windows 7 kaufen acheter guitar pro 6 microsoft outlook kaufen comprar windows xp profesional original precio cs4 descargar windows 7 ultimate full solidworks prix achat photoshop element prix captivate adobe dreamweaver cs4 prix køb outlook 2007 online descargar autocad 2010 download word 2007 español adobe descargar cs4 descargar nero completo en español comprar word 2007 acheter adobe audition prix after effect cs3 prix de sql server windows 7 preisgünstig venta de windows 7 en mexico nero 9 billiger comprar pinnacle studio 14 adobe illustrator cs4 prix descargar windows 7 oficial acheter dreamweaver precio cubase comprar encarta 2009 precio de norton antivirus 2009 precio de final cut studio microsoft outlook 2007 günstig adobe illustrator telechargementz descargar adobe reader descargar office 2003 comprimido descargar windows 7 ingles venta windows 7 mexico comprar windows xp profesional sp3 descargar windows 7 ultimate español acheter autocad electrical descargar adobe cs3 completo microsoft project 2007 precio comprar adobe acrobat 9 pro 3ds max 2010 precio windows 7 günstigster preis windows 7 professional kaufen windows xp kauf comprar windows 7 estudiantes download windows 7 en español comprar access point photoshop billig descargar office 2007 completo en español telecharger cubase francais cubase køb acheter corel draw x3 precio de windows 2008 server prix cubase 4 photoshop cs4 precio precio de windows 7 professional download microsoft office 2003 español prix adobe illustrator cs3 adobe premiere pro cs4 precio køb windows 7 studerende acheter corel draw adobe photoshop elements 8 køb acheter pinnacle achat cubase le 4 adobe cs3 prix descargar access 2007 completo cubase sx3 precio windows 7 ultimate billig kaufen telecharger adobe premiere pro cs3 windows xp sp3 precio comprar windows 7 peru comprar autocad lt descargar office 2010 completo y en español comprar windows 7 retail acheter quarkxpress windows xp vollversion download comprar photoshop top secret download windows seven en español lightroom achat norton 360 pas cher preis windows 7 home premium media markt descargar windows 7 home basic autocad 2009 prix sony vegas pro 9 precio comprar sql server 2008 developer edition microsoft visio 2007 precio precio de windows 7 enterprise office 2007 precio mexico windows 7 pro günstig comprar office 2007 colombia descargar archicad 12 completo descargar windows 7 de 64 bits frontpage køb køb windows 7 family pack prix adobe premiere elements 8 achat sony vegas comprar microsoft access 2007 windows 7 preisunterschiede visual studio precio køb lightroom køb photoshop cs2 download adobe audition en español adobe descargar illustrator precio de photoshop cs4 pris windows 7 oem price photoshop cs5 acheter pinnacle studio hd sql server precio download adobe photoshop español windows xp preiswert comprar office 2003 online windows xp billiger achat encarta after effects prix precio autocad 2009 comprar adobe professional download dreamweaver cs4 español achat cubase køb sony vegas adobe premiere pro prix windows xp professional kaufen download precio de windows server 2003 download nero español achat norton ghost prix guitar pro cubase precio precio de adobe illustrator køb pinnacle download photoshop en español køb office 2007 adobe dreamweaver cs4 precio achat illustrator mac precio quarkxpress comprar adobe dreamweaver cs4 telecharger norton 360 francais descargar windows 7 ultimate 64 bits descargar windows xp completo español word 2007 køb achat matlab achat pinnacle studio 14 venta de windows 7 en peru køb windows 7 dansk prix dreamweaver descargar adobe flash player prix de microsoft project windows xp kaufen amazon precio de outlook 2007 comprar final cut express prix omnipage telecharger adobe illustrator cs3 fr precio solidworks 2010 windows vista precio mexico køb windows 7 upgrade windows 7 preisvergleich schweiz office 2003 priser acheter dragon naturally speaking 10 køb autocad descargar windows xp completo en español acheter cubase 5 comprar office 2003 profesional download indesign cs4 español download illustrator en español nero 9 preisvergleich precio de corel draw 12 descargar windows 7 iso comprar corel x4 køb windows 7 familie descargar adobe audition 3 completo comprar visual studio 6.0 autocad descargar español prix pcanywhere windows 7 precios oficiales comprar pinnacle estudio precio de corel draw descargar windows xp professional completo prix inventor 2010 comprar microsoft word 2003 dreamweaver cs4 prix comprar pinnacle video transfer køb windows 7 licens lightroom 2 prix preis windows 7 ultimate upgrade windows 7 precios mexico download dreamweaver en español adobe premiere pro acheter solidworks achat autocad precio licencia acheter lightroom 3 comprar microsoft windows server 2008 prix photoshop element windows 7 günstig downloaden prix sony vegas 9 køb visual studio 2008 prix matlab acheter encarta 2009 access 2007 precio prix adobe audition outlook 2007 preise windows 7 købes acheter photoshop elements 7 costo de windows 7 home premium windows 7 preisliste achat sql server 2008 comprar windows 7 bolivia acheter cubase prix after effects descargar adobe photoshop cs4 completo acheter pinnacle pctv precio de kaspersky 2010 windows vista ultimate precio achat vmware workstation windows xp preisvergleich pris windows 7 pro achat microsoft autoroute descargar windows 7 starter español descargar norton 360 completo lightroom precio venta windows 7 ultimate download microsoft office 2003 en español windows xp kaufen preisvergleich windows xp pro preisvergleich windows 7 preis für studenten achat lightroom 2 windows 7 preise euro descargar windows 7 ultimate 32 bits comprar flash cs3 windows vista køb precio autocad 2008 comprar microsoft windows 7 dragon naturally speaking precio precio de windows 7 en argentina adobe acrobat 9 precio comprar windows 7 en colombia comprar microsoft office picture manager microsoft office 2007 billigt microsoft windows 7 ultimate kaufen download autocad 2009 en español illustrator cs3 prix telecharger norton ghost 15 fr sql server 2008 precio comprar photoshop 7.0 comprar windows vista 64 bits descargar windows xp completo precio photoshop cs4 extended windows vista business precio acheter final cut express 4 achat pinnacle outlook download deutsch acheter illustrator cs3 comprar windows xp online comprar adobe indesign cs4 comprar adobe acrobat pro outlook 2007 priser comprar microsoft windows 7 español outlook billig preis windows 7 studentenversion descargar corel draw completo preis windows 7 upgrade descargar autocad completo precio de access 2007 nero 9 vollversion download microsoft project billing outlook vollversion windows 7 precio de venta argentina køb nero 9 outlook preis prix maya 3d køb microsoft office 2007 online download nero en español windows 7 home preisvergleich prix autodesk inventor descargar windows 7 32 achat dreamweaver cs3 precio de windows vista home premium prix de solidworks comprar adobe photoshop elements achat autocad 2009 precio autocad map precio photoshop cs3 extended preis windows 7 64 bit windows 7 professional preis nero vollversion chip descargar windows 7 original comprar adobe cs3 descargar autocad comprimido prix photoshop elements acheter lightroom 2.5 download nero 9 en español comprar windows 7 en chile download windows 7 ultimate español descargar microsoft office 2010 completo español descargar sony vegas 9 completo precio photoshop cs windows 7 precio en pesos comprar kaspersky online precio de microsoft excel telecharger adobe after effect cs3 acheter microsoft project 2003 comprar windows 7 home premium 64 bits achat sql server windows 7 preiswert preis microsoft windows 7

We all scream for full-screen!

I recently developed a video player component for one of our clients. The idea was to implement a wrapper for Flex’s built-in VideoDisplay component that would include play/pause/stop buttons, a slider that would both allow scrubbing and show download progress, and a button to toggle full-screen mode. The basics came together fairly quickly, but I hit some snags when adding full-screen functionality. I had already used full-screen mode in another project (I found this post very useful in that case), but the video player’s full-screen needs posed a greater challenge. Here are some lessons learned, so you can scream for full-screen and not frustration:

  • If you want just one component (the video player, in my case) to go full-screen, rather than full-screen for the whole app, you can use:

    Application.application.stage.fullScreenSourceRect = new Rectangle( stageX, stageY, width, height );

    Only the area defined by that rectangle will be visible in fullscreen mode.

  • Stage.fullScreenSourceRect interprets its rectangle in terms of the stage’s coordinate space. The component you want to display in full-screen mode has its location defined in terms of its parent container’s coordinate space. In most cases, you’ll have to convert from one coordinate space to the other, so use something like:

    var myStageLocation:Point = fullScreenMe.localToGlobal( new Point( fullScreenMe.x, fullScreenMe.y ) );

    where fullScreenMe is the component you want to show in full-screen mode.

  • Full-screen mode wasn’t playing nice with my app’s constraint-based layout. When I switched to full-screen, it looked like the constraints were being re-evaluated to fit the new dimensions of the display area. After losing a lot of time trying different fixes, this is what solved the problem:

    Application.application.stage.scaleMode = StageScaleMode.NO_BORDER;

    With that in place, all of the layout elements stayed where they belonged when switching from normal mode to full-screen. Incidentally, I believe this step is not necessary if you’re using a fixed layout.

  • If you use StageScaleMode.NO_BORDER when switching to full-screen mode, you should undo that when switching back:

    Application.application.stage.scaleMode = StageScaleMode.NO_SCALE;

    It’s not enough to set this in the listener for your view-mode-toggle button, because the user might return to normal mode without hitting that button. You need to set scaleMode = StageScaleMode.NO_SCALE whether the user hits the toggle button, ESC, ctrl-alt-delete, or whatever other action returns the display to normal mode. Set a listener

    Application.application.stage.addEventListener( FullScreenEvent.FULL_SCREEN, handleFullScreenChange );

    And then in handleFullScreenChange() you can deal with Stage.scaleMode

  • If in full-screen mode, the aspect ratio of the rectangle you sent to Stage.fullScreenSourceRect doesn’t match the aspect ratio of your display, Flex uses colored “bars” as filler to make up the difference. If you don’t like the color of the bars, change the backgroundColor of your app.

Click the screenshot to open a demo app, including view source:



Breaking out of the ‘page-centric’ web

I was recently forwarded a link to a “New Fandangled” Flex Web E-commerce site. After spending a few minutes of precious project time going through the site, one thought kept going through my head… ‘why did they develop this in Flex?’ With the last few projects I’ve seen, it seems that thought comes up a lot. Sure the site had nice animation, allowed you to preview rich content like music clips and cover art and in general was ’slick’ – but does that really leverage the power of Flex 3?

The navigation was page-centric – breadcrumbs abound – and transitions between ‘pages’ (although pretty) were not intuitive. Having developed web applications for the better part of a decade, I think most developers and project managers are still shackled to the limitations of HTTP and HTML. With the advent of Flex 3/AS3 there is no longer a need to suffer from ‘page-centricism’ to consider that every state change is a page change, and that user events require server call-backs. There needs to be fresh thinking – from the inception stage, throughout storyboarding and on to design and architecture. Flex 3 represents new opportunities for Information Architecture.

We were involved in a project for a large telecom that really demonstrated the departure Flex 3 could take from a traditional web application. There were complex graphs, geographic locations and tons of data being represented to the user in a very intuitive way. If I would come up with a term for the design, it would be ‘Interest-Centric’ – the user actions, displays, transitions, etc. were all driven by the user’s area of interest. The power of the AS3 event model and the state handling in Flex allowed our team to free ourselves from worrying about navigation breadcrumbs or ‘page’ transitions. Moving from one section to another rearranged the entire display, so that other sections were still available, but the area of interest was font-and-center.

We can gauge the progress of the Flex development community as a function of how far Flex apps diverge from traditional web applications. “Pages? We don’t need no stinkin’ pages!”