February 3, 2012 - Josh Hatwich

Preview 4: Interactivity Updates

Edge Preview 4 is now available for download on Adobe Labs! Preview 4 adds major new capabilities like Symbols and Web Fonts, but also has a number of refinements including tweaks to the JavaScript API. The following interactivity changes are in Preview 4.

Resolving Selectors

In Preview 3 we introduced an API that allows you to lookup a selector within a Symbol:


In almost every instance the reason you lookup a selector is to pass its result into jQuery like this:


We’ve streamlined this call in Preview 4, so now you can get the same result by doing this:


vMouse is being Depreciated

We decided to remove the vMouse options from the Edge UI in Preview 4. The idea behind vMouse is that you can write code that depends on mouseover / mouseout logic and still have it work on touch devices. We came to understand a few problems with the practice of using vMouse and decided the additional complexity was worth avoiding. In case you are wondering the problems come about when the Element changes on mouseover. Imagine a mouseover script that hides the Element. On the desktop you never get a chance to issue a click to the object, but on a touch device vMouse would synthesize vMouseover on the way to handling a click. These kinds of things can be tricky to find and resolve, so we decided to keep it simple and recommend using the raw browser events.

If you used vMouse in Preview 3, Edge will still recognize it and vMouse events will still work in Preview 4, you just won’t be able to add them via the UI. The related JS file is still bundled with Edge, so your content should keep working.

Working with Multiple Compositions

Preview 3 added the ability to place multiple compositions on a single web page and in Preview 4 we’ve made that a little easier. Preview 4 has a single-line JavaScript include for each of your compositions, so you don’t need to coordinate the shared libraries and such. You still need to specify stage elements for each composition using the Composition ID as the class name for the stage.

Showing / Hiding Elements

In conjunction with the Element Display feature that we added in Preview 4 there is a slight change to the behavior of Managed Elements around creation time. Managed Elements are the graphical components and text you create in Edge (vs. Static Elements that you define in your HTML markup directly). The change is that Edge now hides all Managed Elements at creation time and then sets their initial display state when all resources are downloaded and the composition is ready to play. This is done to avoid showing the content pop in as it arrives on the network.

Symbols & Playback Commands

In Preview 3 playback control was only available via triggers. Since Edge doesn’t execute triggers on its stage, the effect they have on the animation is only apparent when you are running in the browser. Playback commands allow you to scrub into Symbol timelines and can be a more effective means to control the timeline than one-line triggers.

Pardon the dust!

The Edge APIs will be evolving as we iterate and incorporate your feedback. We appreciate your patience as we tweak the runtime. As you try things, please bring your questions and engage the Edge team on our forums.

6:00 PM Permalink
January 27, 2012 - sahunt

Web fonts and Edge, together at last.

With the launch of Adobe Edge Preview 4 we are excited to bring you the new web fonts feature! The web fonts tool in Edge is extremely versatile by letting you use your font service of choice to display web fonts and custom font stacks in your composition. We’ll go over some how-to steps to get you started with some popular web font services.

Some history

It’s a myth that @font-face has only been in use since the introduction of CSS3. @font-face support has been around since IE4! Currently web fonts are supported by the following browsers:
Safari 3.1+
Opera 10+
Chrome 4+
Firefox 3.5+

Modern browsers have gone their separate way as far as font support goes. For this reason it’s good for your @font-face declaration to contain several fallback font files.

Internet Explorer only supports EOT
Mozilla browsers support OTF and TTF
Safari and Opera support OTF, TTF and SVG
Chrome supports TTF and SVG.
Mobile browsers like Safari on the iPad and iPhone require SVG.

A typical CSS file with an @font-face declaration will have something similar to the following:

@font-face {
font-family: ‘FertigoProRegular’;
src: url(‘fertigopro-regular-webfont.eot’);
src: url(‘fertigopro-regular-webfont.eot?#iefix’) format(‘embedded-opentype’),
url(‘fertigopro-regular-webfont.woff’) format(‘woff’),
url(‘fertigopro-regular-webfont.ttf’) format(‘truetype’),
url(‘fertigopro-regular-webfont.svg#FertigoProRegular’) format(‘svg’);
font-weight: normal;
font-style: normal;


.classname {
font-family: ‘FertigoProRegular’, Helvetica, Arial;

If you’re having problems with displaying web fonts, check first to make sure you have all available font types. For example if your web font only has an EOT and TTF file, your font won’t display on an iDevice.

How to Embed Web Fonts Using Local CSS

In this example, you will be using a local CSS file containing the @font-face declaration. In this instance you will need the CSS file and your web font files (preferrably in the same directory.)

Step 1:
If you do not already have a CSS file with an @font-face declaration or your web font files, go to fontsquirrel.com to generate a font kit using an existing font.

Step 2:
Move the font and the generated CSS file to the directory of your Edge composition. Your files should look similar to this.

Step 3:
Click on the “+” icon under “Fonts” in the Library.

Step 4:
Enter your embed code, font name and any fallback fonts and click “Add Font”.

Step 5:
Create a text box and apply your new font.


How to Embed Web Fonts Using Google Fonts

In this example, you will be using a hosted CSS file containing the @font-face declaration. In this instance we will be using Google Fonts.

Step 1:
Visit Google Fonts and select a font from their library. Chose “Add to Collection”.

Step 2:
Select the “Use” button at the bottom of the screen.

Step 3:
Scroll to the bottom of the page and grab the embed code. Here you will also find your font name.

Step 4:
Click on the “+” icon under “Fonts” in the Library.

Step 5:
Enter your embed code, font name and any fallback fonts and click “Add Font”.

Step 6:
Create a text box and apply your new font.


How to Embed Web Fonts Using Typekit

In this example, you will be using a hosted JS file containing the @font-face declaration in conjunction with an online font service. In this instance we will be using Typekit.

Step 1:
Visit Typekit and create an account.

Step 2:
Select a font to add to your kit and launch the Kit Editor.

Step 3:
Click on “Kit Settings” and enter the ip “”. This will allow you to view the fonts locally, You can also add a site for publishing seperated by a comma.

Step 4:
Select “Embed Code” and copy the two lines of Javascript in the window.

Step 5:
Click on “Using fonts in CSS”.

Step 6:
Copy the font name.

Step 7:
Publish your fonts. If you don’t publish, you won’t see your font rendered.

Step 8:
Enter your embed code, font name and any fallback fonts and click “Add Font”.

Step 9:
Create a text box and apply your new font.

Legal Considerations

Added January 30, 2012
Most fonts come with an EULA that specifies how the font can be used. For example you can purchase a font to use for print, but the EULA can say you are not allowed to embed that font for web use. In the past few years a lot of font foundries and font services have been picking up on the trend of web based fonts and writing EULAs that specifically target web use (how many sites can be embedded, how many views, etc.) For the purposes of the Web Font tool in Edge, the onus of liability is left up to the user to know what their limitations of the font file are. There simply isn’t a feasible way for Edge to determine if the EULA for the font is valid or not, especially since Edge only handles the CSS stylesheet for the font and not the file itself.

These are just some of the options you have for using web fonts in Edge, and by following the steps you can apply the same method to use other font services. Happy typesetting!

7:42 PM Permalink
January 19, 2012 - Rich Lee

Adobe Edge Preview 4 is here!

Hi everyone,

It gives us great pleasure to introduce Edge Preview 4 today, available on Adobe Labs. As you know, it’s been a while since we launched Preview 3 at MAX last October, and we think Preview 4 is worth the wait. Major new features have been added, as well as usability improvements and fit and finish details that you’ve been asking for. Here’s a quick summary:


  • Create nested animations with independent timelines and interactive capabilities.
  • Programmatically control symbols via exposed APIs  and pre-built code snippets.
  • Edit symbol definitions in the same manner as working with other objects.
  • Specify whether or not a symbol should autoplay or not.
  • Control playback functionality at the playhead location, such as play or stop commands.
  • Scrub or play the timeline to scrub symbols, which will follow symbol commands and autoplay definitions.
  • Easily access symbol definitions and instances in the new Library Panel.

Web Fonts:

  • Add richer typography to your compositions by integrating a web font service. Edge supports the following types:
    • Downloadable font packages (ex: FontSquirrel)
    • Linkable font services (ex: Google Web Fonts)
    • Token font services (ex: Typekit, fonts.com)
    • Access newly added fonts from the list of available fonts.
    • Define a font fallback list for users who don’t have the font in your composition.

Element Display:
Control how long an element is displayed, so they only appear when needed. By default, elements are always on, even if they’re off the stage. They can be configured to be “off” (equivalent to display=”none”), removing them from the HTML rendering tree and reducing resources. Check out the complete list of updates here.

Also check out this new video with Adobe Fellow Mark Anders, who’ll show you how to use the new features in Preview 4.

Please download Edge Preview 4 from Adobe Labs, have fun with it, and let us know what you think!


6:46 PM Permalink
January 4, 2012 - Josh Hatwich

Why can’t it just work?

Working with HTML, CSS and JavaScript and getting it successfully deployed on the web can be a daunting task. For those new to the technology, it can be extremely frustrating and in some cases it can be a show-stopper. We’ve had a lot of folks try Edge Preview 3 and some of them have run into issues getting their content running and deployed to the web. On the Edge team we do a lot of debugging as we resolve various defects in the product. The following are a few useful techniques you can use to figure out why an Edge composition is not running or deploying as expected.

Browser Compatibility

One thing to understand up front is that Edge content only works on modern browsers. In Preview 3 that means IE9+, Firefox 4+, the latest Safari and Chrome on the desktop – the latest iOS and Android Webkit browsers on mobile. We are working on better down-level browser support, but until that is added you would have to do extra work outside Edge to provide an alternate down-level experience.

Recovering Your Work from JavaScript Errors

There have been a handful folks reporting that their composition fails to open after a save. It is a scary thing to see the blank page come up after spending hours creating a composition. Folks will be running into fewer of these kinds of issues as the product matures, but in the meanwhile a little debugging goes a long way; it is generally pretty easy to recover your work.

First, a little context. Edge runs your composition in a Webkit-based stage. The data that makes up your composition is stored in a JavaScript structure that is interpreted within the stage and subsequently understood by Edge. If there is a syntax error in that JavaScript structure then Edge sees nothing and opens a blank page. In Preview 4 Edge will alert you of this condition and will not open the file. These types of errors not only prevent Edge from opening the composition, they prevent it from playing properly in the browser.

JavaScript syntax errors are pretty easy to fix. The first step is to figure out where it is broken. There are a number of ways to find JavaScript errors, the following should get you started with Dreamweaver or a WebKit browser (Chrome or Safari).


If you have Dreamweaver it will flag the error when you open the offending JavaScript file (xyz_edge.js is a good one to start with).

1. Open the HTML file in Dreamweaver.

2. Select the xyz_edge.js file in the related file list. If you don’t see xyz_edge.js in the related files list, select "Live View" which causes Dreamweaver to rescan the related files.

3. Observe the error on Line 18. The quote is double-escaped and makes it impossible for Edge to read the file.

4. Fix the error and the warning goes away. In the example above the string is “double-escaped” which means there is an extra ‘\’.

Browser-Based Tools

You can also view errors in your browser by opening the JavaScript console. The following screenshots were taken using Google Chrome, but the same or similar steps can be taken to see errors in Safari or Firefox w/Firebug.

1. Open your page in the browser.

2. Right-click and choose “Inspect Element”

2.5 Or…

Note: On Safari you have to enable Developer tools before you will see the option to Inspect Element

Note: On Firefox, you have to install Firebug http://getfirebug.com/

3. Refresh the page. This is not strictly necessary, but in some cases the Developer Tools don’t see all the JavaScript files that were loaded.

4. Make sure the Console tab is selected, you should see any errors displayed.

5. Click the file + line number (to the right of the error)

Hosting, Deployment and Related Problems

There are many options for hosting HTML content. Depending on how your host is set up, you have been given a way to upload content to the server. To get an Edge composition to work you have to deploy the HTML source as well as the JavaScript, CSS and related image files.

Not only do the files need to be deployed, they also need to end up where the composition expects them. You must copy the /images folder and the /edge_includes folders to your web server. Note: the site management in Dreamweaver and other site management tools may not "see" the images and scripts that an Edge composition requires, so be sure you select and transfer all of the required resources (upload/put the folders and their contents in addition to the HTML file).

The easiest way to determine whether you are having a problem with resource deployment is to use the inspector in Chrome or Safari or Firebug in Firefox to see what files are being requested and whether they are found or not.

The Network tab is most useful for this type of investigation. You should see requests for several edge_includes/XXX.js files, the request for your composition’s xyz_edge.js file followed by requests for any images used by your composition.

The above screenshot shows a 404 (not found) error. That means the file “Adobe_logo.svg” was not found.

In the xyz_edge.js file that file is referenced via a relative path.

In order for the Adobe_logo.svg file to be found, there must be a folder named “images” that is a peer of the xyz.html file and the images folder must contain Adobe_logo.svg.

Hosting SVG

In order for some web browsers to understand SVG images properly, they need to be served in a particular manner by your web server. If this is not setup properly then the SVG will not display.

1:18 AM Permalink
December 22, 2011 - Rich Lee

Sneak Peek: Adobe Edge Preview 4

Hey Everyone!

Before we take off for the winter break, we’d like to show you a glimpse of what’s new in Adobe Edge Preview 4. Edge team member Sarah Hunt will show you some of the new features like Symbols, clipping, support for web fonts, and more.

(if the video doesn’t appear above, click here.)

Edge Preview 4 will be available on Adobe Labs in January 2012. Stay tuned for more info!

Happy Holidays!

4:47 AM Permalink
December 14, 2011 - Rich Lee

Adobe Edge Preview 3 is expiring on 12/31: Please download Preview 3.1 for an extension

Today Edge Preview 3.1 was released on Adobe Labs. Preview 3 is set to expire on December 31, 2011, regardless of when it was installed. Preview 3.1 extends the expiration until Preview 4 is available in January.

To continue using Edge, please follow these steps:

  • Uninstall the version you currently have.
    - Mac: Run the Edge Uninstaller in the folder named “Adobe Edge Preview”, located in Applications
    - Windows: Uninstall “Adobe Edge Preview” using Add or Remove Programs
  • Download Edge Preview 3.1
  • Unzip the file and run the Adobe Installer

We intended to release Preview 4 before Preview 3 expires, but we feel it needs more work before making it available. We are VERY excited about the new features we’re working on, and think it will be worth the wait. Preview 4 will introduce:

  • Symbols: Create reusable objects that animate and interact independently of the main composition.
  • Persistent Code Panel: Easily navigate to any code in your composition.
  • Element Display: Manage an element’s lifetime so they’re displayed only when needed.

Preview 4 will also include improvements to usability, as well as fit and finish.

Thanks for using Edge and being a part of our community. We’re sorry for the trouble and appreciate your understanding. Stay tuned for more updates on Preview 4, and Happy Holidays!


4:47 PM Permalink
October 21, 2011 - Josh Hatwich

MAX Wrap – Interactivity and Real-World Use

Hello World: Edge Preview 3

Many of us on the Edge team had the opportunity to attend Adobe MAX in Los Angeles a few weeks ago.  We launched Edge Preview 3 at the conference and had a number of well-attended sessions where we showed a glimpse of what is possible in Edge with Preview 3. The following post should help you catch up on what you may have missed or review what you caught live.


Download Edge & Review the API

If you don’t already have Preview 3 – download it here. The Edge API has detailed information about how to use the Edge JavaScript runtime.


Download Examples

Here are the Food Truck Examples I used in my presentation.  They show “Rhako’s Ramen” in various stages of development.  The website in its finished form consists of 3 Edge compositions running in a single page that are coordinated to play once all three are loaded.

A bit about Interactivity

Preview 3 added support for interactivity.  All your code goes into xyz_edgeActions.js.  You can edit the contents of that file in an external editor, just be careful to preserve the Edge comments.  Each of the “bindings” correlates to a bit of UI in Edge:


The code for each Composition and Symbol (the stage is a Symbol) is contained by a closure.   Closures help encapsulate code and prevent Edge code from polluting the window namespace where it might interfere with other JavaScript.

Real-World Example

To show how Edge content might be used we created the Rhako’s Ramen noodle site. We wanted the page to behave well, so it has a pre-loader and presents an alternate display (albeit raw) for down-level browsers. There is an animation that presents a twitter data feed and three separate Edge compositions are combined into one page.

The page was built as follows:
A)  Sliced the Photoshop comp created by the designer and produced assets for the “truck” part of the composition.


B)  Animated the “truck” preroll.
Food Truck Animation
C)  Sliced the comp to produce assets for the “map” part of the composition.
D) Animated and added code to build the “map”.  There are 4 approaches that can be used to build the Map area of the page.  Edge will add support for Symbols in a future Preview, but for now we have one timeline to work with and can jump around it to get to different states.


E) Sliced and coded the HTML for the overall index.html page.  Animated and wired up a Twitter feed to the animated elements.  It cycles through recent tweets.  Also added a pre-loader animated .gif that shows until all of the compositions are ready to play.

F)  Embedded the “truck” and “map” compositions in the index.html web page.


G) Incorporated modernizr.js to add a (raw) down-level browser experience.



Here is the finished result.



Download Edge
Edge JavaScript API
Adobe / jQuery Blog
Edge Forums

Let us know what you would like to see added to Edge!  Watch for Preview 4 on the horizon.
11:47 PM Permalink
September 29, 2011 - Scott Evans

Hello world!

Welcome to our team blog! Give us a few days to get things going.

In the meantime, download yourself some Edge from Adobe Labs.

10:47 PM Permalink