ExifTool Forum

ExifTool => Newbies => Topic started by: Phil Harvey on January 12, 2011, 02:25:05 PM

Title: ExifTool for Dummies
Post by: Phil Harvey on January 12, 2011, 02:25:05 PM
I have just started writing an "ExifTool for Dummies (https://exiftool.org/dummies.html)" page, and I am looking for some input before I get too far.  I have trouble generating documentation on this subject because often things that are obvious to me can cause problems for some people.

The page is far from complete, and I would be happy to hear general suggestions at this stage about the direction I should be taking here, and/or specific details about what should be included.

TIA

- Phil
Title: Re: ExifTool for Dummies
Post by: BogdanH on January 12, 2011, 03:42:03 PM
Hi Phil,

I think this is a good idea!
Quote..often things that are obvious to me can cause problems for some people.
Just keep in mind, that you're (I assume) writting for those who never seen/used console window before. Thus, when explaining "first steps", even there's only (command/result) text inside console window, having small screenshot of that window explains more than hundred words. As you progress deeper (after first few examples, perhaps), there will be less and less need for screenshots.

One thing came to mind: perhaps one page where it's explained (for dummies) how metadata is organized (block diagram?)... how Exif, Iptc, Xmp, etc. are related... -so user gets a feeling what's that all about. Just an idea..

Wish you patience  :)

Bogdan
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 12, 2011, 07:36:25 PM
Hi Bogdan,

Thanks for the suggestions!

- Phil
Title: Re: ExifTool for Dummies
Post by: simonmcnair on January 13, 2011, 03:02:58 AM
Phil,
Phil,
I think the best way to do this would be that whenever you come across an innovative and useful command line, post it with a brief explaination of what it does.  This allows people to look at the command line and understand how it was constructed.  Maybe have an easy, medium and advanced section ? (I love the man pages which have 30 examples or so which cover most of the regular uses of the application).

This would be especially useful when explaining 'escape characters', nesting command lines, etc.

I think you'll find most of the people that need help are, unfortunately, windows ppl like myself who learned DOS batch files only to find out that it's a poor mans substitute for bash scripting or perl.

Keep up the great work.  It's nice to see a developer who cares about documenting their product, who keeps involved with their community and shows an active interest in developing an app which already does practically everything under the sun :-).

cheers
Simon

Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 13, 2011, 07:20:00 AM
Hi Simon,

Good point.  I definitely need to give a brief summary of shell quoting rules and how to escape characters.

I will definitely give examples, but too many examples may defeat the purpose.  The application documentation already contains lots of examples but I don't think that anyone ever reads them. :(

- Phil
Title: Re: ExifTool for Dummies
Post by: BogdanH on January 13, 2011, 12:54:24 PM
Hi Phil,

Quote from: Phil Harvey on January 13, 2011, 07:20:00 AM
... The application documentation already contains lots of examples but I don't think that anyone ever reads them. :(

Probably true in most cases. The reason for this might be, that examples in documentation are based on "what command/switch does" -thus user must "recognize" particular example is "similar" to what he wish to accomplish.

I believe, what beginner wish to (easy) find is, "how do I make this (fill in) happen". What I mean is, there should be (for example):

Chapter: "Managing keywords"
-saving my first keyword and adding further keywords...
-deleting all or particular keyword..
-how do I show (rename, etc.) all files containing particular (two) keyword(s)...
-I wish to modify some tag, but only if file (doesn't) contain particular keyword(s)...
-etc....
Chapter: "Managing locations"
- ...
Chapter: "Managing Dates and Times"
- ...
That is, user knows what he wish, but doesn't know where to start. I believe, "per chapter" manual makes it easier to find needed example. Of course, there's no need trying to cover all possible combinations -user will get the idea "how stuff works".

Well, that's how I would probably do...

Bogdan
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 13, 2011, 01:03:35 PM
Hi Bogdan,

I was hoping to avoid writing a book with various chapters because I don't have the time.  What I want is just a single page of information (or, probably one page per platform), just to help people get started.

I'm not saying that a book wouldn't be useful, just that I don't have the time to write it.

- Phil
Title: Re: ExifTool for Dummies
Post by: BogdanH on January 13, 2011, 04:14:23 PM
Time -how right you are! And after reading my post again... I really must reduce coffee :)

Bogdan
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 13, 2011, 08:57:34 PM
Quote from: BogdanH on January 13, 2011, 04:14:23 PM
And after reading my post again... I really must reduce coffee :)

...or maybe I should start drinking it.  ;)

- Phil
Title: Re: ExifTool for Dummies
Post by: simonmcnair on January 14, 2011, 03:23:22 AM
Phil,
I don't know if, in my opinion, you should be doing the 'dummies guide' at all.  If people can't get by on the substantial amount of documentation and the faq then there is something wrong.  My case spectacularly describes this point in particular.  I came on to the forums and asked two questions which were already covered by your documentation:

1.) how the date renaming works with escape characters (still can't understand why -d %Y%m%d_%H%M%S%%-c.%%e has the -c escaped; because it applies to the filename not the date formatting ?  sorry to go off topic)
2.) what the tag name is for field x

This means one of two things:
1.) your program has a steep learning curve
2.) your program is too complex (hey, can't complain about added functionality ;-) )
3.) The documentation is too in depth, too quickly

When I first saw the app, I thought 'okay, drop to console and do /?' .  I did this and got about 15 pages of info, the second thing I did was think 'oh shoot this is complex'.  Maybe the app should have, when executed with /? just the examples and then give advanced help on /help or something.  That would stop the newbies getting scared and asking for help straight away.

I'm sure, in your mind you have the top ten queries asked of exiftool, just put them down on the the FAQ at the start titled 'common examples'.

You'll have different kinds of people visiting the site like:
Developers (you shouldn't need to explain much to these ppl)
regular users (They'll ask the questions in the forums and I would expect these to be intelligent questions)
newbies (Like me, who looked at the program and though, oh shoot this is complex, I only want to do x and don't understand the development/unix terminology)

The newbies are just looking for the most common uses of the app, they have 2,00-10,000 digital photos and they want them renamed according to x, or they want the date adjusted in the file as they forgot to set the date on their camera.  All easy and common questions I suspect.  But, as they get used to it they either have one command that they run a few times a year or on each import or their needs get greater and they become an intelligent forum user.

I think worked examples and an explaination of escape characters would do fine.  If you want to provide more than that, try getting some stats out of the forum engine to tell you what the most regularly asked questions are and try to answer them.

:-)

Hope this makes some/any sense.

Simon

Title: Re: ExifTool for Dummies
Post by: simonmcnair on January 14, 2011, 03:41:44 AM
oh it might be worth explaining double quotes,less than, braces and the $ (Sigil, literal string?) too.  Traditionally, I thought quotes were used whenever a filename and/or directory had a space in it, but I can't understand why the quotes are in the example below.


exiftool -d %Y-%m-%d_%H-%M-%S%%-c.%%e "-filename<${datetimeoriginal}" *.jpg
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 14, 2011, 07:19:06 AM
Hi Simon,

Thanks for your comments.  It is good to hear from the perspective of a new user.

There are a number of characters that are special in various shells.  I know of 7 different shells  (the Windows cmd shell being only one), and in most of these shells the | > and < characters are used for redirection and piping, so they must be quoted.  Also, in the Unix shells the dollar sign ($) is used for environment variables, so it must be quoted too (with single quotes), but I don't think this is a problem in Windows.

I would have to do some research myself on the various shells to figure out all the quoting rules.  This is one reason I haven't done this yet.

Plus, there are additional rules for Windows batch files.  For some reason the Windows batch command syntax is different from the command line.  But luckily the syntax of the scripts is the same as the command line for all the other shells.

- Phil
Title: Re: ExifTool for Dummies
Post by: Elle Stone on January 20, 2011, 09:45:05 AM
Hi, all,

"Exiftool for dummies" sounds like a great idea. Though I've used exiftool for several years now, I still feel like an exiftool dummy and thought I'd try to pinpoint how and why I get stumped.

Compliments to Phil:
Exiftool and dcraw are my very most favorite command line programs. In my opinion, Phil and Dave are the heroes of digital photography. Exiftool and dcraw together have saved digital photography from the morass of proprietary formats/software that would require one to choose a camera based on manufacturer-supplied software rather than on the basis of sensor capabilities or available lenses (those being the central "photography" reasons to choose one digital camera over another).

Even Linux users can be exiftool dummies:
I participate in a number of linux users forums. These days more and more linux users (many of whom are windows refugees) are not comfortable with the command line environment. In the "good old days", if you asked a question in a forum the answer was likely to start with "open a terminal and type . . . ". These days the answer is more like to start with "open this or that gui and click . . . ". And if the answer does involve opening a terminal and typing, the user is very likely to respond with fear and trembling and a request for a great deal of hand-holding.

Even people with experience programming and also experienced exiftool users can be exiftool dummies:
I became a linux-using windows refugee when Vista came out. Even back in my windows days, I always kinda preferred using the command line over working with a gui. Over the years I've used, written and/or modified programs in at least a dozen different languages, including fortran (showing my age), basic, c, command-line SPSS, a bunch of other more or less obscure YAPLs, and most recently, php. Alas, I don't know perl.

Despite having used exiftool more or less routinely for several years, I feel like an exiftool dummy. Whenever I want to do something new with exiftool, I always have to painstakingly work out how to write a new exiftool command.

At risk of exposing just how much of an exiftool dummy I really am, here are some example problems I've had:

1. Going from making a change to one image, to making changes recursively:
Phil gives examples of how to accomplish many different tasks. I think it would help if each task had at least two examples, one for making a change to only one image, the next for working recursively over a bunch of images and folders. I have a great deal of trouble trying to modify "single image" commands to work recursively.

2. dates and directories, "d":
I find myself confusing the syntax for dates and directories - I just automatically assume "d" means "dates" if I want to work with dates and means "directory" if I want to work with directories.

3. file names and extensions when working recursively:
The following command was relatively easy to figure out. It recursively opens "example.thumb.jpg", reads the contents of "TagsList", and writes the contents of "TagsList" to the corresponding raw file that has "example" as the file name and "cr2" as the file extension:
exiftool -v -tagsfromfile %d%f.thumb.jpg -TagsList -r -ext cr2 /media/b3/test

Going the other way to write all the metadata in the raw file back to the corresponding jpeg took a lot of trial and error:
exiftool -v -tagsfromfile %d%-.6f.cr2 -r -overwrite_original -ext jpg /media/b3/test

What I tried first was
exiftool -v -tagsfromfile %d%f.cr2 -TagsList -r -ext thumb.jpg /media/b3/test

And I am not sure why this doesn't work. A lot of mental thrashing went into figuring out first that I needed the "-.6" between the "%" and the "f".

4. Syntax and what to mentally call things like "-":
The following command copies a tag from one file to another:
exiftool -v -tagsfromfile %d%f.thumb.jpg -TagsList -r -ext cr2 /media/b3/test

And the following command removes certain tags from files:
exiftool -v -r -Copyright= -CopyrightNotice= -ext cr2 /media/b3/test/08

Notice the use of "-" in front of  the different metadata tags. One time it is used to copy a tag from one file to another, the next it is used to delete tags. Phil explains the syntax thusly:

"Tag values are written rather than being extracted if any tag name ends with a '=' symbol (or if the -tagsFromFile or -geotag options are used). The '=' may be prefixed by '+', '-' or '<' to add a value, remove a value or set a value from file. The following table outlines the different write syntaxes:"

What Phil says is succinct and accurate and eventually makes sense, with sufficient head-banging and trial and error (like reading a car repair manual - cryptic until after you figure out what you need to do).

My feeble brain keeps trying to make "-" mean "minus". Which is probably the source of one of my stumbling blocks. When using exiftool, what should I call "-"? "This tag"? I think I am on to something here. What should be the verbal "meaning" equivalent of things like "-", "+", "<", etc? Is it always the same? context-dependent?

5. Where do the modifiers go?
Another stumbling block that I keep running into: Where to put things like "-r", "-overwrite_original", "-ext" to get it to operate (if that is the right word) on the correct portion of the command, affect the right files.

Anyway, hopefully some of the above illustrates what this exiftool dummy might find helpful.

Elle Stone

Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 20, 2011, 12:23:48 PM
Hi Elle,

Thank you very much for this informative post.  I understand most of your problems, but they have unfortunately renewed my fear about this "ExifTool for Dummies" document could easily turn into a book.  Perhaps I should change this to a "Quick Start" document.  I would eventually like to get more detailed than this, but baby steps first.  It is very useful to have the itemized list of problems you've had, and with enough posts like yours maybe it will get easier to write a comprehensive document.

As source material for that document, and for others who may be reading this, I will attempt to clarify some of the things that caused you problems:

Quote from: Elle Stone on January 20, 2011, 09:45:05 AM
1. Going from making a change to one image, to making changes recursively:

This is a common problem.  Basically you can put as many file names and/or directory names on the command line as you want.  I don't do this in my examples because they would quickly get too wide for the window, but I should work on documenting this better.

When you put a directory name on the command line, exiftool processes all files with recognized extensions in the directory (or all files that are writable by exiftool if writing information).  Adding the -r option causes exiftool to also recursively process files in any subdirectories of the specified directory.  The -ext option comes in very handy here to specify the types of files you want to process (unless you simply want all recognized files processed).

Quote2. dates and directories, "d":
I find myself confusing the syntax for dates and directories - I just automatically assume "d" means "dates" if I want to work with dates and means "directory" if I want to work with directories.

-d is always for dates.  The magic of exiftool lets you copy date/time values to any other tags, in which case the date/time formatting will apply to whatever tag you write. 

Another simply brilliant (IMHO) feature of Exiftool is that you can manipulate the file name as if it were metadata by writing the FileName tag.  So if you copy a date/time tag to the FileName, the -d option has the effect of specifying the format of the file name.  Really cool when you think about it.  I didn't design -d specifically to be used for file names, but the feature arose naturally from the design.

Quote3. file names and extensions when working recursively:
Going the other way to write all the metadata in the raw file back to the corresponding jpeg took a lot of trial and error:
exiftool -v -tagsfromfile %d%-.6f.cr2 -r -overwrite_original -ext jpg /media/b3/test

Yes.  This is very tricky, and well into some of the advanced features.  I'm glad you worked this out.

QuoteWhat I tried first was
exiftool -v -tagsfromfile %d%f.cr2 -TagsList -r -ext thumb.jpg /media/b3/test
And I am not sure why this doesn't work.

Basically, %f is the source file name, which ends with ".thumb" in your case.  You need to remove this for the -tagsfromfile argument because the CR2 file doesn't end with ".thumb".  Tricky I agree.  I made the syntax of %-.6f similar to the C printf() format strings so might this would be at least a bit easier to understand if you were a C programmer.

Quote4. Syntax and what to mentally call things like "-":

The only purpose of the dash (-) is so that exiftool will know the argument is not a file name.  It just says "this argument is an exiftool option", and nothing more.  Tag names on the command line are a specific type of option that you add to control the flow of information.  (Regarding this point, the "Under the Hood" of ExifTool (https://exiftool.org/under.html) page illustrates this information flow.)

QuoteMy feeble brain keeps trying to make "-" mean "minus". Which is probably the source of one of my stumbling blocks. When using exiftool, what should I call "-"? "This tag"? I think I am on to something here. What should be the verbal "meaning" equivalent of things like "-", "+", "<", etc? Is it always the same? context-dependent?

As I said, "-" at the start of a command line argument just specifies that this is an option.  The syntax of the options used to specify tags to extract or copy, and new values to write to tags is very complex, and I think this is the source of your confusion.  You can ignore the leading "-" from this point of view.  However, things like "-=" and "+-" inside an option are very significant, and are used to specify values to add or remove from a list.  Other combinations of ">","<","=","-" and "+" inside an argument are all simply conventions that I invented to be able to achieve the functionality that I wanted for ExifTool.  I borrowed ">" and "<" from the shell redirection syntax since you are effectively redirecting metadata from one tag to another with options like -DSTTAG<SRCTAG.  The deletion syntax -TAG= doesn't come from anywhere, but I thought this made sense since it implies that you want to assign the value of TAG to nothing.

Quote5. Where do the modifiers go?
Another stumbling block that I keep running into: Where to put things like "-r", "-overwrite_original", "-ext" to get it to operate (if that is the right word) on the correct portion of the command, affect the right files.

Yes.  I probably haven't explained this very well.  Essentially, all options apply to the entire command, so it doesn't matter where they go.  The only significant exceptions to this rule are the family of tag specification options -TAG... since these affect the order in which information is extracted, or the order in which new values are specified (which is significant only if you assign more than one value to a tag since it is the last value assigned that takes precedence).

Thanks again for your input.

- Phil
Title: Re: ExifTool for Dummies
Post by: Elle Stone on January 25, 2011, 07:05:06 AM
Hi, Phil,

Over the last few years, for one reason and another, I've read through a good deal of your documentation, and the more I use ExifTool, the more I learn from consulting the documentation.

But when I was first starting to use exiftool several years ago (did you have a forum back then?), the most useful "documentation" was other people's web sites, where they'd posted "how to" examples that I was able follow. Finding those helpful examples usually took a lot of trawling through websites.

Do you think it might be useful to new ExifTool users if you posted a collection of links to "how to" web pages? I bet a lot of the forum members have posted ExifTool "how to" examples to their own websites. I just put one up for the benefit of digiKam users. In case you are curious, here it is: http://ninedegreesbelow.com/2011/imaging/exiftool_digikam/exiftool_digikam.html

And no, my feelings won't be hurt if you do post links with examples and don't post mine!

Elle Stone
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 25, 2011, 07:20:12 AM
Hi Elle,

Thanks for the suggestion and link, I hadn't seen that one yet.

Certainly providing links to other how-to pages would be useful.  Also, reading these pages is helpful to me.

- Phil

P.S. I started this forum about a year ago.  Before that (back to early 2005) we used the Image-ExifTool section of the CPAN forum (which wasn't very user-friendly).  I transferred all of the old CPAN posts to the Archives section of this forum when I created it.
Title: Re: ExifTool for Dummies
Post by: srichart4 on January 30, 2011, 01:11:52 PM
Phil,
I may be a perfect fit for the Dummy part.  I just downloaded Exiftool and can't even get in yet.  As to Perl, I know absolutely nothing.

I'm part of a big digitization project and we are going to generate a lot of images.  We want to add the meta data to each image, use your tool to extract it out for submission to the archives.  Up until a month or so ago, I didn't realize there was such a thing as meta data.  Now, I had seen some of it with other images, but actually knowing anything about what is stored and that there are specific fields, I hadn't a clue.

I will keep track of my problems and send them along. 

Sue (the Perfect Dummy >g)
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 30, 2011, 02:23:58 PM
Hi Sue,

I look forward to your input. :)

Just one point:  You don't need to know anything about Perl to use the exiftool application.  The only places you are exposed to any Perl at all with the application are through two of the more advanced features: The -if option syntax, and the configuration file (https://exiftool.org/config.html).

Often the biggest hurdle in using the application is becoming familiar with the command line for your system, which really has nothing to do with exiftool or Perl at all.

- Phil

Edit: fixed typo
Title: Re: ExifTool for Dummies
Post by: StephenKiel on February 08, 2011, 02:53:59 PM
Hi Phil,

First of all, thanks for putting together a great tool like exiftool, and then hanging in to explain how to get the most out of it.

I liked you comment about changing the help document from a "for dummies" to quick start.  It sets the expectation that it will be short and to the point. 

I think that part of the reason there is an initial steep learning curve is that the exiftool is like a swiss army knife with lots of different capabilities. Depending on what you want to do, it is hard for a new user to jump in to find out how to accomplish the task.  It is even harder to actually write an original command line for the task.

I think one thing that would help me is to take a command or two, dissect them and explain the mechanics of what is going on.  An example of a handy command line that I found and use, but could not explain is this:
exiftool -geotag test.gpx '-geotime<${DateTimeOriginal}-06:00' *.jpg

Beyond the obvious things like the track file name, the wildcarded filename, and the timezone offset this command line is not all that intuitive.  There is redirection, quoting, and options.  I think that pulling apart a couple of examples like this and explaining what is going on would be a big help.  You mentioned in earlier posts that you were concerned about having to explain shell quoting.  I do not think you need to or even should explain shell interpretation.  This information already exists.  What is difficult for a new user to understand is the interaction of the shell and the tool.  The quickstart document should get people to the point where they know where to start looking in order to take their next step.  If they need to gain more expertise in the shell or the actual tool they can pursue it on their own, the important step is to get the pointed in the right direction.

Stephen
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on February 09, 2011, 07:27:15 AM
Hi Stephen,

Thanks for the suggestion.  I like your idea of pulling apart some command line examples to help people understand the mechanics.

You're right about the Swiss army knife problem.  Last week I started working on an interactive command-line examples page to help people find commands to do what they want, but quickly realized that I was in way over my head due to the huge number of possible variations. [this is how far I got (https://exiftool.org/examples.html)]

Also, a lot of the problem is just finding the information you need, and I spend a lot of time just acting as an index into the scattered documentation.  For example, the Geotagging with ExifTool (https://exiftool.org/geotag.html) page should explain your question about the geotagging command.  If not, please let me know exactly what you don't understand and I'll add it to the documentation.

Thanks again for your input!

- Phil
Title: Re: ExifTool for Dummies
Post by: StephenKiel on February 10, 2011, 11:21:54 PM
Phil,

Thanks for the feedback and the offer to explain the geotag command further.  I did read the web page and I am still confused.  I do understand what the command is doing well enough to hack at it and make it do what I need, I just don't understand what it is doing well enough that I could write this command or one that is similar from scratch.  If going over this becomes too time consuming we can drop it. If on the other hand "capturing the confusion" helps to identify what type of things might be useful to explain in a "quick start" and it is helpful then perhaps we can work through this a little more.

It might be helpful to turn this around, and have me instead explain what I understand about this command, what I don't understand (and why) and then let you correct my understanding.  So here is my understanding and confusion.  Let me apologize in advance for it being long and kind of picky.

I read the page you sent "Geotagging with ExifTool" in order to further understand the command in my example:
exiftool -geotag test.gpx '-geotime<${DateTimeOriginal}-06:00' *.jpg

I then ran some experiments to understand it further.  The set of steps that I ran were:
exiftool -gps:all= example.jpg
exiftool example.jpg > example_tags_init
exiftool -geotag track.gpx example.jpg
exiftool example.jpg > example_tags_2nd
exiftool -geotag track.gpx '-geotime<${DateTimeOriginal}-06:00' example.jpg
exiftool example.jpg > example_tags_3rd
diff example_tags_init example_tags_2nd
diff example_tags_init example_tags_2nd > first_geotag
diff example_tags_2nd example_tags_3rd > second_geotag
grep 'Date/' example_tags_init > DateTimeOriginal


My conclusions are:

1) exiftool is the command, example.jpg is the target file, and -geotag is the operator (I will refrain from calling it a "tag" as I am confused about what a "tag" is – more on that in a bit).

2) the -geotag operator writes or overwrites several metadata variable name value pairs.  The variable names it writes are: GPS Version ID, GPS Latitude Ref, GPS Longitude Ref, GPS Altitude Ref, GPS Time Stamp, GPS Date Stamp, GPS Altitude, GPS Date/Time, GPS Latitude, GPS Longitude, GPS Position.

3) -geotime does not seem to operate on the metadata directly.  I could not get exiftool to use -geotime outside of being a modifier for -geotag (although I might not have figured out the right way to do it).  I am assuming that -geotime is only a modifier for the operator -geotag.

4) the -geotag operator without the -geotime modifier set the GPS Date/Time to 2010:09:11 15:11:28Z.  Date/Time Original was set to 2010:09:11 08:11:28.  The GPS Date seems to be affected by the timezone of the computer. (not clear from the documentation what this was going to be)

5) the -geotag operator with the -geotime modifier set all of the GPS variables to what seem to be correct values.

6) From my reading of the web page it seemed like the two commands should produce the same result:
exiftool -geotag track.gpx '-geotime<${DateTimeOriginal}-06:00' example.jpg
exiftool -geosync=-06:00:00 -geotag track.gpx example.jpg

The second command responded  -  Warning: No writable tags found

The things that are kind of confusing are:

1)  I am not sure what a tag is, the web page about geotaging refers to -geotag and -geotime as tags.  When I go to the tag index documentation page and check under a couple of the categories, it looks like that is referring to the metadata variable names.

8)  I don't see how the portion of the command '-geotime<${DateTimeOriginal}-06:00' gets turned into a time value.  Does exiftool fork itself and use this to compute time?  Is that why it is in single quotes – or what is the purpose of the single quotes?

9) ${DateTimeOriginal} looks kind of like a shell variable representation of the metadata variable Date/Time Original.  Is there a special list of metadata variables that are represented this way?  If all of them are available do you represent them by removing whitespace and special characters e.g.
Date/Time Original -> DateTimeOriginal
Create Date -> CreateDate
File Modification Date/Time -> FileModificationDateTime
Exif Image Width -> ExifImageWidth

10)  Is there documentation on operators like -geotag that indicates what additional modifiers (like track file name and time for GPS Time) they expect?

This is enough for now, and I apologize if it is too many questions.  It was my hope to capture what seems confusing, not to overwhelm with questions.

Thanks again,

Stephen
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on February 11, 2011, 08:01:25 AM
Hi Stephen,

Quote from: StephenKiel on February 10, 2011, 11:21:54 PM
I then ran some experiments to understand it further.  The set of steps that I ran were:

Wow.  You're already ahead of 99% of the exiftool users.  I'm impressed with your analytical approach.

Quote1) exiftool is the command, example.jpg is the target file, and -geotag is the operator (I will refrain from calling it a “tag” as I am confused about what a “tag” is – more on that in a bit).

Yes.

Quote
2) the -geotag operator writes or overwrites several metadata variable name value pairs.  The variable names it writes are: GPS Version ID, GPS Latitude Ref, GPS Longitude Ref, GPS Altitude Ref, GPS Time Stamp, GPS Date Stamp, GPS Altitude, GPS Date/Time, GPS Latitude, GPS Longitude, GPS Position.

Yes:

"The ExifTool geotagging feature adds GPS tags to images based on data from a GPS track log file. The GPS track log file is loaded, and linear interpolation is used to determine the GPS position at the time of the image, then the following tags are written to the image:

GPSLatitude     GPSLongitude     GPSAltitude     GPSDateStamp
GPSLatitudeRef  GPSLongitudeRef  GPSAltitudeRef  GPSTimeStamp"


Quote3) -geotime does not seem to operate on the metadata directly.

Correct.

Quote4) the -geotag operator without the -geotime modifier set the GPS Date/Time to 2010:09:11 15:11:28Z.  Date/Time Original was set to 2010:09:11 08:11:28.  The GPS Date seems to be affected by the timezone of the computer. (not clear from the documentation what this was going to be)

Yes:

"If a value for Geotime is not given, it is taken from DateTimeOriginal for each image (as if "-Geotime<DateTimeOriginal" had been specified), but the value may be copied from any other date/time tag or set directly from a date/time string.

If the date/time tag does not include a timezone then one may be added (ie. "-Geotime<${CreateDate}-05:00"), otherwise the local system time is assumed."


Quote5) the -geotag operator with the -geotime modifier set all of the GPS variables to what seem to be correct values.

Joy!

Quote
6) From my reading of the web page it seemed like the two commands should produce the same result:
exiftool -geotag track.gpx '-geotime<${DateTimeOriginal}-06:00' example.jpg
exiftool -geosync=-06:00:00 -geotag track.gpx example.jpg


The first command uses DateTimeOriginal with a timezone of -06:00.  The second command uses DateTimeOriginal with your local system timezone then shifts the time further by -06:00.  So the two commands are only equivalent if your local system timezone is UTC.

I agree that this is very confusing.  The -geosync tag is only necessary if the camera clock is not properly synchronized to GPS time (ie. it is a few minutes off, or drifts with time).

Quote1)  I am not sure what a tag is, the web page about geotaging refers to -geotag and -geotime as tags.  When I go to the tag index documentation page and check under a couple of the categories, it looks like that is referring to the metadata variable names.

You already have more of a grasp than most people to be able to answer this question.  If you understand the concept of the Composite tags (tags derived from the values of other tags), then the Geotag tag is a similar concept, but the reverse.  There are many exiftool tags like this which do not represent fixed data in an image.  The Geosync tag is even further out there, and is used only as a modifier for Geotag as you discovered.  I could have coded these as command-line options instead of write-only tags, but this technique would result in a proliferation of command line options and corresponding API functions.  Implementing new features via special "tags" keeps the interface really clean (although I agree it is somewhat confusing).

Quote
8)  I don't see how the portion of the command '-geotime<${DateTimeOriginal}-06:00' gets turned into a time value.  Does exiftool fork itself and use this to compute time?  Is that why it is in single quotes – or what is the purpose of the single quotes?

The syntax '-DSTTAG<SRCTAG' is used to copy the value of one tag to another in the destination image.  An extension allows SRCTAG to be a string containing tag names prefixed by $ symbols.  So this extracts DateTimeOriginal from the image, appends -06:00, and writes this value to the Geotime tag.  This is where the magic happens:  Internally, writing Geotime triggers a set of complex calculations which take the input time value to interpolate in the GPS track specified by the Geotag value, and generate the new values to write for a number of GPS tags.

The single quotes are necessary to keep the shell from interpreting < as a redirection, and $ as a shell variable.  The shell strips the quotes from the command so when exiftool interprets the argument it does not see these.

Quote
9) ${DateTimeOriginal} looks kind of like a shell variable representation of the metadata variable Date/Time Original.  Is there a special list of metadata variables that are represented this way?  If all of them are available do you represent them by removing whitespace and special characters e.g.
Date/Time Original -> DateTimeOriginal
Create Date -> CreateDate
File Modification Date/Time -> FileModificationDateTime
Exif Image Width -> ExifImageWidth

Any tag name may be used.  But you are now falling prey to confusing the descriptions with tag names.  Use the -s option when extracting to see the tag names.  Otherwise the descriptions are printed by default (which may even be in another language if the -lang option is used).

Quote
10)  Is there documentation on operators like -geotag that indicates what additional modifiers (like track file name and time for GPS Time) they expect?

The geotagging tags are explained here (https://exiftool.org/TagNames/Extra.html).  I admit this description is very dry and concise, but it addresses most key features and refers the reader to the Geotagging documentation (https://exiftool.org/geotag.html), which is a bit more descriptive.

------------------

Your questions are well beyond what I would consider for a quick start guide, although they do point out many of the very confusing aspects of exiftool which I'm sure many people wonder about.   Specifically, the implementation details of the geotagging feature are very tricky, and you already understand them at a level which is far beyond what I would expect for most users.

- Phil
Title: Re: ExifTool for Dummies
Post by: StephenKiel on February 11, 2011, 01:19:18 PM
Phil,

Thanks for the kind words, patience, and help!  The more I dig into this, the more I appreciate the dilemma for quick starting folks.  I was hoping that pulling apart the command line they might decompose to kind of a hierarchy like operators that read | write metadata | rename files, and modifiers to alter the behavior of the operators.  Because the exif is kind of vague, and even things like time zone is vague (location and/or savings time) the tool needs a lot of flexibility.

Let me throw out another idea.

It occurs to me that there are a few fairly well defined things that I would want to do with exiftool: adjust local time if the clock camera is wrong, geotag using a shift between local and UTC, copy the information from one metadata variable to another (it seems like there are as many conventions to assign a comment to an image as there are tools to write them, digikam v picasa v microsoft organizer).  It also seems like there might be a lot of overlap between a large percentage of the users in the tasks they want to address.

Do you think that it might be possible / practical to associate a set of pseudo commands for the 20 or 30 most common exiftool tasks?  If the pseudo commands hide some of the syntax, order dependence, and  had a hierarchical structure it might be easy to document, and 90% of the questions might go away.  There will always be a few people that want to do something abstract, but I suspect that most users would be happy to run a command and get back to their pictures.  A command line user interface that hides some of the complexity might do that.  The command line is a desirable alternative to a GUI as it is easy to pipe the history to a README file in order to record what was done (and forgotten 6 months later).

Anyway, I will keep thinking about the quick start manual. Have a good weekend.

Stephen
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on February 11, 2011, 01:59:31 PM
Hi Stephen,

Quote from: StephenKiel on February 11, 2011, 01:19:18 PM
It occurs to me that there are a few fairly well defined things that I would want to do with exiftool: [...]
Do you think that it might be possible / practical to associate a set of pseudo commands for the 20 or 30 most common exiftool tasks?

I don't want to introduce another command syntax, however it would be possible to implement this by providing a set of batch files, and certainly adding a set of organized examples like this to the documentation is a good idea.

- Phil
Title: Re: ExifTool for Dummies
Post by: StephenKiel on February 14, 2011, 02:17:55 AM
Phil,

I can see your point about not wanting to add any more variation to the current command syntax.  I did not really frame the suggestion too well. Your comment about batch might be along similar lines to what I was thinking,   Lt me outline my thoughts and give an example, if you don't think it is practical, that's OK, maybe a quick start document is the right way to go.

I was thinking of a shell that 1) performed command interpretation, 2) was prompting and self documenting, 3) allow modifier arguments in any order, 4) minimize punctuation in options.  I was thinking of something along these lines:

# exifshell
exifshell command interpreter for exiftool v 0.0.1
supports the following command arguments
  about    Display this message
  adjtime  Adjust local time when the picture was shot
  cpmdata  Copies metadata from one field to another
  export   Output selected metadata
  fname    Rename the files using Original Date / Time
  geotag   Geotag the images
  import   Import metadata from file
  ...


# exifshell geotag
Syntax for the exifshell with the geotag command argument is:
exifshell geotag -trackfile {trackfile} -timeshift {[-|+]hh:mm} file
  where {trackfile} is the gps track e.g. current.gpx
  and {hh:mm:ss} is the time difference between local and UCT time
Example:
exifshell geotag -trackfile current.gpx -timeshift -06:00 *.jpg


# exifshell geotag -tagfile my.gpx -timeshift -07:00 *.jpg
Geotagging selected files with my.gpx and -07:00:00 time shift
 
Which executes as:
exiftool -geotag my.gpx '-geotime<${DateTimeOriginal}-07:00' *.jpg

# exifshell geotag -timeshift -06:00 -trackfile my.gpx *.jpg

Should work the same as the previous command.

I think that name value options, prompting from the shell, and eliminating punctuation requirements will actually make the program pretty intuitive to use, and dramatically lower the amount of support that it needs.
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on February 14, 2011, 07:40:24 AM
Hi Stephen,

Interesting idea, I hadn't thought of something like this.  Sounds like a lot of work though, because I fear the capabilities of such an interface could never be complete and I would be forever adding extra features for people who wanted to do something slightly different.  This reminds me of my aborted effort in designing an interactive examples web page.

- Phil
Title: Re: ExifTool for Dummies
Post by: StephenKiel on February 15, 2011, 01:17:45 AM
Phil,

If writing something like an exifshell interface did turn out to be a lot of work it would be kind of a failure, since the reason was to simplify things.  It might be something that could be contained though.  If stated goal was to handle the cases that 90% of the non-advanced users would use then there is a point where you just say no to new features.  If users want to do something that is more exotic there is always the option to just use exiftool directly (advanced users).  If someone wants to write something like GeoSetter or the exiftool GUI that uses exiftool, then the exifshell is not for them.  I suspect that given the option of using a well chosen default (like filename from date / timestamp) or coding their own, most people would choose the default. 

I was thinking that this would be easier than writing a quick start, but you have a better perspective from which to judge.

Stephen
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on February 15, 2011, 07:14:00 AM
Hi Stephen,

Thanks.  I'll let this idea simmer for a while and see if it grows on me.

- Phil
Title: Re: ExifTool for Dummies
Post by: Storhaug on March 09, 2011, 12:39:24 PM
For me, the most helpful best practice for beginners would have been how to set the copyright, and how to license a photo under a Creative Commons license. I am now using these:

Setting copyright without CC license:

COPYRIGHT="Copyright, Firstname Lastname, \$createDate."; \
exiftool -P -overwrite_original_in_place -d %Y \
-Copyright\<"$COPYRIGHT" \
-XMP-dc:Rights\<"$COPYRIGHT" \
-XMP-xmpRights:Marked="True" \
*.jpg


Setting copyright and licensing for Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0):

COPYRIGHT="Copyright, Firstname Lastname, \$createDate. This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA."; \
exiftool -P -overwrite_original_in_place -d %Y \
-Copyright\<"$COPYRIGHT" \
-XMP-dc:Rights\<"$COPYRIGHT" \
-XMP-xmpRights:Marked="True" \
-XMP-cc:License="http://creativecommons.org/licenses/by-sa/3.0/" \
*.jpg


The phrase All Rights Reserved is not required any more. You may read this thread in the Creative Commons forum:
http://forum.creativecommons.org/topic/148 (http://forum.creativecommons.org/topic/148)

I did quite some research about this and don't think that I am finished yet.
Title: Re: ExifTool for Dummies
Post by: Beholder3 on March 10, 2011, 12:02:30 AM
Hi,

coming back to the original question I can also support the view of a dummy user.  ;)

My "feel" on the situation is:
- the documentation is complete but so extensive it's not too attractive for real inexperienced people who don't know where to start. It's more use to pros I think. The best thing to stop a user from using an application is always telling him "read the fucking manual" only once. You can bet he dumps the thing immediately if he's not desperate.
- I personally always look for examples which come close to my situation and then from the example look backwards to the abstract command help to try to figure out what happens.
- Any commands discussed here which do multiple things in one line I experience as counterproductive as they confuse me too much. They are good again for pros and specific optimal solutions but not for understanding. I think its like calculating things in Excel. If you are advanced user you try to achieve the perfect result in a single cell calculation where functions are nested to level 10. But the way I usually approach things first is I add a single calculation per column and do lots of columns first to be able to understand what I do. Then in the final tested version I put it all into one.

Result:
- I'd favor lots of generously explained examples which are structured in a helpful way so I am not confused by the mass of examples. The exewrcise wouldnt be helpful if it's just a huge flat list of examples. I underlined the three key words IMHO.

As a sidenote: Even minor details can be non-intuitive. For example for me as non English native speaker reading "DSTTAG<SRCTAG" at first was anything but intuitive because my eyes didnt really automatically turn the "DSTTAG" into "destination tag". I first justbread a wild bunch of letters.  ;) Seems dumb probably but that's language dependend stuff mixed with abbreviations and missing cases.
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on March 10, 2011, 07:24:53 AM
Quote from: Beholder3 on March 10, 2011, 12:02:30 AM
The best thing to stop a user from using an application is always telling him "read the fucking manual" only once. You can bet he dumps the thing immediately if he's not desperate.

I think I agree (for the average user).  Hence, ExifTool is software for desperate users. :)

Quote
- I personally always look for examples which come close to my situation and then from the example look backwards to the abstract command help to try to figure out what happens.

I tried approaching it from this angle, but the problem is that reading through examples to list all possible common uses of exiftool would take more time than reading the full documentation.  There are just far too many variations.

Quote
- Any commands discussed here which do multiple things in one line I experience as counterproductive as they confuse me too much.

I agree, and this is why most of my examples are simple and do just one thing.  But I have found that MANY people run exiftool multiple times because they do not realize that you can do more than one thing at once.  So in the end, the simple examples may be counterproductive.

Quote
- I'd favor lots of generously explained examples which are structured in a helpful way so I am not confused by the mass of examples.

I started working on this (https://exiftool.org/examples.html), but didn't get too far before I was overcome with the vast number of possibilities.

QuoteAs a sidenote: Even minor details can be non-intuitive. For example for me as non English native speaker reading "DSTTAG<SRCTAG" at first was anything but intuitive because my eyes didnt really automatically turn the "DSTTAG" into "destination tag".

Good point.  I should clarify this.

- Phil
Title: Re: ExifTool for Dummies
Post by: Beholder3 on March 10, 2011, 09:18:08 AM
I guess this thing could end up in a whole philosophical discussion on approaches to online education methodology for grown-ups.

Basically I think to get anywhere you fare best if you define the target audience precisely first. In communications there is no "one size fits all" IMHO.

I see three levels of exiftool skills/experience as one segmentation dimension (newbie/used coupleof times/power user) and then the other as technology-prone (e.g. developer like) or enduser type ("I dont need to understand it , I want it to work"; "Press A for typical install"). I assume you can only satisfy 1 or 2 of the resulting six matrix quadrants with whatever approach. The people in the rest quadrants will likely not be happy.

Not only the tool itself is more than good in my opinion, the only documentation also is way beyond expectation complete and good. Few tools have this. I think it's also part of the incredible posibilities of that piece of software that make it difficult to explain. It easy to document a wooden wheel, it's more complex to document the exact functioning of all clockwork in a swissmechanical watch.

Title: Re: ExifTool for Dummies
Post by: dhackney on July 14, 2011, 07:58:41 PM
Phil,
I've written documentation and supported products I've developed in the past, so I feel your pain on this.

IMO, you are facing one of life's most daunting challenges: describing the fishbowl while residing inside it.

While in the fishbowl, and engineering and building the fishbowl, you are intimately familiar with what it is and how it functions.

However, while in the fishbowl, it is extremely challenging, if not impossible, to describe what the fishbowl looks like, how it fits into the context of other things around it, etc.

I don't think you can change these fundamental challenges. In my experience, it's better to leverage the perspective of those on the outside of the fishbowl than to tilt at the windmills of trying to alter the basic challenge of describing it while being inside it.

In my view, having also been involved with allocating and managing support resources, it is best to apply your time and energy related to community support where everyone can get the most bang for your time and energy buck.

In reading through the documentation and lots and lots and lots of forum posts searching for answers, I see a recurring theme that goes something like this:

Phil: "I've written this a thousand times..."

This is another fundamental challenge that no one, to date, has solved: Forums suck as a resource for knowledge retrieval. They are tremendous at providing a medium of and place for exchange around a topic of interest. They are fantastic as a black-hole sucking domain-specific knowledge in. In short, they are great as a place to put knowledge into, but they are severely challenged when it comes to getting the knowledge back out, especially about a nuanced technical topic.

In that regard, for those on the outside of the fishbowl, it doesn't get much more nuanced than the command line of ExifTool.

But, all is not lost.

I think there are a few strategic and tactical things that you can do to make the energy and time you put into supporting ExifTool more efficient for all involved.

Segment and target.
As Beholder3 noted, it is important to understand who you are trying to communicate to and then form the communication appropriately to that audience. I agree that there are a variety of types of people who seek to utilize the tool and consequently often need help and support in using ExifTool.

ToolRefugees
People who can be served by front-end tools such as ExifToolGUI are the majority of the ExifTool user population. The vast majority of these people never know that ExifTool is the engine under the hood that enables all the metadata goodness in tools such as GeoSetter. As these tools continue to evolve and grow in capability, they can meet more and more of the needs of the general photo / document / etc. metadata community. For support, those users will look first to the tool provider for help and support.

At some point, some of those tool users hit a wall of capability with those tools and need more than the tool can provide. They then do a search on "metadata" and wash up on the shores of ExifTool Island, seeking metadata salvation. We'll call them ToolRefugees.

ToolRefugees' characteristics include:
•   Timeline: immediate
•   Urgency: medium to high
•   Scope: specific to a particular task/tool/workflow
•   Technical ability: low
•   Command line familiarity/comfort: non-existent to very low

Most ToolRefugees who wash up on ExifTool Island are scared away by the forbidding walls of the Command Line, the width and depth of the Moat of Documentation and the arcane language of the local tribe. Consequently, there are almost certainly tens of thousands of people out there who need what ExifTool can give, but are too intimidated by ExifTool Island to even ask for it. Most of them swim back out to sea and are eaten by sharks. Those who don't, die of exhaustion from fruitlessly searching the island for a simple, accomplishable, understandable way to solve their problem.

Journeymen
A second group of ExifTool users are people who use the tool occasionally.  They live the majority of their lives in other lands, but venture through ExifTooland while accomplishing specific tasks or working on specific projects. The skills of the Journeymen are many and varied, but none are experts on ExifTool. When they need a metadata problem solved, they stop by, dive into the Moat of Documentation and wander through the shadows amongst the posts in the Forum Forest, seeking the ray of sunlight that shines upon the Holy Grail: the specific answer to their specific challenge. Most Journeymen will eventually find the answer they seek and then go on their way to other lands. A few months, years or professional eras later, they may return, the next time they have a metadata challenge.

Journeymen characteristics include:
•   Timeline: near to mid term
•   Urgency: medium to high
•   Scope: ranges from specific to system/process
•   Technical ability: medium to very high
•   Command line familiarity/comfort: very high to somewhat, mostly dependent on age and areas of experience

Ninjas
A third group of ExifTool users consists of people who live, breathe and sleep metadata. They are metadata professionals who rely on ExifTool to do their day-to-day work. From the systems perspective, ExifTool is an essential component of their mission critical systems. These people are ExifTool Ninjas. When they interact with the ExifToolCore, it is to confirm, discuss or diagnose arcane aspects of the tool, deep secrets of metadata known only to the High Masters of Metadata or complex implementations of metadata processes.

Ninja characteristics include:
•   Timeline: mid to long term, except in emergencies, bugs and lightning strikes
•   Urgency: medium to high
•   Scope: ranges from deeply arcane specific to enterprise system / business process
•   Technical ability: very high to not-of-this-world savant
•   Command line familiarity/comfort: they order coffee at Starbucks via the command line and know all the switches and flags required to create all 87,000 possible drinks

There are, undoubtedly, scores of other personas among the ExifTool user community, but I think these three capture the majority of the bell curve.

What is the most efficient way to support these three personas?

ToolRefugees need tutorials, how-to guides, 10 easy steps to "hello world" and lots and lots of handholding.

Journeymen need some good documentation with an excellent index, and, most critically, fully verbose examples. Well written and indexed documentation and a set of 10 to 20 examples of solutions, fully documented, with explanations and examples of the primary OS variations, would be 90% to 95% of what the Journeymen would need. Remember, by their very nature, Journeymen generally prefer to be self-sufficient.

Ninjas don't need no stinkin' badges. They don't need no stinkin' much of anything, except, most importantly, access to The One, The Oracle, The Knower Of All Things ExifTool. Ninjas understand ExifTool shorthand. They understand it all. They just need a little insight once in a while.

Think about how the time and energy to support the community is currently being invested and in what form. IMO there is a mismatch between what is most efficient and effective for the personas and what is currently provided and how it is provided.

The core question is, "How can you more efficiently serve the most people the fastest?"

Take the easiest ones first: the Ninjas. The Ninjas are best and most efficiently served by the methods you currently employ:  high frequency, off-the-charts deep interaction via the forum.

The toughest case is the ToolRefugees. They require the most content development and will still require the most handholding because they will never, and I mean never—ever--RTFM.

That leaves the Journeymen. I think they can be very efficiently served with just a little bit of additional content and some additional channels that they themselves will help build.

continued...

[edit: wordsmithing]
Title: Re: ExifTool for Dummies
Post by: dhackney on July 14, 2011, 07:59:34 PM
continued...

Solutions
For instance, create a new, top-level, category on the forum titled: Solutions. Put a sticky post on it that details the format and structure required for the OP for each topic in that category.
•   Solution name:
•   Metadata type/form, e.g. photo, video, PDF, etc.:
•   Solution type, e.g. date/time, filename, etc.:
•   Problem solved:
•   Brief description:
•   Full description:
•   Code / command line:
•   Caveats/limitations:
•   NewbieNotes (specific notes for newbies explaining basic concepts, caveats, etc.):
•   Tags (in the blog post sense, e.g. date/time shift, Nikon, thumbnail rebuild, scans, etc.):

What the Solutions forum category enables is the creation of documented solutions. The solutions are important in and of themselves, but what is most important is that they contain actual, verbose examples of exactly what was created, including full directory paths, actual file names, etc.

It is impossible to express how valuable actual code examples are to the Journeymen persona.

I believe that in short order, the ExifTool community would populate the solutions forum category with documented examples that, along with the documentation, would serve most of the needs of the Journeymen persona. I'm confident a few Ninjas would also throw some solutions in there, if for no other reason than to give the unenlightened something to scratch their heads over.  :)

Verbose Documentation
The next step is to start building a verbose version of the documentation. Before you go into cardiac arrest, this does not need to be complete. What it does need to be is written in a way that pre-supposes nothing in the way of existing knowledge.

There would incalculable value in something as simple as a documented copy operation command line that explains what each element of the command line does, how it does it, in what order it does it and what dependencies and groupings exist. It would be extraordinarily valuable if you then took each element of that sample command line and broke out its primary OS variations.
•   Command line Unix/Mac: '-operator option'
•   Command line Windows: "-operator option"
•   Command line Unix/Mac/Windows: %X
•   Batch file Windows: %%X

How many times have you written those things in forum post responses?

The things you keep repeating are the things that need to be featured at the major topic level. That means a "Unix vs. Mac vs. Windows" major topic level in the FAQ, the documentation, etc.

Currently, the " versus ' issue is mentioned in the FAQ only within (parenthesis). Is it documented? Technically, yes. Is it out there where anybody who doesn't read every. single. word. of the documentation, FAQ, etc. is going to see it? No.

And, yes, I know there are 8 or 9 different shells, and you've probably got somebody running ExifTool on an HP calculator, but concentrate on the 80/20 of your users. The 80 of the 80/20 is what you want to address, first and foremost.

Remember: You can expend every single bit of your energy and time trying to support every single possible exception and you'll end up supporting everyone poorly. Invest your time and energy where it will yield the greatest return for the majority involved.

Something as basic as this would be very helpful:
•   (everything on an ExifTool command line is processed together (except for this) (and that))

(Humans are hard-wired to organize and categorize things they see, hear and experience. The open, free form ExifTool command line is tough for basic human comprehension. Your mind probably subconsciously groups all of those operators and options and parameters. The non-Ninja mind does not do that. Please help the non-Ninjas.)

•   Anything on the command line can be in any order except A must proceed B except when it is paired with D, as in DA

•   There are X basic types of command lines. They take the form of:


In general, from the outside looking in, one thing you struggle with is being overly concerned with communicating all possible uses/exceptions/possibilities of every single command/option/capability of the tool. IMO, that's why you abandoned the ExifTool Command-Line Examples page and why the ExifTools for Dummies project looks so insurmountable.

Try picking up an Excel for Dummies book and leafing through it. If you really wanted to, you could probably launch the space shuttle with Excel and land it with ExifTool. However, one thing you'll notice in the Excel for Dummies book is that there is no discussion of orbital mechanics or how to manage memory allocation for dynamically constructed DLLs written in Sanskrit.

The book will talk a lot about how to add 2 plus 2 to get 4. That's all the information a heck of a lot of people need to know about ExifTool as well. They just need to do the 2+2=4 stuff.

Meanwhile, the ExifTool documentation and a lot of the forum responses include tremendous amounts of orbital mechanics. Are you indeed documenting the ability of ExifTool to land the space shuttle? Technically, yes. Is anybody really able to make use of the bits and pieces of the orbital mechanics story that is spread out over dozens of pages and posts? Not so much.

The thing to keep in mind is that the majority of support needs come from people who are struggling to *initially* understand and implement the product, usually for a limited scope, specific problem. They will solve that problem and then disappear until the next time they have a problem to solve.

Most of those people currently don't understand the overall concepts and context of the tool and the command line syntax. Most of those people copy a command line out of a post and hack around on it in between spending *lots* of time searching for answers until they get it to work or give up.

Give them some conceptual understanding and context first. It will help them swim the Moat of Documentation.

Give them some fully documented, extremely verbosely explained sample code. That will help them translate the local tribe's arcane language.

In addition, many people are visual learners, meaning that text is a very tough way for them to learn. A visual image such as the following can be very helpful in communicating overall concepts and context.


(http://www.hackneys.com/travel/docs/meta-data-graphic.jpg)


A second major struggle that stands out from the outside looking in perspective is elegance.

Earlier in this thread you stated, "But I have found that MANY people run ExifTool multiple times because they do not realize that you can do more than one thing at once.  So in the end, the simple examples may be counterproductive."

Think about that statement for a few moments. Compare it to the example of the Excel spreadsheet that uses a half-dozen or a dozen cells to build toward an answer instead of one, long, deeply-nested formula statement in a single cell. Both accomplish the same goal. One, the single-cell formula, is very elegant and makes efficient use of system resources. The other, the multiple cell solution, was quick and easy to build, easy to de-bug since every step is visible, and, while not system-resource efficient, provided the answer the user needed in exchange for a reasonable amount of user time and energy investment.

You may not mean it or think about it this way, but your distress regarding people running ExifTool many times - versus the elegance and system-resource efficiency of a single ExifTool command or code line that would accomplish the same goal - values system time and energy more than human time and energy. Again, you may not mean it that way or think about it that way, but try viewing the documentation, etc. through that lens for a moment. There's a whole lot of elegance going on there.

You may not mean it or think about it this way, but your statement places priority on processor cycles versus human cycles. I contend that for your users, there is no scarcity of processor cycles versus human time and energy cycles. Especially time.

The farther across the spectrum of users you are from the Ninjas, the more those users just want to Get Stuff Done. If running ExifTool 18 times in a batch file, step-by-easily understood-step, accomplishes the Get Stuff Done goal, then that is better use of a user's time and energy that spending hours to days trying to find the elegant, single-command-line answer in the existing support resources.

Try going anti-elegance on a few of your hair-ball command line examples and break them out into the maximum possible number of batch command lines required to accomplish the same goal. Take a look at the result, especially with a rem comment line for each batch command line, and try to tell me that the multi-line approach would not be more comprehensible, understandable and achievable for a non-Ninja user who just wants to Get Stuff Done.

Ironically, and counter-intuitively, elegance is often the enemy of Get Stuff Done. I guarantee you that the majority of people who are using your wonderful tool are just desperately attempting to Get Stuff Done.

Consequently, I think you'll find that the more you explain things like an Excel sheet that does each step of the solution in discrete cells, the more people will understand, the less they will need further interaction and the more people who can be supported and make use of the tool with your available resources.

And that last bit, the number of people who can make use of the tool with your available resources, is the core of the challenge.

There's no doubt you can individually support a solid core of Ninjas.

A goodly number of Journeymen will put in the effort required to make use of the tool, if for no other reason than professional pride. There is probably a 60-70% yield of all Journeymen who enter ExifTooland who leave with something to show for it. The rest of them are lost, their problems unsolved, solutions un-provided.

As things currently stand, the ToolRefugees have very little hope of leaving ExifTool Island alive. Things there are just too arcane, the challenges too daunting and the promise of a reward too distant to justify the learning curve.

I believe you can greatly aid the Journeymen by helping them to help themselves by building a Solutions category on the forum. In addition, some conceptual, contextual content would be of tremendous  help to Journeymen who are freshly arriving or returning after a long absence. A limited set, perhaps no more than 5 to 10 examples, of common command lines with verbose documentation with fully populated examples, including specific variations for the major OS platforms, would answer the vast majority of questions for new arrivals.

And, I believe the ToolRefugees are not without hope. However, instead of trying to build the entire range of content they need, I propose you leverage the tools you and the community both use now: the forum. I suggest that you encourage experienced users to add NewbieNotes to posts whenever possible.

If regular posters got into the habit of including a sentence or two that explained the basics and some of the nuances of the tool in the everyday flow of questions, posts and responses, and included a NewbieNote: tag in each one, you could dramatically increase the number of people who were successfully using the tool.
For example:
NewbieNote: When you see the word DIR in the samples in the documentation and on the forum, you need to replace DIR with your absolute, specific directory path, such as c:\photos\work or a relative directory path such as ..\ or . as used in the command line in this post.

If you use a consistent tag, such as NewbieNote, a simple forum search for that tag will return an entry-level tutorial to ExifTool.

In this way, the ToolRefugees solution builds itself. It also provides a fantastic resource for new or returning Journeymen.

The reward for the community is that you have more time to concentrate on providing the one-on-one support for people who are past the initial learning curve who can make the most use of it. Everyone gets more bang for your time and energy buck

Regarding the OP challenge, ExifTool for Dummies, I think a few months of normal use and traffic in the forum around a Solutions category and a NewbieNote tag, in addition to a little bit of conceptual documentation and a few very verbosely annotated code examples would yield you something you could easily combine into a viable "ExifTool for Dummies." I don't think it would be a big jump from there to a real ebook or self-published or commercial print title, if you chose to go that route.

And, just think, a commercial blockbuster "ExifTool for Dummies" book could fund the purchase and operation of the ExifTool Island Ninja Resort.   ;D

Doug

[edit: wordsmithing]
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on July 15, 2011, 08:13:58 AM
Hi Doug,

Thank you very much for this analysis and your suggestions.  Your comments are very insightful, and your classification of ExifTool users is pretty-well right on the money.  The distribution of these users is pyramidal, with maybe a 100:10:1 distribution for ToolRefugees:Journeymen:Ninjas.  As you also point out, most (90%?) of what the ToolRefugees need is help with all things non-exiftool (command-line syntax, metadata concepts, etc).

Quote from: dhackney on July 14, 2011, 07:59:34 PM
Invest your time and energy where it will yield the greatest return for the majority involved.

If I spend time/effort in proportion to what is needed, simple math shows that I should spend no more than 19% of my time documenting ExifTool.  The bulk of my effort should be spent documenting the other concepts necessary to make use of ExifTool.  Fair enough.  I had already come to this (rather depressing) realization.

Your suggestion of enhancing the forum to create a channel for ExifTool users to generate the documentation themselves is a wonderful concept.  While I'm sure it would provide a better solution than currently exists, it still wouldn't satisfy the majority of ExifTool wannabe's.  But you also point out that perfection in documentation is not achievable, and since something is better than nothing I will seriously consider your suggestions about the forum changes.  However, people are individuals, and my feeling is that even with a template this idea will fail without serious comprehensive editing/indexing/additions by an all-seeing overlord (yay, more work for me!).

Re your comments about "I have found that MANY people run ExifTool multiple times":  When I said this I had in mind people who create batch files and/or scripts to perform certain tasks.  We are already talking a class above ToolRefugees here (but not necessarily to the point of Journeymen).  From this class of users, I often get the comment that "ExifTool is too slow, how do I speed it up?".  Hence my dilemma.  But I don't think this is a serious problem in the grand scheme of things.

Well those are my initial impressions.  I'll digest this for a while then read it again and think more about it later.  You make a number of good points and I appreciate the time and effort you put into thinking about this.

Thanks!!

- Phil
Title: Re: ExifTool for Dummies
Post by: dhackney on July 15, 2011, 09:12:07 AM
Phil,

You are so very welcome. It was the absolute least I could do to thank you for all that you have done and continue to do.

RE: 100:10:1 and your investment of time
I contend that your time and energies are best invested in:

For the ToolRefugees:

For the Journeymen:
If you want to remove 90% of your support workload, go heads-down for a while and build a debug/trace mode into the command line product. Based on the forum, most of the support interaction you do is command line related. As you've alluded to in a few forum replies, the command line is getting to the point of incomprehensibility, even for you and the Ninjas.

I believe that, based on their self-sufficient nature, the journeymen would much prefer to debug/trace things on their own to figure out what the heck is going on. The only thing anybody can do right now is hack around until it works or they give up or they tap into your time and energy.

I suggest a trace/debug mode that:
First, lists how the tool is interpreting the command line structure, e.g. "source = X, target = Y, valid tags = a, b, c, d, valid options = 1, 2, 3, option and parameter pairs = AB, CD, EF, execution will run against these files/file types: abcef.123, etc.; "Press any key to continue"

Second, shows how each command, option and parameter is being applied against the objects involved, e.g. source, tags, target, etc.

I strongly believe that 5 to 10 fully verbosely documented examples of fully complete code samples including verbose directory paths, file names, and OS variations, plus this trace/debug mode would make the Journeymen persona cohort 99% self-supporting.

The goal is to code yourself out of a command line tech support job.  :D

Wouldn't life be more fun if you could spend more time with the Ninjas and less time repeating, for kazillionth time, that you need " in Windows and ' in Unix/Mac?

Along those lines, think about leveraging available resources to bring some of these needed deliverables to the table.

You need fully indexed documentation. Why not have a summer intern or a grad student do that?

From the career management perspective, any project associated with ExifTool would look great on a CV.

There is lots of time and energy available among undergrads for the indexing level work and excellent capability available at the grad student level for putting together Welcome Wagon basket kits on "10 Easy Steps to ExifTool Hello World."

If your institution's policies prevent you from utilizing enrolled resources, there is no shortage of undergrads and grad students out here who would love to have ExifTool on their CVs.

I think the user community would be willing to take some of this on as well.

What you have built has saved many, many people's bacon. A good portion of those people would love a way to express their gratitude. Writing a forum post that explains the basics of a solution they provided or explains how to create a simple batch file, etc., is a great way to give back.

Overall, I think it is critical that you find some way to build yourself out of the support role that you are currently in.

Over time, you've built an incredible resource that is solving the problems of, literally, millions of users.

The "rate limiting factor," as they say in biology, of your ecosystem is currently: you.

You've also built a system that puts you on the critical path to success for the majority of people who attempt to *initially* use the tool.

The good news of the current model is that you'll always have something to do every morning when you wake up: support the newbies and the returning Journeymen.

The bad news of the current model is that there are 6.3 billion people on the planet. The majority of those people have phones that include cameras. Soon, the majority of those people will have smartphones.

Immutable law of the universe: People plus digital photos = metadata problems.

Soon there will be, literally, billions of humans with metadata problems.

Currently, there is exactly one (1) solution on the planet for anything but the very simple first layer of those problems: ExifTool.

Your challenge: you can't clone yourself.

Soon, very soon, millions of people are going to be howling for a solution to "my iPhone ate my photos" or "my Android phone lost all of my people tags" or some variation thereof.

A lot of them will end up banging on your door. And they won't--ever--RTFM.

You can't hand-hold that many people.

So, I advocate that you invest the majority of your time now into building yourself out of the ToolRefugee, ExifTool Wannabe and new or returning Journeymen direct interaction support business.

I think you stand a chance of surviving the approaching Tsunami at the Ninja interaction level, but I cannot envision any possible way that you can scale the support model you currently have in place for the command line tool.

And, full disclosure (should have included this in my first post): Queen's was a client of mine and I have friends whose children currently attend. As such, I have a vested interest in seeing ExifTool continue as a world-class example of what Queen's University's people and programs can produce. However, I do not know Phil or anyone else who is directly involved with the ExifTool project personally, or have any professional interest or involvement in the project. I'm just another person that ExifTool has saved from MetaData Hades.

Doug


[edit: wordsmithing]
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on July 15, 2011, 10:15:30 AM
Hi Doug,

Your idea of a debug/trace mode already exists at various levels, but probably not in the form you wanted.  The -v options provide additional details about metadata when reading, and additional details about what ExifTool is thinking when writing, and the -htmlDump option is an invaluable tool for debugging EXIF structure.  But exiftool is totally missing is a command-line debug mode as you suggested.  Simply spitting back the options as parsed by exiftool sounds interesting, but I'm not sure it would be as useful as you imagine.

I certainly agree that fully-indexed documentation would be wonderful, and is something I plan to work towards.  You also have other very useful suggestions about documentation that I will be acting on.

In the interests of full-disclosure (a trend you have so kindly initiated), I think I should say a few words myself:

ExifTool is only very loosely related to my work here at Queen's, and as such I can't expect help from any of the students here.

In reality, I think that ExifTool is and always will be a niche tool, used by relatively few people.  In fact, I have positioned it this way purposely by sticking to a command-line interface and using a relatively obscure language for the code.  I did this specifically so I wouldn't get overwhelmed with demands on my time.  If I were looking to make a profit, things would be different.  I enjoy helping users on a personal level and helping a few people per day is well within my capabilities, but I don't want much more than that.

In my view, a major benefit of my work with ExifTool is as a developer's resource.  I have gone out of my way to provide other developers with the information necessary to create their own tools.  Although this effort is largely unrewarded, I feel it is necessary that someone assumes this role (as a central repository of knowledge about metadata structures, especially when it comes to proprietary maker note information).  Due to this, if metadata ever becomes a mainstream necessity as you suggest, other tools will appear to fill the void and ExifTool will continue to cater to its niche cliental.

- Phil
Title: Re: ExifTool for Dummies
Post by: dhackney on July 15, 2011, 12:02:47 PM
Phil,

RE: debug mode
Understood. Agreed on the value of some type of command line debug/trace mode. I believe it would greatly reduce the amount of Journeymen support and free you up to concentrate on supporting the Ninjas (the development community).

RE: positioning
Understood and appreciated. Again, kudos for your work and efforts that you put into this.

RE: Queen's and students
There are plenty of undergrads and grad students out here that would *love* to have ExifTool on their CVs. I encourage you to leverage those resources.

Doug
Title: Sample "Welcome to ExifTool" sticky post
Post by: dhackney on July 15, 2011, 12:14:33 PM
Phil,

I didn't want to start another thread on this so put it here. Thought you could move it to a new thread if you wanted/needed to solicit further input.

Goal: manage the expectations of new arrivals and position them for success with ExifTool

MS Word file attached.

I lost the embedded links when I pasted into the editor, but they are in the Word file.

Doug

---------------------------------------------------------------------------------------------------

Welcome to ExifTool!

ExifTool is the world's leading utility to manage, fix and manipulate photo, video and PDF document metadata. ExifTool is used by millions of people every day to solve metadata problems.

ExifTool can help you:
•   Save broken digital photos
•   Correct dates and times on digital photos
•   Fix missing information on digital photos
•   Copy, insert and manage keywords/tags
•   Rename digital photo files based on any metadata attribute, e.g. date, photographer, location, etc.
•   Create advanced metadata workflows
•   Build metadata tools and applications

What ExifTool Costs
ExifTool is an open source software project, so the cost is zero.

How You Get Help
ExifTool is supported by its development team and by the worldwide ExifTool community.


Solving Problems with ExifTool
If you found ExifTool, you probably got here because you've got a problem with your digital photos.

At this point, you may be frustrated and even desperate for a solution that will fix or save your photos.

The first step is to immediately back up your photo files onto another disk drive or into another directory/folder so that anything you attempt to do can be reversed by restoring the original photos. You can use Windows Explorer or Finder to back up your photo files.

Since ExifTool can require intermediate to advanced computer skills, if you are a regular computer user, the best next step is to try and solve your problem with one of the many point-and-click digital photo tools that are available prior to going up the learning curve for ExifTool.

If you need to shift the date/time of photos because you forgot to set or adjust your camera's clock, add a photo caption, geolocate your photos, view and/or edit the metadata embedded in your photos or other basic tasks then one of the point-and-click tools is a great choice.

Some good point-and-click photo metadata tools include:

Windows
•   ExifTool GUI for Windows: GUI for viewing meta information with some editing features
•   Exif Stats Utility: Analyzes images to tabulate apertures, exposure times, etc
•   Auto ISO Tool: GUI front-end for ExifTool to patch Canon ISO information
•   ExifAuto: GUI front-end for ExifTool to perform simple operations
•   GeoSetter: Utility for showing and changing geo data of image files
•   ExifMixer: GUI extension for the exiftool command-line interface
•   ExifDropper: Graphical front-end for ExifTool with drag-and-drop
•   GPStamper Geotagger: A simple Windows GUI front end for geotagging images
•   AvPicFaceXmpTagger: Write Picasa 3.5 face recognition information as XMP to your images
•   FileTagSleuth: MP3, ID3 and EXIF viewer
•   Exif Copier: Copy Exif data between sets of multiple images
•   ExifyMe: Restore Exif metadata from an original image
•   PhotoMove: Automatically move photos to directories or folders based on Exif date taken
•   TinyExif: Simple Windows GUI for ExifTool written in Python using the Qt4 toolkit

Mac OS X
•   Download a stand-alone droplet to extract preview images from RAW files (thanks to Brett Gross)
•   Download three droplets to extract information [exiftool must be installed] (thanks to Rob Lewis)
•   Tierprogramm: Droplet to perform some basic operations
•   MacMetaMod: Droplet for adding Keywords to images
•   GPSPhotoLinker: Geotagging on the Mac
•   PhotoGPSEditor and PhotoInfoEditor: Geocoding utilities
•   MetaDataMover: GUI-based automator utility for moving/renaming images
•   CS1ToCR2: Utility that uses Sony GPS-CS1 log files to add GPS information to CR2 images
•   SetEXIFData: Utility to set EXIF data
•   Geotagger: Droplet for inserting GPS coordinates in your photos
•   Raw Photo Processor: Raw converter for Mac OS X
•   GraphicConverter: Full-featured image editor
•   GeoTag: Geotagging application for iPhone and OS X
•   ImageFuser: Fuses multiple exposures of a scene into one image with improved detail/exposure
•   GeoNamesTagger: Docklet to easily update image metadata with location specific information

Multi-Platform
•   ImageIngester: Windows and Mac OS X image workflow automator
•   gpsPhoto: Geotag your images from a GPS (GPX) track log
•   renrot: Perl utility to perform various processing tasks on images
•   Proxel EXIF Tool: Photoshop plugin based on ExifTool
•   GPicSync: Windows/Linux utility to geocode photos from a GPX track log and create KML files
•   Jeffrey's Exif Viewer: Web utility to view meta information in online images
•   Jeffrey's Geoencoding Plugin for Lightroom: Geoencode your photos from within Lightroom
•   FlickFleck: Tool to transfer images from memory card, rotate, rename, and organize by date
•   gpx2exif: Python script to geocode photos and produce KML files from a GPS track log
•   Geotag: Open source Java-based geotagging application
•   PhotoGrok: Java-based GUI front-end for ExifTool to display images organized by any EXIF tag
•   XnView: View and convert graphic files
•   Mapivi: Open-source and cross-platform picture manager
•   ResourceSpace: Open source digital asset management system

Linux
•   rawimage: A kfile plugin and thumbnail image handler for RAW formats
•   Sagittarius: Linux XMP metadata editor
•   Photo related scripts: Includes EXIFInfo script to provide statistics from EXIF data
•   Fotoxx: Open source Linux program for photo editing and collection management
•   Hugin: Panorama photo stitcher



What You Need to Know to Use ExifTool

If you've tried those tools and can't solve your problem, then it is very likely that ExifTool can.

However, as mentioned above, ExifTool can require intermediate to advanced computer skills. The level of skill required depends on the problem you are trying to solve.

Things you will need to know about to utilize ExifTool include:
•   Command line terms, commands, actions, keystrokes, etc.
•   Navigating around your disk drive(s) via the command line
•   ExifTool command line syntax

Additional advanced capabilities are available with ExifTool if you know:
•   How to create and edit an ExifTool config file
•   Batch or scripting commands and syntax for your computer operating system
•   Batch or scripting variable management for your computer operating system
•   The Perl programming language


Existing Solutions Built with ExifTool

The ExifTool community has developed numerous solutions to common digital photo problems. Many of those solutions can be found on the ExifTool forum here: https://exiftool.org/forum/index.php

Please note, however, that solutions mentioned in the forum may not be well documented and may assume an intermediate to advanced level of computer operating system and programming language capability.


Known Limitations
In order save you from spending a lot of time here and eventually hitting a wall with ExifTool's capabilities, here's what ExifTool cannot do:
-   Change the digital photo file create date
-   Make logic (if/then) decisions based on operating system (OS) level file attributes such as file extension case (upper or lower case)
-   * list more known limitations *

Other known limitations of ExifTool include:
-   * list other known limitations *

Some capabilities of ExifTool require the ability to create and manage scripts.

Things that ExifTool can do that require scripting include:
-   * list known capabilities or categories of capabilities that require scripting *

Advanced capabilities of ExifTool require the ability to develop applications and leverage the ExifTool API.

Things that ExifTool can do that require the API include:
-   * list known capabilities or categories of capabilities that require the API *


If your problem is not excluded by a known limitation of ExifTool then the solution to your metadata problem probably lies here.


How To Succeed With ExifTool

ExifTool is a very powerful utility. With that power comes complexity.

If you are like most people, you want to solve your problem as quickly and easily as possible.

In order to reach that goal you need to have the minimum skills and information required to use ExifTool to solve your problem.

Although there is extensive documentation and a rich library of forum posts regarding ExifTool and its capabilities, there is currently not a lot of step-by-step tutorial information available. This is a gap that the ExifTool community is working to fill, and hopefully there will be a library of tutorials available soon.

In the meantime, there are steps you can take to shorten the time it will take to solve your problem.

Because most people interact with ExifTool via the command line interface, the first thing you need to know about is the command line on your computer operating system. Do some searches and get yourself up to speed on how to initiate a command line session, the basic commands and, especially, how to navigate around your disk drives by the command line.

In particular, you'll need to know how to:
•   Change directories
•   Execute a command
•   Recall past commands
•   Edit the command line
•   Copy and paste on the command line

You may be able to solve your problem with a single ExifTool command line statement containing all required ExifTool commands, options, parameters, etc.

That single command line can get very long, very confusing and very difficult to manage.

One way to make that command line statement less obtuse is to place some or all of the elements into a separate file that contains ExifTool commands and parameters. That file is called an ExifTool arguments file, and that is something you will want to know about if you have a complex problem. You can learn about the arguments file by searching for -@ ARGFILE on the documentation page here: https://exiftool.org/exiftool_pod.html

The next level of capability with ExifTool involves script or batch on your computer operating system. A script or batch allows you to perform multiple actions with ExifTool, as well as a wide variety of operating system level tasks. Again, do some searches and read some tutorials on the basics of batch/scripting on your computer. At a minimum, you will need to know how to create, edit and execute a batch or script.

In addition, you will want to know how to:
•   Use special script or batch syntax required by your operating system
•   Display messages on the computer monitor
•   Pause the batch or script and wait for user input

Additional script/batch capabilities that will be very useful include:
•   Creating and managing variables
•   Creating and populating text files with the log of your job
•   Creating and managing menu prompts and inputs

Lastly, it is very important to know the unique ExifTool requirements for your computer operating system. Almost all of these unique requirements are related to your operating system's shell and piping requirements. Almost all of these unique requirements involve particular formatting requirements for commands and parameters.

Some widely encountered unique requirements include:

Windows:
-   Batch files require %% instead of a single % on the command line
-   Double quotes " are required versus single quote ' used on Unix/Mac
-   * add additional common known Windows requirements *

Unix/Mac:
-   Single quote ' is required versus double quotes " used on Windows
-   * add additional common known Unix/Mac requirements *


In summary, success with ExifTool requires the following prerequisite knowledge:
•   Command line commands, syntax, navigation and editing
•   ExifTool arguments file structure and use
•   Script / batch syntax, structure, variables and input / output commands
•   Unique ExifTool requirements for your operating system


Once you equip yourself with the prerequisite skills and knowledge, you can solve almost any metadata problem with ExifTool.

Please ensure you know the prerequisites before attempting to solve your problem with ExifTool.

Diving right into the documentation is an easy way to be overwhelmed and intimidated by the deep complexity and capability of the tool.

It really is possible to easily solve your problem with ExifTool, but if you attempt to solve your problem by skimming the documentation and/or by hacking around with a sample command line you copied from the forum without the prerequisite knowledge, you are setting yourself up for failure and frustration.

Instead, set yourself up for success by obtaining the prerequisite knowledge first. Success can and will often quickly follow.


Additional Steps to Success with ExifTool:

Search the ExifTool Forum
Many problems have already been solved with ExifTool, and you can find those existing solutions by searching for terms related to your problem on the forum here:  https://exiftool.org/forum/index.php

Note that the forum search syntax uses the dash "-" character as an "exclude from this search" parameter. If you want to search for an ExifTool command or parameter that leads with the dash "-" character, you'll need to enclose the term in double quotes, such as "-tags".

Search the Web
Many people have documented their solutions to metadata problems using ExifTool in blogs, web pages and other forums.

Again, those posts and pages may assume intermediate to advanced knowledge of computer operating systems and programming languages.

Post a question on the ExifTool Forum
The ExifTool development team and the user community provide free support on the ExifTool forum here: https://exiftool.org/forum/index.php

Before posting a question, please ensure that you have equipped yourself with the prerequisites for success listed above and that you have made an honest, earnest effort to discover the answer in the available documentation and forum posts.

When you post a question, please ensure the post title is specific and descriptive of your issue. A good forum post title is "Unable to copy xmp CreateDate tag to tiff file on Mac." A poor forum post title is "can't get ExifTool to work."

When you post a question, please include:
•   Problem: the metadata problem you are trying to solve
•   Operating System (OS): the computer operating system you are using
•   ExifTool version: the version of ExifTool  you are using (obtained by the command line: exiftool –ver)
•   Issue: The specific issue you are having with ExifTool. Please be very verbose and include copies of all error messages, directory listings, file types, etc. that are involved with your challenge.

You can generate a listing of what ExifTool is doing when it executes by including the –v flag in the command line. The levels of detail vary from –v0 to –v5.

You can pipe that detailed output into a text file by including a –w flag or using the operating system's shell, such as a > parameter in windows.

An example command line to capture the detail in a file on the Windows operating system is:
-exiftool –listg1 sample.jpg –a –v2>exiftool-output.txt

That command will create and populate a text file named exiftool-output.txt that can be opened with Notepad.

You can attach files to forum posts to help document your challenge.

Please be patient with forum posts and remember that everyone who is helping you is doing so for free, on their own time, for no reward other than the satisfaction of helping a fellow ExifTool user. Respect and appreciation are in order.

Please help keep the ExifTool forum a respectful and positive community.


Support, Documentation and FAQ

ExifTool support is provided via the ExifTool forum here: https://exiftool.org/forum/index.php

ExifTool is extensively documented and includes an FAQ.

The basic documentation includes:
•   ExifTool FAQ
•   exiftool Application Documentation
•   Supported File Types
•   System Requirements
•   Example Output
•   Tag Names Explained

Advanced documentation includes:
•   ExifTool Tag Names
•   Working with Metadata Sidecar Files
•   Sample ExifTool Configuration File (user-defined tags)
•   Image::ExifTool API Documentation
•   "Under the Hood" of ExifTool
•   JPEG Image Samples (and Table of Makernote Types)
•   Canon RAW (CRW) File Format Specification
•   MIE 1.1 File Format Specification (pdf)

General metadata information includes:
•   Problems with current Metadata Standards
•   Comments on the Subject of Writing Meta Information


Title: Re: ExifTool for Dummies
Post by: Phil Harvey on July 15, 2011, 12:43:34 PM
Hi Doug,

Re your reply post, one minor point:  I make a distinction between the Ninjas (power users who actually run the ExifTool code or incorporate ExifTool into their projects or applications) and the developers I mentioned (people who aren't interested in running ExifTool, but use the resources I supply to build their own metadata tools -- ie. Exiv2).

Re your "Welcome to ExifTool" post:

Wow, thanks for the effort.  I think this is a great idea, but my impression is that your document wades into the deep end far too quickly for ToolRefugees.  If I were a ToolRefugee this document would likely scare me away before I went any further.  I wouldn't mention scripting and/or config file type stuff at all, unless you put it into an advanced chapter.  Also, I would try to demonstrate as early as possible just how easy it is to use ExifTool, and get more specific with command-line examples early in the text, with hyperlinks and balloons for people to get more help with things that may confuse them.   These changes would boil down making this more of an "ExifTool Quickstart" document, more than the introduction you had in mind.

And one more minor point:  ExifTool can make decisions based on the case of the source file extension.  What you wanted to do was to make decisions based on the case of the extension of some other file.  (But I just thought of a trick that would allow this also -- I'll post in the other thread.)

- Phil
Title: Re: ExifTool for Dummies
Post by: dhackney on July 15, 2011, 03:01:28 PM
Phil,

RE: devs vs. Ninjas
Understood. My comment should have read (and the development community).

RE: extension case
You've exposed the soft underbelly of my ExifTool status. I only know as much about what ExifTool can do as I need to get my problem(s) solved.  :)

RE: welcome to ExifTool
From the communications standpoint, a welcome/expectation-management document is very different from a quick start guide.

I perceive your greatest challenge to be high levels of support interaction for people who are new to the tool. The welcome document can help mitigate some of that by informing people up front what it takes to make use of the tool. As you've said yourself, you designed it to be an advanced tool for a niche audience. The ToolRefugees, by definition, are a mass audience. You really can't have it both ways, which is why I agree with your assessment that if metadata turns into a market of billions scale problem, then a more accessable solution will arise. In the meantime, however, ExifTool isn't going to get any more approachable or accessible than it is, at least in the near term.

ExifTool is like a rebreather for diving. It's highly advanced, has a learning curve, and can only be safely and successfully used by those who are properly equipped, trained and have the prerequisite knowledge and experience.

Right now, you've got lots of people showing up to the party without so much as a bathing suit, much less the skills and experience to stay alive on an extended dive.

Just like scuba diving with a rebreather, you need to prepare yourself to be successful with ExifTool.

You, kind sir, are the designer, engineer and builder of the rebreather. Yes, to you it is easy to use ExifTool.

For the rest of us out here, outside the fishbowl, it is, ... I'm trying to find the right phrase here ..., not so easy.  ;)


Based on many years of consulting and management experience with a wide variety of software companies, from the communications and customer (user) management perspective, IMO, you are a lot better off to manage people's expectations about what they need to be successful seperately from a "Quick Start" document. They are two different pieces of communications designed and produced to accomplish two different, but complimentary, goals.

People, especially ToolRefugees who have never done anything in their lives but point and click, are not going to go from ground zero to achieving success with ExifTool in a couple of paragraphs in a welcome document, no matter how many code examples you provide.

Instead, prepare a seperate "Quick Start Guide" document that walks people through a few simple command lines.

That's the document for the conceptual / contextual information such as:
•   (everything on an ExifTool command line is processed together (except for this) (and that))

•   Anything on the command line can be in any order except A must proceed B except when it is paired with D, as in DA

•   There are X basic types of command lines. They take the form of:
     1.(source operator)
     2.(source operator target)
     3.(Source (operator (optionA paramter1) (optionB parameter2)) ((format) target))
     4. etc.


That's the document for all those exceedinly verbosely documented and attributed sections that I suggested earlier. That's the document where, via a few step-by-easily understood-step, heavily documented code examples, you can launch a fully prepared ToolRefugee toward success and give the Journeymen what they need most: fully documented and referenced code samples.

I am not qualified to write the "quick start" guide or I'd take a pass at it.

I'm like everybody else. I just find a command line that I can hack around on and spend a lot of time searching for answers until I either make it work or give up.

The "Welcome to ExifTool" document can help ToolRefugees and people like me confirm or deny we're ready for the ExifTool journey.

The "Quick Start Guide" would be a godsend to people like me who wander back in here every time we've got a problem to solve and need to re-learn all of the ExifTool stuff we forgot in the intervening months/years/professional eras.

Doug





Title: Re: ExifTool for Dummies
Post by: dhackney on July 16, 2011, 07:40:47 AM
Also, I keep forgetting to include this:

It would be a great thing for people who read left-to-right languages if you could always have the data flow left to right.

Meaning, when you give examples of source to target, always have the data flow left to right.

It makes it more challenging for left-to-right language reading people to follow examples when some flow -targettag<sourcetag and others flow -sourcetag>targettag.

For left-to-right language reading audiences, such as English, German, etc., sourcetag>targettag is much easier to follow.
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on July 16, 2011, 07:50:10 AM
Hi Doug,

I hear what you are saying about a Welcome document, but I also heard what you said about ToolRefugees not reading documentation, so requiring them to wade through an extra level of documentation is worrisome to me.

Quote from: dhackney on July 15, 2011, 03:01:28 PM
People [...] are not going to go from ground zero to achieving success with ExifTool in a couple of paragraphs in a welcome document [...]

Ground zero --> download "exiftool-##.zip" --> unpack "exiftool(-k).exe" --> drag-and-drop image --> success!

Easy.  This is what most people want to do -- simply extract metadata from an image.  Many other simple tasks can also be accomplished with drag-and-drop by adding options to the "exiftool(-k).exe" file name.

For you, I agree that ExifTool is more complicated.  But that is because the task you wanted to achieve was much more complex.

Quote from: dhackney on July 16, 2011, 07:40:47 AM
It makes it more challenging for left-to-right language reading people to follow examples when some flow -targettag<sourcetag and others flow -sourcetag>targettag.

I agree, but if I would standardize on a single direction it would have to be right-to-left because things like "-dsttag<$srctag1 $srctag2" can not be done left-to-right.  But I think that right-to-left actually makes more sense from a programming point of view, when you consider expressions like -tag=value.

- Phil
Title: Re: ExifTool for Dummies
Post by: dhackney on July 16, 2011, 09:59:18 AM
Phil,

You make excellent points here.

RE: easy
I think we both share the view that for the ToolRefugee type of user the "easy" tasks, such as extract/read/view metadata from an image, is best done in a tool such as ExifTool GUI.

As the metadata point-and-click tools continue to grow in capability, they can take on more and more tasks of higher levels of complexity all within a point-and-click environment. 

My take on the ToolRefugee persona is that they end up staring down ExifTool only when they hit the limits of the capabilities of the point-and-click tools.

BTW, that was the reason that I put the list of point-and-click tools at the head of the "Welcome to ExifTool" draft. I wanted the ToolRefugee persona to first make sure they had fully exhausted all possible solutions within the environment they know best: point-and-click.

When a true ToolRefugee gets to ExifTool, they are, by definition, a refugee from a class of tool that cannot meet their needs.

In my view, that's where they need to know how to be a success with ExifTool, what the prerequisites for success are, etc. Once they meet those prerequisites, then they can leverage a Quick Start Guide to rapidly get up to speed and accomplish goals.

Like the ToolRefugees, I use the metadata capbility in my workflow and in the point-and-click metadata tools for whatever I possibly can before I use ExifTool. They are just quicker and easier to use on an ad hoc basis. If you don't use ExifTool all the time, there's no possible way to remember all the flags / options / parameters / etc. required to do what you want.

I think that type of utilization is typical of all personas except the Ninjas and the application developers.


RE: read
Regarding what they will read or not read, in my experience, people will read things that they believe will help them quickly reach their goals and achieve success.

I think the Welcome document and the Quick Start document both fall into that category. Typically, the full suite of documentation does not.


Doug

Title: Re: ExifTool for Dummies
Post by: Phil Harvey on July 17, 2011, 06:51:43 AM
Fair enough.  It may be that there is a simple Welcome document that would make us both happy.  My main concern is that we don't scare people away if they just want to do something simple.

I agree that ExifToolGUI should be used for simple tasks in Windows, but ground zero in Mac/Linux land already belongs to the ToolRefugee because there are no similar general tools for these systems (and simple drag-and-drop doesn't work either).

- Phil
Title: Re: ExifTool for Dummies
Post by: dhackney on July 17, 2011, 09:53:10 AM
Phil,

RE: scare away
That's probably more of a self-managing filter than you may realize. It will be a relationship between pain and cost: pain they are in with the metadata problem they have versus their perceived cost of finding a solution, either one of the exisitng GUI tools or going up the learning curve on ExifTool.

The Quick Start Guide is a perfect opportunity to lower the perceived barrier to entry for how to Get Stuff Done with the tool. Some screen shots of drag & drop in action would go a long way in that regard.

For the command line, breaking down a sample command line in the Quick Start could do the same. See attached for something that would be a huge help. If you provided 2 to 10 breakdowns like that, in a series that grew progressively more complex, I think you'd reduce support requirements by 60% and speed up the learning curve by about 10x.

edit: Note that in my haste I neglected to document the "." character in the sample command line, which sets the target directory.


RE: no similar general tools

I've been hearing from my friends on the Mac side since I posted the utilities yesterday. In a former lifetime I wrote code for that platform (and enjoyed it), but don't currently use it.

I am surprised and disheartened to learn there are no point-and-click options for them there.

I doubt many of my friends with metadata challenges on Mac have ever even seen a command line before.

IMO, there's an opportunity in that unmet need for somebody to write an ExifToolGUI type front-end. What are you doing in your spare time?   ;)

Doug

[edit: point out mistake in attached samples]
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on July 18, 2011, 07:55:25 AM
Hi Doug,

Thanks for the example command-line breakdown.  I think this is a good idea.  The major thing that would change your "this must follow XXX and preceed YYY".  For most options, order is unimportant.  Of course, additional arguments for an option must immediately follow the option (ie. -tagsFromFile FILE), and it is useful to mention that, but options like -r for example may be placed anywhere on the command line (except between an option and its arguments as mentioned).

In fact, exiftool is more flexible about order of arguments than most other Unix-type command-line utilities.  With most other utilities, the target file name(s) must come after the options.  With exiftool, this doesn't matter.

- Phil
Title: Re: ExifTool for Dummies
Post by: dhackney on July 19, 2011, 11:21:53 AM
Quote from: Phil Harvey on July 18, 2011, 07:55:25 AM
For most options, order is unimportant. 

...

In fact, exiftool is more flexible about order of arguments than most other Unix-type command-line utilities.  With most other utilities, the target file name(s) must come after the options.  With exiftool, this doesn't matter.

Phil,

There's a great book that illuminates some counterintuitive aspects of choice: The Paradox of Choice by Barry Schwartz http://www.amazon.com/Paradox-Choice-Why-More-Less/dp/0060005688

For advanced users (Ninjas) the maximum flexibility and free-form nature is probably a Very Good Thing.

For others, especially those going up the learning curve or renewing their familiarzation, it could be a potential stumbling block.

Quote from: Phil Harvey on July 18, 2011, 07:55:25 AM
Of course, additional arguments for an option must immediately follow the option (ie. -tagsFromFile FILE), and it is useful to mention that, but options like -r for example may be placed anywhere on the command line (except between an option and its arguments as mentioned).

Something similar to the command line breakout related to arguments for options and any other instance where two or more elements interact would be very helpful, especially if it included very verbosely documented examples and uses.

Conceptually, think about a quick start document that includes multiple code examples showing actual values in addition to the upper case representation: TAG, FMT, SRCFILE, SRCTAG, NUM, DIR, CFGFILE, etc.

--------------------------------------------------------------------
Metadata tag/field values

The generic command line syntax for ExifTool to extract (view) a metadata tag/field is:
-exiftool -TAG

Specific examples of this command are:
-exiftool -Location
-exiftool -XMP-iptcCore:Location

In this example, the value for the metadata tag/field "Location" is displayed.

Platform variations:
--------------------------------------------------------------------
Date/time display, print or data format

option used: -d FMT

The format of date/time metadata tags/fields are set with the -d option. The -d option must always be followed by a format statement that tells ExifTool what format to apply to the date.

The -d option is commonly used when displaying and printing date/time information, as well as when populating specific date/time metadata tags/fields with date/time information.

Caveat: * Note that only one date format is allowed per command line. *

The default date/time format is: %Y:%m:%d %H:%M:%S This format equates to CCYY:mm:DD HH:MM:SS where:
CC = century, e.g., 2000
YY = year, e.g. 09
mm = month, e.g. 12
DD = day, e.g. 28
HH = hour, e.g. 14
MM = minutes, e.g. 48
SS = seconds, e.g. 59

* Note: 24 hour values are used in the date/time field, meaning 2PM is stated as 14 *

A sample command line use of the -d options is:
exiftool sample.jpg -createdate -d %Y/%m

The conceptual grouping of this command line is:
exiftool (sample.jpg (-createdate (-d %Y/%m))

exiftool = runs the exiftool program
sample.jpg = the source photo/file the metadata tag/field "createdate" will be extracted from
-createdate = the metadata tag/field the value is extracted from
-d = the date format option
%Y/%m = the date format, which yields a value in this format: 2011/07



* Caveat:                                      *
* Note:                                          *


Platform variations:

-------------------------------------------------------

Etc.

-------------------------------------------------------

The general idea is to show each option & parameter that are required or common and how each pairing of options & parameters works, including specific, verbose examples.

You will know you succeeded when nobody who is trying to *initially* learn or relearn the tool ever again sees: File not found: DIR

8^)


Doug

[edit: added content to and fixed errors in -d section]
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on July 19, 2011, 12:42:27 PM
Hi Doug,

Thanks for the suggestion.

Yes, I like this format, and would have gone to something like this for the existing documentation but it doesn't work as a flat document.

However, with proper indexing this is definitely the way to go.  And we have already established that a good index is essential.

- Phil
Title: Re: ExifTool for Dummies
Post by: simonmcnair on October 27, 2011, 05:12:36 AM
It'd be awesome to have a directory of shell snippets that you and/or power users use with a brief explanation of how and when to use them.

It'd also be nice to have a peek in to your mind and understand what you do to manage your photo collection, what your viewpoint is on lossless rotation vs Orientation Tag, photo archival.  You on googleplus btw ? (it'd be nice to follow your endeavours)

Simon
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on October 27, 2011, 07:26:00 AM
Hi Simon,

Quote from: simonmcnair on October 27, 2011, 05:12:36 AM
It'd be awesome to have a directory of shell snippets that you and/or power users use with a brief explanation of how and when to use them.

This was the idea of all of the examples in the application documentation (https://exiftool.org/exiftool_pod.html#reading_examples).

QuoteIt'd also be nice to have a peek in to your mind and understand what you do to manage your photo collection, what your viewpoint is on lossless rotation vs Orientation Tag, photo archival.  You on googleplus btw ? (it'd be nice to follow your endeavours)

Googleplus?  I haven't heard of it yet.

In 2001 when I started taking digital photos I looked at Apple's iPhoto and quickly discarded the idea of using it to manage my library.  My main criteria were 1) the ability to organize images by date, 2) display as many images per possible on a contact sheet for each day, 3) handle an unlimited number of images without impacting performance (this is what killed the iPhoto idea), 4) display selected image metadata, 5) automated import from the memory card, and 6) automated lossless rotation.  I figured the best way to get exactly what I wanted was to do it myself, so I wrote my own image cataloguing tool (https://exiftool.org/icat/).  Since then, I have made some upgrades to handle the RAW files from the various DSLR's I have owned, and written some other small scripts to handle some other tasks, but icat is still the heart of my photo management system.

- Phil
Title: Re: ExifTool for Dummies
Post by: simonmcnair on October 27, 2011, 10:22:26 AM
Quote
This was the idea of all of the examples in the application documentation (https://exiftool.org/exiftool_pod.html#reading_examples).
Yeah, but be honest how many of the examples do you use on a day to day basis.  If you want a page for dummies the questions will be along the lines of (in my case).   I want all my files to have a unique name, be easily found, sorted by date and time stamp from exif data. In my case I have a year folder sorted by (for example):  S:\Digi Camera\2011\2011-01-08_14-50-30.JPG.  This means that windows will sort them correctly.

I'm a definate linux dummy, I use Google notebook and I have at least 30 notebooks of commandlines that I frequently use.  When I muck around with images for instance, I quite often use perl -MFile::Find -e"finddepth(sub{rmdir},'.')" which is awesome for removing empty directories.

I suppose a dummy has the question "I have 20,000 photos and I want them to be sorted and easily findable with the least amount of effort".

The other point is, if the exif tags are blank, I don't want it to rename my file at all, or maybe put it in a special folder.

QuoteIt'd also be nice to have a peek in to your mind and understand what you do to manage your photo collection, what your viewpoint is on lossless rotation vs Orientation Tag
Any views on the best way to rotate or crop a (jpeg image with, as far as possible, no image degradation ?

QuoteGoogleplus?  I haven't heard of it yet.
https://plus.google.com/ (https://plus.google.com/) It's googles answer to twitter and facebook.

QuoteIn 2001 when I started taking digital photos I looked at Apple's iPhoto and quickly discarded the idea of using it to manage my library.  My main criteria were 1) the ability to organize images by date, 2) display as many images per possible on a contact sheet for each day, 3) handle an unlimited number of images without impacting performance (this is what killed the iPhoto idea), 4) display selected image metadata, 5) automated import from the memory card, and 6) automated lossless rotation.  I figured the best way to get exactly what I wanted was to do it myself, so I wrote my own image cataloguing tool (https://exiftool.org/icat/).  Since then, I have made some upgrades to handle the RAW files from the various DSLR's I have owned, and written some other small scripts to handle some other tasks, but icat is still the heart of my photo management system.

I find this littered all over the forum.  Really useful pieces of information that you've imparted which very few people will read unless they keep up to date with the forum.  That should be on the homepage of exiftool too.  Advertise it.  Sounds like a nifty piece of kit.

Simon
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on October 27, 2011, 10:47:53 AM
Quote from: simonmcnair on October 27, 2011, 10:22:26 AM
Any views on the best way to rotate or crop a (jpeg image with, as far as possible, no image degradation ?

Sorry, I forgot to answer this.  Personally, I use jpegtran to do my lossless rotations.  Lossless cropping is not possible unless you crop on an 8-pixel boundary.  I don't know about utilities for this.

Quotehttps://plus.google.com/ (https://plus.google.com/) It's googles answer to twitter and facebook.

Thanks for the URL.

Quote[about icat] Advertise it.  Sounds like a nifty piece of kit.

I made icat available on the off chance that someone may find it useful, but I don't have time to support feature requests etc, so I don't want to advertise it.  It really doesn't have any target market since the only people who might use it are geeks like me, but then they would probably rather write their own anyway to do exactly what they want.

- Phil
Title: Re: ExifTool for Dummies
Post by: RayArdia on December 17, 2011, 04:28:36 PM
Quote from: Beholder3 on March 10, 2011, 12:02:30 AM
Hi,

coming back to the original question I can also support the view of a dummy user.  ;)

My "feel" on the situation is:
- the documentation is complete but so extensive it's not too attractive for real inexperienced people who don't know where to start. It's more use to pros I think. The best thing to stop a user from using an application is always telling him "read the fucking manual" only once. You can bet he dumps the thing immediately if he's not desperate.
- I personally always look for examples which come close to my situation and then from the example look backwards to the abstract command help to try to figure out what happens.
- Any commands discussed here which do multiple things in one line I experience as counterproductive as they confuse me too much. They are good again for pros and specific optimal solutions but not for understanding. I think its like calculating things in Excel. If you are advanced user you try to achieve the perfect result in a single cell calculation where functions are nested to level 10. But the way I usually approach things first is I add a single calculation per column and do lots of columns first to be able to understand what I do. Then in the final tested version I put it all into one.

Result:
- I'd favor lots of generously explained examples which are structured in a helpful way so I am not confused by the mass of examples. The exewrcise wouldnt be helpful if it's just a huge flat list of examples. I underlined the three key words IMHO.

As a sidenote: Even minor details can be non-intuitive. For example for me as non English native speaker reading "DSTTAG<SRCTAG" at first was anything but intuitive because my eyes didnt really automatically turn the "DSTTAG" into "destination tag". I first justbread a wild bunch of letters.  ;) Seems dumb probably but that's language dependend stuff mixed with abbreviations and missing cases.

I agree with almost all the points made in Beholder3's well-written comments. I am completely flummoxed by most of what I read in this forum - and I do Know that that's my fault , not the forum's.
In Exiftool's case "RTFM" has, as far as I know NOT been posted, but I do find the manual, (though no doubt excellent for the experienced user) to be about as much use to me as an appliance manual without diagrams and written in Sanskrit!
I can't help in the writing of the Dummie's Guide but look forward to reading it............Soon?
Ray
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on December 17, 2011, 04:47:39 PM
Hi Ray,

I had another go at writing the dummies guide, but I keep getting frustrated by the number of things I have to explain and the number of screen caps I need to make for pictures to illustrate what I am doing.  Couple this with the fact that I really don't like using Windows, and this explains the delay so far.

Also, I get depressed when I realize that nobody likes reading long descriptions, so I doubt that anyone would read the documentation I was writing anyway.

The answer to both problems is of course to be much more efficient in my writing, and to only present the information that is necessary to get the first-time user going with basic commands.

And with enough prompting by confused newbies like you, maybe I'll get off my ass and get this done... :)  (Could be a reasonable project for my xmas vacation.)

- Phil
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on December 21, 2011, 12:17:21 PM
Ray:  I have moved your new question into a separate topic:

Set date from directory name (https://exiftool.org/forum/index.php/topic,3807.0.html)

- Phil
Title: Re: ExifTool for Dummies
Post by: pb on January 03, 2012, 05:36:35 PM
Since you didn't ask, here's my opinion.

The root problem is that exiftool has a huge number of features and a very complex command line interface, much of which is not intuitive.  This forces any guide to provide a profusion of special purpose examples.  Every guide should provide examples as the main intro to a feature, but because there are so many features and so many ways they can interact, in the case of exiftool this leads to the need for a *profusion* of examples, i.e. "how-to" items.

This makes me think that any attempt at "exiftool for dummies" is going to be frustrating, both for writer and reader.

What would make it easier?  An idea that occurs to me is an exiftool scripting language.  Well, this already exists:  it's the perl interface.  What I would suggest is a simplified domain-specific scripting language that easily translates to the perl api, and does not require the user to know how to install or use perl.  (But, it would have to be "installed" bringing along perl.)  This is a lot of work, so I don't expect anyone to do it.  I'm not volunteering, either, though it would be fun to construct.  Maybe you could find a masters student who would like it for a project.

Another, orthogonal, idea, to avoid generating endless screenshots, is to build an exiftool guided tour sandbox, where the user can try examples provided to them by the sandbox, and both console and results are presented in an integrated way, not being subject to what the os and window manager feel like doing.  The sandbox itself would contain whatever text needs to be in the dummies guide.  Also a lot of work, and also maybe a nice masters or even course project.  There might even be off the shelf software to aid in doing that.

--peter
Title: Re: ExifTool for Dummies
Post by: geobernadotte on January 24, 2012, 05:26:27 PM
I Phil and others,

i read this hole thread about the dummies problem.
I'm a dummy myself.

Sorry, my analysis will not be as elaborate as some of the others before.

My main problem as dummy with the existing documention is:
When i find a set of commands that might fit to my needs or parts of it, i really have big problems deconstructing the individual parts of the procedure.

Most of the time, there is a short explantion on what its doing, but if a want to know what this -d, %Y or -common things are again, i have to use google on it (not easy with a minus in front of a single letter ;) ) to find one of your only loosely connected pages with enormous content.
So analyzing a single command set takes dozens of minutes ... and a day later, i forgot half of it, so the game starts again ..

Ok, enough talk. I sat down for some hours and created an example collection "I" would be able to learn with bit by bit how things interconnect.

This is just a quick example.
The main idea is:
- an exiftool commandline example
- An explanation of at least 2 lines what it does
- all items of the command listed individually with its general definitions

I hope the examples are not too stupid. I just copy/pasted the first best stuff that came along to fill the fields.
And there could be a lot more fields or sorting tools possible.

So, if you are interested in the basic idea:
login at
http://exiftool.berndvogelgesang.de/user/login
as
testuser
with
test

Cheers
Bernd
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 24, 2012, 07:22:22 PM
Hi Bernd,

Thanks for the suggestion, but this confuses me a bit.

I understand why you want a few "decomposed" command-line examples, but I don't understand why it is difficult to figure out what the parts of the command do.  All of the command-line options are explained in detail in the application documentation (https://exiftool.org/exiftool_pod.html).  An exception are the common -d format codes, which aren't listed here.  Perhaps they should be.

Is it that the application documentation is too confusing, or too verbose?

- Phil

Edit: I just browsed your concept web pages.  Very smooth.  I like the idea a lot.  Impressive that you worked this up so quickly.  I agree that something like this would be very useful.  Including the tag names in this documentation may be problematic though, because there are currently 5763 unique tag names (not counting duplicates in different groups).  However, maybe explaining the ones in the examples, with links to the Tag Name documentation (https://exiftool.org/TagNames/), would be good enough.
Title: Re: ExifTool for Dummies
Post by: geobernadotte on January 25, 2012, 07:38:11 AM
Hi Phil,

The problem is that 90% of the population have no idea of how computers work behind those fancy desktops.
So it's not a problem of your exiftool documentation, but of general lack of knowledge on command line concepts.
Me for example I had my first encounter with basic commandline stuff on windows, when i wanted a list of files in a folder and its subfolders put into an exel sheet.
I bet most people are still going to type those names from the screen into an excel sheet instead of using e.g. dir/s/b > Listing.txt and then proceed.

99% of those 90% will never want to learn how to work with command lines.
But those 1% like me need hell of a time to sort things out, by reading hundreds of examples from forums and pages to understand the logic and the commands.
And if I hadn't played around with gpsbabel for some time before, i would have never dared to step into exiftool.

Exiftool is an additional "dialect" in that computer "language", and the unexperienced user has difficulties to distinguish the parts of a command that are special exiftool terms and which are the generally used things.

So, my attempt was to show examples, where not only the exiftool commands are explained, but also all parts of this command, exiftool-specific or not, to be easily able to get the hole context.

I share your concerns about those 5763 unique tags, but as i myself still have no real idea about all that (dummy!), i am not really able to develope a concept how to handle that.
But in general, i prefer the fexibility of database driven collections over plain text documents.

With drupal, being a dummy there as well, there are multitudes of possibilities how to set up such collections: as nodes, as tags (how i do it now) etc.

And one advantage would be as well, that other users could contribute to such a collection as well, by posting examples and just adding those tags from your documentation they used there.
By this, the database could grow step by step.

So, maybe you like the idea and i would be happy to improve this test page with input from your side or others.

Bernd
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 25, 2012, 08:10:22 AM
Hi Bernd,

This is a great idea if I could get Drupal running here and integrate it with the forum.  After searching, I see there is a Drupal SMF forum integration module (http://drupal.org/project/smfforum) which seems to allow this.

The Drupal idea is much better than what I had in mind because users can add examples and comments themselves.  This is wonderful!

It would be nice if it could be organized into common tasks, with an index so people can look up commands which relate to the task at hand.  For example:
Also, there may be a set of common problems that people have, similar to the FAQ but more comprehensive, that could be organized as topics too:
But I'm not sure if/how this could fit into what you have set up so far.

- Phil
Title: Re: ExifTool for Dummies
Post by: geobernadotte on January 25, 2012, 08:59:52 AM
Hi Phil,

i'm more than happy that you not hate my idea so far ;)

What i have set up so far is just a simple example collection with 3 vocabularies for the level, the basic action and the command parts.
There could be many ways to classify an example, e.g. add an additional tag with predefined classes like
From that, we can generate index pages with other fancy stuff like order according to the number of individual page views  etc etc etc ( .... endless possibilities)

There could also be e.g. a "Problem/Solution" node.
Users post their problem, other users can answer it. When as solution is found, the node can be marked as solved and provided with other keywords, so it gets related to existing examples or already solved problems.
Furthermore, advanced users willing to help (don't know how likely is that), can subscribe to that node type, so when a new problem gets posted, they get notified with a link and post an answer.

I think one of the goals of such a system should be, to lift that heavy burden of user support partly from your shoulders!

About html pages, forums, drupal:
Me personally am a bit of an bleeding-edge guy concerning websites.
html pages where nice when nothing else existed, forums pushed user interaction on a new level, but since the concept of forums is mostly focused on discussions and not on knowledge management (like it is intended here), i would propose to entirely drop those two methods and completely migrate to a more flexible (but also more complex) system like drupal, instead of trying to integrate those 3 together.
This of course is not a thing done in a few days, but a matter of weeks and longer.

Anyway ... i think i have to get back to the work i get paid for here ;)
Will try to develope a few more ideas and will post back here when i fumbled out something presentable to you, which might take a few days.

Just to repeat: I'm just trying to help a bit, do not feel forced into a direction you don't like.

Greetz
Bernd
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 25, 2012, 09:34:19 AM
Hi Bernd,

Quote from: geobernadotte on January 25, 2012, 08:59:52 AM
There could also be e.g. a "Problem/Solution" node.

This is an idea we tried in the forum, but it was too formal and didn't see any activity.  A less formal and user-driven Dupal problem/solution section perhaps has a better chance of success.

QuoteI think one of the goals of such a system should be, to lift that heavy burden of user support partly from your shoulders!

That was sort of the idea. :)

QuoteWill try to develope a few more ideas and will post back here when i fumbled out something presentable to you, which might take a few days.

Just to repeat: I'm just trying to help a bit, do not feel forced into a direction you don't like.

So far i really like the idea.  It would be nice to hear comments from others about this.

I'm in no hurry either, and this will be a long-term goal for me because I don't have a lot of spare time.  I don't like the idea of dropping the web pages and forum entirely in favour of this, mainly because I don't yet see how drupal could replace both of these.  We still need complete documentation for the expert user, and I still like the forum for unstructured discussion on various topics.  For now, I think we should just start with the concept that drupal is aimed to help the newbie to get started with exiftool.

Oh yeah.  That reminds me that in this system the commands must be classified based on operating system (Windows, Mac OS X, and/or Linux), because the syntax is sometimes different on the different systems.

I don't know if you have seen this: ExifTool Command-Line Examples (https://exiftool.org/examples.html), but it was my first aborted attempt at how this could look.  The Drupal idea is much better.

- Phil
Title: Re: ExifTool for Dummies
Post by: sattva on April 13, 2012, 02:52:01 PM
hello phil,

i have just signed up and this is my first post!

firstly...i would like to thank you and compliment you on the magic that is exiftool :) ...invaluable is what comes to mind!

personally i have been using exiftool for quite some time now...mostly to query for information. recently i have started to work on the intricacies of writing and changing exif data...and in the process i had to rely on the man pages and online info. quite a bit!

only today i got to know that this forum also exists as i was quite involved in figuring out a solution to an exif tag write problem...and online search for info and assistance brought me here...and then to this particular post.

i appreciate the effort that you are directing towards assisting users in getting their way around exiftool. its actually commendable...i have not seen anything like this in a very long time :) ...so it feels very good to know that such excellent assistance is available for exiftool!!

from my experience in design engineering (ergonomics) across products and disciplines...i would like to offer some suggestions to add to the already excellent info. offered here by some users and yourself. they are...

you may please consider going the 'wiki way'...its how the human brain works...and i can safely assume that 'all users' irrespective of experience and competence with exiftool are humans :) ...
also, its a well known fact...researched and documented, that content is created by less than 5% of people...and more or less the other 95% benefit from this effort. and some small percentage of this 95% DO make the shift to the 5% creator group...provided the means are available and 'easy' ...best example without hesitation i can suggest is wikipedia.

you may also consider grouping users based on exiftool usage scenarios...eg: photographers...rather than on expertise and competence...people will generally know quite clearly what activity they are involved in...but to define their expertise or competence in that particular activity is a gray area...
and each and every activity will have some basic ground rules or tasks that need to be accomplished...which will cater to about 90% of users engaged in that activity...so then an elegant solution to address to these known ground rules-tasks is to provide recipes.

and with a wiki...if no particular, unique recipe is available or already provided...the user requests for the recipe by adding to the wiki page direct...which can then be contributed by more than one individual...adding to the knowledge base...in improving-correcting the recipe as well as providing more than one way to go about the process.

just my thoughts after reading this really wonderful post! and i will now get back to figuring out the solution to my problem :) ...if the solution does not materialize, you can expect a new post from me soon!

thanks and best wishes!
sattva
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on April 27, 2012, 11:48:01 AM
Just for fun, I've set up an ExifTool wiki (http://exiftool.wikia.com/wiki/Main_Page).  I haven't added anything to it yet... I'll have to think about what I want to go into it.

- Phil
Title: Re: ExifTool for Dummies
Post by: pb on April 27, 2012, 06:04:13 PM
I think a wiki is a great idea.  However, it also sounds like a lot more work, if for no other reason than the fact that information will have to be updated in two different places: wiki and exiftool web pages, though maybe it will be possible to get away with just doing links back to the website most of the time.

--peter
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on April 27, 2012, 08:37:00 PM
Hi Peter,

The idea is that anyone can contribute to the wiki.  Keeping it up to date won't be that hard, but it will only work with the help of ExifTool users.  But I think it needs some structure to be useful, and this is what I need to think about.

- Phil
Title: Re: ExifTool for Dummies
Post by: lenzie on January 07, 2013, 09:40:07 AM
Quote from: simonmcnair on January 14, 2011, 03:23:22 AM
Phil,
I don't know if, in my opinion, you should be doing the 'dummies guide' at all.  If people can't get by on the substantial amount of documentation and the faq then there is something wrong.
Simon

This post just makes my blood boil. I know it is fantastic to have any tool whatsoever ... but it really should be very simple to add a description to a photo. I have already spent well over 8hours trying to find a way to do this for around 1000 photographs. It should be possible using very simple software ... it isn't, failing that it should take just a few minutes with a complex bit of kit like Exiftools ...

And let's be clear ... I've got today to work out how to do it otherwise I'm going to end up making a spreadsheet with photo ID in one column and the title in the next because that is the only way I can be sure anyone can read it in the future.
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on January 07, 2013, 09:56:07 AM
ExifTool is not well suited to adding different descriptions to 1000 images unless you already have the descriptions in electronic format.  A command to write a single description could look like this:

exiftool -mwg:description="some description" image.jpg

But automating this for 1000's of images with different descriptions is a different story.  The best way would be to take advantage of the exiftool -csv option.

- Phil
Title: Re: ExifTool for Dummies
Post by: terrypin on March 18, 2013, 09:12:08 AM
Elle,

Seriously doubt you'll see this 2 years later, but that link now gives me a 404 error.

If it's been moved, anyone have it please?

--
Terry, East Grinstead, UK
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on March 18, 2013, 09:32:06 AM
What link are you talking about?  These 2 still work for me:

https://exiftool.org/dummies.html

https://exiftool.org/examples.html

- Phil
Title: Re: ExifTool for Dummies
Post by: Tarn on March 19, 2013, 01:52:46 AM
Hi Phil.

Are these the kind of images that you can use for examples?

www.dustylenzkapp.com/Dump/Cmd004_-artist=me.jpg
www.dustylenzkapp.com/Dump/Command_window001.jpg
www.dustylenzkapp.com/Dump/Run_window-cmd.jpg

P.S. They are off color for a REASON!
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on March 19, 2013, 07:24:27 AM
Thanks!  I will make use of these!

- Phil
Title: Re: ExifTool for Dummies
Post by: Tarn on March 19, 2013, 04:16:19 PM
Quote from: Phil Harvey on April 27, 2012, 11:48:01 AM
Just for fun, I've set up an ExifTool wiki (http://exiftool.wikia.com/wiki/Main_Page).  I haven't added anything to it yet... I'll have to think about what I want to go into it.

- Phil
Hey Phil

Sorry but your links takes me to: http://community.wikia.com/wiki/Community_Central:Not_a_valid_Wikia
I've tried searching for "exiftool" but get "no results".

Thought I'd let you know.
Title: Re: ExifTool for Dummies
Post by: Tarn on March 19, 2013, 06:04:48 PM
Quote from: Tarn on March 19, 2013, 01:52:46 AM
Hi Phil.

Are these the kind of images that you can use for examples?

www.dustylenzkapp.com/Dump/Cmd004_-artist=me.jpg
www.dustylenzkapp.com/Dump/Command_window001.jpg
www.dustylenzkapp.com/Dump/Run_window-cmd.jpg

P.S. They are off color for a REASON!

Here are a few more images that you may find useful. I was too lazy to post them last night.

www.dustylenzkapp.com/Dump/ChangeDriveDirectory.jpg
www.dustylenzkapp.com/Dump/Cmd001_file_name_only.jpg
www.dustylenzkapp.com/Dump/Cmd002_-filename.jpg
www.dustylenzkapp.com/Dump/Cmd003_-filename_-artist.jpg
www.dustylenzkapp.com/Dump/Cmd005_Write_multi_files.jpg
www.dustylenzkapp.com/Dump/Cmd006_Write_all_files_in_DIR.jpg
www.dustylenzkapp.com/Dump/Cmd007_Disp-Write_multi_tags.jpg
www.dustylenzkapp.com/Dump/Help001.jpg
www.dustylenzkapp.com/Dump/Help002_CD.jpg
www.dustylenzkapp.com/Dump/Shortcut001.jpg

Also, I have started a rough outline of descriptions to go with them. Intended as a suggestion for adding to "ExifTool For Dummies" If you'd like to take a look at it I can upload it. It's in Word format now, do I need to change that?

Thanks.
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on March 19, 2013, 07:44:47 PM
Ah, it seems as if the Wiki page had an expiration date.  Oh well.  That went nowhere anyway.

You can email me the document if you want.  My mail is philharvey66 at gmail.com.

Ideally an HTML document would be best eventually, but a Word document is fine for now.

- Phil
Title: Re: ExifTool for Dummies
Post by: terrypin on March 22, 2013, 03:46:06 AM
Quote from: Phil Harvey on March 18, 2013, 09:32:06 AM
What link are you talking about?  These 2 still work for me:

https://exiftool.org/dummies.html

https://exiftool.org/examples.html

- Phil
http://ninedegreesbelow.com/2011/imaging/exiftool_digikam/exiftool_digikam.html
(http://ninedegreesbelow.com/2011/imaging/exiftool_digikam/exiftool_digikam.html)

I was unfamiliar with the forum when I posted; I should have used Quote. It was in Elle Stone's post dated 25th January 2011. Extract:

Do you think it might be useful to new ExifTool users if you posted a collection of links to "how to" web pages? I bet a lot of the forum members have posted ExifTool "how to" examples to their own websites. I just put one up for the benefit of digiKam users. In case you are curious, here it is: http://ninedegreesbelow.com/2011/imaging/exiftool_digikam/exiftool_digikam.html

And no, my feelings won't be hurt if you do post links with examples and don't post mine!

Elle Stone


--
Terry, East Grinstead, UK
Title: Re: ExifTool for Dummies
Post by: tripper on February 25, 2016, 09:40:17 AM
I just registered to tell Phil Harvey what a pompous fool he is.  Yes, pompous fool!  Why?  When you write nonsense like...

"What? A dummy running Linux? I don't believe it."

...it looks like you were born bright.  Yes, you never had to learn Linux because you are a genius.  Well, let me tell you a secret: Linux remains at the bottom of the barrel and will never be as popular as Windows because of fools like you.

Have a good one fool. ;-)
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on February 25, 2016, 11:03:52 AM
Quote from: tripper on February 25, 2016, 09:40:17 AM
Have a good one fool. ;-)

Thanks! :)

- Phil
Title: Re: ExifTool for Dummies
Post by: mpegleg on June 19, 2019, 10:54:29 AM
Am I going to get hounded for brushing off the cobwebs of this old thread? I hope not.  :-\

Wow. It's a shame this went nowhere. That tripper guy certainly was rude. I think he was trippin'... on misery.

Phil... I hope that didn't dampen any enthusiasm you may have had to carry on with a ExifTool for Dummies. It's a great idea, but I now understand some of the complexities of the project, esp. with so many different facets to it, and multiple operating systems/computer languages that you have to cater to.

I was wondering... what happened to the ExifTool wiki idea? Couldn't it perhaps be managed by some of the more knowledgeable members here, which would mean that you wouldn't have to spend too much time working on it?

Anyway... I was just reading through this thread, and kind of wondered what happened? Are there not that many n00bs perusing this forum like me anymore?

I guess you guys are so helpful to us n00bs that it may not be so necessary. I've certainly learnt so much already from you all, except most folks probably wouldn't be as bold as to ask so many n00b "school science project homework" type questions as I have over the past few days. :P

Cheers
-Paul
Title: Re: ExifTool for Dummies
Post by: Phil Harvey on June 19, 2019, 11:42:23 AM
Hi Paul,

The "ExifTool for Dummies" idea never went anywhere basically because ExifTool is just too darn flexible.  There is often a very simple way (ie. a "dummy" solution) for what someone wants to do, but there are just too many different things that people want to do with ExifTool.  This makes for a document that is too lengthy to read.

Also, most of the problems that people have running ExifTool are with the operating system and terminal that they are using, and not with ExifTool/metadata itself, and I have trouble motivating myself to spend time on this sort of thing.

- Pil
Title: Re: ExifTool for Dummies
Post by: mpegleg on June 19, 2019, 12:00:30 PM
That's cool.

I'm just beginning to see what would be involved, and yes, I see that (by reading some of the forum posts) that most people who frequent this forum already have quite a technical ability anyway, so I completely understand where you are coming from.

I can see now that ExifTool really is more geared up to being used in other GUI tools and editing software packages, etc, so most folks would not need to get too involved in the nitty gritty of how ExifTool functions. I am so glad that I discovered it though. That was a great stroke of luck.  :)

Cheers,
-Paul

I'm awaiting the announcement by Google of their new GET engine. (GET = Google ExifTool Translator)
"When you just don't get it... GET it"
Title: Re: ExifTool for Dummies
Post by: mpegleg on June 20, 2019, 06:48:05 AM
use Acme::Comment start => '[[', end => ']]';

[[

*start-of-2c-rant*

I will just quickly add my 2c though Phil... and don't feel you have to respond... as I think you've said your piece already, and I can see your eyes rolling, and hear you grumbling about that damn pesky mpegleg character that just won't shut up, :D but...

having looked at this page: ExifTool Command-Line Examples (https://exiftool.org/examples.html), and played around with the selectable features and headings, etc. My first thought was...

That is brilliant. If you (or some other willing participant) were to gather every snippet of working code examples from this forum, and put them on that page, you'd have a winner!

Currently the examples are good, but there's just "way" too few of them. Naturally the collapsible text headings is the way to go, so that one doesn't drown in a sea of text, but I think this could be easily be rigged to show a few examples first, with some [+expand for more examples] style buttons to add extra info for those looking for extra examples, etc.

Note: Personally I'd prefer minimal discussion of how the code does it's magic, and more "real-life" examples of code snippets with accompanying output.

...a n d... I'd love to see some example of ExifTool + Regex... because it appears to me... that's when the magic really happens!... but of course you'd need to put that on a separate page so that the n00biphiles don't confuse what is pure unadulterated ExifTool code with the combo ExifTool + Regex code.

ps. You only have to look at the view count for this particular topic (currently: 97603 Views) to realise just how many people are searching for "ExifTool for Dummies". :o

*end-of-2c rant* :)

]]