Windows Live Photo & Video Blog

Official blog for the Windows Live Digital Memories Experience team

June, 2006

  • Windows Live Photo & Video Blog

    Making your app work with 'Open With' in the Photo Gallery

    Windows Photo Gallery provides an easy launching point for users to open pictures and videos with their favorite applications.  If you’re a developer of an image or video application, here’s how you can integrate your app with Windows Photo Gallery.

    The UI

    Windows Photo Gallery provides two places where the user can launch other applications. One is the 'Open' menu, available by pressing the 'Open' button on the command bar. The other is the 'Open With' item on the context menu, available by right-clicking an item in the gallery

    How it works

    Windows Photo Gallery uses the shell’s standard mechanism for identifying applications that are registered as handling files with given extensions.  For your app to show up in the 'Open With' list for a particular file type (.JPG, for example), your installer will need to create the appropriate registry keys to register your app as a recommended handler for that type of file. For details, see the MSDN documentation for Creating a File Association. Additional useful documentation is under Arbitrary File Types.

    The advantage of setting up the proper registry keys in your installer is that not only will your app appear in Windows Photo Gallery’s menus, but it will also show up in the shell’s own 'Open With' menu (for example, when you right-click on an item in Explorer).

    Working with multi-select

    Windows Photo Gallery also supports multi-select; you can select multiple items, and open them all at once with the same application. For example, if you select three videos and drop down the 'Open' Menu, you’ll see Windows Media Player in the menu—and if you select it, it will launch with those three videos in a playlist.

    There are two ways that your app can support multi-select in Windows Photo Gallery.

    The first way is if your app happens to be the app associated with the default shell verb (e.g. “open,” “play,” etc.) for the selection, and implements a drop target. For details, see Verbs and File Associations on MSDN, specifically the discussion of DropTarget in the section entitled “How the Shell Invokes Verbs.”

    If you want your app to support multi-select without being the primary app associated with the file type, then the steps are somewhat more involved. The MSDN article File Types mentions briefly what is needed, but some additional description may be helpful, so please see the example below.

    Example 1: Supporting .JPG with multi-select

    Suppose you want your app to support opening multiple .JPG images at once. You could register it as the target of the shell’s “open” verb for .JPG files, but suppose you don’t want to do that; you merely want to be available as an “open with” option.  Here’s what you do:

    Step 1:  Create a PROGID.
    You need to create a PROGID for your application for the specific file type.  Suppose your app is called MyApp.exe, and you decide on the name MyAppImageFile as your PROGID. You would need the following registry keys:

    HKEY_CLASSES_ROOT
        MyAppImageFile
            shell
                open
                    command
                        (Default) =
    your app’s command string (type: REG_SZ or REG_EXPAND_SZ)
                    DropTarget
                        CLSID = your drop target’s CLSID (type: REG_SZ)
       

    Step 2:  Register your PROGID with the file extensions you want to support
    For each file extension you want to work with your app, you need to add it as a value to the extension’s OpenWithProgIds key.  In this example, you want your app to work with .JPG files, so you would add the following value:

    HKEY_CLASSES_ROOT
        .jpg
            OpenWithProgIds
                MyAppImageFile (type: REG_NONE)

    If you want to support other extensions as well, you could add OpenWithProgIds values to those extensions, all pointing at your PROGID.

    Example 2:  Supporting .JPG and .PNG multi-select in Windows Media Player

    Windows Media Player happens to be able to open image files such as .JPG and .PNG, even though it’s not registered as the primary handler for those file types.  We can enable it as a multi-select-enabled app for those image types by following the steps described above.  Paste the following text into a .reg file and double-click it in Explorer; having done so, Windows Media Player will now show up as an option on the Open With menu in Windows Photo Gallery, if you have multiple .JPG and/or .PNG files selected.  I’ve arbitrarily picked “ImageFileForWmp” as the PROGID to use.

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\.jpg\OpenWithProgids]
    "ImageFileForWmp"=hex(0):

    [HKEY_CLASSES_ROOT\.png\OpenWithProgids]
    "ImageFileForWmp"=hex(0):

    [HKEY_CLASSES_ROOT\ImageFileForWmp]

    [HKEY_CLASSES_ROOT\ImageFileForWmp\shell]

    [HKEY_CLASSES_ROOT\ImageFileForWmp\shell\open]

    [HKEY_CLASSES_ROOT\ImageFileForWmp\shell\open\command]
    @=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\  00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,\  4d,00,65,00,64,00,69,00,61,00,20,00,50,00,6c,00,61,00,79,00,65,00,72,00,5c,\
    00,77,00,6d,00,70,00,6c,00,61,00,79,00,65,00,72,00,2e,00,65,00,78,00,65,00,\  22,00,20,00,2f,00,70,00,72,00,65,00,66,00,65,00,74,00,63,00,68,00,3a,00,36,\
    00,20,00,2f,00,4f,00,70,00,65,00,6e,00,20,00,22,00,25,00,4c,00,22,00,00,00

    [HKEY_CLASSES_ROOT\ImageFileForWmp\shell\open\DropTarget]
    "CLSID"="{CE3FB1D1-02AE-4a5f-A6E9-D9F1B4073E6C}"

    - Bryan Beatty (Software Development Engineer)

  • Windows Live Photo & Video Blog

    Quick Search in the Windows Photo Gallery

    • 4 Comments

    In addition to using the Navigation Tree for finding your photos and videos in the Photo Gallery, you can also use the Quick Search feature. Quick Search allows you to filter down the items in view to only those that match the text that you type.

    Example: If I’m looking at all of my photos, and I want to see only photos of flowers, I can start typing ‘flowers’ in the Quick Search box, and any photo that doesn’t match ‘flowers’ in some way will fall away from view as I type. In fact, I don’t even need to type the full name. After only a few keystrokes, I have the results I’m looking for.

    That’s because I have tagged those photos with the ‘Flowers’ Tag. But even if I hadn’t tagged those photos, I could still use Quick Search. Quick Search will attempt to match any words that it finds in any of the following places:

    • Tags
    • File Names
    • File Paths
    • Captions

    The word that you type in the Quick Search box doesn’t have to be the first word in the string you’re trying to match, but it does have to be at the beginning of the string in order for it to match (if I type ‘wers’, it won’t match photos tagged with ‘flowers’, because we don’t look for matches in the middle of words).

    Power user tip: It’s not necessary to use ‘wildcards’ (like * or %) in your searches. We treat every string like there’s a wildcard at the end of it. Any characters you type are matched literally.

    If you search for multiple words, Quick Search will only return photos that match all of the words you type. Example: If I wanted to see only pictures of flowers and butterflies together, I could type ‘flowers butterflies’ in the Quick Search box.

    Power user tip: You rarely have to type the full word to match. Typing ‘fl bu’ was all that I had to type on my machine to match all of the photos that contained both flowers and butterflies.

    Quick Search is so effective that I can often leave my Gallery on the ‘All Pictures’ node in the Nav Tree, and just use Quick Search to find the photos I’m looking for. It can also be used to further filter down the results from any selection in the Nav Tree.

    Some Beta 2 users have noticed that the Quick Search feature in other parts of Windows Vista (like Explorer, or Windows Media Player for example), allow you to perform more advanced searches than in the Photo Gallery (for example, being able to search for files that don’t include a certain tag). Due to differences in our architecture, we were unable to get these advanced search capabilities into this release of the Photo Gallery, but we’d be interested in hearing how you might use some of these features if we included them in a future release.

    Happy Searching!

    Scott Dart – Program Manager

  • Windows Live Photo & Video Blog

    Tagging

    • 9 Comments

    Today, I’ll be talking about the various ways that you can tag your photos and videos using the Windows Photo Gallery.

    Info Pane
    Clicking on the ‘Info’ button in the toolbar opens the ‘Info Pane’, which allows you to view and edit metadata for the selected photos and videos. In addition to Tags, you can edit the following metadata just by clicking on it:

    • File name
    • Date and time taken
    • Rating
    • Tags
    • Caption

    But let’s focus on tagging for now. After making your selection, click on the ‘Add Tags’ control and start typing. If you have any tags on any of your photos, you’ll notice that an auto-complete menu pops up with a list of any tags that match what you’re typing. This makes it easy to add frequently-used tags to photos over and over.

    Power-user tip: This auto-complete behavior works even if you have a complex tree of tags. And if you haven’t created a tree structure yet, you can create one just by typing a backslash character (“\”) in your tag name (e.g. Friends\Bob).

    Drag and Drop
    The Navigation Tree is also an easy way to tag your photos and videos. You can quickly create new tags here by clicking on the ‘Create a New Tag’ node (which is always the first entry in the tag tree), and typing the name of your new tag. You can then drag-and-drop to place your new tag where you’d like it in the tree.

    Once you have a tag created in the tree, just drag and drop photos and videos to it to assign that tag to them. You can drag items one at a time, or as part of a multi-selection.

    In addition to using drag and drop to assign Tags, you can also drag and drop photos and videos to other parts of the tree as well. Drag items to a date on the tree to change the date taken. Drag items to a rating to set the rating for those items. And you can drag and drop items to folder the same way you’re used to in Windows XP.

    - Scott Dart


  • Windows Live Photo & Video Blog

    Windows Photo Gallery Article

    Barb Bowman has written a great article providing an overview of the Windows Photo Gallery and its features. We’ve provided a pointer to this article under the links section of our page to make it easier for everyone to find it. We’re happy to answer questions on anything that she’s written.

    Thanks Barb!

  • Windows Live Photo & Video Blog

    Advanced searching using the Navigation Tree

    • 11 Comments

    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.

     

    Multi-Selection
    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.

    Hierarchy
    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

  • Windows Live Photo & Video Blog

    Windows Photo Gallery: Navigation Tree

    • 7 Comments

    Before you can do anything in the Gallery, you have to be able to find the photos (or videos) that you’re looking for, and that’s where the Navigation Tree (or Nav Tree for short) comes in.

    The Nav Tree in the Windows Photo Gallery allows you to find your photos in a number of different ways, by clicking on the part of the tree that makes the most sense for how you want to search: ‘All Pictures and Videos’, ‘Recently Imported’, ‘Date Taken’, ‘Folders’, etc. Click on a ‘Date Taken’ node to find all of the photos taken on a specific date (your camera typically supplies this information automatically), or click on a ‘Folder’ node to see all of the photos in that folder - pretty straight forward and familiar.

    Tags
    Tags may require some explanation. They can be any word or phrase that you use to describe the picture that you might later use to find that picture. For example, if I took a picture of my mom by the Space Needle, I might add the tags "Mom", "Space Needle", and "Seattle". Then, if someday I go looking for a picture of my mom, or of Seattle, I can just click the "Mom" tag or the "Seattle" tag in the Nav Tree and the picture will be there.

    Obviously, this has a big advantage over just folders. If I had created folders for Mom, the Space Needle, and Seattle, I would have to either choose which folder to put the photo in or make three copies of the same picture. With tags, I can organize the same picture in as many different categories as I need to.

    Of course, one of the huge advantages of tagging is that you can search based on your tag, which makes it even faster and easier to find that photo of my mom at the Space Needle without having to browse through multiple folders or tags in the Nav Tree.

    Ratings
    The Gallery uses a 5-star rating system to help you find your best photos. You can add a rating to any photo while you’re viewing it by clicking on the rating control in the info pane (look for more on that in future posts). Then, when you want to find your best photos, just click on a star in the Nav Tree, and we’ll show you all of the photos with that rating (and above to show your ‘best’ photos). If you only want to see photos with a specific rating (maybe you want to delete your 1-star photos), you can use the control key to de-select the stars you don’t want to see.

    Selection in the Nav Tree
    One thing that may not be immediately obvious is how selection works in the Nav Tree. Let’s say that you have a tag "Family" and you’ve create sub-tags under it like "Mom" and "Dad". When you click on "Family" in the tree, we’ll automatically also select "Mom" and "Dad" for you, so that all photos tagged with either "Mom" or "Dad" will show up, even though you never explicitly added the "Family" tag to any of those photos.

    If this isn’t what you want, you can right-click a parent node to select it by itself and not its children.

    That’s all for now, in the next article we’ll dive into some techniques for advanced searching using the Nav Tree.

    Scott Dart - Program Manager

Page 1 of 1 (6 items)