While I'm a staunch proponent of building code that reuses other work as much as possible, there comes a time when new ideas, implementations, or just plain better work means either your dependencies are co-dependent (ha) or simply obsolete.
FLV Media Player depends on SWFObject API which will rapidly become obsolete with the forthcoming Embed module. The dependency allows FLV Media Player to render the flash player onto the page. SWFObject loads flash content by using javascript to render the player after the page is loaded- something that was at one point necessary with IE. Now many developers continue to use it as it makes standardizing flash that much easier. There are of course other ways to get flash on the page- from jQuery methods and just plain old writing the HTML on the page.
To get rid of FLV Media Player's dependency of SWFObject API, I have the advantage that there is a fallback for getting the player on the page that does not require any additional modules- I can just print the raw HTML to the page. However, for site administrators who wish to use more sophisticated ways of getting the player on the page, FLV Media Player will check for supported modules (currently SWFObject API and SWFTools) to use as output before the default behavior kicks in. This is also nice as it does not break anything for an existing install, and will immediately utilize an availabe embedding method if it is present. No more dependency with improved compatibility- everybody wins!

This kind of thinking of
This kind of thinking of progressively enhancing a modules functionality depending on the available modules is great - I'm very fond of it and your blog post about it made me thinking that it's unfair that such progressive enhancements isn't getting the attention it deserves compared to dependencies.
After some searching I found an issue about adding more relationship types to modules than the dependencies and I decided to write a patch and add to the issue.
So if you feel like me - that progressive enhancements like this should be more discoverable - you could go to the issue and join in on the discussion: http://drupal.org/node/328932#comment-1709300
Post new comment