First impressions about Flash Catalyst

Yesterday I was in Milan at From A to Web and I saw Serge Jespers session about RIA workflow with Flash Catalyst and Flash Builder.

In 30 minutes he made a real Flex application that interact with Coldfusion to retrieve data from a database and he started from a normal and static AI file… that’s totally AMAZING!
Flash Catalyst will be a great software that will help us to create desktop applications and rich internet application, in particular could be very interesting to create animations and user interaction on own GUI.

When Serge showed Flash Builder he interacted with a CF script (you can work with WS, XML and other back end tecnologies also) trough a panel and in few steps he was connected to data source… COOL!
I’m so excited, Flash Catalyst will change RIA and desktop apps workflow definitely! I’m sure about that… BUT…

I’d like to investigate more about Flash Catalyst when Adobe decides to release public BETA on Labs, but I asked a couple of questions to Serge during his session to understand better the power of this new software.
For me the first problem is that FC doesn’t work with Flex Modules but only with States and in big projects it could be a problem.
Yes, you can copy MXML code and  paste on a Module, but it could be more easy to choose if you want to work with states or modules or better, export your GUI like module and not only custom component.
Another thing that I’m scared is that FC is very easy to use, open new way of business and make your daily work more fast, so designers and developers that approach for first time RIA and Desktop apps could start to release tons and tons of “bad apps” like Flash in 90s… I hope that Adobe will teach around the world with free training courses, not only with one day events, or will begin a new HORROR ERA for RIA and Desktop apps.

That’s my 2 cents, if you’d like to talk about FC on this blog, feel free to leave a comment.

@PyCon with Flex and AIR

Here we are! My first conference of the year is PyCon 3 in Florence from 8th to 10th May.
This is THE PYTHON conference in Italy, there will be very cool and strong developers of the Python world from all over the world.

In this edition I propose a session about Python, Flex and AIR on how to integrate those technologies all together.
I think could be very interesting for Pyhton developers approach this RIA world and find a new way to create an amazing GUI with Flex and AIR.
It will be my first time there and I start to study Python only on January, so I’m very happy to take part on this event.

If you’d like to come, please feel free to tell me and add a comment on this post!
See you there guys.

UPDATE
I make a post about PyCon 3, in few days I’ll put conference photos on my Flickr account, stay tuned!

Create PDF in runtime with Actionscript 3 (AlivePDF, Zinc or AIR, Flex or Flash)

This morning I’ve a new target, create PDF in runtime with Actionscript 3.
Very cool project to accomplished this mission is AlivePDF, an opensource AS3 library that you can download from Google Code.
AlivePDF allow you to generate PDF in runtime with Actionscript 3 and you can add pages, draw in each pages or add images, it’s very powerful library.

In this sample I use Actionscript 3 (with FDT) and Multidmedia Zinc 3, but you can use Flex or Flash and AIR to make this sample.
So first of all I create a simple class that allow you to create a PDF file with multiple pages and to add content in each pages.
This is the code:

package org.mart3.pdfGeneration {
    import flash.events.Event;    
    import flash.utils.ByteArray;    
    
    import org.alivepdf.images.ImageFormat;    
    import org.alivepdf.saving.Method;    
    
    import flash.display.Loader;    
    import flash.events.IEventDispatcher;    
    import flash.events.EventDispatcher;
    
    import org.alivepdf.pdf.PDF;
    import org.alivepdf.layout.Orientation;
    import org.alivepdf.layout.Size;
    import org.alivepdf.layout.Unit;
    import org.alivepdf.display.Display;
    
    /**
     * @author lm
     */
    public class CreatePDF extends EventDispatcher {
        
        private var pdf:PDF;
        public var pdfBA:ByteArray;
        
        public function CreatePDF(target : IEventDispatcher = null) {
            super(target);
            
            pdf = new PDF(Orientation.LANDSCAPE, Unit.MM, Size.A4);
            pdf.setDisplayMode(Display.FULL_PAGE);
        }
        
        public function set totalPages(num:int):void{
                
            for(var i:int = 0; i < num; i++){
            
                pdf.addPage();    
                
            }
    
        }
         public function setData(_l : Loader, _numPage:int) : void {
            
            pdf.gotoPage(_numPage);
            pdf.addImage(_l, 15, 15, 0, 0, ImageFormat.JPG, 100);
        }
        
        public function savePDF():void{
            pdfBA = new ByteArray();
            pdfBA = pdf.save(Method.LOCAL);
            
            var evt : Event = new Event("baReadyEvent");
            dispatchEvent(evt);
        }
    }
}

Obviously if you want, you can create a custom event that pass to the document class the ByteArray but this is a quick sample to show how you can create PDF in runtime!

One of the amazing things that you should do with AlivePDF, it’s that you can decide to save PDF locally or on web! Read documentation because it’s very interesting what you can do with this library!

Ok now, go to document class where we use MDM swc that you can find when install Zinc on your computer (you can find 2 differents SWC, one for Flash and the other one for Flex. Remeber also that Flash SWC works with Flash CS4 also, not only with Flash CS3!).
In this class we do those simple steps:

  • create a PDF object using CreatePDF object
  • set our PDF document
  • pass an external image loaded with Loader object
  • save PDF bytearray with Zinc FileSystem class
package org.mart3.pdfGeneration {

    import flash.display.MovieClip;    
    import flash.net.URLRequest;    
    import flash.display.Loader;    
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;

    import mdm.*;

    import org.mart3.pdfGeneration.*;

    /**
     * @author lm
     */
    public class Main extends Sprite {
    
        private var pdfObj:CreatePDF;
        private var l : Loader;
    
        public function Main() {
            
            mdm.Application.init(this);            
            
            pdfObj = new CreatePDF();
            pdfObj.totalPages = 2;
            pdfObj.addEventListener("baReadyEvent", saveLocalPDF);
            
            l =  new Loader();
            l.name = "myImg";
            
            l.contentLoaderInfo.addEventListener(Event.COMPLETE, showImage);
            l.load(new URLRequest(mdm.Application.path+"assets/bg.jpg"));
        }
        
        private function saveLocalPDF(e:Event) : void {
        
            mdm.FileSystem.BinaryFile.setDataBA(pdfObj.pdfBA);
            mdm.FileSystem.BinaryFile.writeDataBA(mdm.System.Paths.desktop+"generate.pdf");
    
        }

        private function showImage(event : Event) : void {
            
            l.scaleX = l.scaleY = .4;
            var mc : MovieClip = new MovieClip();
            mc.buttonMode = true;
            mc.addEventListener(MouseEvent.CLICK, savePDF);
            mc.addChild(l);
            this.addChild(mc);
        }
        
        private function savePDF(event : MouseEvent) : void {
            event.currentTarget.alpha = .5;
            pdfObj.setData(l, 1);
            pdfObj.savePDF();

            
        }
    }
}

You can also download source files from their hosting service and test it on your computer.
Feel free to give me any comments about AlivePDF, it’s very interesting to know what you think about this AS3 library.

I become Adobe Certified Expert on Flex 3 with AIR, I suggest how to prepare the exam

Today I become ACE on Flex 3 with AIR… I’m so happy!!!
I’d like to suggest some stuff, to prepare Flex 3 ACE exam to help other developers that would try this… experience.

First of all download ACE PDF file where you can find exam outlines on adobe.com site.

Then start you preparation reading Flex 3: Training from the source, the official Adobe press book, I know that it could be so easy for advanced developers but you can find interesting stuff that go in deep about particular arguments.

Another PERFECT resources are Adobe documentations that explain very well and very easily how to use Flex and Adobe AIR API, in particular for AIR the best official stuff is Adobe livedocs.
I suggest to take also others books about AIR because you must remember a lots of things for the exam, so take a look at amazon.com 

Work Work and Work again with Flex! Find little or big projects, it’s not important but you can work in real problem solving issue. Also it’s so important to fix many concepts about how to work with modules, components and so on.

When I was at San Francisco MAX I went to Blaze DS and LiveCycle pre-event and it was very helpful for my preparation because LCDS is a part of exam and I’ve never take in consideration before this learning session, so I think you can take a course about LCDS in your country or town.

When you finish with all those steps you are ready to take the exam and maybe to pass it!

Feel free to comment this post with any questions.

Adobe MAX: day 1

Here we are, it has just started Adobe MAX 2008, I’m very excited and in this day I see a lot of cool and interesting things!

In General Session this morning we see new name of Thermo project, now we must start to call it Flash Catalyst, too long but not bad.
There are new interesting things on mobile side, Adobe is working in a new product that package Flash Lite contents in .sis or .cab file and delivery it over-the-air, maybe an important step trough a new Adobe mobile era.

Another interesting project that is in BETA now, it’s also my favorite one, is CoCoMo, I meet Nigel Pegg, amazing guy, that coordinate the project with Dr. Fang (:D).
Now CoCoMo is in Labs, you can download it and start to work with those components that allow you to implement your Flex applications with Connect Now features, so you can share your desktop, make a conference call with video, chat and so on.

There are other 2 minor project that Adobe releases today: Wave and Tour de Flex.

The first one is a social networking aggregator made with AIR that allow you to manage your social networking like twitter, flickr and so on in a all in one application.
Tour de Flex is another AIR application that is focused for developers and designers that approach Flex for the first time, I copy the purpose of the application from own site:

  • Provide non-Flex developers with a good overview of what is possible in Flex in a “look and see” environment
  • Provide Flex developers with an illustrated reference tool
  • Provide commercial and non-commercial Flex developers a place to showcase their work

You can find those projects directly from Labs too.
I meet also a lot of developers and designers that are involved in very cool projects, but I’ve also the honor to meet Simone Legno aka Tokidoki! It’s one of my favorite designers! Max respect for him.

But I must write also that there is ONLY 1 WI-FI CONNECTION here for more then 5.000 people… it’s unbelievable… 

See you tomorrow for resume of second day.

MAX 2008: Pre-event labs day

Today Max started for me and everybody had a pre-event labs.
I followed pre-event about Livecycle and Blaze DS made by Christophe Coenraets, he was amazing! In a day we had a complete overview of how to work with messanging, remoting and data service with BlazeDS and LCDS.
I must start to work with BlazeDS beacause there is a lot of things to do with it, in fact it is faster than FMS communication with client side.

But the most amazing thing is data service with LCDS, they are the best solutions when you want to synchronize AIR application data with a server side solutions.
In fact you can manage data service cache to save data locally and work with them until to computer turn online again… that’s perfect for a lot of enterprise solutions.

There is also a bad thing of this MAX, until now, we don’t receive great gadgets like others years, we have a shopping bag with MAX, Adobe and partners logo and a t-shirt… last year we received a very cool bag… I really don’t understand why they choose this solution.

Tomorrow we’ll start MAX for everyone and also we’ll see a lot of new Adobe solutions, if you want discover them, stay tuned!

Adobe MAX SF… I’m coming

Yes, also this year I’ll go to Adobe MAX, the biggest Adobe event with more 4600 attendees that are ready to see the future of Adobe softwares.

We will see Thermo (2 sessions during the event), the new Adobe IDE for interaction designers and multimedia designers that allow to simplify Flex Interface customizations.

But also, I’m sure to find a lots of old and new friends there like Mobile guys (Biskero, Scott, Mark, Dale, Bill…) and girls (Mariam…) and have lots of fun with them.

I’ll have a speech about AIR and SQLite during 360Max the event in  event that is totally free for all people that are at MAX.
During my session I’ll talk about:

  • introduction to SQLite
  • how to connect AIR to a db
  • create, modify, delete and search into records
  • transactions and prevent SQLinjections with parameters
  • AIR data encryption and others technique to encrypt data
  • SQLSchema and others utilities to work with SQLite
  • embed a db in an AIR application
  • best practices & limitations

everyday I’ll put my impressions, photos and news about this great event, so if you are interesting to follow MAX, feel free to come there and read it!

See you soon… or maybe at Adobe MAX.

Flash on the Beach is started

Yesterday starts Flash on the Beach, the 4th edition, it’s more big, more interesting, more…

There are many guys from USA and other part of world and is fantastic because you can share and talk with all of them, I love it.

First amanzing news is that FOTB next year become also FOTBM… Flash on the Beach MIAMI in April, and this a big success for FOTB organizations, 4 years of great work and now they start to export own format, congratulations guys.

I followed great sessions yesterday, the most amazing were Tink one, that talking about Flex Effects, he are making a great job; Thermo and Flex 4 was very interesting, in particular when speaker talked about FXG format, I think a lots of thing about this interesting new way to define a FLEX UI.
In the evening there were 2 inspire sessions that were amazing, 2 great Actionscript artist showed us how to use Flash in different way to create great artwork.

So now I’m in a new FOTB day, at Aral Balkan session… he is a showman!

During this weekend, I’ll put some photos about FOTB in my Flickr account, don’t miss them!

360Max, an event in THE EVENT!

Today, John and Tom have revealed own partecipation during Adobe MAX in San Francisco with a particular event.

In fact they create an event in THE EVENT, so during MAX you can see 360MAX sessions also!
I’ll be speaker there and I’ll talk about SQLite API, in particular I’ll show how to save encrypted data, how to work with transactions and how to move your first steps with SQLite and AIR.
My session will be 19th November from 12.30AM to 1.30PM, you can find the schedule directly from 360MAX wiki.

See you there guys!

Next events until to the end of years

When September starts, there are so many events until to the end of years, it’s a magic period for me to find new friends, talking with developers and find “old friend”!
This year I put in my agenda a tons of them.
In the end of this week I’ll go to Brighton at Flash on the beach 08, the most inspire event for flash developers, this year I’ll find there a lots of friends like Piergiorgio, ZoharPeter, Franto, Marco, Scott and I’m sure to find my belgium and australian friends that I met last year at FotB very cool time spent with them.

Then I’ll have SMAU, the only IT event in Italy, where we are there to show Let’s course, our traning project with Thomas and Tiziano for all event days.
There we’ll make 2 sessions per day, totally free in our stand.
We’ll show interesting tips & tricks of Photoshop, Illustrator, PHP, Flex, AIR and… a very very big argument… but I can’t say it now.

In november there is Flex Camp in Italy made by actionscript.it Italian Adobe User Group, this year there are a lots to talk about Flex and AIR and I’m sure to find very cool italian flex developers.
If you are interested to take part of this event, it’s totally free, you can register yourself at Flex Camp form.

The least but not the last… ADOBE MAX in SAN FRANCISCO

I think that I must not talk about this event… this year in San Francisco, my first time in California, and I’m sure to find tons of developers and people that love this job like me.
I bought a pre-event session on Blaze DS and Livecycle, I’ve not worked yet with them so I think is a good opportunity to start learn them in depth. 

Probably I’ll go to Adobe MAX in Milan also, but only for a day… there are too many events in few time… but I must meet Matt and other guys that come here from all Europe!

So, you know, too many events, too many opportunity to share skills and find new friends.
If you find me in one of those events, please feel free to stop me!
See you there guys!