Bob On Development

Musings on the craft and business of software development









April 10, 2007

The Dark Side of Tagging in Windows Vista

Filed under: — bob @ 12:31 pm

I don’t want to rain on everybody’s parade, but there is a really significant fly in the ointment when it comes to the gee-whiz media tagging feature in Windows Vista’s Photo Gallery application.

The idea behind tagging photos and other media files is compelling: you can instantly filter non-textual content by keyword. Photo Gallery in and of itself is primarily an organizing and viewing application with some very basic photo editing features, but is capable of launching other applications that have registered themselves with Vista as knowledgeable about the particular file type you’re working with. For example, we have Adobe Photoshop Elements 5.0 installed, and when you highlight a jpeg image, Photo Gallery is smart enough to have “Edit with Photoshop Elements” on the image’s context menu. Cool.

But think carefully about how you’ll use this coolness, long-term. Consider: you will, over time, tag and organize potentially thousands of files. What happens when you migrate to another system? And what if you need to tag and organize the same media in other applications, such as Elements? Over time, you’re going to make a substantial work investment in getting everything organized. You’re going to get very dependent on tagging, and you’re not going to want to lose that investment every time you work with a different image editor or buy a new computer.

There are two ways to store metadata (data about data) such as tags. One is to use a database of some kind to track what tags go with which files (to associate tag(s) with each file location). The other way is to embed the tags directly in the image files themselves.

In an excellent screencast, Jon Udel interviewed one of Photo Gallery’s product managers to show how tagging works in Photo Gallery. Jon has pushed the concept of “The Truth is in the File“. Unlike, say, the Mac, which keeps tags in a database, Photo Gallery keeps them in the files themselves. That way, when you move the files to a new machine, or upload them to the Internet or share them with others, the tags stay with the file.

Or do they?

The answer is, sort of, usually, provided that certain conditions are met.

Let me explain.

While it’s true that Photo Gallery stores your tags in the file, it takes quite a bit of time to update image file metadata. Sometimes a (potentially huge) image file must be completely or partially rewritten. The actual image data is never molested, but room must be made for more metadata and this can mean time-consuming copying of the file to a new “version”. This is all transparent to the user, even to the point that the operating system “last modified” date doesn’t change. However, were you to tag, say, a thousand photos at once, you’d have a long wait for all those files to be updated.

So Photo Gallery actually tracks the files internally in a database. That way you get instantaneous performance: add a tag to a thousand jpegs, and it happens, boom, just like that. But if you were to pay close attention to the lower left corner of Photo Gallery’s UI, you’d see a tiny icon that indicates Photo Gallery is working in the background to update that thousand files while you continue to do other things.

If you were to quit Photo Gallery before it was done with this background update, it will resume its work the next time you load it.

This works great, for a specific use case: (1) You will use Photo Gallery exclusively to organize your photos; (2) all of your photos are in a format (such as jpeg) that support embedded metadata; (3) you are willing to limit yourself to Photo Gallery and its descendants plus whatever other applications may (or may not) happen to evolve to be Photo Gallery-compatible in the future.

The first problem is, how does Photo Gallery recognize that a file has metadata that needs to be in its database? The answer is, if you use Photo Gallery to import photos from your camera, Photo Gallery will read existing camera metadata into its database; if Photo Gallery encounters a photo that it has never seen before somewhere in the directories it scans, it will add any existing metadata to its database; and of course, if you manually tag a file, that goes into the database.

However, in my experience at least, if some other application updates a file, Photo Gallery will not notice. So if you tag a file in Elements, or copy a new version of the file that is tagged differently from another machine, Photo Gallery will not (or at least often does not) notice. Now you have the interesting situation where a photo has a tag that Photo Gallery doesn’t know about. You can’t find it using a tag search in Photo Gallery.

If you bring up that file in Windows Explorer, and look at the file properties, the new tag is there. In fact, if you launch that file in Photo Gallery from Explorer, the new tag is there. But the new tag does not appear in the tag list of Photo Gallery and cannot be used to find the file in Photo Gallery. Clearly the internal database is out of sync with the file. When launched to view a single file (from Explorer, for instance), Photo Gallery actually bothers to read the tags from the file and display them all, apparently ignoring its internal database, and not updating it with the file’s new info, either.

The only way I can figure out to fix this is to rename the file, or copy it to some directory that Photo Gallery doesn’t scan, delete it from Photo Gallery, then throw the saved copy back into its old location. Anything to make it look “new” to Photo Gallery. Not exactly a recipe for getting work done quickly!

It gets worse. Just because you tag a file in another application doesn’t mean that Photo Gallery would ever see it. That’s because for some applications, “the truth is in the database”, not the file. They don’t even update the file.

Adobe actually originated the metadata format that both Elements and Photo Gallery use, but Elements does not actually write the metadata to the file unless you tell it to using File | Write Tags to File. In other words, Elements, for all its features, lacks Photo Gallery’s background update functionality, so tagging is a two-step process: tag one or more files, then explicitly tell Elements to write those tags to the files. Guess how often you’re going to forget that.

Of course, even if you remember to write the tags to the files, it’s at best questionable whether Photo Gallery will ever see the change. At this point in my experimentation, I’d say most of the time, not — unless you take still more clumsy and error-prone steps to force it to notice.

The fix for this would be for Photo Gallery to either have a background process for scanning continuously through files it has in its database, looking for tagging changes, and resolving differences; or for Photo Gallery to use some sort of FileSystemWatcher to respond in real time to writes to files in its catalog that are not done by Photo Gallery itself.

Even better, both the background checking and background writing of database changes to files should probably be abstracted out into separate Windows services so that this activity can go on whether or not Photo Gallery is actually running. Hopefully this can be on a low enough thread priority that it does not contribute to slow system performance, so that everyone turns those services off when tuning their machine, like they do today for file indexing in Windows XP.

Perhaps what we have in Photo Gallery is some trimmed-down functionality due to the cancelled WinFS initiative. I don’t know, but I’ll tell you one thing: the first image manipulation software, such as Elements, that solves these problems will win lots of customers.

5 Comments »

  1. Interesting observations.
    I noticed the normal Windows Vista search doesn’t find the tags I added in the Photo Gallery. Do you think this could be because of the same problem? Do I need to keep Windows Photo Gallery running for some time before it has written all the tags to the files and has indexed the files with tags in the normal Vista Search?

    Bob responds: I haven’t had time to assess Vista Search yet, especially in relation to tags, but if I recall correctly, it is configured “out of the box” to just search file names, not contents. My guess is, you will have to configure Vista search to look at tags; but it should be capable of it. If I get a chance to delve into this, I’ll update this response. Regarding Gallery’s background tag writing — If you shut Gallery down before it’s finished updating files, it’s supposed to resume any unfinished file updates the next time you fire it up.

    Comment by Elja Trum — April 22, 2007 @ 4:04 pm

  2. Thanks for your response, Bob.
    I’ve changed the indexing options to index properties and file content. This seems to work a bit. I can find some images that are tagged with their tags. Most tags I’ve assigned don’t seem to work. Perhaps the indexer needs more indexing time, but it claims ‘indexing complete’.

    Comment by Elja Trum — April 23, 2007 @ 2:15 pm

  3. There are many limitations to current tagging implementations. Some observations/suggestions…

    Tags should be part of the image file (WPG got that right), and in a standard format so they are readable by many applications. Also, so they are not written over by potentially incompatible applications (”my tags are better than yours”).

    Tags should be hierarchical (again, WPG got it right); for example, Animals.Air.Raptors.Falcon.

    Tags should be importable/exportable as simple text database files. This way, if I develop a tag system which works for my organization, I can easily give it to others. Also, I could work on the tag categories “offline” using a text editor, instead of within the photo application which generally has multiple steps to create a tag.

    Just as there are image format conversion utilities, there should also be tagging conversion utilities that go from one system (e.g., iMatch or Picasa) to another (e.g., WPG). This way, the 10,000 images I tagged using iMatch or Picasa or whatever would retain their tags if I switch to another system (or if a univeral tagging standard format is developed).

    A tagging system should have a way to have a LOT of tags visible at once. I currently have over 500 tags. A single photo may get 5-10 different tags. It is very inefficient to scroll down a single vertical list to find 5-10 tags out of 500, per photo. Much better to have multiple columns of relatively small type, so many more tags are visible at once. Even better would be an intelligent system where the most recently used tags are collected at the top of the columns.

    I currently use an application (Pixort) whose sole purpose is grading and culling photos. I’d love to have a similar app whose sole purpose is tagging photos, so the process could be streamlined and made easier than picking from a humongous unorganized alphabetical list. Is anyone listening?

    Bob responds: I would pay good money for the kind of functionality you are talking about here.

    Comment by Patrick Murphy — June 16, 2007 @ 9:14 pm

  4. One way of getting Vista/Photo Gallery to recognise the tag changes is to delete or rename the database file which forces it to re-read all photo information… It not quick and it’s not something that you could do regularly, but it does work.

    The database file is at C:\Users\UserName\appdata\Local\Microsoft\Windows Photo Gallery and is called pictured.pd4

    Substitute the user’s name for “UserName” in the above path.

    Barry

    Comment by Barry — July 14, 2007 @ 6:13 am

  5. Thanks Barry, that worked fine - just as you said it took some time, and only the tags were done, all changed and edited images are still there. I’ll do this every now and then :)

    Comment by Thorsten — August 7, 2007 @ 11:10 am

RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)


Powered by WordPress

Augmentin Avandamet Rhinocort Elavil Gasex Glucotrol XL Zelnorm Vermox Penis Growth Oil Nymphomax Adalat Prograf Geriforte Medithin Avalide Lariam Viagra Erexor Sarafem Confido Himplasia Arimidex Fosamax ActoPlus Met Mentat Cardizem Hytrin Cafergot Lasuna Mycelex G Hyzaar Buy Pro Erex Buy Lincocin Buy Viramune Buy Micardis Buy Nymphomax Buy Omnicef Buy Effexor Buy Accutane Buy Levothroid Buy Cialis Jelly Buy Femcare Buy Amoxil Buy Aleve Buy Cephalexin Buy Lotrisone Buy Acticin Buy Touch Up Kit Buy Metabo UltraMax Buy Orgasm Enhancer Buy Penis Growth Pack Buy Levlen Buy Styplon Buy Aceon Cheap Loxitane Cheap Differin Cheap Geriforte Cheap Dramamine Cheap Sinequan Cheap Hoodia Cheap Nolvadex Cheap Womens Intimacy Enhancer Cheap Medithin Cheap Female Sexual Tonic Cheap Purinethol Cheap Inderal Cheap Flomax Cheap Orgasm Enhancer Cheap Zimulti Cheap Erexor Cheap Avandamet Cheap Ceftin Cheap Buspar Cheap ZMA Power Cheap Wellbutrin SR Cheap Hoodia Gordonii HG p57 Cheap Singulair Cheap Avandia Cheap Soma Credit reporting system For low credit scores Commercial credit report Understanding credit score Credit report and Florida free credit report Chase credit card status 3 credit reporting agencies Beacon credit score Federal credit reporting act To credit reporting agencies Fix your credit report On line credit card applications Credit card offers Card credit reward travel Credit score formula Credit reports from all Credit free instant report Annual report credit Order credit reports Instant personal credit report Credit beacon score Juniper credit card application Free instant credit reports Airline credit card miles National credit card debt Vue prepaid credit card Credit card debt calculator Chase credit card complaints Is credit score Elan credit card services Balance transfer credit cards Fix my credit score Credit card machines uk Check credit report fix Credit scores of Credit report uk Balance transfers credit cards Average credit score Increasing credit scores Is my credit score Business credit report Redit card pros cons Acceptable credit score Credit card business industrial Credit reports for Fast credit score increase Credit card debt facts On line credit report Free credit reporting Order credit report Chase credit card application Credit reporting act litigation Credit report consumer Clean up credit report Affect your credit score Credit report annual Credit report online Chase redit card Getting a credit score Credit card debt history Credit score after bankruptcy Credit scores meaning Stop credit card offer Ranked credit card offers Mobile credit card processing Linkpoint credit card machine Credit card applications in Credit report disputes Student credit card debt Credit reporting columbia house Credit report service Cheap credit card uk 0 credit card offer Credit report agencies Credit report score understanding Credit cards 0 apr Anual credit report Application aspen card credit Credit score higher Credit card debt management Citibank credit card offers Great credit card offer Free business credit reports Introductory offer credit card Money bank credit card Interpreting credit scores Get credit reports Free credit report Credit card apply online Credit score services Interest credit card offers Credit card debt eliminate Equifax credit reporting Instant credit card offer Credit card consolidation loans Bad credit score Credit card application uk Credit rating score scale Free credit score Experian credit report Credit report.com Article credit card debt Consolidation credit card debt Credit card consolidation uk Stopping credit card offer Read my credit report Obtain a credit report Mint credit card deal Raise my credit score Experian credit report uk Reports credit cards Hurt my credit score Discover credit card offer Good credit rating score Of my credit report Repairing credit score Credit reporting codes Credit reports on Hsbc credit card Credit card application online Repair my credit report Apr credit card offers Credit card debt advice Credit scores by Compare credit card offers Prepaid credit card companies Credit card debt laws Unlimited credit reports Annual credit report request Get my credit report Aarp chase credit card Card consolidation credit debt Credit report companies About credit scores Card credit debt free Transunion credit score Free credit card report Application card citi credit Corporate credit card application Credit scores work Consumer credit reports Credit scores mortgage Freecredit report Credit reporting service Credit card application with Credit scores and Personal credit report canada Credit report identity theft Free anual credit report Improving credit score Credit score uk My annual credit report Landlord credit report Credit score rates With a credit score Credit report government The credit reporting Up credit reports Instant credit reports Fre credit report Visa card bad credit Fair credit reporting act Freecreditreports Credit report repair service Free online credit report To increase credit score Bank one credit card American credit card debt Credit fix repair report Stop credit card debt Instant credit reports uk Low credit scores Colorado free credit report Free transunion credit report Of credit score Company credit report Credit reports with Personal credit score repair Credit scores only Obtain free credit score Cic credit report Eliminate credit card debt Free yearly credit reports The best credit score Credit report canada Wamu secured credit card Uk credit card debt Hsbc rs credit card Check credit report equifax Providian credit card company Secured credit or card Canada credit report Online Femcare Lipitor Muscle Pain Hydrocodone No Prescription Online Furosemide Online Inderal Online Maximum Lipotropics Online Viagra Soft Tabs Online Rythmol SR Levitra Actress Online Avalide Online Lynoral Online Neurontin Online Cardura Online Valtrex Online Fosamax Online Ditropan Online Diamox Online MetaboSafe Online Anafranil Online Viramune Online Advair Diskus Online Pro Erex Online Medrol Online Levaquin Online Echinacea Online Betnovate Online Prevacid Online Male Enhancement Oil Online Vasodilan Online Glucotrol XL Lorazepam Online Cymbalta Online Endep Online Confido Online Keftab Online Depakote Lortab Online Prozac Online Methox 400 Online Anabol AMP Online Tribulus Lipitor Side Affects Online Bentyl Online Dramamine Online Geodon Xanax Addiction Vicodine Online Indocin Online Trimox Online Shoot Carisoprodol 350 Mg Vicodin Hp Online Colostrum 800 Tramadol Cod Zoloft Withdrawal Online Cardizem Online Hangover Helper Online Isoptin Online Nolvadex Online Amaryl Online Penisole Cialis Dosage Phentermine No Prescription Vicodin Lorazepam Overdose Online Liponexol Online Sumycin Online Evecare Online Differin Online Urispas Online Biaxin Online Antabuse Online Ventolin Online Styplon Carisoprodol Soma Online Sustiva Online Prinivil Online Casodex Online Vermox Diazepam Online Cafergot Online Detrol Online Melatonin Zoloft Side Effects Online Trandate Online Reglan Xanax Dosage Lorazepam Addiction Online Avapro Adipex P Didrex Diet Pills Cialis.Com Ultram Online Calcium Carbonate Online Zyloprim Online Desyrel Online Ponstel Viagra Side Effects Xanax Withdrawal Viagra Alternatives Online GABA (HGH Booster) Online Probalan Viagra Dosage Online Orgasm Enhancer Hydrocodone Apap Online Flexisyn Adipex No Prescription Xanax Abuse Viagra Online Tofranil Propecia Generic Phentermine Online Online Mentat Online Zanaflex Online Noxide Online Loxitane Online Lukol Levitra Drug Online Extendaquin Alprazolam No Prescription Online Hyzaar Online Pletal Online Zovirax Online Cialis Soft Tabs Online Relafen Online Quibron T Online Paxil Online Rocaltrol Online Coreg Online Mevacor Carisoprodol Online Maxaquin Online Tenormin Online Remeron Online Evegen Online Claritin Ativan Drug Online QuickBust Diazepam Dosage Tramadol Hcl Online Cystone Online Nymphomax