Ted Patrick > Flex Evangelist > Adobe Systems


Next Dreamweaver - A killer app for HTML/JS/AJAX

Every once in a while I peek over the fence to see what the HTML/JS camps at Adobe are working on and was I in for a suprise. I really believe that the next Dreamweaver release is a killer app for HTML/JS/AJAX design and development. It is rare for me to label something a killer app but I have never seen first class tooling for html/js like this before.


The team has made several key product decisions, embedding Webkit, that have resulted in some amazing features and workflow for building web pages (dare I call them that anymore). I visited with Scott Fegette and he briefed me on what they were working on and showed a demo he did at Web 2.0 recently. In the demo he previewed a page and then paused JavaScript allowing you to both see and edit the current DOM in place. It is hard to explain but it is like FireBug on steroids and made editing very complex interactivity very easy. The puzzler is that this is just 1 of many new features and workflows for both developers and designers.

More to come!

Ted :)

Verizon on Flex 3

Verizon just released a new Flex 3 application for selling ringtones and ringbacks. The site is excellent and the use of transitions and dynamic data is visually stunning. It is one of the best Flex apps I have seen in a while. It also is also one of the first full ecommerce experiences in Flex that I have seen. You can search, preview, and buy any ringtone or ringback on Verison online. Way cool!

VERIZON MEDIA STORE



Cheers,

Ted :)

The Wiki over at opensource.adobe.com is in full swing and recently the States enhancements were posted here I really like the changes as states were so complex to think about and edit without the design view. The new inline States allow you to declare state changes within components using a simple syntax and some new attributes. Before you had to define all the delta values externally within a state tag and this was very hard to edit by hand. Here are a few examples:

Inline States Syntax ( Note use of "includeIn" and "excludeFrom" ):



<!-- Given the states A,B,C -->
<m:states>
<m:State name="A"/>
<m:State name="B"/>

<m:State name="C"/>
</m:states>

<!-- This button will appear in only states A and B -->
<Button label="Click Me" includeIn="A, B"/>

<!-- This button will appear in states A and B -->
<Button label="Button C" excludeFrom="C"/>




State specific attributes:




<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="library:ns.adobe.com/flex/halo"
xmlns:m="http://ns.adobe.com/mxml/2009" layout="absolute">

<m:states>
<m:State name="landState"/>
<m:State name="airState"/>
<m:State name="waterState"/>

</m:states>
<mx:VBox id="vbox">
<mx:HBox>
<mx:Button id="land" label="Land" click="currentState='landState'" />

<mx:Button id="air" label="Air" click="currentState='airState'" />
<mx:Button id="water" label="Water" click="currentState='waterState'" />

</mx:HBox>
<mx:CheckBox label="Helicopter" color.airState="0xFF0000"/>
<mx:CheckBox label="Motorcycle" color.landState="0xFF0000" />

<mx:CheckBox label="Car" color.landState="0xFF0000" />
<mx:CheckBox label="Airplane" color.airState="0xFF0000"/>

<mx:CheckBox label="Train" color.landState="0xFF0000" />
<mx:CheckBox label="Boat" color.waterState="0xFF0000"/>

<mx:CheckBox label="Submarine" color.waterState="0xFF0000"/>
</mx:VBox>
</mx:Application>





Object Based Properties:




<mx:Application xmlns:mx="library:ns.adobe.com/flex/halo" 
xmlns:m="http://ns.adobe.com/mxml/2009">
<m:states>
<m:State name="default"/>

<m:State name="glow"/>
</m:states>

<mx:Button label="Button" click="currentState=currentState=='glow'?'':'glow'">
<mx:filters>

<mx:DropShadowFilter distance="9" />
</mx:filters>

<mx:filters.glow>
<mx:GlowFilter/>
</mx:filters.glow>

</mx:Button>
</mx:Application>

<!-- Alternatively the above code could be written using
state specific nodes -->

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:m="http://ns.adobe.com/mxml/2009"

xmlns:mx="library:ns.adobe.com/flex/halo">
<m:states>
<m:State name="default"/>
<m:State name="glow"/>

</m:states>

<mx:Button label="Button" click="currentState=currentState=='glow'?'':'glow'">
<mx:filters>
<mx:DropShadowFilter distance="9" includeIn="default" />

<mx:GlowFilter includeIn="glow"/>
</mx:filters>
</mx:Button>
</mx:Application>






I especially like the simplicity of the new states. States were a very hard feature to use larger scale but the changes in Flex 4 really look to be a step in the right direction. I guess the more obvious thing for me is how open we are about sharing key information on a release so far in advance. We have done alphas before with Flex but being able to see inside of the early prototype stages is very cool. Trust me when I say that there is a ton more to come.

Cheers,

Ted :)

Feed Me - Feeds.adobe.com Launches

Thank God, the new feeds.adobe.com is up!! It was like someone had turned off the air. Special thanks to the team that put in a ton of work on getting feeds.adobe.com. I know Christian Cantrell, Mike Chambers, Ben Forta, Jonathan Wall, and many others worked hard to make this happen. Also the time frame for this massive architecture change is really impressive. To go from a single server to 7 inside of 2 weeks time is really amazing.

Here is the new architecture:

1 - Load Balancer
5 - Apache + CF8 Clustered
1 - Database Server MYSQL
1 - Feed Aggregation Server (reads all RSS and populates database)

vs

1 - CF6 + MYSQL + Apache



Thanks for being patient during the downtime! 7 times as many servers are running feeds.adobe.com so hopefully downtime is a thing of the past.

Cheers,

Ted :)

Open Screen Project and Duran Duran

Last night my girlfriend Linda took me to see a Duran Duran concert in Concord. It was a funny flashback to the 80's and aging rock stars aside, it was great fun. At one point in the concert the band went into a slow song and the lights dimmed causing the audience to pull out their phones and a few remaining lighters. The thing that struck me was there was a single computer on stage, an Apple MacBook Pro, and easily 5,000+ phones in the air. That really hit me and seeing so many programmatic devices with a user interface was really stunning.

The one computer on stage!




To say it isn't drop dead essential that Flash Player and AIR support these screens is an understatement. It is a massive opportunity to release the creativity of the Adobe design and development community on making these screen experiences better.

5,000 screens vs 1 computer

Open Screen Project

cheers,

Ted :)




© 2008 Ted On Flex