April 14, 2008

Remote Plugins and Modules in AIR

I've been getting a lot of questions about how to use remote "modules" in AIR. "Modules" is in quotes because it can mean different things. In every case, it refers to running some SWF or HTML/JS content that is loaded at runtime from the network. The difference are in how the content is loaded and how an application can communicate with it.

Depending on the specifics of the modules you want to load there are different options about how to load and communicate with the content. Let's explore the options!!

Continue reading "Remote Plugins and Modules in AIR"

Posted by emalasky at 12:53 AM | Comments (5)

March 30, 2008

AIR for Linux -- users and developers

Two big announcements on the Adobe + Linux front today. A public alpha of AIR and a new rev of Flex Builder.

For years I've been toying with the theory that Linux hasn't caught on in the consumer desktop space because the apps users expect to run don't run there. And the apps don't run there because developers need to learn different styles to develop Linux apps. There's different distros and packaging requirements, wide variance in window managers, etc, etc.

Sure, the rise of Wine kind of undermines the whole theory. But it adds an extra wrinkle: virtualized apps are cool, but a little bit weird. I'm hooked on virtualized OSes for daily life, but I still feel like they're not really playing well with others.

Anyway, the ability to develop Linux apps using AIR is a big step. Developers can write these apps on any OS. And just as cool, developers who love what Linux offers for their own work productivity can create AIR apps that run on Mac and Win as well. Same .air file, any OS.

So try out the Linux tools and file some bugs!! It's the best way to get quality where we all want it to be.

Posted by emalasky at 09:30 PM | Comments (0)

March 11, 2008

European Vacation

This is going to be fun. Hot on the heels of shipping AIR 1.0, I've been given approval to join some excitable evangelists and other eloquent luminaries on the AIR Tour in Europe.

For one week in June, I'll join the tour, presenting in Stockholm, Berlin and Warsaw. It's always a blast to meet the developers who are pushing the envelope of rich apps. And it'll be especially fun meeting them in parts of the world that are entirely new to me. From this desk, it's sometime hard to feel the true scale of a global community.

I just need to find someone to keep an eye on my cube....

Posted by emalasky at 07:30 PM | Comments (0)

February 24, 2008

AIR 1.0 is Live

It's been years in the making, but AIR 1.0 has left the building!

I'm so proud to have been a part of the development of the product. And it's unbelievably exciting to see how many people are excited about the possibilities for rich cross platform internet applications on the desktop.

This product would not have been possible without the devotion of the community, who labored always to keep us on target. From early on, we had pros like the inimitable Mike Chambers reaching out to the community to show that the team was listening, and reaching into Adobe to make sure that the team really was.

Now that the bits are live, the big challenge begins for everyone -- show the world how great experiences can make a difference.

Posted by emalasky at 11:08 PM | Comments (1)

July 27, 2007

Tear-Off Tabs into AIR Windows

Just for fun, I built this custom component to support tearing a tab off into a new window.

It's anything but polished, but it can't hurt to share, right?

Download the AIR file, or download the source.

Runs on AIR Beta.

Posted by emalasky at 01:20 AM | Comments (1)

July 24, 2007

Uses of multiple windows in AIR

For years, I've wanted to add one feature to the Flash Player: support for multiple windows. The feature really only makes sense when dealing with desktop apps, and I've been lucky enough to add the feature for AIR.

One aspect of multiwindow programming is key to making the whole package fun to use. But it's a subtle thing and not many people know it. There's no artificial barrier between your windows. The code you associate with your windows can all exist in the same "namespace" (they're called ClassLoaders in Java; ApplicationDomains in AS3).

There's no need to have a separate SWF or HTML file for each window. It's much cleaner to just create windows as needed and populate them with DisplayObjects.

We haven't seen many examples yet, but I believe this rich programming model will lead to even richer interactions. Let's brainstorm some of the cool ways windows can be used.

Splash Screen: When the app launches, an attractive splash screen fades in in the middle of the screen. A nice opportunity to establish branding while also giving startup progress feedback to the user.

Tear-off Tabs: grab a tab and drag it out of the window. A translucent image shows where a new window will be created. Release the mouse button and a new window is created.

Docking Windows: As you move a window, it naturally docks to the edges of the screen and to other windows in the app. Once docked, you can move multiple windows at once. I'm thinking about Winamp and Trillian's windows....

Auto-hide Toolbars: Already docked to the side of the screen, the window can slide offscreen when you move your mouse away. A small indicator reminds you that something's there. When you move your mouse to the edge, the window slides back. Here I'm thinking about MS Windows Appbars, or Quicksilver's Clipboard History window.

What else?

Posted by emalasky at 10:47 PM | Comments (7)

October 27, 2006

Summary: MAX Advanced Apollo Application Development

First off, thanks to everyone who came to Brent and my sessions at MAX. We had a great time doing them. It was a blast to meet so many people I've only known from email lists and blogs. People seemed really interested and excited in Apollo. Judging from the great questions, a lot of people had put some hard thought into what it'll take to make Apollo successful.

I'm sure the final slides will get posted somewhere central, but I'd like now to summarize the key points of our presentation.

Continue reading "Summary: MAX Advanced Apollo Application Development"

Posted by emalasky at 06:21 PM | Comments (6)

October 24, 2006

MAX2006 Keynote

I'll leave the detail-heavy blog posts to someone else. Brent and I still have to finish up the demos for our session this afternoon. But I want to get some thoughts down while the impressions are still fresh.

The strongest theme running through the presentations was the integration of separate products to support real workflows. Fancy products like Flash and Photoshop and ColdFusion can be used creatively to do almost anything. That's great power and freedom. But it doesn't mean that the most common tasks can be ignored.

I was especially impressed when Sho Kuwamoto demo'd a workflow between Illustrator and Flex Builder. Using well-designed assets in Illustrator, he mapped those to Flash symbols which were used to skin Flex components.

Focus on that kind of developer experience will be huge for the Flex community. By optimizing the common task, designers and developers will be able to make their Flex apps more distinctive. Can't wait to try that out!

Posted by emalasky at 11:37 AM | Comments (0)

October 19, 2006

Sessions at MAX

I'm excited to be going to MAX next week. As always, it's great to get out and talk to real live users. I'm also going to be doing a session with my teammate Brent: Advanced Apollo Application Development.

The session description isn't totally accurate, but we will be talking about some of the newer features that have made their way into Apollo. I think we'll be doing some live development, too, as well as prepping folks for things that are coming down the line.

I'm going to try blogging a lot more. The medium hasn't really caught hold for me yet (as a writer, that is). I'm jumpstarting the whole thing by posting whether I've got good stuff to say or not. If it's boring, no one will link to it. I'm OK with that.

Posted by emalasky at 09:53 PM | Comments (0)

June 29, 2006

Working on Apollo

It's been a long time since I've posted, but it's time to get back out in the world. I've been fortunate enough to be working on Apollo. Things are coming along great and there's increasing discussion about Apollo in the blogosphere.

My plan is to use this page to comment on people's discussions, and to add new topics to the fray. Apollo will be opening up cool new opportunities for web developers, and I hope to share my excitement.

Talk with you all soon!

Posted by emalasky at 02:36 PM | Comments (5)