Gumbo Themes
The main goals for the Gumbo release of the Flex SDK can be divided into 3 themes.
Design in Mind
The Flash Player is the delivery mechanism for some of the most creative work to be found on the web today. Flex applications however have gained a reputation for looking too similar to each other, as many developers choose to use the Flex default look and feel (known as Halo) as opposed to applying extensive styling or skinning. Our research shows that only 46% of our frequent Flex users do extensive skinning while only 22% even do major style adjustments. This is not to say that customization never happens, but we have found that it remains too challenging to create a truly custom experience. It is therefore a priority for Gumbo to make easy customization of Flex application experiences the norm instead of the exception.
The easiest way for a Flex developer to make their Flex application look good should be to leverage the skills of a designer. Developers as a generalization are not known for having superior design skills (everyone knows the term "programmer art"). Many shops have team members dedicated to product design and experience. It is the goal of this theme to make it easy for the designers and developers to work together. Designers tend to use tools like Creative Suite to design comps that a developer can use as the guideline for an application, and provide art to be incorporated into the application itself. It is important that designers continue to use familiar tools and metaphors, rather than introduce a completely new set of workflows.
Key requirements:
- Provide a component and skinning architecture that invites easy tool participation.
- Adjust the MXML language to support more toolability and make it easier to describe experience-oriented features such as states and transitions.
- Create a format that promotes the features available in the Flash Player and is usable by tools to describe various graphic assets, including skins.
- Improve existing experience-oriented features such as states, effects, and layout.
- Gumbo should remain compatible with Flex 3 in the same way that Flex 3 was compatible with Flex 2. A Flex 3 app should be able to be recompiled with Gumbo and have few if any failures. A compatibility flag will allow runtime behavior in Gumbo to mimic that of Flex 3.
- Halo and new Gumbo components should be able to co-exist in not just the same Flex application but the same MXML file. A simple adapter is acceptable to bridge the models without bloating code size, but where appropriate this should be done automatically.
Relevant features:
- FXG
- Runtime graphics classes to represent low-level shapes and containment
- MXML language changes to better support toolability
- New states syntax
- New components that fit the architectural model for easy skinning
- New effects and transitions
- New layout models including assignable layout and virtualized layout support
Developer Productivity
Flex addresses a large number of use-cases already and is being asked to support more. Customers expect features they have grown accustomed to in other languages, and the SDK needs to continue to improve in meeting standard platform expectations.
Key requirements:
- Significantly improved compiler performance in both incremental and full compilation. 5x is an aggressive target goal.
- Add commonly requested features like 2-way databinding
Relevant features:
- Compiler performance
- Binding improvements
- Automation support in AIR
Framework Evolution
The Flex framework is expected to mature over time as well as take advantage of new features in the Flash runtimes as they become available. This theme is meant to capture common requests in the ActionScript part of the framework as well as introduce features that highlight the Flash Platform's strengths (both new and existing).
Key requirements:
- Full support for bi-directional text and layouts in the Halo and Gumbo components.
- Support for prominent Flash Player 10 and AIR 1.5 features.
- Exposure of new high-fidelity text features
Relevant features:
- New text controls
- BiDi support
- Video component support
|
 |