360 Flex - Day 2 (Tuesday) - Live Blogging

As you saw yesterday afternoon I didn’t blog too much, so let’s how today goes. The party last night was really fun, lot’s of networking, rock band playing and just a nice general geek atmosphere.

Evolution of RIA Design Principals

Right now the “Evolution of RIA Design Principals” panel is about to start.

Panel is:

  • Chet Haase – Senior Computer Scientists at Adobe
  • Bill Scott – Director UI Engineering at Netflix
  • Ehud Waizer – SAP
  • Paul Guirata – Catalyst Resources

Context: oriented to customer facing applications. Not games.

Chet Haase

He works on effects at Adobe. Effects used in a subtle way can make the user more effective.

What are the top 3 rules

  1. Transitioning
  2. Anticipatory
  3. well-timed.

Don’t Lose the User.

Bill Scott

Principles for Interesting Moments

  • Input where you output
  • Require a light footprint
  • Stay in the flow
  • Offer invitations
  • Be reactive
  • Use transitions

Paul Giurata

Modular
Reusable

  • Panel vs Page
  • Panels being reusable application(s)
  • Panels being re-used down to the code level
  • Panels potentially being entirely separate applications

Bill mentions Christine Perfetti has a few videos on usability testing.

Compiled Favorite Principles

  • Transitioning (Animations)
  • Anticipatory
  • Timing
  • Don’t Lose the User
  • Interesting Moments
  • Modular
  • Reusable

Consistency .via. developers working from the same code. Not a style guide as it’s open for interpretation.

Whats New in Flex 4 that’s NOT Spark! – Deepa Subramaniam

Deepa was on the engineering team for 7 years and now just got promoted as product manager.

She will put the slides on her blog. So I will go easy with the notes.

We will talk about:

  • Enhanced States
  • Pixel Bender Integration
  • Text (TLF)
  • 2-way Data Binding
  • Advanced CSS
  • OSMF
  • MXItemRenderer
  • RSLs
  • Charting Enhancements
  • ASDoc
  • MXML Vector
  • Compile time FXG Optimization
  • Improved Compiler

2-Way Databinding

Inline declaration using the syntax, @{bindable_property}

<s:TextInput id="t1" text="@{t2.text}" />
<s:TextInput id="t2" />

Enhanced States Syntax

  • AddChild/RemovedChild replaced with includeIn/excludeFrom
  • State Groups
<m:states>
 <m:Sate name="A"/>
 <m:Sate name="B"/>
 <m:Sate name="C"/>
</m:states>

<Button label="b1" includeIn="A,B" />
<Button label="b2" includeIn="C" />

Text

  • FTE – Flash Text Engine in FP10
  • TLF – Text Layout Framework, set of ActionScript classes build atop FTE. Is XML-based markup

Each text element maps to a class


flash.textLayout.elements.DivElement

flash.textLayout.elements.ParagraphElement
flash.textLayout.elements.SpanElement
flash.textLayout.elements.TabElement

TLF Partitioning:

  • Simple, plain text
  • Rich text
  • Rich editable text
  • Rich, editable, selectable text

Pixel Bender Integration

  • Pixel Bender: language for hardware-indepdent image processing algorithm
  • Shader: compiled instance of a Pixel Bender kernel
  • Flex introduces the ShaderFilter class. Simplifies pixel bender such that they can be invoked in MXML

Advanced CSS

  • Flex 3: type and class selectors
  • Flex 4: Multiple class selectors, id selectors, descendant selectors, pseudo-selectors, pseudo-state selectors

Eg pseudo-state selectors

@namespace s "library://ns.adboe.com/flex/spark";

s|Button:up {
  color:#000000;
}

s|Button:down {
  color:#FFFFFFF;
}

OSFM

  • Generic framework for managing media in Flash applications
  • Offers playback functionality, exposed in the Spark video component
  • replaces FLVPlayback
  • org.osmf.media.MediaPlayer
  • Play, pause, stop, loop, seek, volume, autoLoop, autoPlay, …

MXItemRenderer

  • Spark ItemRenderers for use with MX List-based components
  • Extends Spark ItemRenderer and handles the contractual differences

Charting Enhancements

  • FilterFunctions for chart types. Can specify custom filter functions against the data set
  • Inverted axis support
  • RendererDirection in PieSeries
  • Performance related bug fixes

RSLs

  • By default RSL is turned on.
  • Default linked HelloWorld is 78% smaller
  • How to monkey patch when using RSLs. If you monkey patch you loose the benefits off RSLs
  • Flex is split in 6 RSLs: textlayout, osmf, framework, spark, sparkskins, rpc

MXML Vector

  • New type
  • Like Arrays but contents are restricted to a single base type
  • Faster than array
<fx:Vector id="myVector" type="String">
  <fx:String>hi</fx:String>
  <fx:String>bye</fx:String>
</fx:Vector>

Compile-time FGX Optimization

  • FXG directly to SWF representation
  • Faster and smaller
  • .fxg or past FXG into an MXML Component uses compile-time FXG Optimization

ASDoc

  • Comments in MXML
  • Support DITA creation
  • Max, Win, Linux

Improved Compiler

  • Incremental compilation. 50-80% better
  • Full compilation: 30-40% better (large apps)
  • Compiler Memory Usage: large apps are 30% better. multi-project apps are 70% better. Small apps are similar to Flex 3
  • Posted by Daniel Wanja Tue, 09 Mar 2010 19:19:08 GMT