Flash Needs 3D to Compete with WPF

It’s a sad statement to have to make, but it’s true. Since I’ve started learning WPF for work, I’ve been pretty impressed with the features, especially the 3D support. A non-programmer can easily create and manipulate 3D objects as well as project live data or even video onto those surfaces. The actual 3D geometry isn’t anti-aliased so it is pretty jagged, but using 2.5 D like we have in After Effects, is flawless. This is something that Flash is going to have to support because I envision every company wanting their product represented as a 3D object that can be manipulated in all directions. But at the very least, we need to have After Effects 2.5 D control.

Below is one of the test examples I made over at theWPFBlog.com. It consists of a 3D rectangle that has video playing on one side, and has a bio, photo, and timecode readout on the other. The timecode is dynamically being updated on the 3D surface. There is also a 3D progress bar, which is also a 3D rectangle, which adjusts itself based on the video playhead. You can also click and drag to rotate the panel in 3D space. You can right-click and drag to scale it up or down.

Click on the photo below to check it out. You will need IE 7 and the WinFX runtimes installed to view it.

You can do it Adobe!
Lee


Commentary

  1. JesterXL says:

    ….I envision every company wanting their product represented as a 3D object that can be manipulated in all directions.

    If that is the case, then I’d still be a Director developer… but they don’t, and am I’m not.

  2. felix says:

    The screen grab looks nice (I don’t have time right now to install the required components to test it out).

    Personally, I don’t see 3D as a must-have feature for a web application plugin. 3D is great for some animation effects but it is not that useful for navigating between real-world documents. (notice how real world magazines and video screens are flat?)

    Also, there is a big difference in CPU requirements between rendering a few simple shapes in 3D, and any kind of useful 3D simulation of a complex object. For example if you were buying a laptop online would you rather look at a nice hi-res image or a chunky 3d model (even the XBOX-360 cant render 3D objects realistly).

    Finally, lets not forget Shockwave 3D which was tacked onto the schockwave plugin at great expense (in dev cost and filesize) only to be ignored by the vast majaority of developers (3D development is hard).

  3. Lee Brimelow says:

    Well if you look at the North Face demo you can’t deny that it’s an amazing way to deliver video and products. And WPF is much easier to use than Director. Trust me, I want Flash to always be the top dog, but it’s foolish to ignore the fact that WPF has some amazing capabilities.

    All I’m saying is that a complete lack of 3D support in Flash is not going to cut it down the road. 3D shouldn’t be reserved for Actionscript ninjas.

  4. Jon B says:

    JesterXL – I see both points of view, 3D has pulling power for computer interfaces simply because it’s not been done much so far – it’s a gimmick and most of the time doesn’t add any functionality whatsoever – however you can bet that once a company director has seen a site utilising 3D that they will want it too – clients are like that and often make bad design/development choices that they can’t be talked out of.

    However I do see a time when 3D interfaces become more common and for usuable reasons – various flavours of linux and Vista and Probably OSX all use 3D elements in their interfaces to create a more ‘real world’ metaphor and therefore make things easier for people – or do they just do it because it looks cool? Probably a bit of both. Either way tho the day will come where 3D will need to be embraced even if it is only a fad.

    I personally find 3D not very usable on a computer simply because a screen is flat – flat like paper, so short of turning it over (which many OSs have flippable components or windows) it starts to get complex and unintuitive – however, if screen displays change or maybe just forms of input and interaction change then maybe 3D interfaces will really have an edge – most of the time they are just slower and more clumsy than a well thought out 2D layout.

  5. Jon B says:

    Oh, I would still love to see 3D implemented in Flash properly (for speed reasons) – it is very fun to play with 3D, even pseudo 3D effects like parallax scrolling would be made easier with a proper 3D layout method – even if you can’t rotate on the x or y axes just ben able to give things a proper depth (like with toon boom) would be useful for some more creative artistic/visual sites and for animation purposes.

  6. Michael Prescott says:

    “Actionscript ninjas” I like that and do agree, Lee. I suppose I’m an actionscript ninja, but would still love to see easier methods for creating cool 3D features in my software.

  7. JesterXL says:

    I total agree. When I used it awhile back, I thought it was neat, and really think it gets a lot of unfair (by association) flack.

    Director’s 3D in my experience required a lot of intimate Director knowledge, a lot of needless Lingo scripting knowledge, and was not seemlessly integrated with other project’s formats at all; it required a lot of work for the 3D guy in Max for example to “make Director like it”.

    I’ve said before I think Flash needs 3D.

    The only problem I’ve had in the past is justifying the designer’s time + mine. When a 2D designer’s comp took significantly less time, it was really hard to justify the 3D route. If Sparkle does improve that workflow enough to close the gap enough to put it on more fair visual battle terms without the time & resource factor getting in the way, then hell yeah! That’ll invalidate my previous comment. I think a lot of 3D interfaces & designs are way more powerful, even subtle implementations, and the usability can be done right. It’s just up to Expression to truly make that workflow extremely better than it has been: aka, significantly less time and resources.

  8. Lee Brimelow says:

    I totally agree that the actual 3D geometry looks kinda crappy due to the lack of anti-aliasing. I guess what I’m referring to is more along the lines of After Effects style of 3D. People have created great Actionscript libraries for doing things like 3D carousels and they are great to use. But I see no reason why Flash can’t have support for a Z axis so that it opens it up for more people to use. I mean matrix transformations have to be the hardest aspect of Actionscript to understand, even for an expert.

    I agree that video or image sequences will always be the best for high-quality 3D views, but I’d like to be able to say myClip.z = 200; :-)

  9. Paul Neave says:

    I totally agree with you Lee. Flash would every base covered if it could render 3D via OpenGL or DirectX. In the meantime though, we’ll have to use Sandy: http://sandy.media-box.net/

  10. Jono Halse says:

    OpenGL and DirectX support is what Flash needs, but it has to be more accessible than Director version of 3D.
    Also who needs Sandy. Check out my entry in the international flash developer derby.
    http://www.custommedia.co.nz/swfz/

  11. Lee Brimelow says:

    Wow that’s great! I didn’t even know about this. I guess that’s kind of the problem. If Adobe could at least bundle some nice AS3 3D classes with docs it would be a great start, even if they don’t implement a true 3D engine.

  12. Sean Foushee says:

    You will need IE 7 and the WinFX runtimes installed to view it…

    The problem with using WPF is the above requirements. IE 7 will take a long time to catch on as many won’t care a new version of IE is available since they’re happy with version 6 or 5.5 or god help us all version 5.0.

    BTW Lee, my browser couldn’t compile this blog entry as there appeared to be a syntax error:

    [...] but I’d like to be able to say myClip.z = 200;

    j/k

    And yes that would be awesome! :-)

  13. Lee Brimelow says:

    Well it requires IE 7 right now. They already have a Firefox plugin although it hasn’t been released yet. They will have plugins for all browsers once it gets released.

  14. John Dowdell says:

    If 3D solved all, then Shockwave Player would have stayed at the top of the heap, oui? It’s already installed on half of all consumer machines, more than all the VRML players combined.

    The Apollo Project, expected towards 2007, promises to blend together SWF, PDF, and HTML in various ways. Acrobat 3D includes a realtime 3D engine similar to Shockwave, and is already in wide use in manufacturing.

    For the WPF stuff, so much depends on what Microsoft eventually does ship, and what consumers then adopt. Hard to talk meaningfully about it yet.

    jd/adobe

  15. Lee Brimelow says:

    Yeah I completely agree that it’s too early to talk about WPF as far as a final feature set goes. But it’s also foolish to ignore what it does right as compared to Flash. My hope is for Flash to continue to grow and build upon the AMAZING Flash 8 release. I’m hoping that Flash isn’t going to try to compete with WPF when it comes to desktop applications. Flash should continue to be an interactive web tool and not try to don too many hats.

    I can just say that their are a lot of people out there expecting to see the After Effects animation and 3D system inside of the next release of Flash. I for one will be dissapointed if there isn’t time-based, property animation and a Z axis.

    Either way, WPF has a tall order in competing with Flash and it will take a looong time. But the reality is that if you are an interactive designer, you will probably need to add WPF to your toolkit. Like I said, we are already using it on production projects here at Frog.

    Hopefully nobody confuses my open mind on WPF as a bad thing. In the end I think it will end up making Flash better.

    Lee

  16. felix says:

    Acrobat 3D?! – *shudder*

  17. Quidam says:

    > You will need IE 7

    Hahaha.

  18. Ben Cline says:

    No doubt its cool but with the ever growing Apple industry, it seems like to much of a push make it a cross-platform program anytime soon. No offense, but I hate windows, most especially IE for many reasons all to common to a web designer. For the sake of all of us MAC freaks, hopefully Adobe can out do them!

  19. Lee Brimelow says:

    I uderstand your frustration with IE. I hate it too. I’m a Firefox user. But WPF will be able to be in every browser just like Flash. And the technology is completely open and XML-based, so there will be plenty of dev tools for Mac.

  20. Karel says:

    Hi again,

    what exactly do the WinFX runtimes? I expect Microsoft to integrate these runtimes into their OS and I am curious about it. Will it be safe enough, just like Flash?

  21. John Dowdell says:

    “I can just say that their are a lot of people out there expecting to see the After Effects animation and 3D system inside of the next release of Flash. I for one will be dissapointed if there isn’t time-based, property animation and a Z axis.”

    That’s a weird expectation to set up for others. The next version of the Adobe Flash timeline-based authoring tool (Macromedia Flash MX etc) will be running content on Adobe Flash Player 9, due for release Durn Soon Now. Flash Player 8 added visual expressiveness; Flash Player 9 adds order-of-magnitude increases in logic and scripting. Neither has a realtime 3D renderer built in, which in Shockwave’s case was about half-a-megabyte.

    Apollo, maybe, Flash Player 9, no way… it’s already in late public beta.

    For timelines, I’d expect more of an AfterEffects-like timeline in AfterEffects (w/ better SWF export), or new tools, than adding a second timeline model to the “Flash Pro” line of creation tools. People argue about timeline models all the time, so it’s important to accomodate the variety of viewpoints and workflows out there. (Caveat: I have not been involved with Blaze, and have instead stuck to public knowledge.)

    Even beneath timelines, the idea of specifying animation by time or frames (states) is a key issue. MacroMind Three-D introduced parameter-based keying; Macromedia Extreme 3D found a way to interconvert between time-based and frame-based animation. People like both models, so it’s hard for me to think at this date that one is always better than the other.

    “But WPF will be able to be in every browser just like Flash.” Lee, wait until you see it happen. Just because a product manager predicts the future does not mean the world will proceed that way. You can make your bets as you see fit in the meantime, but it’s essential to recognize the implicit probability in such statements, and that you’re making a bet.

    “Hopefully nobody confuses my open mind on WPF as a bad thing.” No worries… you care about stuff, want to see stuff happen, and that’s good by me, no matter how you place your bets. S’truth. 8)

    jd

  22. Lee Brimelow says:

    I’m not trying to setup any expectations for others. This is just what a lot of people that I have talked to are hoping for, especially people who use After Effects regularly. And for those that say that 3D isn’t that important, just ask any regular After Effects user if they could do without it. 3D isn’t just for cheesy effects and can be very powerful for things like 3D data plotting and visualizations.

    As for WPF, my take is that it is a very cool tool that has a lot of potential. I’ll always be a Flash guy, but as I mentioned before, we are already using it at work for some very big clients. I’m not making forecasts or bets about the future. For me, WPF is something that is here and I have to learn it.

    I know Blaze will be incredible and I’m sure that it will always stay one step ahead of the pack. But 3D is something that Flash should have and is a logical extension of the tool in the future.

    Lee

  23. nz says:

    Isn’t it fairer to compare Flash vs WPF/E (e.g. both are lightweight cross-platform UI delivery technologies) rather then with full blown WPF?

    But agree, imagine if Flash had cross platform hardware accelerated 3D..*drool*

  24. Ben Cline says:

    I suppose I’m warming up to WPF as long as there ends up being solid cross-platform compatibility, and of course WPF application for MAC users. I guess old habits (flash) just die hard, it will be interesting to see what happens.

  25. >> Also who needs Sandy. Check out my entry in the international flash
    >> developer derby.
    >> http://www.custommedia.co.nz/swfz/

    Well maybe someone who wants to create some simple 3D animation in Flash7 or 8, now, and freely…

    The 3D rectangle you have done seems nice (don’t have IE here), but also seems feasible in Flash.

    I also dream about a web with more 3D applications as you do. It’s getting better en better, just lets time doing is job :)

  26. Jez Burns says:

    Came across this page googling ‘future 3d support in Flash’, found some really interesting arguments, so thought I’d have my two cents worth.

    The arguments that 3d implementation in Flash (an on the web in general) would be a gimmick- “not that useful for navigating between real-world documents” strike me as naive, and similar to the general anti-bitmap, anti-flash feeling amongst ‘serious’ web developers back in the day. How we laugh now.

    Firstly, if there was such lack of demand for 3d in Flash, why do designers go to so much trouble and effort to create psuedo 3d effects? Do they actually enjoy spending days animating dozens of layers and writing complex actionscript?

    Secondly, claims that end users would find navigation in a 3d environment unfamiliar and difficult are laughable. Look at any teenager playing a 3D first-person shooter- I’ll be damned if they’re not effortlessly interacting with a complex 3d environment. Furthemore, new operating systems are integrating 3d features to allow more information to be accessible in a visually attractive way in a small screen area. Do you think OS developers would spend millions on R&D into these systems if they didn’t think they had practical real-world applications? Actually, don’t answer that. The public have no problem with 3d, it’s just up to developers to implement it wisely.

    As far as demand for 3d from clients goes, of course they don’t want it if end users can’t see it yet. Implementation of 3d features into future versions of Flash won’t mean it’ll be compulsory to use them. Like other developments in Flash, it’ll trickle down with time- more adventurous developers will use the features, pushing the public into downloading

  27. Jez Burns says:

    …new player versions. Gradual adoption and saturation of 3d capable players will follow and clients will demand flash sites making use of 3d effects. That’s not to say it won’t give developers headaches, but hey, everything does.

    With the rise of broadband, users won’t think twice about downloading fairly large players featuring good 3d engines (although there’s no good reason for them to be large) if it means access to new exciting content. End users are already familiar with the Flash player (more so than shockwave). Likewise, developers are more familiar with Flash than Director, so take-up of 3d enabled flash is bound to be more successful than previous attempts at 3d on the web.

    Finally, as most developments in Flash have been clumsy and gradual, why expect 3d to be any different? If Adobe don’t start somewhere, it’ll never be done and a valuable opportunity will be missed. Any features will be better than no features, even the ability to apply basic 3d principles like perspective to flat movieclips, or wrapping objects in shapes without having to resort to ‘psuedo’ anything.

    Anyway, that’s my rant. Thank you for listening.

Leave a Comment