{"id":1134,"date":"2009-02-03T23:44:07","date_gmt":"2009-02-03T14:44:07","guid":{"rendered":"https:\/\/regex.info\/blog\/2009-02-03\/1134"},"modified":"2009-02-03T23:44:07","modified_gmt":"2009-02-03T14:44:07","slug":"lightroom-plugin-development-what-to-do-when-a-hobby-becomes-work","status":"publish","type":"post","link":"https:\/\/regex.info\/blog\/2009-02-03\/1134","title":{"rendered":"Lightroom Plugin Development: What To Do When a Hobby Becomes Work"},"content":{"rendered":"\n\n\n<div class='resize_warning' id='arw1134'>\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<p>I do a lot of Lightroom-related development. <span class='nobr'>I don't<\/span> get paid for it,\nbut I'm <span class='nobr'>a geek<\/span> and <span class='nobr'>I really<\/span> enjoy it.<\/p>\n\n<p>In case you're familiar with Lightroom, but not with what I've provided,\nhere's <span class='nobr'>a bit<\/span> about what I've done...<\/p>\n\n<div style='margin-right:1em; padding-left:1em; padding-right:1em; border-left:solid 10px #444; border-right:solid 10px #444'>\n<p>First, <span class='nobr'>I built<\/span> and released my <a class='quiet'\nhref=\"\/blog\/2007-06-27\/503\">Lightroom Metadata Viewer\nPreset Builder<\/a>, which allows you to create <span class='nobr'>a custom<\/span> metadata view so\nthat you see just the items you want about each photo. Building it took\nweeks of intensive research, coding, testing, and tweaking. <span class='nobr'>I didn't<\/span> need\nthis myself (<span class='nobr'>I knew<\/span> how to build templates by hand), but <span class='nobr'>I spent<\/span> so much\nenergy on it because <span class='nobr'>I thought<\/span> it would be really helpful to <span class='nobr'>a large<\/span>\nsegment of the Lightroom-using community.<\/p>\n\n<p>Then I built and released my <a class='quiet'\nhref=\"\/blog\/2007-03-13\/395\">Lightroom Configuration\nManager<\/a>, which allows you to customize <span class='nobr'>a bunch<\/span> of things about\nLightroom. <span class='nobr'>It also took<\/span> <span class='nobr'>a long<\/span> time, but this one involved <span class='nobr'>a lot<\/span> more trial\nand error, trying to figure out what knobs and buttons Lightroom had under\nits hood for me to configure.<\/p>\n\n<p>Then came plugins. <span class='nobr'>I was hired<\/span> by Adobe for <span class='nobr'>a period<\/span> to help test and\ndebug their plugin infrastructure, and so <span class='nobr'>I became<\/span> well acquainted with it. <span class='nobr'>I put that<\/span> knowledge to work and built export plugins <a class='quiet'\nhref=\"\/blog\/lightroom-goodies\/zenfolio\">for Zenfolio<\/a>\nand <a class='quiet'  href=\"\/blog\/lightroom-goodies\/smugmug\">for\nSmugMug<\/a>. These are pro-level photo-hosting sites, and although <span class='nobr'>I\npersonally<\/span> had no interest in using either, <span class='nobr'>I knew that<\/span> they matched\nLightroom's demographics, and so <span class='nobr'>I knew<\/span> <span class='nobr'>a lot<\/span> of people would appreciate\nhaving such plugins.<\/p>\n\n<p>There were quickly calls for more plugins, and <span class='nobr'>I ended<\/span> up making\none <a class='quiet'  href=\"\/blog\/lightroom-goodies\/flickr\">for Flickr<\/a>,\none <a class='quiet'  href=\"\/blog\/lightroom-goodies\/picasaweb\">for PicasaWeb<\/a>,\nand one <a class='quiet'  href=\"\/blog\/lightroom-goodies\/facebook\">for Facebook<\/a>. <span class='nobr'>The early<\/span> versions of Lightroom's plugin infrastructure was severely limited, so <span class='nobr'>I worked<\/span>\novertime to figure out <span class='nobr'>a way<\/span> people could get more out of my (and others') plugins,\ninventing the <a class='quiet'  href=\"\/blog\/2008-01-15\/692\">Piglet extension<\/a>\nthat perhaps served as the inspiration for post-process actions in <span class='nobr'>Lightroom 2.<\/span><\/p>\n\n<p>I've also done other plugins... for Geoencoding, metadata maintenance,\nproximity searching, and more... the full list is on my <a class='quiet'\nhref=\"\/blog\/lightroom-goodies\">Lightroom Goodies<\/a> page.<\/p>\n\n<\/div>\n\n<p>Well, that's enough of tooting one's own horn... you get the picture.<\/p>\n\n<p>I don't actually <i>use<\/i> most of these personally, and <span class='nobr'>I don't<\/span> get\npaid for them; <span class='nobr'>I work<\/span> on them because <span class='nobr'>I enjoy<\/span> it. <span class='nobr'>I enjoy<\/span> creating useful\nstuff, <span class='nobr'>I enjoy<\/span> that people use the useful stuff I've created, and <span class='nobr'>I enjoy<\/span>\nthe warm fuzzy feelings that people sometimes return when <span class='nobr'>I give<\/span> them\nuseful stuff.<\/p>\n\n<p>It'd be nice if it were as simple as that, but more and more, the unfun\naspects of software development have been creeping in. <span class='nobr'>It seems<\/span> that the\nmere act of giving actually creates much more work than it took to make the\nthing in the first place. Some days the crush of email &ndash; mostly bug\nreports, feature requests, and complaints &ndash; is so overwhelming that <span class='nobr'>I\ncan't<\/span> even get through them, much less actually fix something or add <span class='nobr'>a new<\/span>\nfeature. <span class='nobr'>As I write<\/span> this, my inbox has 1,544 messages that I've yet to\nfully attend to. This is stressful. <span class='nobr'>Why do I<\/span> feel a <i>responsibility<\/i>\nto follow through on something I've done for free in my almost-nonexistent\nspare time? <span class='nobr'>I don't<\/span> know, but <span class='nobr'>I do.<\/span><\/p>\n\n<p>Some days, of course, <span class='nobr'>I do have<\/span> time to work on things, and so far, for\nexample, <span class='nobr'>I have pushed<\/span> out 72 upgrades to the Flickr plugin, and that's\njust since <span class='nobr'>Lightroom 2<\/span> came out. <span class='nobr'>For Lightroom<\/span> 1\nthere were 47 additional versions. And that's just for one plugins; I've so\nfar written 10.<\/p>\n\n<p>I've been working on these as <span class='nobr'>a warm<\/span>-fuzzy side project for over two\nyears now, and it's come to <span class='nobr'>a point<\/span> where it's now <i>work<\/i> and <span class='nobr'>I have<\/span>\nto make <span class='nobr'>a change,<\/span> to decide to let them languish, or get more serious about\nmaking it more tangibly worthwhile for me to attend to the unfun parts.<\/p>\n\n<p>I sort of took a step last year when <span class='nobr'>I quietly<\/span> added a &#8220;donate&#8221; button\nto the plugins and to my blog. <span class='nobr'>I have received<\/span> some donations, and <span class='nobr'>I am<\/span>\ngrateful. Oddly, the largest donation (<span class='nobr'>a hundred<\/span> bucks!) was unrelated to\nLightroom: someone in Denmark simply enjoyed my blog.<\/p>\n\n<p>Anyway, <span class='nobr'>I'm thinking<\/span> of ways to carry this further, to make the time and\neffort <span class='nobr'>I spend<\/span> on plugin development and maintenance &ndash; <i>the\nwork<\/i> &ndash; worthwhile in <span class='nobr'>a way<\/span> that justifies it to me and my family.\nThis is the point where most people would start <span class='nobr'>a business,<\/span> and start\nselling their work.<\/p>\n\n<p>But I don't want to run a business. <span class='nobr'>I don't<\/span> want to sell <span class='nobr'>a product.<\/span> <span class='nobr'>I\ndon't<\/span> want to deal with marketing or irate customers.<\/p>\n\n<p>What to do?<\/p>\n\n<p>The approach that plugin-developer <a href=\"http:\/\/timothyarmes.com\/\"\nclass='quiet'>Tim Armes<\/a> has taken has <span class='nobr'>a certain<\/span> appeal. His\nfreely-available plugins are limited (in his case, to process only 10\nphotos at <span class='nobr'>a time<\/span>) so that you can at least try them out. However, by making\n<span class='nobr'>a donation<\/span> via PayPal &ndash; <span class='nobr'>a donation<\/span> of any amount you like, whatever\nyou feel the plugin is worth &ndash; you can remove the restriction.<\/p>\n\n<p>A lot of people have been using my plugins freely for <span class='nobr'>a long<\/span> time, and\nmay feel &#8220;cheated&#8221; to be suddenly restricted and hit up for registration.\nSure, they could do it with just one cent (or whatever PayPal's minimum\nis), but perhaps even that's more hassle than it's worth for some. Some\npeople might have philosophical issues with it, not wanting to part with\neven one cent, on principle. <span class='nobr'>I expect<\/span> that having used my free plugins for\nso long, some may even feel <span class='nobr'>a sense<\/span> of entitlement for them. <span class='nobr'>How much of<\/span>\nthat is my responsibility?<\/p>\n\n<p>I'd like to hear your comments. If you're <span class='nobr'>a user<\/span> of one of my plugins,\nhow do you feel about this? What kind of approach would sit well with you,\nfeel reasonable to you? What about if you use more than one plugin, and\/or\ndo so on more than one computer?<\/p>\n\n<p>You can leave a comment on my blog, or <a href=\"mailto:jfriedl@yahoo.com\">via email<\/a>. Thanks.<\/p>\n\n<p>(To head off one thing I'm sure some plugin-users will comment on: I'll\nlikely remove plugin expiration, but at the cost of rejecting bug reports\nthat aren't for the most-recent version.)<\/p>\n\n<p><i><a href=\"\/blog\/2009-02-15\/1148\" class='quiet'>Continued here...<\/a><\/i><\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>I do a lot of Lightroom-related development. I don't get paid for it, but I'm a geek and I really enjoy it.<\/p> <p>In case you're familiar with Lightroom, but not with what I've provided, here's a bit about what I've done...<\/p> <p>Well, that's enough of tooting one's own horn... you get the picture.<\/p> <p>I don't actually use most of these personally, and I don't get paid for them; I work on them because I enjoy it. I enjoy creating useful stuff, I enjoy that people use the useful stuff I've created, and I enjoy the warm fuzzy feelings that people [...]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,4],"tags":[],"_links":{"self":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/posts\/1134"}],"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=1134"}],"version-history":[{"count":0,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/posts\/1134\/revisions"}],"wp:attachment":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/media?parent=1134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/categories?post=1134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/tags?post=1134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}