Embedded Media Field has grown exponentially in the last year since I’ve begun developing it. From its humble beginnings as a brainstorming session at DrupalCampNYC last spring, it has grown from a quirky method of make embedding YouTube videos easier for editors to a full-featured suite of modules allowing for drag-and-drop placement of third party videos, images, and audio clips.
Used on a wide range of sites, such as Air America, NRDC, and Drupal Dojo, the module is a flexible and powerful solution for embedding multimedia.
The first weakness would be documentation. Though it is simple to use, as it integrates automatically with CCK and Views, based on the occasional support requests in its issue queue, documentation could be a little more filled out. However, several people have begun writing tutorials and recipes for using it, such as Sean Effel’s excellent Feed API + Emfield video tutorial, and another video tutorial in Portuguese.
Next is its complexity. It tries to do a lot, and grew organically with differing goals, so that some parts branch out in ways that I would code differently if I were to start over. Additionally, the code documentation is sparse (although I have begun addressing that with the Drupal 6 port). All of this, combined with the significant changes to CCK and Views, has made the Drupal 6 port take longer than originally planned.
The strengths of the module, I believe, more than make up for its weaknesses, especially as these are as well in progress. The first is ease of use. An editor can literally drag and drop a video thumbnail to a node field to embed that video in their content. Configuration is sometimes a bit tricky, but the module works fine even out of the box.
Next is its extensibility. Well over a dozen providers, ranging from YouTube to Blip.TV to Flickr to Odeo are supported, and adding a new provider is generally a simple process for a developer. Unless a particular API is difficult to use, I can add basic support for a provider in less than an hour.
Additionally, several contributed modules, particularly Media Mover and Feed API, hook easily into its API, allowing for some powerful media solutions.
In all, I consider this module a necessity for most sites that I develop now, or at least any that wish video support. The growth of distributed video on the Internet has been phenomenal over the past year, and enabled with Embedded Media Field, Drupal has been able to meet the challenge.
And thanks go out to Fred Gooltz (for the initial idea), Sam Tresler (for help with the initial code), Alex Urevick-Ackelsberg (for helping to maintain it), and all the excellent people working on the issue queue! This is truly a collaborative effort.
(Cross-posted at Drupal Modules.)