About Flashy
Flashy is a fully GPLed Flash video wrapper. "So what?", I hear you say. There's no shortage of Flash video wrappers. However, there has been a shortage of supported GPLed Flash video wrappers.
Palantir has used a few different Flash wrappers before, and while most got the job done they all had a key problem: They weren't fully-Free. Some are Creative Commons Non-Commercial, which doesn't work for some of our clients as they are for-profit entities. Some have a somewhat interesting spin on the GPL, with a watermarked or overly-branded GPL version and a closed-source unwatermarked version and a license that says you can't get rid of the watermark. We decided to pass on that... We did manage to find one player that claimed to be GPL, but was so completely unmaintained (and a download link for the source wasn't available) that we decided to steer clear.
With no clear existing tool to use, we did the next logical thing: Write our own and release it for general use. The result is Flashy, a general purpose Flash video wrapper available independently of Drupal but with a clear integration module. Flashy was developed in collaboration with renowned Flash developer David Stiller, the author of several books on Flash and ActionScript development. Its biggest selling point is that it is 100% GPLv2+, the same license as Drupal, with no branding or strings attached whatsoever. The code is pure ActionScript 3, so you don't even need Flash Professional to edit it. All you need is the free compiler.
Using Flashy
The Flashy module itself is just a wrapper for the video player. In order to make use of it, the player needs to be given a video file to play. As we always favor building sustainable building blocks rather than one-off solutions, Flashy ships with two CCK formatters, one for Filefield and one for Link fields. That way, you can simply upload an FLV, F4V, or MP4 in a file field and it magically appears on the site, either on the node or in a View or wherever. Alternatively, if the file is hosted off-site (maybe for disk space reasons) you can just drop a URL into a Link field and have it display as well. You can see Flashy in action below (along with Palantir's Executive Puppy, Kiki, who is far less excited about Flashy than she should be).
Installing Flashy
The Flashy player itself is not included in the module, per Drupal.org policy. However, it's a single file that can be downloaded from the Google Code project and dropped into the module directory without any additional configuration. If you are using Drush (and you should be), Flashy provides a Drush command to automatically pull down the player.
drush flashy post-install
Boom! (With due apologies to Steve Jobs.)
In order to minimize the amount of duplicate code we had to write, Flashy does depend on a few external modules. First of all, it is object-oriented under the hood and uses the Autoload module to keep the amount of needed code to a minimum.
One issue we ran into during development is that sometimes the Flash player would appear on screen properly, but if we had multiple videos on screen at once they would sometimes work and sometimes not. It took us a long time to figure out why, but it turns out that jQuery (which Drupal uses) and the widely popular SWFObject library (which we were using to embed the player) have very subtle and nasty collisions in the way they handle page init and something in the way Flashy works triggered one of those collisions. Fail!
The solution was to replace SWFObject with a jQuery-native equivalent. Enter SWFEmbed, a jQuery-native Flash embedding utility. Like Flashy it is object-oriented, and in fact most of Flashy got pushed up to SWFEmbed. The goal is to make embedding flash-based content in Drupal dead-simple, as developers of new modules need only extend the SWFEmbed class and add what they need. All of the crazy cross-browser Javascript weirdness is handled automagically.
Although not required, it's also a good idea to install the getID3 module. If available, Flashy will use it to auto-detect the size of your video file (if it's a local file) and create the correct size player on screen. If it's not installed all videos will be shown at a default size.
Advancing Flashy
That's all there is to it! At least for now. Flashy itself has a lot of flexibility to rearrange controls, change the color scheme, and so forth that is not yet exposed through the Drupal module. In part that is difficult because CCK Formatters in Drupal 6 do not have support for configuration. However, there's still value to allowing some site-wide configuration, such as changing the color scheme or default video size or whether videos should play by default. All of that is possible, it just needs to have the necessary administration screens written. Flashy also has preliminary support for playlists.
The video player can handle XML-based playlist files in XSPF format, which can be uploaded to filefield as well and use another provided formatter. What would be even better, though, is to support multi-value filefields and generate a playlist file on the fly. That should be doable, but as of yet we've not had the opportunity to do it.
Are you up for it? Send in a patch to help make the simplest Free Flash player even simpler.

The Fightin' Flashy!
One of many great things about Flashy that Larry alludes to above is that the player itself isn't tied to Drupal; you use it with any GPL-compatible framework or CMS, or even just as a standalone SWF player for a static site. We're hoping that everyone finds this to be a useful tool, not just those in the Drupal community.