Advanced searching using the Navigation Tree

In my last article, I gave an overview of the Nav Tree. Now that that’s out of the way, let’s dig deeper into some of the ways that a power user might use the Nav Tree to find their photos.


When you select a ‘parent’ node in the Nav Tree, all of the ‘child’ nodes get selected automatically, but did you know that you can also create multi-selections in the tree by control-clicking? This is the key to advanced queries in the Nav Tree.


If I have created a tag for photos of my Mom, and added that tag to all of my photos of her, I can find all of my photos of her just by clicking on that tag. But if I wanted to find only the best photos of her, I could do this by clicking on the ‘Mom’ tag, and then clicking on the ‘5 star’ node in the ‘Ratings’ section of the tree (assuming I had also rated all of my photos of her).


These multi-selections have different interactions depending on whether you select nodes of the same ‘type’ (e.g. nodes under the ‘Tags’ section of the tree are considered a different ‘type’ than the nodes under the ‘Date Taken’ section of the tree, etc.). If I select two nodes of the same type, I will see all photos that have either tag assigned (e.g. ‘Mom’ OR ‘Dad’). However, if I select nodes of different types, I will see only the photos that match both nodes (e.g. ‘Mom’ AND ‘5-star’). It sounds really confusing, but in practice, we’ve found that it matches user expectations most of the time. Here are a few examples:

  • Select a few tags corresponding to several family members, a date, and a rating: You’ll see all of the photos of all of those people, but only the ones that were taken on that date, with that rating assigned.

  • Select a folder and the ‘Videos’ node: You’ll see only the videos in the selected folder.

  • Select a date, and the ‘Not Tagged’ node: You’ll see all of the photos taken on that date that don’t have any tags assigned.

When you organize your tags (or folders) in a tree, it’s called a hierarchy. Not only does this help you to group similar items together, but it also helps keep the size of your tree manageable as you add more and more tags.


I created a top-level tag called ‘People’. Under that, I created a tag called ‘Family’.  I also have tags for friends and co-workers so I can find them easily. Under the Family node, I create more tags by last name to help me quickly distinguish between my own family, and my sisters and their families. Once I have this structure set up, I can easily see all of my family photos by clicking on the top level ‘Family’ node or only my sisters’ family by clicking on their node. I can drill in further to see photos of my individual nieces and nephews by clicking on the tags assigned to them.


It’s easy to create tag hierarchies, just drag and drop the tags around the tree to re-arrange them. This makes it easy for people to start small with their tagging efforts (just a few tags in a flat list), and grows with them over time as their list of tags gets longer and more complex.


The concept of hierarchies is no different from a folder hierarchy, but here you get the benefit of tags, meaning that you can always easily find the images or videos you’re looking for – you get the best of both worlds, the organization of folders with the easy use and searchability of tags!


Scott Dart – Program Manager

Comments (11)

  1. Kdbertel says:

    Sounds awesome. I’m rather excited that this stuff is going to be built into the operating system.

    However, I have an interesting question: where is the data for the tags actually stored? In the picture, or in a separate data file/storage folder?

    This leads to interesting scenarios, too. Suppose I tag a picture as "Mom", and send it to one of my friends. Is it still tagged as "Mom", or does it lose that tag?

    If there’s a data storage answer, how easy is it to backup manually? After all, I might want to burn my albums to CD every so often as a backup, just in case something were to happen. Or I might want to store them on a network drive. Or I might just want to transfer them to my new computer? Can I keep all the tag information?

    On top of that, what happens if I already have a tag database on my machine, and I want to import a different tag database? Does it simply merge them?

    I think this is a cool feature and all, I’m just a little wary about it, mostly when it comes to backing up

  2. Scott Dart [Microsoft] says:

    That’s a great question!

    In Vista, our goal is that “the truth is in the file”. Although the Photo Gallery uses a database to store the tags (mainly for performance reasons), we write the metadata back to the file whenever possible (we can’t do this if the file is marked read-only, or if the file format doesn’t support metadata – like .bmp).

    We’ll have future blog posts that cover these subjects in much more detail, but to answer some of your questions:

    – If you copy a file with the ‘Mom’ tag to another machine, it will also have the ‘Mom’ tag on that machine (because it’s in the file, it automatically travels with the file). If you send this file to your Mom, it might make sense for her to re-name the Tag to her own name once it shows up on her machine 🙂

    – Because the tags are written to the file, you only need to backup your photos, not the Photo Gallery database.

    – Scott Dart [Microsoft]

  3. Kdbertel says:

    So, the image metadata is stored in the image file itself. Is that, in general, respected by other image editors, such as Photoshop or Paint.NET? I’m also mildly curious as to what file formats do support metadata, but I imagine I could search for that easily.

    Is it easy to remove tags from a photo? I can see people making errors in general, and there is the "oh, this isn’t a reference to ‘mom’ for me, it’s a reference to ‘sister’" issue, with transferring files. Adding looks to be just a drag/drop issue. Is it as easy to remove/rename/change?

    So the photo gallery has a database backend, presumably for indexing reasons and such. I suppose if you suddenly copy a massive amount of tagged files (say, from a backup), that it’ll go through and index them, add them to the database, and do all sorts of magic on them. Does that incur a performance hit, or is most of that stuff done in the background? Do images have to be added to the database, or does it automatically search?

    I imagine a lot of this will be answered in future blog posts, I’m just impatient. And I find that I have questions about odd little things that are never answered 🙂

    Oh, and I guess the "truth is in the file" philosophy carries to things other than images, such as music, video, documents, and so on?

  4. Scott Dart [Microsoft] says:

    "Truth in the file" is a principle that applies to all document types in Vista, not just photos. For photos, metadata is written back to an XMP block in the file. XMP is an industry standard for imaging metadata that was developed by Adobe. The APIs for reading and writing this metadata are publically documented, so although not all applications read this today, they will be able to add this support in the future.

    Removing or renaming tags is (almost) as easy as adding them. You can right-click on any tag to remove it from one photo (or all photos), or rename it (for one photo or all). You can also drag and drop a set of files to the ‘Not Tagged’ node in the tree if you quickly want to remove all tags from those files.

    All of the metadata reads and writes are done in the background to minimize the performance impact, although if you’re copying tens of thousands of items, you’ll see some latency while we get caught up 🙂 If you’re curious to see how many files read/writes are pending, look for a small blue icon at the bottom of the Nav Tree. If you don’t see it – all files are in sync with the database. If you do see it, hover over it with your mouse for more info.

    You can configure the Photo Gallery to monitor any folder for changes. Then all of these updates will happen automatically. Standard locations (e.g. Pictures folder) are monitored by default.

    Thanks for your questions!

    – Scott Dart [Microsoft]

  5. Kdbertel says:

    Okay, drag-drop to "Not Tagged" to remove all tagged is just cool. It’s one of those things I just would never have thought of! I mean, it makes sense, but it’s just not the way I think (since I think of the tag menu as the database queries, and that I have to go through context menus to tag pictures).

    I assume there’s also ways of taking pictures out of the Photo Gallery database and such. If nothing else, deleting the picture should work.

    You now have me excited about a feature I didn’t even know was going to be in Vista a few days ago 🙂

    Thanks for answering my questions!

  6. Scott Dart [Microsoft] says:

    Glad you like it!

    The Photo Gallery monitors entire folders, so if you don’t want to see a photo in your Gallery, rather than delete it, you can move it to a folder that isn’t monitored, or remove that folder from the Gallery.

    The folders that are added by default cannot be removed (sorry, it was just too easy for novice users to get into trouble that they couldn’t recover from), but any other top level folder that you have added can be removed from ‘scope’ by right clicking on it in the Nav Tree. You can always tell what’s ‘in scope’ by looking under the folders section of the Nav Tree.


    – Scott Dart [Microsoft]

  7. Kdbertel says:

    The folder monitoring idea is outstanding.

    Is it smart enough to also go crawling through compressed files, or do the read/write requirements prevent that in any realistic fashion?

    What folders are added by default? $HOME/Pictures, I imagine. Also the directories shared on the PC? (I don’t remember how intra-PC user sharing or network sharing works on Vista; I read an article on it somewhere…)

    Is there any planned integration with the pictures screensaver? My family has a computer in the living room with a screensaver of family pictures and vacation pictures and stuff like that. Whenever we have family over, they’re asking "Oh, what’s that a picture of?" I know my father has noted how nice it would be to be able to attach a comment to a picture (can the XMP standard handle that?), which then can display on the screensaver. That way, he doesn’t have to say, "Oh, that’s Aunt May when she was in Colorado" or something like that.

    Just a feature thing that came to mind. I’m looking forward to seeing how this technology is integrated into everything else, and TV display and stuff.

    And seriously, thanks very much for answering questions. It’s really cool that you all have these blogs so inquiring minds like mine can ask questions. I now talk all the time about cool new feature X or Y that’s going to be in Vista. That wouldn’t be possible if I didn’t have these blogs to read 🙂

  8. Scott Dart [Microsoft] says:

    The folders that are added by default are the ‘Pictures’ and ‘Videos’ folders in your user profile, as well as the same corresponding folders in the ‘Public’ profile. These ‘shared’ folders are a great place to put photos and videos that are used by multiple users on the PC. Unfortunately, ‘zip’ folders are not monitored by the Photo Gallery.

    The Photos Screensaver in Vista does work with the Photo Gallery. We’ll talk more about this in future blogs, but you can configure it to show only photos with a certain tag or rating level (for example). Although the Photo Gallery (and XMP) support captions on photos, these captions are not diplayed during slideshow or screensaver.

    Thanks for all of the great questions!

    – Scott Dart [Microsoft]

  9. Kdbertel says:

    Sounds awesome!

    Though as a feature-request-type-thing, the ability to have captions display (or not) during the screensaver/slideshow would be a great feature. I know I and my family would find it useful, and I’m sure plenty of other people would agree. But it can be a future enhancement 🙂

    I’m still excited about the new photo viewer. It makes me wish it were a year from now (graduation from college == new PC), just so I could get my hands on all this awesomeness.

  10. Why did you choose multi-select via ctrl+click, which I think is very undiscoverable, versus putting check boxes with each item, and allowing multiple check boxes to checked?

  11. kasper says:

    The hierarchy is a great feature that many photo management tools start to adopt!

    How do you plan to store the structure? What part of the hierarchy is stored as metadata in the file? The whole thing only parts of it?

    Let’s say I make a structure like this:


    >> Family

    >>> Mum

    >>> Dad

    >> Friends

    >>> Bob


    The top level keyword will in this case (and many others) is not very useful to me as a keyword written in the file (a search for the word "people" is pretty useless), but the last keyword, ex. "mum" would be essential to have in the file.

    The opposite case can also be made – where ALL keywords in the structure are equally important to have in the file.

    Will there be a choice for writing the keyword only, or keyword and structure and/or parents into a file? or what are your thoughts on this?