A journal that focuses on Flash Platform development, and a little bit about what I am up to on any given day.

Friday, September 23, 2005

Give us distortion in Flash Player 9!

Well as we all know the Bitmap Data API is one of the most welcome additions in the new Flash Player. Today myself and another developer I work with here, Mike Martin, took it upon ourselves to attempt to create an effect that I have wanted to be able to produce for years in actionscript:








In the above example numbers are between 0-100. 100 being normal and o being totally sideways. Check the half baked perspective!

Mike actually came up with the original idea in Flash 7 and duplicating MovieClips and scaling, so we tried to port the idea over to Flash 8 and the BitmapData API.

Truth is, it is cool but not really that impressive, and we still have a long way to go with it, for example we only are using it on 1 axis right now.

The bummer is that in order to do this, you need to do some processor intensive pixel pushing. I have managed to get fast animations going with it, but not without prerendering all the frames in the background then running an enterframe to play it. Yuck.


Anyways, what I really wish for,(and have since Flash 5) is a MovieClip distortion API. The Bitmap controls in Actionscript are too slow to really allow any hardcore pixel pushing, so why not let the Flash Player handle it.

this is exactly what I would like to see:

MovieClip.setDistortionRect(topleft,topright,botleft,botright);

The result of that operation would be a distortion that would allow you to do perspective, skews, whatever.

All that Viewport 3D stuff that Microsoft showed off for sparkle was really just this exact thing with a cool client-side interface.

Please give us real distortion controls! I would much prefer that over a Displacement Map.

Friday, September 16, 2005

Want to see Avalon in Action>Max

Download and Install this application.

http://www.microsoft.com/max/

It is a sample application that runs on XP today, that is built on WinFX. Our whole team here gathered around to see what it is like. To be honest it is amazing, and if this is the type of application we can expect on Windows in the future, then my hat truly goes off to Microsoft.

Absolute Brilliance. Once again, I amso excited to know that rich UI development will now be the mainstream. Bring on the clients baby!

Thursday, September 15, 2005

Avalon in relation to Apple

So the more I talk with people about Avalon and Sparkle, I start to see things differently than I originally had. Everyone seems so concerned with the MS vs Macromedia/Abobe battle, but as I said in my last post, I don't see the two technologies facing off, I see them complimenting each other (for the first few years at least).

However, after seeing all of these Avalon apps that are being built with Sparkle and realizing that the focus for Sparkle and Avalon is really the desktop and Desktop apps, the more I realize that it is Apple that should be worried, not Macromedia.

Frankly, if Sparkle is really as easy to use as the demos suggest, and if the workflow is truly that smooth, then it is likely that Microsoft won't really steal all of Macromedia's prized development community. Instead they have just opened the door and invited them in to take part in yet another Rich Experience delivery oppourtunity.

Now the result of this will be a massive leap forward in everyday desktop computing. If all of your everyday apps for email, word processing, web browsing, image editing, etc are potentially as rich as all of us could help make it, then the resulting damage would be done to Apple.

USP or Unique Selling Point. Apple's is the user experience with the OS. I have always been a Mac fan, and I believe OSX is a beautiful thing, but Avalon has the potential to remove that USP from Apple in a huge way. Applications on Windows could be so more rich and exciting than those OSX apps that we have come to love may quickly seem like something of the past.

Anyone else think that Apple may be really worried about this?

My Sparkle Thoughts

Ok I know everyone is posting about Sparkle, but just as everyone else, I have some thoughts to throw on the table here.


First the link that everyone is linking to:

http://channel9.msdn.com/showpost.aspx?postid=115387

A great Video featuring Manuel Clement, and other developers on the Sparkle team showing off the tool.


Ok, so I have been following all of this 'expression' stuff as well as everyone's comments on it in the Flash world, and I have to say that my opinions of it fall in line with Jesse Warden:

http://www.jessewarden.com/archives/2005/09/sparkle_hype_th.html

However, I was having a conversation today with Gabor Vida, our president/big ideas guy here about Microsoft's new platform and how it relates to Flash. It was funny because Gab said it straight up and I really have to agree:

"Who cares what tool you use, it's the product that we make with those tools that is of value to our clients. If it does a better job, then start learning it, because I want to make our clients happy. Macromedia is not our client, we are theirs."

So will it make our clients happy? Well lately I have been doing a huge amount of Dektop Application UI development. I have had 3 major projects in the last year where we had to integrate a Flash UI with some kind of external Windows Application. I am doing one right now as a matter of fact and there are huge challenges involved in it.

When I watched the Sparkle preview, I realized that if the tool was available today I would not be using Flash on my current project. I am integrating with another big software development team outside of Teknision, and They are interested in a Rich UI, not Flash, and certainly would choose an Avalon UI over a Flash UI.

So therefore, if I had it today my clients would be very happy. Because I could deliver something that preforms better, integrates more media, and integrates with their code better.

I find that alot of people are comparing Flash to Sparkle. It seems to me that people keep forgetting that Sparkle is not really anything to fear, Avalon is. Macromedia could also build a tool to generate the Avalon apps, that could compete with Sparkle. Hey it could even be a future version of Zorn or Flash that can compile XAML. But the fact is, that Avalon is the major asset here, and the runtime that many many people will "oooo and ahhh over for the next few years".

I do not see Sparkle and Flash competing for quite some time though. Sparkle will more likely compete with Director. WBA web applications probably will not be widely adopted for quite some time, as it is going to take years for the OS to get adopted by enough people.

However, Sparkle will actually benefit us Flash advocates at first! Why, well it will expose more people to Rich UIs and therefore make it easier for us to explain to them why it is important. We can let our clients know that we can develop these experiences on the web as well, and allow all of their users to experience it, instead of just Windows users!

To me this idea of Rich UIs coming right into the mainstream validates all of the preaching and teaching that I have done over the years around Flash. And it allows us as UI designers to gain even more clients and do even more great work then we ever could have before.

So myself, I am excited. I will never walk away from Flash or Flex, but I will certainly bring a new tool into my enviornment if it is right for the job.

So from the video above I have a few comments:


1/ Controls and Skinning Templates

When I saw the demo of how you skin the controls, I was blown away. If you have tried to customize the MX V2 components you will see in the video that Sparkle makes it so easy and simple that even our designers that have no code experience could do it easily. That to me is a huge thing, because they are the ones that should be doing that, not my development team.


2/ 3D elements

How many Flash users would die for a 3D Viewport like they show off in the video? Many I am sure. I see that on the feature list for Flash 9.

3/ Expanding UI

Seems stupid to mention this, but in the explanation the developer gave, I started laughing as he was telling the story about expanding UIs and designers (more on this below). But the way Sparkle allows you pin items using guides and add draggable dividers was unbelievable! A delight to any developer out there to see that it is so easy that designers can do it with no input from the developer.



So my favorite part of the whole thing, was the whole part on making designers and actual part of the development team. I agree with this so much, and they hit it right on the head:

4/Designers create the real UI, developers code it!

They mentioned that the traditional workflow is that designers create a mock-up of the UI, then those graphics are torn apart and handed to a developer to make it work. Often there will be issues and the developer is forced to make decisions and change things. This takes the design slightly away from what the designer intended. This is true and in every shop I have ever worked in, working on Flash projects, this is always the way it works.

The sample in the video where the guy was showing an expanding UI and how the designer can build all of that UI less the actual code that represents the Model of your application was so refreshing to a developer like me.

It is honestly this exact issue that I wish Macromedia had found some way to address. I have worked with Flash and loved it for years, but I have constantly moaned about the difficulties in getting a smooth workflow between designer and developer. Some may think this sounds silly, but it is true in my mind. Developers often end up taking the majority of the burden of producing a UI in Flash. The reason for that is because Macromedia has not made it easy to deal with Flash Views in any form of a sophisticated application without knowing Actionscript at a relatively advanced level.

Anyways, I am really impressed with Microsoft. One of the first times I have ever been excited about a release from them.

[Addition]

I just thought of something:

Remember a few years ago, Corel got laughed at because the box for Corel Draw was made with Adobe Iuustrator? Well maybe that was just an Ottawa thing, but that funny coincidence could play itself out agin in the future.

It is likely that a future version of Flash could be built with Sparkle. I mean, we all want Rich UIs right?

Monday, September 12, 2005

Fireworks8, our designers aren't happy.

Steve, our lead designer here is a big Fireworks fan. He does most of his UI mock-ups using Fireworks, and uses it it very comfortably next to Photoshop.

Today I pulled down my copy of Studio 8 from my Devnet subscription. Steve wanted to explore Fireworks 8 and see what they added. After playing for awhile as well as watching the new features overviews, he let as all know that he was pretty unimpressed.

I took a peek at it too and I have to sadly agree.


So instead of moan about the lack of attention the tool has gotten, I will suggest some possibilities for the tool that would be alot more useful than what they have added, and make Fireworks again and really important member of the Studio. Off the top of my head I can think of 2 big ones:


1/Flash and Flex Component Library of SmartShapes

I am certain that in the near future Flex development will really start moving into the mainstream. When that happens, I am sure we will again enter a period similar to the early web application days where developers control so much of the final project, that designers are somewhat alientated from the process.

To combat that, how about a library of all of the Flex/Flash components so Designers can actually do mock-ups with proper components and not have to take screen shots of these items.

If these SmartShapes enforced the rules of the component but easily exposed the properties and styles of the component to the designer then that would be a great feature.

While they are at it, add a library of all browser components as well, the way IE and Firefox renders them. I am sure most designers doing HTML sites would again greatly benefit from this.

Ah man, if they also allowed you to preview the different ways that different OSs render them as well, designers would be lovin it!

Top it all of with the ability to export a CSS file for Flex or HTML that takes care of all of these items. Or even better, have it output an MXML file that a developer can easily then tighten up, but at least have a great design to start off with.

I couldn't believe that a Halo Light library was added, but not any others?? Seems bizarre.


2/Edit a Flex or Flash component Theme file

Ok if a designer could edit a component theme and focus on graphics rather than being exposed to hardcore developer set ups for these type of things then we would have a killer feature.

Make it so Fireworks exposed all states of the components and gave the designer fine grain control, but still enforced component "rules".

Finally have it so this process is smooth when working with developers. I just want to link to the designer theme file and compile my project. No other recompiling the whole framework type business.


Anyways, I will continue to add features as I think of them, but truth is the new Fireworks doesn't deserve and 8 beside it. Sorry to be a bummer, but it is true.