10 Replies Latest reply on Oct 26, 2009 8:37 PM by Jason San Jose

    More feature requests. Please vote or add your own!

    mewk Level 3

      Hi, I posted some feature requests before and had some marginal success (thank you Sameer!!), and so I thought I would try again and scribble down some more thoughts for you all.

       

      The list is a little exhausting but by no means exhaustive (11 in total). If you see anything you agree with, please comment on the issue or add your own if you want.

       

      1. Filter code hints by hierarchy

      Motivation: Code hinting in the actionscript blocks is unnecessarily long (you get properties and methods extending all the way back to Object) and the developer might be aware of which class they want to search on (perhaps they created a custom component or are rounding the corners of a button...).

      Recommendation: Place a hierarchy anchor chain at the bottom of the code hinting list. Clicking an ancestor class filters the methods and properties to that class. Keyboard shortcuts apply: 0 filters to current class, 1 to the parent class, and so on.

       

      2. Debugger: Tracing Events

      Motivation: Can be difficult to follow events as they are dispatched from one component and received in another.

      Recommendation: Would like to be able to tag events (think GFP), follow the current target chain, see which objects are listening for the event and which objects actually pick up the event. Also, would like to be able to follow a different event midstream if the event is part of an event cascade.

       

      3. Spark Components: Give me <s:DataGrid>!!

      Motivation: Adobe is fully aware that spark needs to catch up in parity with halo components (I saw an employee conference vid and that was the word she liked: p-a-r-i-t-y ). And I think the plan is to have parity by flex 5. This could be the communities last chance to clamor for another spark component before then. My vote is for datagrid.

      Related Question: Will the SDK nightly builds introduce more spark components before flex 5? And if yes, will those components display in the components window of FB?

       

      4. Metadata support

      Motivation: There is no code hinting within the <fx:Metadata> block and the hinting it does provide is broken i.e. type "[Event(", "Ctrl+Space", then FB thinks I'm trying to instantiate the event object, sigh.

      Recommendation: provide a drop down list for all supported flash metadata types. Also support code completion (type = "flash.events.E" --> "flash.events.Event" and within Embed tags show all the supported mimeTypes (text/xml, application/octet-stream, etc).

       

      5. Flex Compiler: Additional arguments

      Recommendation: Add a link to a list of all the additional arguments one may add to the compiler (e.g. keep-generated-actionscript, etc).

       

      6. DCD: Improved communication between flash date objects and sql date types

      Motivation: Current formatting difference between flash and mysql make the common task of date entry/extraction more difficult than it should be. This was a recent topic of discussion (thanks lathoudero) and Mayank asked for recommendations, so here is my input.

      Recommendation: Add toSQLDateString(), toSQLTimeString(), toSQLTimeStampString() methods to the Date class. Also, when configuring the return type, the wizard should go beyond recognizing just a string, if the string is a properly formatted date string, then Date type should be an option. Conversion between string and date should be done automatically.

       

      7. Design view should support more than just a white surface

      Motivation: place the following code (<s:Label color="white" text="hello world" />) in a component with a transparent background and tell me if you see anything.

       

      8. Layout containers should respect some constraints (e.g. VGroup should respect left/right properties of its child elements)

      Motivation: try this <s:VGroup width="200"><s:Label left="20" x="20" text="hello world" /></s:VGroup>. Yep, it doesn't work and I don't see why it wouldn't; left/right/x properties have nothing to do with the "verticality!!" The workaround is obvious, but! (yeah, just but!)

       

      9. Containers with constraint-based layouts should support better transitions between states.

      Motivation: try the following code:

      <?xml version="1.0" encoding="utf-8"?>
      <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768">
      
        <fx:Script>
          <![CDATA[
            protected function clickHandler(event:MouseEvent):void     {
              if (currentState == "state1") {
                currentState = "state2";
              } else {
                currentState = "state1";
              }
            }
          ]]>
        </fx:Script>
      
        <s:states>
          <s:State name="state1" />
          <s:State name="state2" />
        </s:states>
      
        <s:transitions>
          <s:Transition fromState="*" toState="*">
            <s:Sequence>
              <s:SetAction property="visible" value="false" targets="{[box2,toy2]}" />
              <s:Parallel targets="{[box0, box3, toy0, toy3]}">
                <s:Move  duration="500"/>
                <s:Resize duration="500"/>
              </s:Parallel>
              <mx:Pause duration="100" />
              <s:SetAction property="visible" value="true" targets="{[box2,toy2]}" />
            </s:Sequence>
          </s:Transition>
        </s:transitions>
      
        <s:HGroup horizontalCenter="0" y="200" gap="50">
      
          <s:Border id="box0" width="100" height.state1="220" height.state2="340"
                    backgroundAlpha=".5" backgroundColor="gray">
            <s:Border id="box1" width="100" height="100"
                      backgroundColor="red"
                      click="clickHandler(event)">
              <s:Label text="click me" verticalCenter="0" horizontalCenter="0" />
            </s:Border>
            <s:Border id="box2" y="120" width="100" height="100"
                      backgroundColor="green"
                      includeIn="state2"/>
            <s:Border id="box3" y.state1="120" y.state2="240" width="100" height="100"
                      backgroundColor="blue" />
          </s:Border>
      
      
          <!-- we should not have to include height for a vertical layout, but remove the properties
               for yourself and see what happens -->
          <s:Border id="toy0" width="100" height.state1="220" height.state2="340"
                    backgroundAlpha=".5" backgroundColor="gray">
            <s:layout><s:VerticalLayout gap="20" /></s:layout>
            <s:Border id="toy1" width="100" height="100"
                      backgroundColor="red"
                      click="clickHandler(event)">
              <s:Label text="click me" verticalCenter="0" horizontalCenter="0" />
            </s:Border>
            <s:Border id="toy2" width="100" height="100"
                      backgroundColor="green"
                      includeIn="state2"/>
            <s:Border id="toy3" width="100" height="100"
                      backgroundColor="blue" />
          </s:Border>
      
        </s:HGroup>
      
      </s:Application>
      

       

      10. <s:Scroller>

      Ex: In Beta 1 you could wrap a scroller around a list component, but now you cannot (the child element must impliment IViewPort). So some containers are wrappable and others are not. I get the reasoning, I really do, but wise grasshopper suggests the adobe team seek consistency.

       

      11. Cairngorm

      What's the dilly? The documentation is only 20% complete and the cairngorm forum seems totally dead. Just so you know, you have at least one developer hoping to read more about the guidelines and best practices!

       

      @pd, I know, go file these as feature requests... Just feeling a little lazy! Besides, submitting to the bug base is a little like roulette: totally depends on who is assigned to your case -- sometimes it feels like sending messages into a black hole; the forums are much more active

       

      and while I'm writing this overly long post, congrats to David for his rise (if not fleeting rise!) to the top of the leader board.

       

      Thanks for reading. Really been enjoying everyone's discussions,

       

      - e