Archive for February, 2008

Technology

Want to download the Flex SDK? Choose Carefully

Available today on the Open at Adobe website is the freshly launched Adobe Flex 3 SDK. While the news that the Flex 3 SDK would be open source is long past its prime. The actual details of its availability have only just come to light.

When you prepare to grab the Flex 3 SDK its important to consider your options. While all of the source for the Flex 3 tools have been open sourced, including the Flex Framework and compilers, the toolset available at no cost to developers extends beyond just Flex. As such some of these tools can not be open sourced at this time. What does this mean to you as a developer? Adobe has released two Flex 3 SDK packages for download.

If your project requires that you use only truely open source tools then the Open Source Flex SDK is for you. This download and the code contained are licensed under the MPL.

However this download will not include Adobe Flash, Adobe AIR and some of the font tools that are also available at no cost to developers. If you are interested in recieving these tools also you have 2 choices. First option is to download the Free Adobe Flex SDK which includes the Open Source Flex SDK and in addition to that all the non-open source tools listed above. If you already have the Open Source Flex SDK then your second option is to download the Adobe Add-ons for Open Source Flex SDK The open source code distributed in these packages is still under MPL and is explicitly labeled. The additional code bits are licensed under the Adobe Flex SDK License.

So choose wisely, then go forth and build exciting new technologies with the tools available from Open at Adobe.

Technology

Adobe News That Most Excites Me? http://opensource.adobe.com

The world is alive with the news of the final release of the Flex 3 tools and AIR 1.0 release. This is a very exciting day, as it marks the official launch of the Adobe Technology Platform. With Adobe tools developers can use their existing skill set to reach Web, Mobile, and even Desktop environments. This is such a powerful set of tools you would have to be asleep at the wheel not to be excited.

And yet, those announcements do not even come close to firing me up like the announcement of the Open At Adobe website. The projects page of this site is an epitome of the history of Adobe’s commitment to Open Source tools. Although this site has just launched, you will see that of the many projects outlined there, only 2 are even close to new. Although Adobe has been a promoter of open source for quite some time, this site establishes the conduit for the transparency that is necessary to be successful in that market.

Take a minute to look at the core technologies in Adobe’s business that have been opened to the world and you can hardly deny their commitment to the Open Source Movement.

Technology

Using Flex with RESTful Webservices

I will be presenting (via connect) to the Adobe Developers of Greater Orlando - ADOGO on the 4th of March. The topic for this presentation will be connection your flex application to RESTful webservices.

We all know that Flex provides an amazing framework for building stateful client side applications. However to make these applications truely powerful they need to be able to communicate with our applications that reside in the web. There are many ways to facilitate this communication, but the one we are going to focus on is connection to RESTful Web services. Representational State Transfer - REST is the fundamental concept that the web is built on. We have the concept of a url which is a string that uniquely identifies some content. Although this concept has always been the underpinning of web communication, only a few of the methods to facilitate communication have ever become popular. As web developers we are familiar with POST and GET as methods of communicating with a web server. However what may developers dont realize is that there are several other verbs we can utilize in interacting with our web services. REST uses the verbs PUT, POST, DELETE, GET to signify that action that should be acted upon our URI. RESTful web services are such a simple concept but are also very powerful.

In this presentation we will look at creating a set of RESTful web services using the Ruby on Rails framework and the connecting to those resource from Flex.

Technology

Again I revisit the computer bag dilemma

I have been very lucky, I have never actually had to purchase a laptop bag. I got a fancy leather one for free with my first Dell Laptop, and then I started going to conferences and got bundles of them. But conference bags (while free) are not always representative of the quality I would like to represent myself with.

At Max 2004, I saw a blog post on MXNA by Christian Cantrell. He stated the next person to grab him and tell him they saw the post got a cool Timbuk2 bag. A couple hours later while getting seated for the sneak peaks show I saw him wander by. I grabbed him and became the owner of a wonderful red timbuk2 messenger bag with the Flask MX 2004 logo on it. I was so proud of that bag, I took it every where. then it started to get dirty and fray a little. I talked to the timbuk2 folks because their bags have a lifetime guarantee. They would replace it but I would loose the embroidery that made it special. So I kept on using my precious bag.

Targus Macromedia Final EditionThen the next year at Max I ended up filling in and doing a presentation. As a gift (since I had already paid for my conf pass) they gave me a targus backpack. This bag became my new special item. It has a patch on the back labeling it as Macromedia Final Edition. I have used this bag for 29 months. It has gone on every training trip, every conference (about 20 since I got it ), and to and from work everyday. And its starting to see some wear. The rubber bottom that is meant to keep everything dry has warn some wholes. The padded back has started to fray. And yesterday as I loaded into my truck, I noticed that the zipper had split. This bag is nearing its last day.

So without having received an Adobe bag for anything yet, I am at last in a position to buy a new laptop bag. In contention at this point are the Cross Commute and Classic Messenger from Timbuk2. The embarrassment bags from crumpler(their site is down so no links for them :( ), and also a backpack from crumpler that is dual purpose to pack my Nikkon D70 around.

The reason that I post this, is because I need some help. 90% of my readers ( thats a rounded number meaning 5 out of the 6 of you ) are laptop carrying folk. What do you LOVE about your current (or past) bags. I don’t want to hear that you had a timbuk2 bag and it was cool. I want to know what about your bag makes it better than all the other bags. Its a laptop bag, cage match to the death. And I am perfectly willing to consider outside alternatives, I just dont know any other good ones.

Technology

Flex Developers Are So Spoiled

I took some time this weekend and helped my wife update her site. I talked her into letting me build a little flex header that displays the photos from her flickr stream. My wife takes a few pictures of our daughter everyday with her iPhone and posts them to flickr, so I thought this would be a neat way to update the site between blog posts.

It took about 20 minutes to through together the first draft. I just grabbed her flickr feed as json and use the corelib to eval it into some objects. Then used mx:Image objects to load the pictures and display them horizontally inside the application.

But this simple swf was 170kb. Now I know that in todays world of fat bandwidth that is just a drop in the bucket, but I saw this as an opportunity to do some AS3 application work without the aide of the mx packages.

The result, after about 2 hours of work is the exact same end product. But it only weighs in at 9kb. While I achieved my end goal in reproducing the flex application, this process was nothing like what I expected. First off… flash has no layout containers! None? As a flex developer being able to set the layout property of the Application or using HBox and VBox to layout components. How the hell did flash developers manage before flex? Everything pixel positioned? You are kidding right? So I wrote a basic LayoutManger and HBox and VBox components that work in AS3 and support basic gap and scrollposition properties. You can see the source for the header and the layout managers here.

Other tricks that stumped me but where easily solved by a quick visit with Ben Stucki, are to set the scale mode and alignment of the swf so that it works like I expect from flex.

this.stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.align = StageAlign.TOP_LEFT;

Another neat trick was that I have become accustomed to setting height and width on my application and having it sized correctly. In AS3 you can use the SWF metadata tag to set the size of flash player display.

[SWF( height=’150′, width=’975′)]

Anyway, after building something without the benefit of the Flex framework, I have a new appreciation for the Flex SDK. So let me just take this second to thank all the Flash developers that have come before me for achieving so much and proving the rest of us with such an amazing tool set. And thanks to Adobe for providing the results that work and knowledge to us as an open source sdk.

Technology

Leapord Update - Spotted in the Wild

I got an IM from my friend Nick yesterday asking if I had taken the OS X 10.5.2 update yet. I didnt realize it had been released. He relayed a story of whoa, regarding unstable, high processor usage and unhappiness. I had not updated yet, but resolved not to until I heard more.

Then I got home that night and was talking with my wife, and she relayed that she had taken the update and was running swimmingly. I thought 50 50 huh? Well maybe. Then she synced her iPhone and we realized that it had duplicated all her calendar entries. She was very upset. Perhaps that is a bit of an understatement. But regardless, one quick look in iCal revealed the problem. After the 10.5.2 update all her calendars in iCal had been duplicated. 2 of each of them. I did some testing and found that we could delete 1 of them with no ill effects. Re-synced her iPhone and all is right with the world.

Today I did the update. All went perfectly for me as well. Except I see I also have duplicate calendars in iCal. Again deleting one of each worked fine for me.

Not sure if anyone else is seeing that behavior but I wanted to post to let people know its safe. One things specifically that could be our issue, is the use of Spanning Sync to sync iCal and Google Calendar. I think thats the only thing we have in common if its just us thats got the dups.

So Happy Upgrading to all. Now I can only pray that my issue with spaces has been fixed.