My Website
Dave Allen Barker Jr

Contents

Preface

Ideas come and go about what I want my website to do and how to make it happen. This is an attempt to make the better ideas stick, so that I might better stick to a course that will make the wants of my website a reality.

I'll begin by offering the vision by painting a picture of what I'd like my website to do for me. I'll explain some functionaliy, why I think it's important, and offer usage examples. Then, my implementation philosophy, abstact thoughts on how I believe this functionality should be achieved and why. Finally, ideas on engineering the website, actuall implementation ideas using specific technology and techniques.

This is being written for myself, but for anyone who happens to gain something from it, I'm gald! I've gained so much from the open public offerings of others, it'd be great to have given a little back.

The Vision

Media Browser

A major motivator for this work is to create a way to enjoy our myriad of media, which at this time happens to be mostly photographic, but should be built to include any media, such as textual, aural (audio such as music), and movies. Building a website to do so has the following advantages.

Implementaiton Philosophy

Model, View, Content Seperation

RDF

Modeling

I've spent quite a bit of time modeling what I think is important about media resources.

  • There is a concept you wish to talk about. I think I make a special distinction here in that most things we think of as a resource, such as an image on a webserver, I would first abstract it as a concept, where it's URL would really be but one of many properties of the concept. I think a URN (Uniform Resource Name) is most appropriatly assigned for this.
  • Where the resource can be found is probably the most common property of a resource. Often it seems, the resource really important to us, such as a particular file, will have multiple places it can be found, such as at various URL, a CD, a particular host. Therefore a location or filename should not be used as a resource identifier, as it often is in everyday use.
  • A URN should not be confused with a label. Even if the URL ends with a nicely human understandable fragment identifier. A label is just another property.

Relationships and properties I believe to be important for media specifically are the following.

History, Derivitives, or Versions

A picture may be resized, color corrected, or even cropped. It's nice to know where the original, or it's parent, can be found, such as when you'd like to redo a transformation, or work with one of higher resolution. All images would have an original from which all other forms derive, be it the original jpeg from a digital camera, or the 35mm negative from a film camera for example.

35mm film -+- scanned ------+- thumbnail ---------+- crazy art
negative   |  tiff          |  tiff               |  color jpeg
           |                |                     |
           +- a lesser      +- medium jpeg of     +- jpeg of
              quality scan  |  original tiff         thumbnail
                            |
                            +- cropped and color -+- thumbnail jpeg
                            |  corrected tiff     |  of corrected tiff
                            |                     |
                            +- ascii art version  +- medium jpeg of
                                                  |  corrected tiff
                                                  |
                                                  +- large jpeg of
                                                     corrected tiff
DV video -+- wav --------+- mp3 high
          |              |
          +- still jpeg  +- mp3 low
          |              |
          +- mpeg        +- ogg/vorbis
          |
          +- text      --+- xhtml
             dictation   |
                         +- old html

Conceptual Resources

When you talk about a resource you are directly concerned about, it is most likely not the thing you have in hand or are looking at on screen. It is something more abstract, of which what you have in front of you is only a representation. I see three important concepts to capture

  1. Content
  2. Format
  3. Instance

An obvious example is an image. You'd like to say who's in it, when it was captured, and who created it. These are not properties of the JPEG or print (though they could be in another context), they are properties of the abstract image, regardless of what file it is or form you view it. Therefore an image, by this usage, is not an image file or print, it's its own resource, and should have it's own URI, probably a URN.

Content
A resource describing the media in its most abstract sense. Properties such as its type (image, text, sound, etc.), its creator, the date created, and its subject.
Format
A resource describing the media's form. Properties such as its format (JPEG, HTML, MPEG, 35mm film, etc.), extent (15 minutes long, 384x288 pixels, 8.5x11 inches, etc.), and maybe it's creation date.
Instance
A resource describing the location or serial number of an instance of a format. This is appropriate where the exact same form of content (such as with digital formats) can be found in a variety of places. Properties would primarily be locators such as URLs, or URNs for physical manifestations.

As an example, take a miniDV cassette of a wedding. It might be described with these three conceptual resources.

Content
Created by Dave on April 26th, it's subjects are Dave and Jeanie, and it's a video.
Format
It's format is DV, 24Gb in size, and it's 15 minutes long.
Instance
Its URN, and also it's label, "tape #5".

Engineering

I'd like to not have to commit to a single framework or platform for production. I do feel confident though in the component that should m ake up any system, such as the accessibility of the content through URLs, RDF, and XSLT. The general workflow looks like the following.


Cocoon