OddThinking

A blog for odd things and odd thoughts.

Online Photo DB: Stage 2 – Clean Requirements

This post is part of the Online Photo Database project documentation. Learn more about the project’s current status.

I recently posted some loose requirements for selecting my next online photo database size. The requirements generally included rationales, where it wasn’t obvious.

Stage Two: clean up the requirements, categorise, prioritise and number them.

Voila.

Category Id Requirement Priority
General GEN1 Accessible by a typical web-browser Critical
GEN2 Active development of new features Important
Ownership OWN1 Ownership of photos is retained by me. Critical
OWN2 Future-proofed against money running out: mine or yours Critical
OWN3 Ownership of meta-data is retained by me. Important
Cataloguing CAT1 Photographs grouped into albums by event Critical
CAT2 Photographs tagged with people Critical
CAT3 Photographs tagged with locations, objects, activities Important
CAT4 Performers tagged with real and stage names. Important
CAT5 Attribution of photographer details Important
CAT6 Attribution of copyright owner’s details Important
CAT7 Rating of photographs Important
CAT8 Sorting/Filtering by rating Important
CAT9 Albums grouped by type Desirable
CAT10 Albums grouped by date Desirable
CAT11 Areas or points of photograph tagged Desirable
CAT12 Simple contact management of subjects Desirable
CAT13 Hidden fields on contacts to distinguish like-named people Desirable
CAT14 Tagging of anonymous people to enable searching Desirable
CAT15 Corrections to names update everywhere Desirable
CAT16 Attribution of copyright details Desirable
CAT17 Control over (default) ordering Desirable
Searching and Linking S+L1 Link to other photos with same tag within an album Critical
S+L2 Associate URLs with subjects, that are displayed. Important
S+L3 Link to other photos with same tag across my albums Important
S+L4 Search of tags by keyword Important
S+L5 Cross-promotion of other albums and sites. Important
S+L6 Link to other photos with same tag across other photo sites Desirable
S+L7 Search of album names by keyword Desirable
S+L8 User-generatable URLs to search tags by keyword Desirable
Community COMM1 Multi-user Tagging Desirable
COMM2 Notifications of appearance in photos Desirable
COMM3 Comments permitted Desirable
COMM4 Notification of comments Desirable
COMM5 RSS or Atom Feeds for comments Desirable
COMM6 RSS or Atom Feeds for subjects Desirable
COMM7 RSS or Atom Feeds for new photos Desirable
Photoquality PQ1 Web-quality images shall be displayed by default. Critical
PQ2 Print-quality images shall be available. Important
PQ3 Automatically generated thumbnail and web-quality versions. Important
PQ4 Archive-quality images shall be stored. Desirable
PQ5 Custom thumbnails (e.g. choosing to crop over shrinking.) Desirable
PQ6 Support for short video Desirable
PQ7 Support for long video Desirable
Performance PERF1 Quota > 0.5 TB, if any Important
PERF2 Low-cost Important
PERF3 Fast response time Important
PERF4 Scale to thousands of tags Important
PERF5 < 1 minute face-time per photograph Important
PERF6 Free Desirable
UI UI1 Forward/Backward navigation between photos in album. Critical
UI2 Slideshows Desirable
UI3 Display of many thumbnails at once Desirable
Privacy PRIV1 Their email address should never be published on the web. Critical
PRIV2 Registration and logging in not required for general use. Important
PRIV3 Robust privacy features for photographs Important
Workflow WF1 Hint to original location on my harddrive Important
WF2 Auto-complete or partial search on tags during input Important
WF3 Read EXIF data from image Desirable
WF4 Support unpublished draft state Desirable
Migration MIGR1 API to add photos Critical
MIGR2 API to add tags Critical
MIGR3 Tags can be non-specific to areas of photo Important
Metrics METR1 “How many visitors?” metric Desirable
METR2 “How long does a visitor stay?” metric Desirable

Comments

  1. Might be late to say this, but I’m surprised here that “Robust privacy features for photographs” is a single requirement, and fairly loosely termed.

    should password protected photos (or groups of photos) be a requirement? classifying “groups” or other denominations so that allow you to separate photo ACLs?

    Also vaguely surprised there’s no migration requirements for an API to pull the photos back out again.

  2. Sunny,

    If these were requirements written to implement a new system, I would indeed need to think through different options for privacy, and nominate the one that I wanted.

    However, I am just using them to judge existing solutions. I have a fairly open mind about how the privacy should work.

    Password-protected albums could work; that was the direction I was expecting to go with my software. Tracking groups could be done in many ways. Flickr has the concept of a “pass” that could work. FaceBook has searchable tags can only be added by friends, and which can be revoked by the subject. It also supports group permissions on albums.

    I don’t have a strong opinion which suggests that there is One True Way. I’ll accept any system that passes muster.

    Similarly, an API to pull data back is one way to implement the ownership requirements. Another might be to make my photo folders on my hard-drive the master-copy. Then the images never need to be “pulled back out” over an API as they are always kept where I can see them.

  3. You might also want to consider My Picture Town by Nikon. I have no idea if it’s good or not, but just happened to see that it existed. It seems to have a bunch of photo editing stuff on it.

  4. What’s the summary count of criticals/important/desirables here? If you had to pick a weight between 0 and 10 for each requirement, would you? Could you be bothered?

  5. Richard,

    If I needed to show my bosses and auditors that I had been completely fair in my selection criteria, I would consider coming up with some absolute weightings. Given there are prices associated with some of the solutions, coming up with a dollar value for each requirement would be the economic-rationalist way to value them.

    I’ve certainly done that before.

    However, I don’t think that is required here. Ultimately, I will be using this tool for pleasure, and the real dollar costs are relatively small, so the subjective element deserves a greater prominence.

    I haven’t been stating up-front what the entire process will be. That way. it doesn’t look as back when I change my mind and just do whatever I want! However, I will go out on a limb now and explain my current plan.

    I plan to use the initial evaluations to cull the choices down to a shortlist of 3 or 4 solutions, which I will then briefly look at again.

    I expect the final choice will have a significant subjective choice, rather than just a weighted sum of the Requirements Met.

    That said, I am unlikely to include any solutions on the shortlist that failed any of the critical criteria, without a very good reason/rationalisation.

    My goal is to have the new web-site operational prior to purchasing a new camera in January, prior to the next circus festival.

    Ideally, I will have migrated my existing circus festival-related photos across by early February.

    I was planning to get a secondhand slide scanner in a similar time-frame.

    Of course, that means I need a new hard-drive (cluster) to store all the new data, and a new CPU and new RAM to handle all the image processing that entails. I’ll need a new motherboard to handle all that. A new monitor would be nice too, which means a new graphics card to drive it.

    Suddenly PERF6 is starting to sound like a critical requirement!

  6. That January deadline is looming awfully close. I hope you finish in time!

    I agree that you should not do a detailed evaluation of a tool with any failed critical requirements – they wouldn’t be critical if they were optional. I’m not entirely sure that your arguments using weightings are quite right – there’s probably an argument for not using them in any situation, and just going with three or so “neededness” criteria as you’ve done.

    Just answering my first question above: there are 11/24/30 requirements in each category.

    I guess I’m looking for a quick way to see how many of each category exist, and how many in each category each tool met/failed. For example, how far away from what you need is your custom photo DB software? After importing into Excel (paste special as text!) and doing some Auto-filtering, I can see it meets 10/11 Criticals, 22/24 Importants, and 12/30 Desirables. That doesn’t seem bad at all (nor does it seem surprising, since you wrote it to meet your needs), but it fails a critical requirement, so no need to evaluate it further (as if you’d need to).

    How about Gallery2? 11/11, 17-18/24, 15-18/30 met (since there’s Y? and N? results here). Sounds well worth pursuing a more thorough study of some of its plugins. If this isn’t how you feel about the tool (that subjective choice you mention), maybe there’s some missing requirements here: easy to install, stable, refined/polished. And given that your photo db will grow — probably beyond anyones desire to recreate collections, tagsets and so on — and quite likely outlive your tool choice, you should probably also look at requirements for migrating out of the tool too.

    This is the sort of quick reference results I’d like to see.

Leave a comment

You must be logged in to post a comment.

Web Mentions

  1. OddThinking » Online Photo DB: Stage 3 - Identify possible solutions

  2. OddThinking » Online Photo DB: Stage 4m - Evaluation of My PictureTown

  3. OddThinking » Online Photo DB: Stage 4n - Evaluation of Flickr Pro

  4. OddThinking » Online Photo DB: Stage 4n - Evaluation of Picasa Web

  5. OddThinking » Online Photo DB: WordPress mini-evaluation

  6. OddThinking » Online Photo DB: Stage 4p - Evaluation of PhpWebGallery

  7. OddThinking » Online Photo DB: Stage 4h - Evaluation of Phanfare.com

  8. OddThinking » Online Photo DB: Stage 4q - Evaluation of WordPress + PhotoQ

  9. OddThinking » Online Photo DB: Stage 4f - Evaluation of Zooomr

  10. OddThinking » Online Photo DB: Stage 4l - Evaluation of PixelPost

  11. OddThinking » Online Photo Database Project - Status

  12. OddThinking » Online Photo DB: Stage 4r - Evaluation of Gallery2

  13. OddThinking » Online Photo DB: Drupal mini-evaluation