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.
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.