{"id":739,"date":"2008-02-16T23:37:23","date_gmt":"2008-02-16T14:37:23","guid":{"rendered":"https:\/\/regex.info\/blog\/2008-02-16\/739"},"modified":"2008-02-16T23:37:23","modified_gmt":"2008-02-16T14:37:23","slug":"my-photo-and-blog-writing-workflow","status":"publish","type":"post","link":"https:\/\/regex.info\/blog\/2008-02-16\/739","title":{"rendered":"My Photo and Blog-Writing Workflow"},"content":{"rendered":"\n\n<div class='ic'><a href=\"\/i\/_JEF1243.jpg\"\n><img loading=\"lazy\" decoding=\"async\" src=\"\/i\/_JEF1243_sm.jpg\" width=\"690\" height=\"462\"\nalt=\"Long Escalators at the Kansai International Airport two years ago, just after getting my Nikon D200 -- https:\/\/regex.info\/blog\/\"\nid=\"iJEF1243\"\nphotostream=\"anthony\"\ntitle=\"Mother and child stand together on a long escalator, heading down\"\/><\/a>\n<br\/><span class=\"camera-info robots-nocontent\">Nikon D200 + Nikkor 18-200mm  f\/3.5-5.6 VR @ 105 mm &mdash; <sup>1<\/sup><big>\/<\/big>40 sec, f\/5.3, ISO 1600 &mdash;\n<a href=\"\/imageinfo.cgi?url=http%3A%2F%2Fregex.info%2Fi%2F_JEF1243.jpg\">full exif<\/a><\/span>\n<br\/><span class='caption'>Long Escalators at the Kansai International Airport<\/span>\n<br\/>two years ago, just after getting my <a href=\"\/blog\/2006-01-10\/130\" class='quiet'>Nikon D200<\/a>\n<\/div>\n\n<p>I'm occasionally asked about my photo and blog-writing workflow, and\nhaving just been asked twice in as many days, <span class='nobr'>I thought<\/span> I'd just go ahead\nand post about it.<\/p>\n\n<p>Unlike this post, most of my non-technical posts have <span class='nobr'>a lot<\/span> of photos,\neither to tell <span class='nobr'>a story<\/span> (<a\nhref=\"\/blog\/2007-05-10\/448\">like this<\/a>) or to just\nshare pretty photos (<a href=\"\/blog\/2006-11-22\/286\">like\nthis<\/a>). <span class='nobr'>In either<\/span> case, <span class='nobr'>I start<\/span> with the photos.<\/p>\n\n<p class='h'>Photo Workflow<\/p>\n\n<p>My photo workflow is pretty much the same whether it's <span class='nobr'>a subject<\/span> <span class='nobr'>I intend<\/span> to blog about or not...<\/p>\n\n<ol><li><span class='nobr'>I download<\/span> the tracklog from <a href=\"\/blog\/2007-08-09\/539\">my GPS unit<\/a> to my PC.<\/li>\n\n<li><p>I transfer the photos from the camera's memory card to <span class='nobr'>a folder<\/span> with\na <span class='nobr'>&#8220;<i>YYYY\/MM\/DD-description<\/i>&#8221;<\/span> name. For example, my most\nrecent set of photos, from which <a\nhref=\"\/blog\/2008-02-14\/737\">More Snow in Kyoto: Pretty\nPictures This Time<\/a> was populated, are in\n\n<tt class='nobr' style='font-weight:bold'>C:\\photo\\2008\\02\\13-North-Kyoto-Snow<\/tt>.<\/p>\n\n<p>The script that moves them also syncs up the photo times with the GPS\ntracklog, adding geoencoding metadata to the photos as they're moved. <span class='nobr'>It also renames<\/span> the image files to get around the camera's four-digit filename\nlimit, putting the number the image should really have.<\/p>\n\n<p><b>Update:<\/b> <span class='nobr'>I now<\/span> geoencode within Lightroom, using my <a\nhref=\"\/blog\/lightroom-goodies\/gps\/\">GPS Support\nplugin<\/a>.<\/p>\n\n<\/li>\n\n<li><p>I then import these into Adobe Lightroom using the &#8220;import at\ncurrent location&#8221; option, applying <span class='nobr'>a metadata<\/span> preset that inserts things\nlike my blog url.<\/p>\n\n<p>You can see an example of how these kind of folders appear in Lightroom\nby clicking though to <span class='nobr'>a bigger<\/span> version of the first screenshot on <a\nhref=\"\/blog\/2007-01-29\/377\">this Lightroom post<\/a>. <span class='nobr'>I find the<\/span> &#8220;<b>year\/month\/date-description<\/b>&#8221; layout to work out quite\nconveniently.<\/p><\/li>\n\n<li><p>In Lightroom, <span class='nobr'>I select<\/span> the folder <span class='nobr'>I just<\/span> imported to, set the filters to show &#8220;Picks and Unflagged Photos&#8221;, which is another\nway to say &#8220;exclude rejected photos.&#8221;<\/p><\/li>\n\n<li><p>I make a quick pass through the images, rejecting anything that's\nobviously trash. When I'm done, an application of <span\nclass='nobr'>&#8220;<b>Photo &gt; Delete Rejected Photos<\/b>&#8221;<\/span> gets rid of\nthem all.<\/p><\/li>\n\n<\/ol>\n\n<p class='h'>Blog-Prep Workflow<\/p>\n\n<p>Writing a post starts with selecting and uploading the photos to my blog\nsite...<\/p>\n\n<ol><li><p>I go through the relevant photos in Adobe Lightroom, throwing\ncandidates for publication into the quick collection.<\/p><\/li>\n\n<li><p>I often end up with 30 or more photos, and although I've been bad\nabout keeping to it lately, <span class='nobr'>I try to<\/span> limit myself to 10 photos per post.\nSo, <span class='nobr'>I have to<\/span> go cull them down, which is usually <span class='nobr'>a difficult<\/span>\/painful\nprocess.<\/p>\n\n<p>If it's a story-based post, I'll use this image-selection process to\nstart forming how I'll present the subject, and then turn around and use\nthat presentation to further refine the selection process. I'll cut out\nphotographically-interesting shots if they don't contribute much to the\nstory, although <span class='nobr'>I don't<\/span> mind if <span class='nobr'>a few<\/span> nice shots sneak in. Some of the more\ninteresting shots that don't make it to the post will be marked with a\n&#8220;2blog&#8221; keyword, which means <span class='nobr'>I may<\/span> revisit it for <span class='nobr'>a post<\/span> at <span class='nobr'>a later<\/span>\ndate.<\/p>\n\n<\/li>\n\n<li><p>I then go through the final photos and do any image-processing\ntweaks that are needed, such as cropping, rotation, brightness, etc. <span class='nobr'>For the most<\/span> part this is all done from with in Lightroom. These days, <span class='nobr'>I use Photoshop<\/span> rarely.<\/p><\/li>\n\n<li><p>I export all the photos from Lightroom using two export presets. <span class='nobr'>One writes<\/span> large versions (jpgs with <span class='nobr'>a quality<\/span> of 72, resized so the long edge\nis 1,800 pixels), and one writes smaller versions (jpgs with <span class='nobr'>a quality<\/span> of\n53, resized so the long edge is 690 pixels).<\/p><\/li>\n\n<\/ol>\n\n<p class='h'>Post-Writing Workflow<\/p>\n\n<ol>\n<li><p>I then run a script that grabs the photos just exported, removes\nsome of the metadata (such as embedded thumbnails that just take up space),\nthen copies them to my server machine. <span class='nobr'>It then deletes<\/span> the exported copies from my local machine.<\/p>\n\n<p>The script continues on my server where it then creates the text file\nthat <span class='nobr'>I write<\/span> the post in, seeding it with all the images and the metadata\nseen under each picture.<\/p>\n\n<p>(I actually compose my blog posts in <span class='nobr'>a text<\/span> file, using Emacs (<span class='nobr'>a text<\/span> editor), then link it into my blog with my WordPress\n<a\nhref=\"\/blog\/other-writings\/wordpress-file-based-posts-plugin\/\">File-based\nPosts Plugin<\/a>.)<\/p><\/li>\n\n<li><p>I try to pick a lead photo that stands on its own for its\ninterestingness or photographic qualities, or that tells the whole story in\n<span class='nobr'>a nutshell.<\/span> Sometimes it's clear what photo <span class='nobr'>I should<\/span> use, but it's often\ndifficult to select the lead image. Sometimes I'm thinking about this when\nculling images for the post, in which case <span class='nobr'>I may<\/span> pick one that doesn't add\nto the story, but that's representative of much of the story in <span class='nobr'>a single<\/span>\nimage. <span class='nobr'>The first<\/span> image on the <a\nhref=\"\/blog\/2008-02-06\/716\">Intense Burn: Shinto Rite at\nthe Heian Shrine<\/a> is <span class='nobr'>a good<\/span> example of that.<\/p><\/li>\n\n<li><p>Since I'm posting mostly about daily events in my life, many posts\nare directly related to something <span class='nobr'>I posted<\/span> about earlier, so actually\nwriting the prose usually starts with <span class='nobr'>a visit<\/span> to my blog's <a\nhref=\"\/blog\/toc\/\">Full List of Posts<\/a> to get the links\nthat <span class='nobr'>I often<\/span> need in the post's first paragraph.<\/p><\/li>\n\n<li><p>I then write the prose for the post, adjusting the order of the\nimages as needed. While doing this, I'll often sprinkle in links to\nrelevant pages on Wikipedia or elsewhere on my blog. Sometimes this entails\nquite <span class='nobr'>a bit<\/span> of research, because <span class='nobr'>I prefer<\/span> not to look like too much of an\nidiot when <span class='nobr'>I write<\/span> about something.<\/p>\n\n<p>For example, in writing my first post about our trip to Amami (<a\nhref=\"\/blog\/2008-01-06\/680\">Amami Islands, Southern\nJapan<\/a>), <span class='nobr'>I spent<\/span> hours researching all kinds of things. <span class='nobr'>For the sentence<\/span>\n&#8220;<i>The flight back from Amami was just an hour and fifteen minutes (about\n575 miles)...<\/i>&#8221; <span class='nobr'>I inspected<\/span> my GPS tracklog to get the duration and\ndistance. <span class='nobr'>I tracked<\/span> down the islands' populations on <span class='nobr'>a Japanese<\/span>-government\nwebsite, and made maps for posting. <span class='nobr'>I read all<\/span> kinds of stuff about the\nhistory of Amami (such as it being under United States rule after WWII,\nbeing returned to Japan in 1953) that never made it into the post.<\/p>\n\n<p>This step can eat hours of my life.<\/p>\n<\/li>\n\n<li><p>While writing the prose, I'll also caption the images, and adjust\nthe spacing before and after the image to match the text: less space when\nthe text is directly related to the image, and more space when there's <span class='nobr'>a\nconceptual<\/span> step between the two.<\/p><\/li>\n\n<li><p>Once I'm generally done, I'll reread the post, make corrections,\nspellcheck. Repeat <span class='nobr'>a few<\/span> times.<\/p><\/li>\n\n<li><p>Once that's done, <span class='nobr'>I have some<\/span> drudgery work that is never enjoyable (and so sometimes <span class='nobr'>I skip<\/span> it):<\/p>\n\n     <ul><li><span class='nobr'>I write<\/span> the &#8220;alt&#8221; text for images, which helps the search engines understand the image better.<\/li>\n\n     <li><span class='nobr'>I add<\/span> hints to each image to indicate how the mini square thumbnail used on my <a href=\"\/blog\/photos-2008\/\">index of photos<\/a>\n          should be created (e.g. should it be the square in the center of the image? or the square toward the left of the image? etc.)<\/li>\n\n     <li>If an image is particularly pleasing in <span class='nobr'>a photographic<\/span> sense\n&ndash; on its own, out of the context of the post &ndash; I'll mark it for\none of my Media RSS photo streams. <span class='nobr'>I haven't<\/span> published these yet, but I'm\npreparing for the day by marking images now.<\/li>\n\n<\/ul><\/li>\n\n<li><p>I then run a script which checks that all the links in the post\nwork, validates the HTML, inserts the proper width\/height attributes on all\nthe images, and <span class='nobr'>a few<\/span> other little things. <span class='nobr'>If no errors<\/span> are reported, <span class='nobr'>I'm ready<\/span> to publish.<\/p><\/li>\n\n<li><p>I pull up my blog's &#8220;new post&#8221; administration page, and plug in the\nname of the file <span class='nobr'>I just<\/span> composed the post in. <span class='nobr'>I also indicate<\/span> the\nappropriate\nblog categories (e.g. <a href=\"\/blog\/category\/pretty-photos\/desktop-backgrounds\/\">Desktop Backgrounds<\/a>,\n<a href=\"\/blog\/category\/japan\/\">Japan<\/a>,      <a href=\"\/blog\/category\/camera-equipment\/gear\/\">Camera Gear<\/a>, etc.),\nand choose <span class='nobr'>a title<\/span> for the post.<\/p>\n\n<p>Choosing a title is often the most difficult aspect of posting, because\nby the time <span class='nobr'>I get<\/span> this far, <span class='nobr'>I'm running<\/span> on empty and have no energy to\nthink of something more interesting than what's obvious or clich&eacute;.\nOh well. <span class='nobr'>In any case<\/span>, <span class='nobr'>I try to<\/span> stay away from &#8220;cute&#8221; titles, preferring to\nhave titles that give the reader an appropriate expectation for the\ncontents of the post. <span class='nobr'>It's not as<\/span> fun as being witty (or trying to be\nwitty), but <span class='nobr'>I think<\/span> it respects the reader. People often choose to read or\nskip an entire post based only on the title, so <span class='nobr'>I want<\/span> to give them <span class='nobr'>a\nreasonable<\/span> basis for that decision.<\/p>\n\n<p>(Witty titles <i>can<\/i> be done well, as <a\nhref=\"http:\/\/www.svextra.com\/blogs\/gmsv\/\">Good Morning Silicon Valley<\/a>\nillustrates.)<\/p><\/li>\n\n<li><p>Once that's done, the post is live on my blog. But I'm still not done. <span class='nobr'>I then run<\/span> <span class='nobr'>a script<\/span>\n     that creates the cross references seen in the &#8220;Followups and related posts&#8221; section at the end of each post.\n     Another script then updates the <a href=\"\/blog\/photos-2008\/\">index of photos<\/a>,\n     and finally, <span class='nobr'>a third<\/span> script contacts <a href=\"http:\/\/pingomatic.com\/\">ping-o-matic<\/a> to tell\n     blog aggregators that I've published new content.<\/p><\/li>\n\n<li><p>Now that it's been published, <span class='nobr'>I copy the<\/span> permalink url of the post, and in Lightroom, insert it into\n     the &#8220;Blog URL&#8221; metadata field for the posted images, just so <span class='nobr'>I have<\/span>\n     it. Lightroom doesn't have a &#8220;Blog URL&#8221; metadata field, of course, but <span class='nobr'>I repurposed<\/span>\n     <span class='nobr'>a metadata<\/span> field that <span class='nobr'>I don't<\/span> otherwise use to &#8220;Blog URL&#8221; via my <a\n     href=\"\/blog\/2007-06-27\/503\">Lightroom Metadata Viewer\n     Preset Builder<\/a>.<\/p>\n\n     <p>I also assign those images Lightroom's red color label, which to my workflow means &#8220;has been posted on my blog.&#8221;<\/p><\/li>\n\n<li><p>By this time it's often well past midnight, so <span class='nobr'>I treat<\/span> myself to <a\nhref=\"\/blog\/2007-09-10\/565\">cold frosty beer<\/a>.<\/p><\/li>\n\n<\/ol>\n\n<p>This post took just over three hours to write. <span class='nobr'>My beer awaits<\/span>...<\/p>\n\n<style type=\"text\/css\">\n#post739 p.h { font-size: 120%; font-weight: bold }\n<\/style>\n\n\n","protected":false},"excerpt":{"rendered":"<p>I'm occasionally asked about my photo and blog-writing workflow, and having just been asked twice in as many days, I thought I'd just go ahead and post about it.<\/p> <p>Unlike this post, most of my non-technical posts have a lot of photos, either to tell a story (like this) or to just share pretty photos (like this). In either case, I start with the photos.<\/p> <p class='h'>Photo Workflow<\/p> <p>My photo workflow is pretty much the same whether it's a subject I intend to blog about or not...<\/p> I download the tracklog from my GPS unit to my PC. <p>I transfer [...]","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\/739"}],"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=739"}],"version-history":[{"count":0,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/posts\/739\/revisions"}],"wp:attachment":[{"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/media?parent=739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/categories?post=739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/regex.info\/blog\/wp-json\/wp\/v2\/tags?post=739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}