What Is It?

It's a distributed system for indexing and viewing images. Much like you've seen before, but, well, different.

If any of you have a grandmother, then you surely know what it's like to have thousands of pictures, and no way to find one to embarass your dad with. I used to go to my grandmother's house and look at pictures. She has piles and piles of photo albums, which have a great representation of family history and all that...but the real challenge is in finding a given picture. I no longer have that problem. If I want to find a picture of my Dad in first grade, it's just a simple query, optionally including a start date, stop date, and other types of limiting qualifiers.

Check out the demo to see how this type of thing could benefit you.

Can I See It In Action?

Sure, there are a few of these out on the net, including the following:

Full-Access Demo

There's also a working demo site. The admin username is admin (password admin), and there's an additional user demouser (password demouser). The database is refreshed nightly (between 0200 and 0300 Pacific Time), so don't expect anything you do there to last long.

This demo allows you to play around with admin mode in a way that can't cause any permanent destruction.


The architecture of the photoservlet allows you to distribute pieces of the photo album on different machines and/or processes. The following pieces can be run independently:

In my case, I've got one web server, two to five servlet engines, and one process containing the remaining necessary services. There's also the database server, but that's kind of a given.

What Do I Need To Start My Own?

  1. A servlet engine, of course...there are many to choose from, I use jboss
  2. PostgreSQL - The best free database.

Where's the Code


Anything Else?

Up-to-date javadocs can always be found here.

Copyright © 1997-2000 Dustin Sallings of SPY Internetworking