Monthly Archives: September 2008

Macromedia Site of the Day!

I was searching the 2001 Google Index and found this old site of the day showcase on my old company It is a really fun look back. We built the shopping service in Flash 5 using Macromedia Generator in 2000 and we got site of the day on March 14 2001.

“It would be hard to imagine doing without Generator. It rocks!” –

Theodore E. Patrick, project developer, Ishophere

It is really an out of body experience to look back in time like this. It is really great to see how far Flash has come as a platform since those early days. Back then AS1 was hot and __proto__ was a property few dared to mess with.

Cool, 97.6% supported on FP5, maybe it is a trend.


Ted :)

Friends Of Ted MAX NA Discount

For the readers of my blog, I got a “Friends Of Ted” discount for Adobe MAX NA 2008. The discount enables full registration at $1295 and is the lowest price for the MAX NA event if you missed Early Bird registration. Please feel free to share the discount code with friends and coworkers as the code is time based.

The code will expire on Oct 10 at 11:59PM PST!

Discount Code: TED888



Ted :)

BUGS.ADOBE.COM –> Flash Player Open Bug Base

Flash Player has an open bug database so that anyone can log a bug regarding Flash Player 10. So here is what you need to do:




I know it would help the player team a ton if more people tested their content under Flash Player 10 for both compatibility and working with the new features.

So before you post in a blog about some issue with Flash Player, make sure you log a bug. It is impossible to fix issues that do not get reported.


ted :)

MAX 2008 Speaker Benefits

In my role of MAX Content Lead, I manage speakers and session content for MAX North America, Europe, and Japan. As an event we need to provide benefits to our speakers who contribute to MAX and make the event great. Today a respected speaker blogged about our seemingly inconsistent policy, so I wanted to clear the air and explain. Lets start with the benefits for speakers at MAX 2008:

1. MAX Conference Pass and Meals
2. Hotel during MAX
3. Session recording, and video syndication. (500x larger audience)
4. Gift for Speakers

Last year I obtained an additional $20K to spend on MAX 2007 and I chose to spend money to get speakers who were traveling a great distance to MAX. We got Geoff (AU), Aral (UK), and several other “Inspire Speakers” to MAX but I was very discrete about the travel arrangements. It is actually my fault that things were inconsistent last year but I wanted MAX to be a better event and I thought that helping speakers traveling great distances was the right thing to do. This year we decided to make the speaker benefits consistent, so we ended the inconsistent and exclusive policy of assisting with some speakers travel.

In talking with speakers, the primary benefit of speaking at MAX is exposure and this year we are underway with plans to greatly expand the reach of MAX online. I have been working with a small team to record all sessions (400+ hours) at MAX worldwide and we will be releasing the content for free online over time (immediately for attendees) in a new video portal currently in development. MAX as a venue globally this year will reach 10,000 attendees live in person but there are potentially 10,000,000 designers and developers who would benefit greatly with access to the content. As a benefit for those speaking at MAX and to expand the reach of Adobe tools and technologies, we will be recording MAX NA, Europe, and Japan and other events like 360Flex and AJAX Experience.

Overall I feel very strongly that we have improved speaker benefits year over year but I can understand other perspectives on the matter. I really want to make MAX a better event for all attendees and expand the reach of our events for everyone’s benefit. MAX is an investment for Adobe and choosing where and how to best invest year over year is really hard. If we chose to do one thing it is often at the expense of another budget-wise. This year we are focused on making the benefits consistent for every speaker and expanding the event viewership. Ideally these changes will benefit the designer/developer community and the entire ecosystem of customers leveraging Adobe tools and technologies.

If you have any feedback regarding speaker benefits or our policy towards speakers, I am always listening at

See you at MAX 2008!


Ted Patrick
MAX Content Lead
Adobe Systems

useWeakReferences:Boolean = false

This is the last argument in the addEventListener method and it just might be one of the most important. Whenever you subscribe to events you have the option to set useWeakReferences to false (the default) or to true (unfortunately not the default). What seems incredible to me is the fact that this is the last argument and that it defaults to false.

When useWeakReferences is false the following happens:

Even if the instance is destroyed by lightening and crushed by your car, it will remain alive stuck within the addEventListener inner workings til you unsubscribe to the listener. Worse is that you most likely lost the instance that you subscribed and that is required to use removeEventListener successfully. The instance will remain in memory and the method will keep getting called, uggghhhhhhh.

A better way…

When useWeakReferences is true the following happens:

Even if the instance is destroyed by lightening and crushed by your car, it will die and the method subscribed will never be called again.

Garbage collection is a very tricky business. The Flash Player VM is constantly looking for objects without a strong reference to them to collect. The real dilemma is that strong references are very easy to create.

All it takes is one:

var a = foo;


var b = foo.method; // yes closures come with an instance reference… :(


this.addEventListener( MouseEvent.CLICK , foo.method );

and foo will never garbage collect until ‘a’ and ‘b’ are removed as references and removeEventListener is called. With complex apps there can be a ton of events and you need to be super careful with references. References are the devil in the details.

I am knee deep in event code for BX and I am being extra careful to make sure that events are easier to work with. Be careful with references, they can make a real mess if you are not careful.


Ted :)

"Thermo" Sessions at MAX

If you haven’t taken a walk through the MAX NA sessions scheduler yet, you should. There are quite a few sessions on “Thermo” and Flex 4. MAX will be the big unveiling of the “Thermo” product including the real product name, “Thermo” is just a codename.

Here is a list of the “Thermo” sessions at MAX NA.

Adobe XD on Interactive Experience Design
Join the Adobe XD team for a deep dive into the science and art of interactive experience design and its integration with traditional development workflows. We will explore how the evolution of interactive experiences is driving consequent evolution in the design patterns that direct user interaction.
Speakers: Ethan Eismann
Tuesday, November 18, 1:30 pm – 2:30 pm

Designer Best Practices with Flex
Learn how to use familiar design tools in Adobe Creative Suite to integrate visually rich interfaces with unique, custom components created by Flex Builder developers. Apply design, motion, and interactivity to reusable components while collaborating smoothly with Flex developers to create stunning rich Internet applications.
Speakers: Aaron Pedersen, James Polanco
Tuesday, November 18, 4:30 pm – 5:30 pm

Developer Best Practices with Flex
Learn how Flex developers can benefit from using Thermo, Adobe’s upcoming interactive authoring tool for designers (first previewed at MAX 2007). We’ll discuss how Thermo can help Flex developers build and extend user interface components for designers to integrate with Creative Suite to create visually compelling RIA experiences. This session will cover best practices, coding conventions, and processes to maximize collaborative workflows with designers for Flex development.
Speakers: James Polanco, Aaron Pedersen
Tuesday, November 18, 9:00 am – 10:00 am

Flex Project Workflows
Learn the end-to-end process for designing and developing a complete Flex based consumer website. The session explores the detailed process used for coordinating development and design, the pitfalls that are often encountered, and how to avoid such pitfalls.
Speakers: Doug Winnie
Tuesday, November 18, 3:00 pm – 4:00 pm

Flex Workflows with Flash Professional
Learn how to integrate the expressive design capabilities in Flash Professional with Flex development to create visually compelling rich Internet applications. Join us in this deep dive on Flash and Flex to find out how Flash Professional users can build content that is easily integrated into Flex applications, and to explore best practices for designing Flex applications that interact with Flash Professional content. Maximize your designer and developer collaboration workflows with Flash Professional and Flex.
Speakers: Serge Jespers
Tuesday, November 18, 3:00 pm – 4:00 pm

Introduction to Thermo
Thermo, Adobe’s upcoming interactive authoring tool for designers (first previewed at MAX 2007), is poised to change how developers and designers collaborate on building rich Internet applications. This session will give you an introduction to Thermo and provide insight on the next generation of Flex authoring tools.
Speakers: Ryan Stewart
Monday, November 17, 3:30 pm – 4:30 pm

Looking Ahead to the Next Version of Flex
Hear one of the Flex architects discuss the future direction of Flex and its related products. We’ll discuss exciting updates being planned that will affect new and existing developers.
Speakers: Ely Greenfield
Monday, November 17, 11:30 am – 12:30 pm

Next-Generation Flex Skinning
See how skins and behaviors can be created with the next version of Flex. We’ll explain how to design skins and how to change basic functionality separate from appearance. We’ll also explore how component development works across Adobe’s products for designers and developers.
Speakers: Marc Dennert
Tuesday, November 18, 4:30 pm – 5:30 pm

Sketching Interactivity
See a variety of tutorials and examples that visually explain innovative ways for you to map, plan, and organize your RIA or Adobe AIR application. Attendees will walk away with hands-on examples from real-world RIAs and AIR based applications.
Speakers: Ethan Eismann
Monday, November 17, 5:00 pm – 6:00 pm

Wireframing Experiences and Applications
Learn how to plan and build a user interface “wireframe” before creating designs and code for interactive experiences and applications. Iterate and collaborate with designers and developers using your wireframe to build a solid understanding of your project design and specification.
Speakers: Peter Flynn
Wednesday, November 19, 9:30 am – 10:30 am

Interesting a Lab for “Thermo” too…. This one will be popular!

Hands-on with Thermo: Creating Interactive Designs
Learn how to use your existing design skills and Creative Suite tools to build rich Internet applications for the Flex framework. Designers will learn how to work collaboratively with their developer partners to build compelling Flex experiences. This session will include a discussion about Thermo, Adobe’s upcoming interactive authoring tool for designers (first previewed at MAX 2007).
Speakers: Narciso Jaramillo, Serge Jespers
Wednesday, November 19, 11:00 am – 12:30 pm
Wednesday, November 19, 4:00 pm – 5:30 pm

See you at MAX!

Ted :)