~ February, 2006 ~


Evolution of a feature – layout constraints

We spend a lot of time here on the Flex / Flex Builder team arguing over exactly how each piece of the framework should work, and how the syntax should look.

I thought it might be interesting to have a glimpse into how some of these features evolve, and why. I’m picking a particularly controversial example: layout constraints.
More »


MXML text completion control v. 0.5 (aka down with combo boxes!)

I’ve always been frustrated by the way HTML applications use pull down menus. How many times have you had to pick a country out of a huge pull down menu? Do you use the mouse to scroll down to the country? What about using the keyboard? You have to keep hitting the same key over and over. Neither approach is easy.

Meanwhile, text fields that offer completion hints are starting to become standard for Flex and AJAX applications. Typicaly, these are used to let you quickly pick things that you’ve already typed into the box. They are not used for picking, say, a country from a list of countries.

I believe text input fields that offer hints for possible completions should be used instead of combo boxes 95% of the time. Down with combo boxes!

1) When you want to use the mouse, it is just as simple.
2) When you want to use the keyboard, it gives you better feedback on what you have typed already.
3) It gives you an obvious affordance to “start over” when you’ve made a typo.
4) It gives you more immediate feedback.

Here is a relatively simple version of a text completion control for MXML. Unlike most versions of this type of control, this is also optimized for the above case: picking from a list of predefined strings.

[Sample removed. Please download the new version instead]

When you want to pick from a list of predefined strings, just supply the list of all strings as the dataProvider of the control (just like how ComboBox works), and set the “mustPick” flag to true.

Let me know what you think. Are there bugs? Do you think the heuristics are wrong? Is this a good idea in general?

P.S. I’ve also had to include some other random classes as part of this. I plan on officially distributing these classes and other classes once they are more baked.


10 favorite things about Flex Builder Beta 1

My 10 favorite things about the new Flex/Flex Builder beta

10. Auto-import (use autocomplete on a class name, and the class is imported if needed).
9. Percentage widths now work when changing states.
8. Able to launch multiple debug sessions (handy for testing FES applications that use messaging)
7. Code hints for classes on your class path! (woohoo!)
6. Open type (Ctrl-Shift-T and type the first few characters of your class)
5. Quick outline (Ctrl-O and type the first few characters of your variable/function to jump)
4. Center snapping and center constraints.
3. Goto definition (ctrl-click on classes, variables, etc).
2. Flex Enterprise Services (see http://labs.macromedia.com/wiki/index.php/Flex_Enterprise_Services:Debugging for debugging hints)
1. Startup performance!