Skip to main content
Ryan Price and the Media
Commanding Chaos for Coworking, Open Source and Creative Communities

Main navigation

  • Blog
  • About
  • Contact
  • Subscribe
  • Drupal Easy
  • Florida Creatives
  • Liberatr
  • Lifestream
  • ThinkUp
  • Home
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Weekend Projects - Lightweight Photo Service

Weekend Projects - Lightweight Photo Service

By rprice , 5 May 2008
Categories
Tech
Tags
interface
mashups
open source
Programming
Web Services
Web Sites

This is a project I've been thinking about for a while, and I'd love to do a hack weekend to get this working sometime.

One thing that's been a problem with us at Petentials (and many other sites running Drupal) is Photo uploading, sharing, embedding, etc. Aaron Winborn created a great tool called Embedded Media Field that abstracts the hosting of photos, videos and audio files for a Drupal installation - what I'm thinking of doing is writing a custom interface for that module that allows a user to upload the files without leaving the page, and then talks to Drupal to tell it to make a new node for the photo, add it to a gallery, or the same for a batch of images - Aaron's module does quite a bit of this already.

I was wondering if Menalto Gallery (G2) could help us out here, but that's really meant to be used as its own system - I really just want to create a REST/CRUD interface we can throw on a subdomain to serve up images and thumbnails, while also generating new thumbnails as needed. G2 has lots of these features, but then we'd have to keep the user tables in synch and I'm not sure we need everything they have to offer.

This is not meant to be a flickr or a photobucket, but the replacement for hosting images in-house. It should be insanely transparent to the users - they should not need to register, have any plugins or enter any extra screens.

My thoughts are the following:

  • Use lighttpd or a stripped-down version of Apache with PHP. No database (unless to store API keys and permissions for when you want to update/delete a file).
  • All files get served statically - if we hit a 404, redirect to a PHP script which generates the image. Then all future requests are static.
  • Once the image is generated, we could host it on S3, Akamai or another CDN? I remember seeing something like this with Gigavox's podcast hosting solution - I'm going to go check out their screencasts/documentation again to see if they explain it or I can figure it out.
  • Make it open source and let other folks use it and hack on it.
  • Ability to link to images over the web, or upload .zip .gz files via FTP, or email in images, eventually allow for mobile uploads, etc.
  • We'd also want to have support for checking referrers so we can deny certain folks and perhaps serve watermarked images to non-approved sites? I think some of this can be done at the Apache/lighttpd level, and I'd prefer configuration over code in as many places as possible.

The application by itself won't do anything - you'd need a CMS to integrate it with. My choice is Drupal, of course.

Certainly on the wish list for embedded media field is the ability to integrate this content transparently in the background (see Vox's media features). Using something like PingVision's Drupal Markup Engine and a WYSIWIG editor might get us most of the way there. It's an API that lets you specify custom tags - mostly these can be used to add images, video or blocks inside a node, but there are dozens of uses that have not been invented yet, I'm sure. If the editor can have plugins written (Kupu is the editor of choice for Acquia's Carbon). I don't think it should insert raw HTML, but a custom tag so we can abstract the method of storage - just something like [image:13456] or [video:13456] or [audio:13456] or [gallery:13456] at least until HTML5 gives us a standard for implementing this.

One reason why the Embedded Media Field is so great is because if YouTube changes the player, or if they introduce the option to turn off the related videos at the end, or even if you come up with your own .FLV wrapper, like a deep-tagging service, all your calls to videos are made through this tag - it's an API for HTML code.

If we get an editor that supports this sort of stuff and a module/plugin for major CMSes and platforms, those can all live in one place. Wordpress has support for TinyMCE or the plain-text editor, but it must support others, yes? Another editor that would be high on my list is the YUI Rich Text Editor.

I could probably go on all day, but I think I've gotten a decent explanation for this cluster of projects out there.

Twitter / liberatrRyan Price | Facebook Flickr: Photos from Liberatr.netInstagramYouTube :: Videos by liberatrLinkedIn: Ryan Price

I am nobody's puppet.

Disclaimer: My blogs are not a reflection of my employer's opinions, but are my own, and often unfiltered. Also, some links on this site may be part of an Amazon Associates program, so by clicking on them you help me pay for my independence.

Drupal Association - Individual Member Acquia Certified Developer Acquia Certified Developer Miro Video Player | Download torrents and podcasts, play any video, and do it with style. Gimp - a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. Processing is an electronic sketchbook for developing ideas. Build a custom arts management solution. LibreOffice is the free power-packed personal productivity suite that gives you six feature-rich applications for all your document production and data processing needs

  • Thanks again, Steve. I hope
    14 years 1 month ago
  • Hi - bit late responding here
    14 years 1 month ago
  • Should have added...
    14 years 2 months ago
  • Hi Ryan,
    14 years 2 months ago
  • Ryan,
    14 years 2 months ago
  • It is happening and you are
    14 years 5 months ago
  • In close future I want to
    14 years 8 months ago
  • the article has been
    14 years 9 months ago
  • I think it's a great coup for
    14 years 9 months ago
  • My hardware box acts as an
    14 years 10 months ago

  • Blogging Fringe
  • Bringing Art and Technology Together
  • Drupal Easy Podcast
  • Florida Creatives Podcast
  • Invisible Frisbee
  • Liberatr.net Facebook
  • Liberatr.net
  • Orlando Podcasters
  • Orlando Scene TV
  • Orlando Video
  • Our Yellow House
  • Pulpp.net Orlando Blogs
  • Pulpp.org Real-Time Collaboration
  • Shrink Your Ecological Footprint
  • The Student of the Game

  • Alex Rudloff
  • Apartment E
  • Brian Feldman
  • Chad Miller
  • Charles Krueger
  • Chris Messina
  • Chris Scott
  • Chris Wojda
  • Daniel H. Pink
  • Daniel Smith
  • Darren McDaniel
  • David Terrar
  • Destination Journal
  • Dr. XNLB
  • Elizabeth Maupin
  • Eric Marden
  • Hugh McLeod
  • Jana Waring
  • Jeremy Harrington
  • John Rife
  • Josh Hallet
  • Katie Ball
  • Katharine Miller
  • Lloyd Davis
  • Loren Feldman
  • marc. with a c.
  • Marc Rapp
  • Mario Andy Lurig
  • Mark Baratelli
  • Mike G
  • Noel Hidalgo
  • PSFK
  • Rebekah Lane
  • Stephen Matheny
  • Thomas Thorspecken
  • Tim Welch

  • Florida Drupal Group
  • Izon Orlando
  • Orlando Coworking
  • Orlando Fringe
  • Orlando Improv Festival
  • Orlando PHP
  • Orlando Puppet Festival
  • Page 15
  • The Daily City
  • Urban ReThink

Powered by Drupal

<none>

  • RSS Feed