donderdag, oktober 25, 2007

Adobe MAX: Exclusive video

I still have to write about day 3 at Max, I know but last week has been extremely busy.
With Boulevart we are working on some cool stuff for DuvalE and some guys on the team are doing a great video site for Cronos.

Me, Nicolas and Richard dragged everybody in front of our camera for some real live footage.
It was great. Richard is working on a better version at the moment. So stay tuned!

donderdag, oktober 18, 2007

Adobe MAX 2007: Day two & three

DAY TWO:

We stayed up pretty late the first day so we had about 4 and a half hours of sleep. Then already I got the feeling this was not going to change the coming days.

So to get our heads cleared we thought attending Lee Thomason's session would be a good idea:

1. Inside the flash player
This was definitely one of the most interesting sessions. We all work with flash, just doing our thing everyday. But we never actually realize what really is going on under the hood.

Lee Thomason gave us a some very good insights without making it too complex. I'll sum some of his key-points up for you.

1. Flash is retained rendering vs immediate rendering.
This means Flash always waits for the frame (updateAfterEvent) to do the rendering.
Except for Bitmap data in AS3 which is always immediate.

A tip for performance testing. Use bitmaps to measure time because they are immediately rendered to the screen.

2. Just in time compiling.
This is a standard for compiling actionsctript into bytecode.
Also known as the famous Tamarin open source project.

3. Coding tips for optimization
Used sealed classes
Integer array access
avoid globals in deeply nested code (keep globals out of loops)

4. Garbage collection
The main thing to remember is that Adobe will not release a public API for garbage collection.
This strategy is well chosen, because the garbage collector will be due to many engineering changes in the future.
If a public API would be available, the team would be tight too much to this API for future changes.

5. Text rendering
Animations ons 'Saffron' text, which actually is the method for advanced anti-aliasing on embedded fonts, should be better in flashplayer 10 version.
Font/text rendering is a difficult issue to tackle because of the many varieties and specifications around the world.

6. Some points on Flashplayer 10: code-name Moviestar
cross domain caching
fullscreen will support hardware acceleration
H264/AAC audio encoding
multi threaded rendering
encrypted streams
AS3 sampling profiler but only for Flexbuilder3, not in Flash :-(
mip mapped bitmaps downscaling of images without quality loss or artifacts.


2. Closed session on Mobile
In the afternoon Nicolas and I attended a closed session for +/- 20 developers organized by the Flash Mobile Team. Kathy Charneco did a great job in taking care of us and leading the session.
Present were Carlos Ulloa, Stefan Richter, team from Blueskynorth, team from Lightmaker, Mike Jones, Steven Verbruggen, Frederik Claerhout, Koen De Weggheleire and people from the Adobe team.
To me its seems now that most flash developers underestimate the flash mobile platform.
As Chris Petty from Blueskynorth stated, flash lite is present in many phones and is standard in almost every new model that is released on the market.

For developers it seems that maintaining 2 code-bases is mostly too much overflow and the incapability to adress specific api's, like bluetooth or text messaging are 2 big issues. The latter is of course very platform dependent, but when working on mobile platforms I think there is more to gain with giving up some independency in order to be able to create full functional mobile applications. Let's face it, developing for mobile already is very difficult because of the different screen sizes, platforms, keypads, etc... you. So why not create platform depend api's to address these extra features? This being said, FlashLite 3 is out and Flash Home for mobile is coming up. This is a complete operating system in Flash, yeah!

For consumers initiatives like a marketplace with new applications, the latest downloads/updates, etc... would be very useful. It seems user need to be more aware of the fact that they have Flash on their phones. Everybody in the world now knows what a Flash website is, so this perception of the technology should be consolidated on mobile phones as well.

I was very pleased with this initiative. It seems Adobe is aware of their community and what they have to say. Thumbs up!

3. Koen De Weggheleire: Playing with pixels.
Koen from newmovieclip and the leader of our belgian Adobe user group hit us with his knowledge about pixels and bitmapdata. Koen is a bright guy and he has a special style of presenting like nobody can. He can combine fun things with complex technical stuff without anyone getting bored. It's just hilarious to see Koen waving, jumping, turning at the stage, demoing his creations. Nice one Koen!


4. Closing party
The higlight of the day for sure!
It was a great party. There was lots of booze, there was a great live band, there we casino games and great card magiacians to entertain us. Richard, Nicolas and I dragged lot's of people like Justin Everett Church, Ben Forta, Serge Jespers, Aral Balkan, Carlos Ulloa, Andrew Shorten, Stephanie Sullivan, Thibault Imbert, Benjamin Dobler and many more in front of our camera. We had a great time and a montage will be available soon.

DAY THREE:

Things to remember:

1. Watch out for the new release of Flash:
Live preview of flv's in the IDE
New tweening system with bezier curves (bye bye motion guide) and tweens are now attached to the timeline and not the the object anymore
Kinematics! yeah!

2. The release of flash player 10
3D support
Advanced text layout
Custom filters, effects, etc.. Hydra
C/C++ support

3. Flash Home
The flash operating system for mobile

4. Thermo
A new software package for designers to create Rich Internet Applications

5. AIR
AIR is taking on the world. It seems everybody is finding his/her way into AIR.

The New Creatives: Cheap, fast and good.
Hoss Gifford

I saw Hoss Gifford last year at Flash on the Beach and his session blew me away back then.
Maybe it's just me but in session like this, I always leave the room with my sketchbook filled with idea's.
Wise words from Hoss:
Cheap, fast and good. A project can only be 2 of these at the same time.

AS3 Design patterns
Leo Schuman

Leo talked about, in his own unique way, some of the basics of the observer and the singleton pattern.
Important to remember is that programming to interfaces really works and that composition is to be preferred over inheritance.

Advanced Video Encoding
Giovanni Antico

This was a good last session for me. I am not the world's most renown video expert, so Giovanni's clear explanation of video was quite enlightening.
Check out his files of the presentation.
http://www.gantico.com/blog/2007/10/video-encoding-session/

For more fine pictures visit
http://about.boulevart.be

The crew hanging out with Serge Jespers


Me and Carlos. Say hi to your mom from me dude!


Me and Mike Jones.
Mike is a very nice guy and I am glad to have met him.

dinsdag, oktober 16, 2007

Adobe MAX 2007: First Day + Our session

I had some troubles with my internet connection yesterday evening at my hotel room, so with some delay here it is. The first day at MAX :-)

1. The Google Analytics Reporting suite, our own session:

Nicolas and I had a good time doing our presentation. We started with some Sandra Kim tunes, before diving into the hardcore world of code. We enjoyed it and the reactions on the application are very good and encouraging. Keep an eye out on the analytics website

For more pictures on our presentation check out: about.boulevart.be

2. Peter Elst on Best practices in Actionscript 3:
http://www.peterelst.com
As always Peter's sessions are pixel perfect. Most of the stuff het talked about I am already familiar with, but I went to support Peter. But remember, and we all know this, when going live ALWAYS DELETE your trace statements. Peter did a simple test with an array filled with 10000 elements. With trace statement 11 seconds to do a loop, without the trace statement 41 milliseconds.


3. The keynote:
Kevin Lynch, Ben Forta, Mike Downey, Justin Everett Church and the rest of the Adobe crew presented us with all the latest of Adobe: AIR, Flash player 10 codename Astro, Hydra, Flexbuilder 3,...

4.Xavier Beumala & Carlos Rovira: Flex in Flash
http://www.madeinflex.com
Xavier and Carlos talked about combining flash and flex. It seems that with the release of flexbuilder 3, the flex team has put a lot of effort into simplifying the skinning of components. The flex component kit is now standard in Flexbuilder 3.
Still to me it seems the workflow of skinning components or using flash to build them for Flex is not yet optimal. There are still to many parameters and rules to cope with to call it a fluid workflow. Important was the usage of Flex components in Flash . It's quite simple actually. You have to put an onEnterFrame event listener on the loader object once the flex swf is loaded and wait for the second frame. Then the flew swf is all yours and you can start listening to events dispatched from the Flex component.

5. Mario Klingemann on The Blind Sketckmaker.
htpp://www.quasimondo.com
Mario posed himself the question: "Can computers generate art?". He developed a few tools in AIR to help him find the answer. Basically he feeds his software images and with the usage of the image filters he retracts data from the picture in order to categorize it. The he let's the compouter generate images from a blank canvas and hold them against his database to check wether the picture the computer generated is art or not.
It was a very inspiring session to me and will make get more into the filters for sure. The point is the idea and not the technology and Mario is ahead of the class.



And yes, we had some great cava afterwards :-)

maandag, oktober 15, 2007

I am speaking at Adobe MAX Barcelona!



This is live blogging from the Adobe MAX event at Barcelona. Yihaa!!

First let me tell you it's already been great so far. We arrived yesterday, just went for a quick meal at McDonalds and headed back to the hotel to work on our presentation. In the evening I was invited by the people of Adobe Benelux to have diner at this cool place by the beach called Bestial. A big cheerio to the Adobe crew.

I had a great time. I was seated right next to the loveley Serge Jespers and it seems his table manners have been improved by now.

But today it's time for the real deal.

I am joining my collegue Mr. Nicolas Lierman on stage this afternoon for a demo presentation of the Google Analytics reporting suite. No suprise I am very excited.

I will be outlining some general information about AIR and why everybody should use it along with some less serious but very cool applications I made. There will be the Stinky Panda Tamagotchi and a desktop Mariah Carey (yeah really!).





Stay tuned, I will be back for more.

A few snapshots for you to enjoy:

The TV in my hotel room welcomes me personally. How cool is that?


We flew just 2 hours and here they are: Palmtrees rule!


Mr Nicolas Lierman looking sharp by the pool


Diner with the Adobe crew

dinsdag, oktober 09, 2007

Adobe AIR: Beta 2 drag and drop + window

Adobe released the beta 2 for AIR.

There have been some changes in the API. So if you did some projects in beta 1 you will have to change your code.

window is replaced by nativeWindow. For example:
stage.window.x is now stage.nativeWindow.x

The drag and drop API has been changed dramatically:

The classes TransferableFormats and TransferableData are gone.
You will now have to use the Clipboard and ClipboardFormats classes.
Dragging in for example:

import desktop.Clipoard;
import desktop.ClipboardFormats;

private function onDrop(e:NativeDragEvent):void {

DragManager.dropAction = DragActions.COPY;

var dropfiles:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;

}


So to sum it up:

1. use clipboard.getData instead of transferable.dataForFormat.
2. use ClipboardFormats.FILE_LIST_FORMAT instead of transferableFormats.FILE_LIST_FORMAT

Take care!