{"id":1998,"date":"2012-05-22T17:14:51","date_gmt":"2012-05-22T08:14:51","guid":{"rendered":"https:\/\/regex.info\/blog\/2012-05-22\/1998"},"modified":"2012-05-22T17:14:51","modified_gmt":"2012-05-22T08:14:51","slug":"insidious-extortion-ongoing-pitfalls-of-my-lightroom-plugin-development","status":"publish","type":"post","link":"https:\/\/regex.info\/blog\/2012-05-22\/1998","title":{"rendered":"Insidious Extortion: Ongoing Pitfalls of My Lightroom Plugin Development"},"content":{"rendered":"\n\n\n<div class='resize_warning' id='arw1998'>\n<b>NOTE<\/b>: Images with an <img class='raw' width='19' height='18' src='\/i\/s\/red_zoomup.gif'\/> icon next to them have been artificially shrunk to better fit your screen; click the icon to restore them, in place, to their regular size.\n<\/div>\n\n\n<div class='ic'><a name=\"1204988\" href='\/i\/PaulBarr_1204988.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_1204988_sm.jpg\" width=\"569\" height=\"700\"\nalt=\"Me Playing Dressup Paul swung by with his camera while I was out on a date with my wife last month. photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\nid=\"i1204988\"\nindexhint=\"top\"\ntitle=\"Me Playing Dressup Paul swung by with his camera while I was out on a date with my wife last month. photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Nikkor 24-70mm f\/2.8 @ 70mm &mdash; <sup>1<\/sup><big>\/<\/big>1250 sec, <span class='f'>f<\/span>\/5, ISO 1600 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_1204988.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_1204988.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Me Playing Dressup<\/span>\n<br\/>Paul swung by with his camera while <span class='nobr'>I was<\/span> out on <span class='nobr'>a date<\/span> with my wife last month.\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n\n<p>Back during the <span class='nobr'>Lightroom 2<\/span> days (circa early 2009), <span class='nobr'>I spent<\/span> some\nintense weeks writing <span class='nobr'>a really<\/span> great plugin, allowing <span class='nobr'>a user<\/span> to create\ncustom image metadata fields on the fly. <span class='nobr'>If a user<\/span> suddenly decides that he\nwants an extra metadata field to describe the weather for <span class='nobr'>a shot,<\/span> or the\nflash setup, or <span class='nobr'>a model's<\/span> name, or whatever, just <span class='nobr'>a few<\/span> clicks in <span class='nobr'>a plugin<\/span> dialog and <i>voil\u00e0<\/i>,\nit would appear with the standard image metadata alongside each photo. <span class='nobr'>I really<\/span> wanted this for my own use, and <span class='nobr'>I knew<\/span> lots of folks would be jazzed\nabout it as well.<\/p>\n\n<p>Unfortunately, <span class='nobr'>I eventually<\/span> noticed an incompatibility with how\nLightroom sometimes loads plugins. <span class='nobr'>I spent<\/span> much energy trying everything <span class='nobr'>I\ncould<\/span> think of to dance around the issue. <span class='nobr'>I'm pretty<\/span> good at this kind of\nthing because <span class='nobr'>I routinely<\/span> push Lightroom's plugin infrastructure well\nbeyond what it was designed for. <span class='nobr'>In a twisted<\/span> way, this is part of the fun\nof Lightroom plugin development for me, to come up with &#8220;creative&#8221; ways to\nget things done and make my photo workflow easier.<\/p>\n\n<p>But in this case, back in 2009, it beat me, and with great reluctance <span class='nobr'>I abandoned<\/span> the plugin.<\/p>\n\n\n<div class='ic wide'><a name=\"1207110\" href='\/i\/PaulBarr_1207110.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_1207110_sm.jpg\" width=\"690\" height=\"459\"\nalt=\"Dedication To The Shot ( this shot ) photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\nid=\"i1207110\"\ntitle=\"Dedication To The Shot ( this shot ) photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Voigtl\u00e4nder 125mm f\/2.5 &mdash; <sup>1<\/sup><big>\/<\/big>640 sec, <span class='f'>f<\/span>\/4, ISO 200 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_1207110.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_1207110.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Dedication To The Shot<\/span>\n<br\/>( <a href='\/blog\/2012-04-20\/1980#110109'>this shot<\/a> )\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n<p class='subtle-less'>(I'm populating this narcissistic post with various\nshots <i>of<\/i> me that I've accumulated from friends <span class='nobr'>I go<\/span> out shooting\nwith, mostly by Paul on his visits to Kyoto.)<\/p>\n\n\n<p style='margin-top:30px'>Over the years I've kept an eye out for <span class='nobr'>a change<\/span> in Lightroom plugin\ninfrastructure that would happen to allow the plugin to work, but it's\nnever come. (To be clear, <span class='nobr'>I can't<\/span> blame Adobe because, again, <span class='nobr'>I'm pushing<\/span> things well beyond the design envelope). <span class='nobr'>But on a<\/span> whim last night, perhaps\nin an effort to avoid actually having to address the hundreds of\nrequest-for-help emails that have accumulated recently, <span class='nobr'>I pulled<\/span> the old\nplugin carcass from my archive and gave it <span class='nobr'>a try.<\/span><\/p>\n\n<p>It still didn't work, but I expected that.<\/p>\n\n<div class='ic wide'><a name=\"1207273\" href='\/i\/PaulBarr_1207273.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_1207273_sm.jpg\" width=\"690\" height=\"459\"\nalt=\"Squished Nose happens every time the camera is in landscape mode photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\nid=\"i1207273\"\ntitle=\"Squished Nose happens every time the camera is in landscape mode photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Voigtl\u00e4nder 125mm f\/2.5 &mdash; <sup>1<\/sup><big>\/<\/big>1600 sec, <span class='f'>f<\/span>\/8, ISO 1600 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_1207273.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_1207273.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Squished Nose<\/span>\n<br\/>happens every time the camera is in landscape mode\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n\n<p>But even though Lightroom's plugin-infrastructure tools have not\nimproved in this particular area, they have definitely improved here and\nthere in other areas, so <span class='nobr'>I gave<\/span> it another try. Combined with perhaps <span class='nobr'>a bit<\/span>\nmore ingenuity under my belt this time, after <span class='nobr'>a few<\/span> hours of hacking\naround, <span class='nobr'>I figured<\/span> out <span class='nobr'>a way<\/span> to make it work!<\/p>\n\n<p>Woo-hoo!<\/p>\n\n<div class='ic wide'><a name=\"1201598\" href='\/i\/PaulBarr_1201598.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_1201598_sm.jpg\" width=\"690\" height=\"459\"\nalt=\"Just Rewards! the beer she was pulling was for me photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\nid=\"i1201598\"\nindexhint=\"left\"\ntitle=\"Just Rewards! the beer she was pulling was for me photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Nikkor 24-70mm f\/2.8 @ 70mm &mdash; <sup>1<\/sup><big>\/<\/big>200 sec, <span class='f'>f<\/span>\/4, ISO 1600 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_1201598.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_1201598.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Just Rewards!<\/span>\n<br\/>the beer she was pulling was for me\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n\n<p>Getting the custom-metadata plugin working was great news, but also dreadful news.<\/p>\n\n<p>It's great because now I can use this plugin for myself. It works. <span class='nobr'>It does what<\/span> <span class='nobr'>I need.<\/span> <span class='nobr'>My workflow<\/span> will be better because of it.<\/p>\n\n<p>It's dreadful because I know others would find it useful, so <span class='nobr'>I feel<\/span> <span class='nobr'>a\nstrong<\/span> desire to release the plugin, and that would take a <i>lot<\/i> more\nwork. <span class='nobr'>I'd have to<\/span> bullet-proof the thing. <span class='nobr'>I'd have to<\/span> write up docs and\nFAQs and make screenshots. <span class='nobr'>I'd have to<\/span> add all kinds of things to the\nplugin that <span class='nobr'>I don't<\/span> personally need, but I'm sure others will ask for (and\nin some cases, demand). Some of those things (such as the ability to\ntransfer the custom metadata when exporting or merging catalogs) pose\nserious complications whose potential solutions are all among the\n&#8220;dammed if you do, dammed if you don't&#8221; can't-please-everyone\ngenre that will certainly, no matter what, generate complaints and\nrequests.<\/p>\n\n<div class='ic wide'><a name=\"4270177\" href='\/i\/P4270177.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/P4270177_sm.jpg\" width=\"690\" height=\"518\"\nalt=\"Futzing With the Polarizer Filter Why can't Nikon design a lens hood that incorporates access to a filter? They must all be idiots! photo by Nicolas Joannin  --  Kyoto, Japan  --  Copyright 2012 Nicolas Joannin, https:\/\/plus.google.com\/u\/0\/116578079434506112628\"\nid=\"ismx2\"\ntitle=\"Futzing With the Polarizer Filter Why can't Nikon design a lens hood that incorporates access to a filter? They must all be idiots! photo by Nicolas Joannin  --  Kyoto, Japan  --  Copyright 2012 Nicolas Joannin, https:\/\/plus.google.com\/u\/0\/116578079434506112628\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">E-P2 &mdash; <sup>1<\/sup><big>\/<\/big>640 sec, ISO 100 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FP4270177.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/P4270177.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Futzing With the Polarizer Filter<\/span>\n<br\/>\"Why can't Nikon design a lens hood that incorporates access to <span class='nobr'>a filter<\/span>? They must all be idiots!\"\n<br\/><span class='photo-by'>photo by Nicolas Joannin<\/span>\n<\/div>\n\n\n<p>So in the end, <span class='nobr'>I will spend<\/span> a <i>ridiculous<\/i> amount of time doing all\nthis, resulting in yet another incessant flow of request-for-help mails\nthat fill my inbox and increase my stress. That sounds like <span class='nobr'>a complaint,<\/span>\nand <span class='nobr'>I suppose<\/span> it is, but <span class='nobr'>I choose<\/span> this hobby freely because <span class='nobr'>I like<\/span> most\naspects of it. <span class='nobr'>I just need<\/span> to be smart about how <span class='nobr'>I handle<\/span> the stressful\naspects of it, lest <span class='nobr'>I let<\/span> it drive me into another <a\nhref='\/blog\/2010-09-18\/1620'>stress breakdown<\/a>.<\/p>\n\n<p>I went to bed last night trying to decide whether <span class='nobr'>I want<\/span> to even try\nto release it. <span class='nobr'>Do I want<\/span> to accept the burden of stress that inevitably\ncomes with it? If so, can <span class='nobr'>I do<\/span> anything now to decrease the amount of\nstress generated later?<\/p>\n\n\n<div class='ic wide'><a name=\"1207377\" href='\/i\/PaulBarr_1207377.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_1207377_sm.jpg\" width=\"690\" height=\"459\"\nalt=\"Taking A Rest while on the outing that produced this post and this post . photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\nid=\"i1207377\"\nindexhint=\"left\"\ntitle=\"Taking A Rest while on the outing that produced this post and this post . photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2012 Paul Barr\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Voigtl\u00e4nder 125mm f\/2.5 &mdash; <sup>1<\/sup><big>\/<\/big>200 sec, <span class='f'>f<\/span>\/4, ISO 800 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_1207377.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_1207377.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Taking <span class='nobr'>A Rest<\/span><\/span>\n<br\/>while on the outing that produced <a href='\/blog\/2012-04-20\/1980'>this post<\/a> and <a href='\/blog\/2012-04-16\/1977'>this post<\/a>.\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n<p>I woke up without an answer, but as <span class='nobr'>I helped<\/span> prepare Anthony for school, <span class='nobr'>I decided<\/span> to at least give it <span class='nobr'>a try,<\/span> to prepare <span class='nobr'>a version<\/span> with ample\ncaveats about data migration, and see how it went from there. <span class='nobr'>If it became<\/span>\npopular, <span class='nobr'>I'd feel good<\/span> about spending more energy to tackle the tough\nproblems that remained, and if not, well, <span class='nobr'>I just saved<\/span> myself <span class='nobr'>a lot<\/span> of\ngrief.<\/p>\n\n\n<div class='ic'><a name=\"3854\" href='\/i\/PaulBarr_3854.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_3854_sm.jpg\" width=\"690\" height=\"459\"\nalt=\"In a Friendly Frame of Mind photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2011 Paul Barr, https:\/\/regex.info\/blog\/\"\nid=\"i3854\"\ntitle=\"In a Friendly Frame of Mind photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2011 Paul Barr, https:\/\/regex.info\/blog\/\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Nikkor 24-70mm f\/2.8 @ 24mm &mdash; <sup>1<\/sup><big>\/<\/big>125 sec, <span class='f'>f<\/span>\/2.8, ISO 3200 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_3854.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_3854.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>In <span class='nobr'>a Friendly<\/span> Frame of Mind<\/span>\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n<p>So it was with that frame of mind that <span class='nobr'>I saw<\/span> Anthony off to school,\nprepared <span class='nobr'>a cup<\/span> of coffee, and checked in on the computer. <span class='nobr'>I found<\/span> among my\nmail the notice of <span class='nobr'>a gift<\/span> from <span class='nobr'>a Boston<\/span> photographer who wanted to register\none of my plugins. <span class='nobr'>As per the<\/span> <a\nhref='\/blog\/2009-02-15\/1148'>&#8220;donationware&#8221;<\/a>\nthing, he didn't have to send me anything at all to use my plugins, but he\nkindly chose to send $5. That was nice, but he also added this personal\nmessage to me:<\/p>\n\n<table style='margin: 10px auto 10px 35px'><tr valign='baseline'><td><span\nclass='qo'>&#8220;<\/span><\/td><td><span style='font-size:115%'>\n\n    Another extortion payment to keep my Lr plugin running.\n    <br\/>Advice: Make the darn thing about $100, let us pay that and then leave us alone\n    <br\/>STOP INTERRUPTING MY WORK WITH THESE INSIDIOUS 'RE\" REGISTRATIONS.\n\n<\/span><span class='qc'>&#8221;<\/span><\/td><\/tr><\/table>\n\n<style type=\"text\/css\">\nspan.qo { font-size:200%; line-height:0; position:relative; bottom:-0.25em; font-family:roman }\nspan.qc { font-size:200%; line-height:0; position:relative; bottom:-0.25em; font-family:roman }\n<\/style>\n\n<p>Well, that's not a pleasant way to start the day.<\/p>\n\n\n<div class='ic'><a name=\"1201495\" href='\/i\/PaulBarr_1201495.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_1201495_sm.jpg\" width=\"690\" height=\"459\"\nalt=\"Oh My! Call the cops, someone was rude on the Internet! photo by Paul Barr  --  Suntory Whisky Yamazaki Distillery  --  Yamazaki (Shimamoto), Osaka, Japan  --  Copyright 2012 Paul Barr\"\nid=\"i1201495\"\ntitle=\"Oh My! Call the cops, someone was rude on the Internet! photo by Paul Barr  --  Suntory Whisky Yamazaki Distillery  --  Yamazaki (Shimamoto), Osaka, Japan  --  Copyright 2012 Paul Barr\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Nikkor 24-70mm f\/2.8 @ 38mm &mdash; <sup>1<\/sup><big>\/<\/big>50 sec, <span class='f'>f<\/span>\/4, ISO 1600 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_1201495.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_1201495.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Oh My!<\/span>\n<br\/>Call the cops, someone was rude on the Internet!\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n<p>Well, it certainly didn't put me in the nose-to-the-grindstone mood <span class='nobr'>I would<\/span> need to tackle\nthe custom-metadata plugin.<\/p>\n\n<p>Granted, the guy <i>did<\/i> send me <span class='nobr'>a dollar<\/span> for <span class='nobr'>a previous<\/span> version of\nLightroom as recently as 2010, but <span class='nobr'>I don't<\/span> think this calls for words like\n&#8220;insidious&#8221; and &#8220;extortion&#8221;. <span class='nobr'>I require<\/span> nothing. <span class='nobr'>I returned<\/span> his $5\nwith <span class='nobr'>a note<\/span> that <span class='nobr'>I wanted<\/span> it only if it were <span class='nobr'>a true<\/span> gift. 'Cause that's,\nyou know, how <span class='nobr'>I roll.<\/span><\/p>\n\n<p>I shouldn't have been surprised, based on the maturity of his initial\ncomment, but his subsequent replies only went downhill from there.\nSigh.<\/p>\n\n\n<div class='ic'><a name=\"3781\" href='\/i\/PaulBarr_3781.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_3781_sm.jpg\" width=\"466\" height=\"700\"\nalt=\"Manners and Civility on the Internet still looking photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2011 Paul Barr, https:\/\/regex.info\/blog\/\"\nid=\"i3781\"\ntitle=\"Manners and Civility on the Internet still looking photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2011 Paul Barr, https:\/\/regex.info\/blog\/\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Nikkor 24-70mm f\/2.8 @ 70mm &mdash; <sup>1<\/sup><big>\/<\/big>160 sec, <span class='f'>f<\/span>\/5.6, ISO 400 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_3781.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_3781.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>Manners and Civility on the Internet<\/span>\n<br\/>still looking\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n\n<p>Anyway, <span class='nobr'>I thought<\/span> I'd vent <span class='nobr'>a bit<\/span> with this post to the sympathetic ear\nof the friendly audience who reads <span class='nobr'>my blog. (Hi Mom.)<\/span><\/p>\n\n<p>So, would anyone have interest in that kind of custom-metadata plugin?<\/p>\n\n\n\n<div class='ic'><a name=\"1070305\" href='\/i\/PaulBarr_1070305.jpg'\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/PaulBarr_1070305_sm.jpg\" width=\"466\" height=\"700\"\nalt=\"&#8220;I'll Get Right On It&#8221; photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2010 Paul Barr\"\nid=\"i1070305\"\nindexhint=\"top\"\ntitle=\"&#8220;I'll Get Right On It&#8221; photo by Paul Barr  --  Kyoto, Japan  --  Copyright 2010 Paul Barr\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D3 + Nikkor 24-70mm f\/2.8 @ 35mm &mdash; <sup>1<\/sup><big>\/<\/big>200 sec, <span class='f'>f<\/span>\/4, ISO 1600 &mdash;\n<a href='\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2FPaulBarr_1070305.jpg'>map &amp; image data<\/a> &mdash; <a href='\/blog\/proximity\/i\/PaulBarr_1070305.jpg'>nearby photos<\/a><\/span>\n<br\/><span class='caption'>&#8220;I'll Get Right On It&#8221;<\/span>\n<br\/><span class='photo-by'>photo by Paul Barr<\/span>\n<\/div>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Back during the Lightroom 2 days (circa early 2009), I spent some intense weeks writing a really great plugin, allowing a user to create custom image metadata fields on the fly. If a user suddenly decides that he wants an extra metadata field to describe the weather for a shot, or the flash setup, or a model's name, or whatever, just a few clicks in a plugin dialog and voil\u00e0, it would appear with the standard image metadata alongside each photo. I really wanted this for my own use, and I knew lots of folks would be jazzed about it [...]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,13],"tags":[],"_links":{"self":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/posts\/1998"}],"collection":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/comments?post=1998"}],"version-history":[{"count":0,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/posts\/1998\/revisions"}],"wp:attachment":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/media?parent=1998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/categories?post=1998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/tags?post=1998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}