Archive for April, 2007

Flex Builder and the Flash Runtime are NOT going open source

This link gives a nice overview of the flash ecosystem and what is being open sourced.

While I applaud Adobe’s decision to open source the Flex framework, I think people are completely blowing out of proportion exactly what has been open sourced. People should be excited as the move has lasting implications for the industry and for Adobe, and those implications benefit us developers and the users of our work. However, I’ve read quite a few blogs saying that Flex has been open sourced, which could lead to some confusion. Its the framework that has been open sourced, the components and other elements built on top of the Flash player for the purpose of more specialized RIA development. The good news is that open sourcing the Flex framework will mean nothing but good things for Flex in the long run. There is no shortage of superstars out there in the Flash development world who will make the framework better, faster and smaller. So, bravo to Adobe for taking a risky step, and there is no doubt in my mind that it will pay dividends to them.

But, several key elements here are not being open sourced. First, the flash player is the one element this entire ecosystem sits on, and it is not being open sourced. The Flex Builder app, Flash media server, and LiveCycle Data Services are also not being open sourced. I’m not saying this to take the wind out of Adobe’s sails, but I do want people to realize exactly what is being open sourced and what is not. So, in my mind there are three common perceptions of the implications of this move. The first perception is that it will improve the quality of the components in the Flex framework, which I think is pretty much undeniably true. The second perception is that the Flash platform is out in the wild and completely open like Javascript, and if Adobe craters tomorrow that it will still be okay and another open source steward could take control of the platform, which is not true. The flash player is still proprietary and owned by Adobe. Though neither Macromedia or Adobe has ever done anything to lead me to believe its even remotely possible, they could just drop the whole thing if they felt like it. Or pull a Microsoft and make some radical change that makes all the code written up to a certain point completely worthless (backwards compatibility is always a serious concern, Adobe has always been great at this thus far, but there is no guarantee that they will always be so). The third perception is that its cheaper to develop in Flex now, which also isn’t true. The components of the Flash and Flex ecosystem that cost money have not changed at all, they still cost the same.

Now, for all the people saying that everything should be open sourced or that Adobe didn’t open source enough, you’re wrong. The flash player should NEVER be open sourced, its greatest strengths are that there is only one version of it for each platform, and that its regularly updated and distributed by a large and dependable host company. We should all be afraid of the idea that little developer Jimmy in his mom’s basement could take the Flash player, make his own special version, and require it to be installed to view his web page or web app. In regards to Flex builder and Live Cycle Data Services being open sourced…. Thats just stupid. Adobe has given developers everything they need to try and compete with Adobe’s own tools, and you see competitors starting to pop up. In my mind Adobe has created a bigger competitor to its own revenue generating products than Silverlight could ever be. Free is a powerful adversary and for people to shell out bucks for Adobe’s tools they are going to have to be damn good. That being said I love to see that kind of move by a big company, it shows that they have the Moxie (no pun intended) to compete not only with other big companies, but also with the open source community.

During the video interview with Scoble, David Wadhwani (a VP at Adobe) said something really intelligent that kind of caught me by surprise. He said that Adobe realizes that in order to increase the total size of the pie (which inherently means an increase in their business), they have to give up some control and be ready to compete. Good strategy, since in the end they still have control over the most important piece of the ecosystem (the flash player), and any open source competitors that pop up will only serve to increase the buzz and ubiquitousness of the platform. Now that Adobe has opened Pandora’s Box, open sourcing pieces of the development frameworks is no longer seen as a gift by us developers, its an expectation. Any competitor who wants to seriously move into this space will need to address that expectation now. Smart move Adobe, very smart.

Microsoft to Ria Dev’s: We love you now!

WPFe is now Silverlight, according to Microsoft. Sounds great. So whats it do? You could start to answer that question by going straight to the Silverlight homepage. Very nice design, even got a video in the center, not bad a start. After watching the video, two things came to my mind. First, Silverlight enables me to make bad ass skateboards and shit. With Silverlight, I can have a huge fro and crazy dazzling animations will shoot out from behind me as I walk down the street, just as soon as I install Silverlight.

Seriously though, I know I shouldn’t be making fun of the video, its obviously very high production value with top notch camera and animation work, but I just can’t help but laugh at the underlying tones in it. Second, I also kept wondering what applications were used in the making of that video? Whether its the super high end production equipment like Avid or the lower end Apple or Adobe apps, you can rest assured of one thing; It sure as hell wasn’t any Microsoft application.

If you think Silverlight is going to hit the market by storm and tear away web developers by the thousands, then I invite you to read this article. Don’t forget this one too, its amazing how relevant it is even though its nearly 3 years old now. Oh and by the way, this is not Microsoft’s first attempt (via Brandon Ellis) at competing in the interactive arena.

Microsoft obviously realizes that they better start making tools for web developers. The only problem is that its an audience that is skeptical at best and hostile at worst to Microsoft’s promises. So Microsoft, the ball is in your court and all eyes are on you. Time for you to prove just how serious you are about developing a ubiquitous cross platform web and desktop experience.

Flex 2.0.1 and Flash CS3 will drastically improve the designer and developer workflow

Flash is for designers, Flex is for developers.

Its a nice thought, but as everyone who has ever created a sophisticated web app or website in Flash knows, its just not true. Getting Flash content into Flex is currently an exercise in frustration, not to mention the performance and even feature limitations.

So when I watched this presentation, my jaw dropped. Apparently these cats at Adobe actually mean it when they talk about integrating the designer and developer workflows. The source of my (and I’m sure many other technologist’s) excitement is centered around a new extension for Flash CS3, called the Flex Component Kit for Flash CS3. Ironically enough, the actual update is an extension for Flash CS3 but its the Flex users that will be getting the major work flow improvement from it.

From a technical standpoint, the biggest and most noticeable addition is that you can now link Flex states and transitions to frames on the timeline of your component in Flash CS3. If a designer creates several animations detailing the transitions of the component, so long as those sequences have a frame label for them, the programmer can access those frames as states and transitions once the component is brought into Flex. So, components created in Flash, on a timeline, with frames can be treated in Flex EXACTLY the same as components that were created natively for Flex. Also, events can be dispatched on specific frames in Flash, and they can be caught natively in Flex. Code hinting, which is a developer’s best friend, will also be supported here. A class can be created for this Flex component and any public methods or properties will be accessible in Flex. This means that all events that are declared in your component in Flash CS3 will be visible and captureable in Flex. You can also dispatch these events anywhere on the timeline, and Flex will catch them when the timeline plays over that point.

Its not a perfect work flow yet, programmers and designers will still have to coordinate throughout development on states, transitions and locations of event dispatches, which I would argue isn’t such a bad thing anyways. The programmers will also likely have to create custom classes for the components in Flash. Still, its a serious improvement from the previous work flow, which basically consisted of the designers getting booted out of the process as soon as the first animations were done.