Building the V3 Components for Flash 9

I’m really excited to finally be able to talk about the fact that we are working on the v3 components for Blaze (Flash 9) together with Metaliq and Adobe.

At the FlashForward Austin keynote, Mike Downey showed a number of new features in Blaze (Flash 9) including enhanced PSD (PhotoShop) import (yay!), new timeline tweening to actionscript functionality (looks super cool!), and the new component set built entirely in ActionScript 3. That means that I can now tell people what I’ve been so busy working on, and why I’m not blogging much or releasing new experiments on gallery incomplet. [Moved to incomplet.gskinner.com]

I can’t talk about specific details yet, but I can say that we are applying everything we learned about developing fast, light components from mCOM/GLIC to this new set (don’t worry mCOM owners, the v3 documentation will be a LOT better than mCOM’s initial offerings). I can also tell you that these new components will be much easier to skin visually, without touching code.

We’re having a blast coding these components, and are really enjoying working in ActionScript 3. There’s still some really frustrating moments, but overall I love the new language – switching back to AS2 is getting more painful by the day. Working with Metaliq and Adobe has been awesome – everyone is really dedicated to the project, and I’m confident that together we’ll deliver the best component set for Flash yet.

Hopefully I’ll be able to post some more specific info soon. In the meantime, I’d love to hear what you’re hoping to see in the new component set.

Grant Skinner

The "g" in gskinner. Also the "skinner".

@gskinner

32 Comments

  1. I’ve been using Flex 2 alot lately and would love to see some of the Flex layout components in the V3 component set. Like divide boxes, horizontal and vertical boxes, grids, panels, etc.. I really love how fast and scalable they are to use.

    Mainly, I just love the constraint based layout built right into each component. Now they are built on the flex framework, but it would be nice to have something, if not in just a basic form, like it in the V3 components.

  2. I am so thrilled that Adobe has the right people on the job for the components. It has been a long wait, but I have full confidence in you and Beau. Good luck the rest of the way and do us proud.

  3. I can’t wait to see how (or if …) Adobe will implements an API to let VM1 communicate with VM2 to use AS3 components with VM1.

  4. Will we see some component tutorials from you? Perhaps some AS2 tutorials, then jumping into AS3?

  5. Wow! Really great news Grant! I can’t think in a better person to make the best v3 components than you man!

    Btw, is great that Adobe think in provide us with a new component set to replace v2 in Flash 9 since Flash 8 brought us the same v2 than MX2004 and that was very bad for most of us working in large apps.

    So, Congrats to both: Grant and Adobe to bring us so great news!! : ))

  6. It would be great to see a flash wysiwyg component

  7. I’d like to echo Dustin Andrew’s comment about Flex component counterparts. I’ve been really spoiled by them.

  8. I just want to see the time from announcement to release be shorter than with GLIC.

    Ah, c’mon- somebody had to say it 🙂

    I think it’s great that Adobe has pulled you guys in to help on these- looking forward to using them!

  9. Jed – nice, you made me laugh out loud.

    Everyone – Thanks for all the positive comments, and the feedback.

    Jimmy – I’d definitely like to do some tutorials at some point, but probably not in AS2 (I never really got into the v2 components).

    Tek – The v3 components will definitely not run in AVM, they are built in AS3, so will only work in AVM+ (fp9 and up).

  10. I’m somewhat confused? Adobe is about to release a V3 Component set that is different from the FLEX 2 Components?

    I would of thought that the FLEX 2 Components would of been the foundation (get it out the door). Then the FLASH 9 IDE is the follow-up build to the component set (obviously with a focus on design rather then business grade functionality) and then FLEX 2.5 or 3.0 would eventually take that and work with it.. sort of keep the whole componentry ticking over between two different IDE contexts?

    Is this the case or is the V3 a totally seperate build?

    If that’s the later, then I’m confused as to why that would occur?

  11. Scott – I can’t currently comment on any of that, but hopefully it will all become clear in the not too distant future.

  12. Hi Grant,

    it’s been awhile 🙂 Are there any plans to update the component set for FMS as well? 🙂

  13. Flash Components vs. Flex Components

    Been so busy with my current consulting gig up in Detroit, I haven’t had the time to keep hardcore tabs on the community. What I HAVE seen is a good public reaction to the v3 Blaze (Flash 9) components that…

  14. Requests!

    A drag and drop editor for applying skins..

    Live Preview..

    skinning that supports animation, (so if rollOverr and rollOut skins both are animations, the switch between over to out doesnt f*** up the animation)..

    I’ll think of more over lunch..

    Again i’m glad you guys are on the job! 🙂

  15. Consistency consistency consistency

    My only request is that if public methods do the same thing on a different component that they are named the same. Oh wait this is not the adobe wish list you probably already did that! Please make sure that we can properly extend all of your components so that we can add additional application specific features!

  16. Grant > The v3 components will definitely not run in AVM, they are built in AS3, so will only work in AVM+ (fp9 and up).

    My question was stupid. Indeed, the integration of the components has a too strong implication in the environment of the virtual machine (especially the VM1) do make that possible.

    In fact we were discussing (here in France) that it is quite frustrating not to see something to allow a typed and synchronous communication between the VM1 and the VM2 as Flash and Javascript would do it using ExternalInterface.

    For my part I would like to see something that let AS1/AS2 communicate with the VM2 using an API which authorizes to instanciate (pseudos) AS3 objects in AS2 (like you could do it with the COM/COM+, host API objects in mProjector or Zinc directly in AS1/AS2 code) but it is true that it is quite impossible with components.

    On the other hand I think that it would be necessary to insist for that Adobe release a VM1 VM2 API to let them communicate into the next player. Even if they must use an extends of ExternalInterface to do that. It is my most important wish for the next player release, but everything let me think that Adobe wouldn’t make anything for that.

  17. Grant – please, please, pretty please try and persuade Adobe that the components should be part of the Flash Player so that they don’t have to be included in every damn SWF that needs them!!

    Also, it would be great if the ComboBox auto-sized its width to fit the longest entry, just like the HTML equivalent does.

    Still, enough moaning – great news that you are going to be working on the next component set – I’ve avoided using the components for years because I just didn’t trust the Macromedia ones after having them go wrong on me so many times in so many unexpected ways. Yours I reckon I can trust though!

  18. Hey Grant, It’s great to know that Adobe have got people like you helping to pave the way for how the rest of us will be using Flash in years to come.

    While working on the components, I don’t suppose you want to give Adobe some help with their Project Panel do you? 🙂

  19. —————————————

    //

    // one thing: mouse wheel support on mac!

    //

    —————————————

  20. extensive use of interfaces would be great, that way developers could create their own components and integrate them with the existing ones without problems, the v2 components are really bad in that respect there’s no way to integrate with the framework without subclassing. Flex seems to use this approach so I would have thought you would be as well.

  21. Great news!

    I know a major issue with people is the shear size of the current component set. Just implementing one component would import a good portion of the v2 architecture since all the components are tightly integrated with shared classes. This is great news for application developers who are using many components in their apps as each additional component makes the file size go up insignificantly. Now that we have flex 2’s architecture for this, is there any kind of strategy to keep file size down when just using 1 or 2 components?

  22. Bitacle Blog Search Archive – Building the V3 Components for Flash 9

    […] I’m really excited to finally be able to talk about the fact that we are working on the v3 components for Blaze (Flash 9) together with Metaliq and Adobe. […]

  23. Man am I glad to hear this news! I’ve been so fed up with the existing components lately that I keep thinking about just making my own, but now that your on the case, why bother? The improvements to the skinning will be awsome as well. The ability to easily create a “theme” file or something would be great. Also it would be helpful if you could easily use the same component multiple times and each instance have a different skin. Currently it is a pain to pull that off.

  24. A couple of things that I would like to see in regards to components are:

    a) Better documentation. Mainly examples just examples.

    b) auto-reload when a system file change happens so don’t have to RELOAD from the components pannel when you export components.

    c) “Update” enabled/functional from the library context menu.

  25. Great news indeed – I’m excited to see the goodies.

    I would have to second (or 3rd) the comment about providing some layout managers. I was surprised that this hadn’t been included in 8. Sort of along those same lines – allowing components to resize to fit content dimensions would be super kick butt.

    More robust window components would be nice – minimize, maximize, resizable, …

    Some sort of sequenced redrawing class would be cool too, to redraw/resize multiple nested components when their content changes/resizes.

    ~ my $.02

    p.s. and I want a pony.

  26. I’ve just released some of my own non-based V2 architecture flash (as2/oop) components on my personal blog.

    I´ve played a lot with developing components without the use of the V2 architecture. It´s propably much more work, than developing for the V2 (You have to trick a lot) What´s wrong with it?

    The V2 based components are based on a special filesize concept: Use more, require less!

    In my opinion, most of the flash designer/developer ususally want to use 1 or 2 components in their application/webpages. Let’s say the list and the datagrid component.

    They mostly never use 6 or 7 components, so the concept is defintly based on a wrong assumption.

    (I don´t wanna have 40KB for using a button component, no!)

    So this is what I am mostly hoping to see in the new architecture!

    Another important hope is to see a much more easier way to build a documentation for a component. I am using some DW extensions to build the whole bunch of xml files, which are necessay, or writing it down by myself to build the documentation structure. I am writing all html files down by myself. This could be a lot better!

    And last but not least:

    Make it much more flexible for own ideas and component-developer. Don´t mess it up again!

  27. Thanks for taking this on. I’d like the new components to import into the Flex components panel. I don’t want them to be built into the Player since it’s key to keep it as light as possible. I’d like layout managers and a data pagination component that works with any dataprovider. Clear, concise and straightforward methodology for building custom comps and writing docs for the IDE would be wonderful. Consistency is key — so I’m glad you’re involved.

  28. Hi Grant,

    Congratulations! I had some gut feeling from my Adobe days that you might be doing something like that 🙂

    BTW! In one of recent project, I got an oppurtunity to work with Metaliq components. I was disappointed that source didn’t come up with it. I managed to learn about Metaliq using ASV and again got disappointed to see that it’s not really a framework. We dropped it and made our own framework…

    I understand Metaliq was supposed to be light-weight but it was not up to my expectation… Having said that, I still know you can really build V3 component in best possible manner because of you have loads of experience of real life application development and different use-cases.

    I would suggest balanced use of inheritence and composition… AS3 is amazing language so things would be really neat and clean rather than hackish as it used to be in AS2.

    All the best…

    -abdul

  29. Although this is somewhat unrelated, but since you’re working with Adobe, PLEASE HAVE THEM ADAPT gProject for Flash 9!!!! :-).

  30. Grant-

    I just had a quick question about the components are they going to be entirely open source, or will they be compiled into SWC files?

    Tony

  31. Are you guys ever going to release any information about:

    1. How to build V3 components of our own

    2. Explaining .fla based components

    3. Extending/subclassing existing V3 components

    Or should I give up on Flash and learn Flex?

  32. Hi Grant,

    Are you aware that some of the components such as RadioButton and Button fail (don’t display properly) in Firefox and Safari when WMODE is set to TRANSPARENT?

    I had to create my own Button and RadioButton to work around this.

    Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *