What is Required: Print Captions on the back of Photographs

I am tired of waiting for “the market” to exploit painfully obvious opportunities so I will now provide guidance, in the form of milliblog entries, that tell our less imaginative entrepreneurs just what some of us would buy if we could.

Here’s a deep request. How about printing captions on the back of photographs?

I just went through the excruciating ordeal of ordering about one hundred prints from SmugMug. SmugMug prints meet my high standards but their online ordering software is clunky and clearly geared toward very small print runs. If you have hundreds of pictures, of varying and custom sizes, the software will punish you. The obvious steps of setting a paper type, selecting all your images, and then letting the software work out the paper size from image aspect ratio is not available. You must go image by image setting one easily derived parameter after another. I would print a lot more if it wasn’t such a frigging chore.

As annoying as SmugMug print-ordering is at least I get the prints I want with one major exception. If you check out my online photographs you’ll see I use captions like nanoblog entries. Many people have told me they really like my captions. One of my pet peeves is unlabeled photographs. I have wonderful hundred-year-old photographs of elegantly posed complete strangers because nobody left a clue on the back.

So, in addition to printing timestamps and file names on the back of photographs, include captions as well!

P.S. It takes about five years for the market to meet my obvious requirements; don’t hold your breath.

The New SmugMug

Websites compete in a brutal Darwinian struggle for eyeballs and clicks: adapt or die is an understatement. Every few years users get “upgraded” whether they want it or not. Generally things move in a better direction. Even twenty-something web programmers aren’t completely stupid but setbacks and complete disasters are not uncommon.

My new SmugMug layout

My new SmugMug layout – click to view.

My relationship with SmugMug started about five years ago when my Flickr account was suddenly declared “mature” by some faceless administrative ape that couldn’t tell the difference between innocent nudes and pornography. I was so incensed I sent Flickr administrators a message they couldn’t ignore. I painstakingly deleted all my images, mass deletion was oddly not supported by the Yahoo’s that ran the joint, and dropped my account. How’s that for maturity? I consider it my sacred duty to punish companies that screw customers. After dumping Flickr I searched around and found SmugMug.

There were things I liked and didn’t like about SmugMug. SmugMug did a better job of displaying images than Flickr and you could select your own damn background color. On the downside, SmugMug has more of an empty art museum vibe than Flickr’s busy social whorehouse milieu. For a few days I missed complete morons dropping snide asides on my pictures. The only comments I get on SmugMug come from family members and energetic strangers that find something they like enough to breach SmugMug’s spam fortifications. The silence is welcome. This is an art museum after all.

SmugMug offers a number of account types. I am a “power” user. A power account falls between basic and pro accounts. This account differentiation makes sense. SmugMug users fall into three classes.

  1. Basic: plain folks that want a no fuss picture website.
  2. Power: nondelusional keen photographers.
  3. Pro: delusional “serious” photographers.

Only paparazzi, porn, wedding, fashion, sports and National Geographic photographers are making any money taking pictures these days. If you don’t fall into any of these classes my guess is that you are spending more on photography than you are making. SmugMug harbors many photographers attempting to sell their pictures. I would never buy a picture nor would I expect to sell one. I see many shots on sale that aren’t as good as many I’ve made for free. There are billions of cameras in the wild these days. Photography is not exempt from the law of supply and demand. When the supply is nearly infinite what do you expect the price to be? This is why newspapers are laying off staff photographers and small photography studios have mostly gone out of business. As a keen amateur photographer this saddens me but as a right-wing libertarian death beast it warms my dark evil heart that most of the “photographers” being discarded are rent seeking nitwits playing Henri Cartier-Bresson. Still photography is no longer a viable personal business! We’re deep into another age people. Now that you see where I’m coming from let’s get on with what’s good and bad about the new SmugMug.

Let’s start with the good stuff:

  1. Stretchy layouts: The new website does a better job of automatically adapting to a variety of display devices. I’ve browsed my own site on phones, tablets, laptops and giant desktop displays. It looks OK on all of them and great on tablets and laptops.
  2. Easy customization and layout tweaking: It took me all of ten minutes to figure out the new layout controls. Programming easy nontrivial customization is hard. Here the SmugMug programmers have brilliantly succeeded. I know enough about JavaScript, CSS and HTML to roll my own designs but photography is a hobby; I’d rather spend my time taking and refining pictures that writing JavaScript to display them.
  3. Better overall site organization: The new site organizer is a significant improvement on older methods and allowing deeper directory paths will be appreciated by many.
  4. An improved and better integrated mapping facility: Displaying geotagged images on old SmugMug was somewhat jarring. The control was clunky and it didn’t match your site design. The new control adapts to your layout and “circle” area browsing is slick and intuitive.

Now for the dark side:

  1. Website migration has hiccups: My site has over two thousands images. I didn’t expect the migration to the new layout to be without problems and it wasn’t. For me the biggest problem was the handling of keywords. The new site does not properly display keyword strings if the “;” delimiter is used. I have thousands of pictures with “keywords” like:
        5x5;capillary;glass;microscope;polywater;ultra;

    The “;” character delimits separate words. It should be displayed like:

        5x5 | capillary | glass | microscope | polywater | ultra

    When you click on the “;” string it is interpreted as a “find all images with all these keywords” request which is usually the very image you are browsing. This is mostly a display problem. The individual keywords were properly parsed and loaded.

  2. Custom API applications break: I use a custom application I wrote to synchronize my SmugMug online galleries with my offline ThumbsPlus databases. This application issues SmugMug REST API calls to collect and update image metadata. When I migrated I expected this application to stop working and it did. It looks like I need to authenticate my application with the new SmugMug site. There are no easily found instructions on how to do this. I hope this is just an oversight and that power users can still run custom API applications.
  3. The new map control is limited to one hundred images: The slick circle browser map control will only display one hundred images and there is no easy way to set it to map pictures in a particular gallery. The old clunky control allowed two hundred pictures and it could display arbitrary galleries.

I could go on but I program for a living. I know users always whine about change and seldom express gratitude for all the hard work the code monkeys of the world do to keep the lights on. Overall the new SmugMug is better than the old. There are problems but for a first production cut this is fine work. It certainly merits one prestigious Analyze the Data not the Drivel attaboy award. See the following to print your award.

Dilbert almost gets an Attaboy

Dilbert almost gets an Attaboy. What would we do without Dilbert? For more click and enjoy.

Assigning SmugMug Print Size Keys

I believe that a picture’s aspect ratio,  its width divided by its height, should be tuned to its contents.  Consequently,  I am not a slave to standard aspect ratios and print sizes like the ones shown in the following table.

Aspect Ratio (Short/Long) Print Sizes (Inches)
0.5 4×8, 5×10, 8×16, 10×20
0.7 3.5×5, 7×10
0.666666667 4×6, 8×12, 10×15, 12×18
0.714285714 5×7
0.772727273 8.5×11

Over the years I have clipped and cropped my pictures producing a large number of nonstandard ratios. This is not a problem until I decide to order prints.

Pictures sites like SmugMug offer many standard sizes but they cannot accommodate every crank with an aspect to grind.  To print a strangely shaped picture on SmugMug you have to open up the website’s print selection tool and fit one side or your picture to a standard print size.  This leaves part of the print blank and is often called the letterbox method.  Letterboxing is not ideal but it gets the job done.

For standard print sizes there is a much better way.  The following J verb takes the pixel dimensions of my images and computes standard, 300 DPI, print size keys like: 4×6, 5×7 and 8×10. After assigning print size keys you can select and print all standard sizes with a few mouse clicks.

smugprintsizes=:3 : 0

NB.*smugprintsizes v-- compute largest print size for given dpi.
NB.
NB. Computes the  largest  print size  (relative  to  DPI x)  for
NB. SmugMug images. Only images that have aspect ratios  close to
NB. the ratios  on  (SMUGPRINTSIZES) are associated  with a print
NB. size.
NB.
NB. monad:  st=. smugprintsizes btclImages
NB.
NB.   'albums images'=. readsmugtables 0
NB.   smugprintsizes images
NB.
NB. dyad:  st=. iaDpi smugprintsizes btclImages
NB.
NB.   200 smugprintsizes images

SMUGPRINTDPI smugprintsizes y
:
nsym=.s:<''

NB. reduce image table on PID
images=. }. y [ imhead=. 0 { y
pidpos=. imhead i. <'PID'
if. 0=#images=. images #~ ~:pidpos {"1 images do. 0 2$nsym return.end.

NB. compute print sizes table
pst=. printsizestable SMUGPRINTSIZES

NB. image dimensions short x long
idims=. _1&".&> (imhead i. ;:'WIDTH HEIGHT') {"1 images
'invalid image dimensions' assert -. _1 e. idims
idims=. (/:"1 idims) {"1 idims

NB. aspect ratio and print area (square inches)
ratios=. SMUGASPECTROUND round %/"1 idims
areas=.  SMUGAREAROUND round (*/"1 idims) % *: x

NB. mask table selecting images with ratio
masks=. (SMUGASPECTROUND round ;0 {"1 pst) =/ ratios
if. -.1 e. ,masks do. 0 2$nsym return.end.

masks=. <"1 masks
pids=.  s:&.> masks #&.> <pidpos {"1 images

NB. largest print area for selected images at current DPI
masks=. (1 {"1 pst) </&.> masks #&.> <areas
pids=.  (<"1&.> masks #"1 &.> pids) -. L: 0 nsym
sizes=.  <"0&.> 2 {"1 pst
; |:&.> ; pids ,: L: 0 (# L: 0 pids) # L: 0 sizes
)

Setting Good SmugMug Key Words

Finding good key words is not easy.  In many ways it is like creating a good book index.  Decent book indexes are carefully constructed by human readers that understand what is being indexed and why certain terms should be included. Superior indexes showcase the gems and bury the garbage. There is a lot of mediocre software out there that purports to automate this task but I remain unimpressed.  Machine indexing is like machine language translation: they both suffer from a lack of real understanding. I was reminded of how difficult indexing is while writing some code to update my SmugMug key words.

My first attempt at computing key words followed this recipe:

  1. Run my little C# SmugMug metadata dumper to update image metadata.
  2. Sift through the image metadata and extract all current key words.
  3. Remove common English words from current key words.
  4. Similarly, extract all image caption text and remove common English words.
  5. Sort the remaining caption text key words by frequency.
  6. Append the frequency sorted caption key words to corresponding current key words.
  7. Take at most seven words from the appended list as key words.

My thinking was high frequency uncommon English words would make good keys.  This is generally the case but the removal of common English words from currently assigned keys was a big mistake.

I take care when naming image files.  SmugMug picks up words in image file names and uses them as default key words.  If you have good file names you will get useful keys automatically.  Removing common English words from file names deleted words that were present for good reasons.  For example: two common English words, “before” and “after,” are used in the file names of image restorations like this picture I took in Cyprus way back in 1968.

I think “before” and “after” are perfectly good keys for this image.

To avoid such problems I now leave file name words intact and augment these words with high frequency caption text words and print size keys like: 4×5, 4×6, 5×7 and 8×10.  Print size keys is another story. You can view my entire list of SmugMug keys here.

More on SmugMug Duplicates

In my previous post I described a method for eliminating duplicate SmugMug images based on MD5’s.   This method does not get all the duplicates.

If you uploaded the same image to different galleries,  at different times,  the SmugMug MD5’s may differ.  I don’t know what  SmugMug  rolls into their MD5 ‘s but I suspect it’s more than image data.

To get all the copies you must remove duplicate picture ids ,  file names and MD5’s.  Furthermore, to maintain a pure duplicate free state,  you need to check these items often.   Now,  after uploading or rearranging pictures,  I update my SmugMug metadata and execute this J verb to insure I don’t introduce duplicates.

CheckSmugDups=:3 : 0

NB.*CheckSmugDups v-- checks duplicate SmugMug images.
NB.
NB. monad:  CheckSmugDups uuIgnore

'albums images'=. readsmugtables 0
images=. }. images [ imhead=. 0 { images

NB. images should be unique in three ways:
r=. ,: 'PID unique: '; # ~.(imhead i. <'PID') {"1 images
r=. r, 'MD5 unique: '; # ~.(imhead i. <'MD5') {"1 images
r=. r, 'FILENAME unique: '; # ~.(imhead i. <'FILENAME') {"1 images

if. 1 <# ~. ;{:"1 r do. smoutput 'duplicates present' end.
r
)