March 05, 2004

Flash Forward 2004 presentation files

Here are the original files I used on stage: http://samuelwan.com/downloads/FlashForward_2004_SanFrancisco_OriginalFiles.zip

Some tips on using these files:

- You need to download a copy of FlashCom server and create a folder called "VideoRecorder" in the applications director in order to work with the sample code.

- I didn't have the bandwidth to include all the movies used in the demo, so you'll have to use your own webcam or Sorensen Squeeze to generate flv's to play with.

- Many of the buttons and other components have event-handlers defined directly on them to call the beginRecording and beginPlayback functions. In order to find this code in the samples, select the component (such as button) with your mouse, and then open the Actions Panel.

Posted by samuel at 10:25 PM

February 11, 2004

Export XML from Excel

You may THINK you will never need this tip, but you will, oh yes indeed. One day, someone is going to hand you an Excel spreadsheet and say "hey, make this look cool". And then you will spend hours and hours doing Google searches on variations of the keywords "Excel", "export", "XML", "Holy Grail", etc.

The easiest way I've found to export "Flash Developer-Friendly" (tm) XML from an Excel spreadsheet is to import the spreadsheet into Access, and then export the table or query from Access into XML. This is assuming that the first row in your Excel spreadsheet contains column headers.

-Sam

Posted by samuel at 03:38 AM

December 29, 2003

Primal Script IDE for Actionscript

Sapien's Primal Script IDE has totally changed my experience with Flash 7. I'm thinking of buying two copies on Dec. 31st, maybe saving one for whomever forgot to purchase during the New Year's sale. This stuff is Good.

Features I will always expect for my Actionscript development experience after using Primal Script:

1. Primal Sense (code-hinting) for the entire mx namespace, such as mx.controls, mx.core, etc.

2. Primal Sense for custom-defined classes, including methods and properties, for custom components as well. It will code-hint for static methods, typed variables, and return types too.

3. Class Browser, babeeeeee. You can browse your own custom classes and namespaces, jump right to them.

4. Save multiple projects for multiple workspace configurations.

My only feature request is code-folding, but it's not so bad when you've got a class browser (which Visual Studio and many other IDE's already support anyways).

Chafic has information about the special release sale, and a list of features and tips on getting the most out of Primal Script.

Posted by samuel at 09:21 AM

December 21, 2003

FCS components for MX 2004

Asa Whillock from the CS team posted on the Flashcomm mailing list that Macromedia has updated components for Flash Communication Server to be compatible with Flash MX 2004. You can get them here:

http://www.macromedia.com/support/flashcom/downloads_updaters.html

Posted by samuel at 09:13 PM

September 30, 2003

Fun blog about Flash I found - Ash

I found this blog about news in the Flash and Actionscript community after clicking through a bunch of blog links: http://www.actionscripthero.com/blog/. The hero, asH, has a lot of enthusiasm for Flash and offers fun links to other websites about Flash development.

Posted by samuel at 03:49 AM

March 03, 2003

g wygonik's flash to pdf

Someone at work told me about g.wygonik's Flash to PDF project.

Posted by samuel at 11:35 PM

January 14, 2003

Darshan's LocalStyleManager

Darshan Sawardekar, at octaneinteractive.com, has devised a way to update the style of components, and reflect changes to their live previews on stage in real time!

A few months ago, I remember wondering about the possibility of hooking up live previews via localconnection channels, but it seemed a bit theoretical and awkward. Imagine my surprise when I visited Branden's website and saw that Darshan had accomplished such a brilliant feat of component hacking!

According to Darshan's blog entry, "The LocalStyleManagers flash extension consists of 3 separate components that work together towards a common goal of providing skinning functionality to the Flash UI Components in the Flash MX IDE itself, in real time as well as runtime. These 3 components are LocalStyleManager Manual, FStyleUpdater and LocalStyleBroadcaster. "

To understand how Darshan's system works, download and study his LocalStyleBroadcaster component. It works in a way similar to the Observer design pattern (or commonly known as the "broadcaster/listener model in Actionscript). He has modified the live previews of all the FUI components to register as listeners withe the style broadcaster, and to update their styles according to onUpdate events sent by the broadcaster. The actual run-time styling is performed through a modified version of the FStyleManager component that I'd released last month.

I really enjoyed reading his articles, they're quite thorough and detailed. Check out his article on LocalStyleManager here. Also, check out another of Darshan's innovative hacks in the article "Building Flash MX Components that don't Pre-Load!"

Posted by samuel at 05:08 AM

October 01, 2002

Macromedia DesDev Flashcom Tutorial

http://www.macromedia.com/desdev/mx/flashcom/articles/instant_poll.html

I've been waiting for this document for a long time. Written by Giacomo "Peldi" Guilizonni, this DesDev article describes how to build a Flash Communication Server Component using the pre-existing FlashCom Components Framework. The article provides a humorous and practical introduction to building components for Flash Communication Server, written a relaxed but technically specific narrative.

The Framework allows you to write pairs of classes, one on the client-side and one on the server-side. The server-side component class can be written just like a regular server-side Actionscript application, but the framework incorporates the server-side component into a larger system, making the client-server architecture all but transparent to the programmer.

I've actually spent the past month intensely studying the FlashCom Framework (those files you see in the flashcom/scriptlibs folder). FlashCom development is actually what I do on a full-time basis now, and I can attest to the ingenuity and elegance behind the framework that makes it such a joy to work with. There's a lot happening behind the scenes, some beautiful code... the FlashCom Framework, designed by Srinivas Manapragada, rivals any Actionscript I've ever seen before in terms of sheer elegance and efficiency. If you ever have a chance, try studying those scriptlibs files. The code contains many valuable lessons on client-server architecture and Actionscript programming techniques that you won't find anywhere else. The framework is both compact and complex, but if you start walking through the code from the "components.asc" as a starting point, it's not impossible to map out completely.

Anyways, check out Peldi's article, it's a great starting point for anyone interested in Flash Communication Server development. Once you've used components, you won't want to build FlashCom applications in any other way.

-Sam

Posted by samuel at 06:08 AM

August 21, 2002

Flash Player 6 r40 release notes

This might be old news, but not everyone is aware of the features available in the new Flash player. I gave up looking for the URL to the player release notes, but suddenly found it again today. Please be aware that these notes refer to r40, and that a newer player has come out. However, most of the important changes came with r40, which is why I'm referring to that technote instead. For more flash player information, visit http://www.macromedia.com/support/flash/.

Here are upgrades to the Flash Player that I found most significant to my work, so I've selectively listed them here:

Universal Upgrades:
1. FSCommand and Javascript->Flash supported in Netscape 6.
2. ID3 support for imported mp3 files
3. Support for masking device fonts (only Actionscript-created masks)
4. Sound.start() works after calling Sound.stop()
5. Buffered streams can change volume
6. Textfields consume less memory!!!

For Windows:
1. Optimized for Pentium 4
2. Flash movies can play in Outlook Express
3. Flash is interactive inside IE layer with wmode attribute enabled (very important, I'm doing some crazy stuff with IFrames right now).

I think the ID3, buffered streaming volume, device font masking, and Netscape 6 javascript support are the five most significant reasons for users to update their players. I don't have any links to player detection scripts, but if you know of some good ones, feel free to post them in the comments section.

Posted by samuel at 08:58 PM

April 28, 2002

External Data From Other Domains

Sometimes people email interesting questions to me, and I sometimes forget the answers. So, I'll start posting the answer, along with relevant links to documentation, for the purpose of archiving all the interesting things I learn every day.

Today, I received an interesting question from Jim about loading XML feeds from external domains. Anyone who attempts to load external data from another domain will encounter a security barrier in the Flash player.

A Macromedia technote describes the security feature: "External data not accessible outside a Flash movie's domain."

The security feature is a good and necessary barrier to protect against trojan SWFs and abuse of data feeds. The good news is that the security feature doesn't stop the original author from creating a legitimate work-around with a server-side script. The Were-Here XML forum has several discussions on how to write server-side redirection scripts:

Were-Here discussion about elegant redirection solutions with Java and ASP
Another Were-Here discussion about PHP solutions.

Posted by samuel at 08:19 PM | Comments (3)

April 07, 2002

Local Connection Technote

Mike Chambers posted news on Flashcoders about a new Macromedia technote: local connections. I don't know much about local connections, and don't see much use for them, aside from providing a novelty effect in getting browser windows to communicate. Perhaps it'll become useful in some way with the upcoming Macromedia technologies... I'm not sure...?

http://www.macromedia.com/support/flash/ts/documents/localconnection.htm

Posted by samuel at 05:22 PM | Comments (3)

Shared Objects Technote

Mike Chambers posted news about a new Macromedia Technote: Local Shared Objects. I highly recommend that you learn more about shared objects. They're the key to some important Flash technologies.

http://www.macromedia.com/support/flash/ts/documents/local_so.htm

Posted by samuel at 05:20 PM | Comments (39)

March 22, 2002

Macromedia Flash MX Security Whitepaper

Mike Chambers has written a new white-paper at Macromedia on Flash MX Security. You can download it at http://download.macromedia.com/pub/flash/whitepapers/security.pdf. I've cut and paste the table of contents below:

Contents
Introduction to Macromedia Flash MX
What is Macromedia Flash MX?
Why is Macromedia Flash MX secure?
How does Macromedia Flash MX protect users’ privacy?
Macromedia Flash Player 6 sandbox
What is the Sandbox?
Domain-based authentication
How is the sandbox implemented?
Local file I/O access
Cross-movie communication
Flash-JavaScript communication
LiveConnect API
ActiveX Control API
Security of data transport
Data encryption with SSL
One-way data encryption within Macromedia Flash MX using md5
Security of data transfer from Macromedia Flash MX projectors
Security of data and algorithms within a Macromedia Flash MX movie
Security concerns of an open format technology
Best practices for securing data within a Macromedia Flash movie
Virus or trojan security concerns
Macromedia Flash playback through projectors
Macromedia Flash projectors as a carrier of viruses
Malicious files disguised as Macromedia Flash files
Macromedia Flash movies that contain malicious code
Macromedia Flash movies as e-mail attachments
Resources
Acknowledgments

Posted by samuel at 05:40 PM | Comments (4)