`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`[0001] This application is a continuation of US. Application 11/746,285 entitled “USER
`INTERFACE FOR SELECTING A PHOTO TAG” and filed on May 9, 2007. US. Application
`11/746,285 is fully incorporated by reference herein.
`
`FIELD OF THE INVENTION
`
`[0002] The present invention relates generally to a user interface for selecting a photo tag.
`
`BACKGROUND
`
`[0003] Identifying people or objects in photographs is popular in many online contexts, such as
`photo sharing, social networking, etc. Selecting a "tag" to associate with an identified point in a
`photograph can be a complicated task if there are many potential
`tags to choose from.
`In
`addition, wireless mobile communication deVice where there are constraints on the size of the
`display and the flexibility of the input method, some of these common techniques used on
`desktops and laptops with filll sized screens do not work as well.
`
`[0004] What is needed is an improved user interface for selecting tags in a smaller display, such
`as may be found on a wireless mobile communication deVice.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0005] In the figures which illustrate exemplary embodiments:
`
`FIG. 1 is an illustration of a deVice in accordance with an embodiment;
`
`FIG. 2 is a schematic block diagram of a communication subsystem component in the
`deVice of FIG. 1;
`
`Blackberry's Exhibit No. 2009
`Page 1 of 28
`
`
`
`FIGS. 3A to 3E are illustrative user interface screens for editing photo tags in accordance
`with an embodiment;
`
`FIGS. 4A to 4F are illustrative user interface screens for selecting a photo tag in
`accordance with an embodiment;
`
`FIG. 5 is an illustrative flowchart of a method for editing photo tags in accordance with
`an embodiment; and
`
`FIG. 6 is an illustrative flowchart of a method for selecting a photo tag in accordance
`with an embodiment.
`
`DETAILED DESCRIPTION
`
`[0006] As noted above; the present invention relates to a user interface for selecting a photo tag;
`particularly within a smaller display; such as may be found on a wireless mobile communication
`device.
`
`[0007] In an illustrative embodiment; the invention may be practiced with a handheld mobile
`communication device in a wireless operating environment. Shown in FIG.
`1
`is a schematic
`block diagram of an
`illustrative handheld mobile communication device
`100. The
`communication device 100 may comprise a number of components; including a main processor
`102 which controls the overall operation of communication device 100. Communication
`functions;
`including data and voice communications; may be performed through a
`communication subsystem 104. The communication subsystem 104 may receive messages from
`and send messages to a wireless network 200.
`
`[0008] The main processor 102 may also interact with additional subsystems such as a random
`access memory (RAM) 106; a flash memory 108; a display 110; an auxiliary input/output (I/O)
`subsystem 112; a data port 114; a keyboard 116; a trackball 117; a speaker 118; a microphone
`120; short-range communications 122; a GPS subsystem 124; a camera module 126; and
`associated camera logic 128.
`
`[0009] Some of the subsystems of the communication device 100 may perform communication-
`2
`
`Blackberry's Exhibit No. 2009
`Page 2 of 28
`
`
`
`related filnctions, whereas other subsystems may provide "resident" or on-device filnctions. By
`way of example, the display 110 and the keyboard 116 may be used for both communication-
`related filnctions, such as entering a text message for transmission over the network 200, and
`device-resident functions such as a calculator or task list. The trackball 117 may be used for
`various navigation functions, such as navigating through a graphical user interface (GUI) menu
`displayed on display 110. The trackball 117 may also be configured with a secondary actuation
`feature, such as allowing a user to depress the trackball, to allow selection of a highlighted item.
`
`[0010] The camera module 126 may be adapted to capture an image through a lens onto a light
`sensitive image sensor such as a charge coupled device (CCD) sensor array or a complementary
`metal oxide semiconductor (CMOS) sensor array. The camera lens may be a fixed focus lens, or
`a variable focus lens with or without zoom features and controlled by camera logic 128 to focus
`an image onto the CCD or CMOS sensor array. The size and pixel density of the CCD or CMOS
`sensor array may be suitably selected for the image resolution required for a particular
`application. Camera logic 128 may also control the camera lens aperture and/or shutter speed by
`incorporating a suitable light exposure meter.
`Image capture using camera module 126 may
`initiated by a user controlling a dedicated camera shutter, or a context dependent programmable
`button or key (on keyboard 116, for example) that may act as a camera shutter button.
`
`[0011] Once captured by the CCD or CMOS sensor array, the image may then be processed by
`camera logic 128 into a suitable digital
`image file format such as Joint Photographic Experts
`Group (JPEG), Tagged-Image File Format (TIFF), Bit Mapping (BIVIP), different variations on
`these standard image file formats, or a vendor proprietary RA W image format. The image file
`format may allow for the addition of image metadata to an image file in an industry standards
`exchangeable image file format (EXIF), or in some vendor proprietary meta-data format. The
`image file may then be stored in available device storage such as RAM 106 or flash memory
`108, and displayed on display 110.
`
`[0012] Still referring to FIG. 1, operating system software used by the main processor 102 is
`typically stored in a persistent store such as flash memory 108. Those skilled in the art will
`appreciate that
`the operating system, specific device applications, or parts thereof, may be
`temporarily loaded into a volatile store, such as the RAM 106, for processing by main processor
`3
`
`Blackberry's Exhibit No. 2009
`Page 3 of 28
`
`
`
`102.
`
`[0013] The communication device 100 may send and receive communication signals over the
`wireless network 200 after required network registration or activation procedures have been
`completed. Network access may be associated with a subscriber or user of the communication
`device 100.
`
`[0014] The communication device 100 may be a battery-powered device and may include a
`battery interface 132 for
`receiving one or more rechargeable batteries
`130.
`In some
`embodiments, the battery 130 may be a smart battery with an embedded microprocessor. The
`battery interface 132 is coupled to a regulator (not shown), which assists the battery 130 in
`providing power V+ to the communication device 100. The battery 130 may be used to power all
`components and modules in the communication device 100,
`including the camera module 126
`and associated camera logic 128.
`
`[0015] The main processor 102, in addition to its operating system functions, enables execution
`of various software applications 134 on the communication device 100. A subset of software
`applications 134 that control basic device operations, including data and voice communication
`applications, will normally be installed on the communication device 100 during its manufacture.
`
`[0016] The software applications 134 may include a messaging application 136. The messaging
`application 136 can be any suitable software program that allows a subscriber or user of the
`communication device 100 to send and receive wireless text communications. Various
`alternatives eXist for the messaging application 136 as is well known to those skilled in the art.
`Messages that have been sent or received by the user are typically stored in local storage such as
`flash memory 108 of the communication device 100, or in some other suitable storage element in
`the communication device 100.
`In an alternative embodiment, some of the sent and received
`messages may be stored remotely from the communication device 100 such as in a data store of
`an associated host system that
`the communication device 100 communicates with.
`In an
`embodiment, the messaging application 136 may include a Message List user interface that is
`configured to allow a user to see a list of message objects (i.e. email messages) in a convenient
`list form. This will be described in detail further below.
`4
`
`Blackberry's Exhibit No. 2009
`Page 4 of 28
`
`
`
`[0017] Still referring to FIG. 1, communication device 100 may execute an Image Applications
`Module 148 that may be operatively integrated with camera module 126, camera logic 128, main
`processor 102, RAM 106, display 110 and various other modules and components to provide
`various image application filnctions for the images captured by the camera module 126. Image
`Applications Module 148 may include various sub modules which may interact with each other,
`and with other application modules such as the messaging application 136,
`Internet browser
`module 138, address book module 142, etc. in order to perform various filnctions.
`
`[0018] In an embodiment, one of the sub modules of the Image Applications Module 148 may be
`a photo tagging module 148A configured to allow a user to identify various subjects and objects
`within a photo. Photo tagging module 148A will be discussed in more detail further below.
`
`[0019] In an embodiment, another of the sub modules of the Image Applications Module 148
`may be a photo tagging module 148A configured to allow a user to select a photo tag from a list
`of tags associated with various subjects and objects within a photo. Photo tag selection module
`148B will be discussed in more detail further below.
`
`[0020] The communication device 100 may further include a device state module 140, an
`address book 142, a Personal Information Manager (PIM) 144, and various other modules 150.
`Additional software applications may also be loaded onto the communication device 100 through
`at least one of the wireless network 200, the auxiliary I/O subsystem 112, the data port 114, the
`short-range communications subsystem 122, or other device subsystem 124.
`
`[0021] Now referring to FIG. 2, shown is an illustrative front view of a handheld mobile
`communication device 100 that may provide a suitable operating environment. As shown, the
`communication device 100 may include a display 110, a keyboard 116, and other input or
`navigation means such as a trackball 117. The display 110 may be configured to display various
`screens allowing the user of device 100 to view screen outputs from the various software
`applications 134,
`including the image applications 148. Display 110 may also be configured to
`provide a touch-sensitive screen input in response to a prompt or query displayed on display 110.
`The communication device 100 may further include a camera lens that may be used to capture an
`image as described above with reference to FIG. 1. In an embodiment, the integrated camera 126
`
`5
`
`Blackberry's Exhibit No. 2009
`Page 5 of 28
`
`
`
`may provide a camera lens 127 on the back of the communication device 100, such that a user
`may use the display 110 as a camera viewf1nder for framing an image.
`
`[0022] Now referring to FIG. 3A, shown is an illustrative user interface screen 300A in which
`photo tagging module 148A may be configured for tagging a photograph in accordance with an
`embodiment. As shown, a photo 301 of a subject 302 is displayed within the boundaries of the
`user interface. With this user interface, a tag list 304 may include various tags associated subject
`302 or other subjects or objects within the photo 301. The user may click an "Add" button 306 in
`order to enter a photo tagging mode as described below.
`
`[0023] Now referring to FIG. 3B, as shown in screen 300B, once in the photo tagging mode, the
`photo tagging module 148A may be configured to display to the user a pointer, such as cross-hair
`pointer 308 on the photo 301. The user may move the cross-hair pointer 308 around the photo
`301, but unlike common web browser interfaces, the crosshair pointer 308 may be constrained by
`the photo tagging module 148A to be navigable only within the boundaries of the photo 301. The
`user does not have the ability to move the cross-hair pointer around the rest of the screen and
`perform other tasks, and the navigation device (e.g. trackball
`l 17) is thus dedicated to this photo
`tagging function until the user exits tagging mode. As will be appreciated, this may allow users
`to avoid inadvertently clicking on some button or menu option just outside of the borders photo
`301 when attempting to tag a subject or object near an edge of the photo. This may be
`particularly useful on a smaller display, where greater dexterity may be required in order to
`navigate within a small area using a small navigation device.
`
`the user may cancel tagging mode using the escape key and
`[0024] When in tagging mode,
`return to simply viewing the existing tag information. Alternatively, the user may choose to add
`a tag at the current location of the crosshair pointer 308 using an enter key or clicking on the
`navigation device (e.g. trackball 117).
`
`[0025] If the user chooses to add a tag, the user may be presented with another user interface to
`select
`the tag type and the context
`information associated with the tag. As an illustrative
`example,
`the tag types could include a free-form alphanumeric string, FacebookTM friends,
`address book entries (in address book 142), browser bookmarks (in Internet browser module
`
`6
`
`Blackberry's Exhibit No. 2009
`Page 6 of 28
`
`
`
`13 8), etc.
`
`[0026] Now referring to FIG. 3C, as shown by way of illustration in screen 300C, when a tag has
`been added by a user using photo tagging module 148A,
`the added tag 310 associated with
`subject 302 may appear in the tag list 304 near the photo 301.
`
`[0027] In an embodiment, the tag 310 could also include an icon, or some other type of Visual
`indicator adjacent the tag 310, indicating what type of tag it is. Thus, many different types of tags
`may be used to tag subjects or objects in the photo 301.
`
`[0028] Now referring to FIG 3D, as shown by illustration in screen 300D, when the user scrolls
`over the tag 310 in the tag list 304,
`the corresponding subject 302 in the photo may be
`highlighted by the photo tagging module 148A in some way. This highlighting could be
`different, depending on what type of tag it is. For example, for a FacebookTM friend the pointer
`could be a grey square pointer 312 (e.g.
`like Facebook uses online). As another example shown
`in screen 300E of FIG. 3E, for a free-form text tag 314, the tagged point in the photo 301 could
`be indicated with a circle pointer 316.
`
`[0029] When the user scrolls over a tag 310 in the tag list 304, a menu may be activated with
`options associated with the tag. For example, there may be menu items to edit or delete the tag.
`There may also be context sensitive menu options associated with the specific tag type. For
`example, for a Facebook friend there may be an item to View the friend's Facebook profile. For
`an address book entry,
`there may be an item to View the user's address card. For a browser
`bookmark, there may be an item to Visit that website.
`
`[0030] In another embodiment, once subjects or objects have been tagged in the photo 301,
`photo tagging module 148A may be configured such that upon user selection of a tag 310 in the
`tag list 304 the corresponding tagged subject or object in the photo 301 may be highlighted using
`the corresponding pointer identifying the tag type.
`
`[0031] In another embodiment, once subjects (e.g. subject 302) or objects have been tagged in
`the photo 301, photo tagging module 148A may be configured such that upon user selection of or
`scrolling over a tagged subject or object in the photo 301, the corresponding tag 310 may be
`7
`
`Blackberry's Exhibit No. 2009
`Page 7 of 28
`
`
`
`highlighted in the tag list 304. As well, context data associated with the tag may be displayed
`(e.g. in a pop-up window) upon user selection, or automatically if so configured.
`
`[0032] Thus, using the above described user interface, a plurality of tag types may be used to tag
`subjects and objects in a photo, and a type-specific data may be associated with each tag --such
`as the visual indicator or symbol used to highlight the tagged subject or object in the photo, the
`custom actions available for the tag, etc.
`
`[0033] Now referring to FIG. 4A, shown in screen 400A is an illustrative tag selection user
`interface 404 for displaying a tag search facility as may be presented by photo tag selection
`module 148B. As shown in FIG. 4A, the user is initially presented with a tag entry field 406
`indicating that he should start typing a tag. Upon completion of typing, the user may click "OK"
`408 to select the tag.
`
`[0034] In an embodiment, as the user begins to type, photo tag selection module 148B may be
`configured to search one or more selected "tag sources" for tags that match the currently entered
`text. As shown by way of illustration in screen 400B of FIG. 4B, these tag sources could include,
`for example, a list of friends from an online service like FacebookTM , a list of contacts from the
`user's address book 142, a list of the user's browser bookmarks (in Internet browser 138), a cache
`of recent free-form text entries, etc.
`
`[0035] As shown in screen 400C of FIG. 4C, and 400D of FIG. 4D, photo tag selection module
`148B may be configured to display any matching tags (e.g. 412a, 412b, 412c) from one of the
`tag sources to the tag being typed by the user in the tag entry field 406 in a matching tag list 412.
`Each tag may have an icon or some other visual identifier associated with it that clearly indicates
`its type, and allows the user to quickly distinguish between different types of tags.
`
`[0036] If the user types text that does not match any tag from the tag sources in the matching tag
`list 412, the photo tag selection module 148B may create a new free-form tag entry and add it to
`a free-form text cache as a new tag entry. The free-form text cache may then become one of the
`tag sources for any subsequent tag selection by the user.
`
`[0037] As the user continues to type, if a tag that the user wishes to select appears in the
`8
`
`Blackberry's Exhibit No. 2009
`Page 8 of 28
`
`
`
`matching tag list 412, the user can scroll to the tag in the matching tag list 412 and select it by
`pressing enter or clicking on the navigation device (e.g. trackball 117). For example, as shown in
`screen 400E of FIG. 4E, the user may select a tag 412c which may then be placed into the tag
`entry field 406. The matching tag list 412 then disappears, and the selected tag may appear
`beside the photo (e.g. tag 310 as shown in FIG. 3C associated with subject 302 in the photo 301).
`
`[0038] Significantly, as the matching tag list 412 includes possible tags that may be used from
`various selected tag sources (such as the user's Facebook friends, the user's address book 142, a
`list of the user's browser bookmarks from Internet browser 138, a cache of the recent free-form
`text entries, etc.), the user is provided with a simple way to associate subjects or objects in a
`photo with a predefined "tag" from one of a number of selected tag sources, as may be defined
`by the user. Thus, the free-form text cache would just be one of many possible tag sources, all of
`which contribute matching tag entries to the matching tag list 412.
`
`[0039] Now referring to FIG. 4F, once a tag has been entered into the tag entry field 406, photo
`tag selection module 148B may be configured to allow the user to choose to view some context
`data associated with the tag (e.g. an address card if the tag identifies a contact in the user's
`address book 142). Finally, photo tag selection module 148B may be configured to allow the
`user to accept the new tag and return to the photo tagging user interface (described above with
`respect to FIGS. 3A to 3E), or cancel the tag selection and return to the photo tagging user
`interface.
`
`[0040] In an embodiment, in addition to the tag sources mentioned above, another type of tag
`source may be landmark tags with associated geographic location information. For example, if a
`photo contains a number of distinctive landmarks, it may be possible for each landmark to be
`tagged with a unique geographic location tag (e.g. specific latitude and longitude coordinates for
`each landmark). Such a list of geographic location tags may be obtained, for example, as a user
`visits each of the landmarks identified in the photo.
`
`[0041] For example, an aerial photo of the National Mall in Washington DC may show a number
`of famous landmarks such as the Lincoln Memorial, Vietnam Veterans Memorial, and The
`Washington Monument in the same photo. A user who has visited each of these landmarks,
`
`9
`
`Blackberry's Exhibit No. 2009
`Page 9 of 28
`
`
`
`provided appropriate names, and recorded geographic location information at each landmark
`location may then subsequently select a landmark tag by name from the prepared landmark tag
`list in order to tag the appropriate points in the photo at which each of the landmarks appear.
`Once a user tags each landmark appearing in the photo using the appropriate landmark tag, the
`corresponding geographic coordinates also become available as context based information
`accessible through the tag.
`
`[0042] In an alternative embodiment, a list of famous landmarks for various cities may be
`prepared by a third party such that a user need not be at each location to record the geographic
`coordinates. In this case a landmark tag may be selected by a user from a prepared landmark list
`that may be selected as one of the tag sources.
`
`[0043] In the tag selection interface described above, each tag may have some context associated
`with it, depending on the tag type. As will be appreciated, this associated context may allow the
`user to visually identify and differentiate between the tag types in the tag selection user interface
`404, and present other context sensitive menu options, such as viewing associated address cards,
`Facebook profiles, websites, geographic location information for landmarks, etc.
`
`[0044] Now referring to FIG. 5, shown is a flowchart of an illustrative method 500 in accordance
`with an embodiment. As shown, method 500 begins and at block 502 where method 500 displays
`a photo in a display (e.g. display 110) to be tagged.
`
`[0045] Method 500 then proceeds to block 504, where method 500 may configure photo tagging
`module 148A to provide a photo tagging mode for editing tags for the displayed photo.
`
`[0046] Method 500 may then proceed to block 506, where for each tag used to tag a subject or
`object in the photo, method 500 may configure photo tagging module 148A to identify the tag
`type and associate a unique pointer for each tag type to highlight the corresponding tagged
`subject or object. For example, as described earlier, a grey square could be used for Facebook
`friends, and another shape and/or color may be used for address book tag types.
`
`[0047] Method 500 may then proceed to block 508, where method 500 may conf1gure photo
`tagging module 148A to display a tag list with the displayed photo.
`10
`
`Blackberry's Exhibit No. 2009
`Page 10 of 28
`
`
`
`[0048] Method 500 may then proceed to block 510, where method 500 may configure photo
`tagging module 148A to identify the tag type of each tag in the tag list using a Visual identifier.
`For example, the Visual identifier may be an icon, or some suitable graphic appearing beside a
`tag name.
`
`[0049] Method 500 may then proceed to block 512, where upon user selection of a tag in the tag
`list, method 500 may configure photo tagging module 148A to highlight the associated tagged
`subject or object in the photo using the unique pointer.
`
`[0050] Method 500 may then proceed to block 514, where upon user selection of a tag in the tag
`list, method 500 may configure photo tagging module 148A to highlight the associated tag in the
`tag list.
`
`[0051] Method 500 may also proceed to block 516, where method 500 may configure photo
`tagging module 148A to display context data associated with a tag. For example, context data
`associated with an address book type may be the email address, name, and other information
`stored in the address book module 138 for the corresponding address book entry.
`In an
`embodiment, the context data associated with the tag could be displayed within a menu that may
`be accessed by a suitable menu selection associated with each tag. Method 500 then ends.
`
`[0052] Method 500 may also proceed to block 518, where method 500 may configure photo
`tagging module 148A to constrain the naVigation deVice pointer to be naVigable only within the
`boundaries of the photo.
`
`[0053] Now referring to FIG. 6, shown is a flowchart of an illustrative method 600 in accordance
`with an embodiment. As shown, method 600 begins and at block 602 where method 600
`provides a tag entry field for entering a photo tag.
`
`[0054] Method 600 may then proceed to block 604, where in dependence upon a string entered
`by the user in the tag entry field, method 600 may configure photo tag selection module 148B to
`display in a matching tag list 412 any tags (412a, 412b, 412c) matching the entered string.
`
`[0055] Method 600 may then proceed to block 606, where method 600 may configure photo tag
`
`11
`
`Blackberry's Exhibit No. 2009
`Page 11 of 28
`
`
`
`selection module 148B to display a tag type for each tag appearing in the matching tag list 412.
`For example,
`the Visual
`identification may be an icon, or other suitable graphic identification
`appearing with the tag name.
`
`[0056] Method 600 may then proceed to block 608, where method 600 may configure photo tag
`selection module 148B to order the matching tags in the tag list by tag type in order to make is
`easier for the user to select a suitable tag by tag type.
`
`[0057] Method 600 may also proceed to block 610, where method 600 may configure photo tag
`selection module 148B to allow user selection of a tag in the matching tag list to complete the tag
`entry field 406.
`
`[0058] Method 600 may then proceed to block 612, where if there are not matching tags
`appearing in the matching tag list 412, then method 600 may add the new free-from text tag to a
`free-form text tag cache.
`
`[0059] Method 600 may then proceed to block 614, where method 600 may configure photo tag
`selection module 148B to select the free-form text tag cache as one of the tag sources for any
`subsequent tag selection by the user. Method 600 then ends.
`
`[0060] Thus, in accordance with an embodiment, there is provided a method of selecting a photo
`tag for a tagged photo, comprising: providing a tag entry field for entering a photo tag;
`in
`dependence upon a string entered by a user, displaying in a matching tag list any tags from one
`or more selected tag sources matching the entered string.
`
`the method filrther comprises displaying a tag type for each tag
`[0061] In an embodiment,
`appearing in the matching tag list.
`
`[0062] In another embodiment, the method filrther comprises ordering tags in the matching tag
`list by tag type.
`
`[0063] In another embodiment, the method filrther comprises allowing user selection of a tag in
`the matching tag list to complete the tag entry field.
`
`12
`
`Blackberry's Exhibit No. 2009
`Page 12 of 28
`
`
`
`[0064] In another embodiment, the method filrther comprises adding a new free-form text string
`to a free-form text cache if there are no tags remaining in the matching tag list.
`
`[0065] In an embodiment, the method further comprises selecting as a tag source one or more of
`an online network profile, an address book, browser bookmarks, landmark tags, and free-form
`text.
`
`[0066] In another aspect of the invention, there is provided a system for selecting a photo tag for
`a tagged photo, comprising: means for providing a tag entry field for entering a photo tag; means
`for displaying in a matching tag list, in dependence upon a string entered by a user, any tags from
`one or more selected tag sources matching the entered string.
`
`[0067] In an embodiment, the system further comprises means for displaying a tag type for each
`tag appearing in the matching tag list.
`
`[0068] In another embodiment,
`matching tag list by tag type.
`
`the system further comprises means for ordering tags in the
`
`[0069] In another embodiment, the system further comprises means for allowing user selection
`of a tag in the matching tag list to complete the tag entry field.
`
`[0070] In another embodiment, the system filrther comprises means for adding a new free-form
`text string to a free-form text cache if there are no tags remaining in the matching tag list.
`
`[0071] In another embodiment, the system further comprises means for selecting as a tag source
`one or more of an online network profile, an address book, browser bookmarks, landmark tags,
`and free-form text.
`
`[0072] In another aspect of the invention, there is provided a data processor readable medium
`storing data processor code that when loaded into a device adapts the device to select a photo tag
`for a tagged photo, the data processor readable medium comprising: code for providing a tag
`entry field for entering a photo tag; code for displaying in a matching tag list, in dependence
`upon a string entered by a user, any tags from one or more selected tag sources matching the
`entered string.
`
`1 3
`
`Blackberry's Exhibit No. 2009
`Page 13 of 28
`
`
`
`[0073] In an embodiment, the data processor medium further comprises code for displaying a tag
`type for each tag appearing in the matching tag list.
`
`[0074] In another embodiment, the data processor medium further comprises code for ordering
`tags in the matching tag list by tag type.
`
`[0075] In another embodiment, the data processor medium further comprises code for allowing
`user selection of a tag in the matching tag list to complete the tag entry field.
`
`[0076] In another embodiment, the data processor medium further comprises code for adding a
`new free-form text string to a free-form text cache if there are no tags remaining in the matching
`tag list.
`
`[0077] In another embodiment, the data processor medium further comprises code for selecting
`as a tag source one or more of an online network profile, an address book, browser bookmarks,
`landmark tags, and free-form text.
`
`it will be appreciated that
`[0078] While illustrative embodiments have been described above,
`various changes and modifications may be made. More generally, the scope of the invention is
`defined by the following claims.
`
`14
`
`Blackberry's Exhibit No. 2009
`Page 14 of 28
`
`
`
`CLAIMS
`
`We claim:
`
`1. A method of selecting a photo tag for a tagged photo, comprising:
`
`displaying a tag list including tags from one or more tag sources matching a search string;
`
`displaying a tag type indicator for each tag appearing in the tag list, said tag type being
`indicative of a tag source associated with the tag.
`
`2. The method of claim 1, further comprising providing a tag entry field for entering the search
`string.
`
`3. The method of claim 1, further comprising ordering tags in the tag list by tag type.
`
`4. The method of claim 1, further comprising providing a graphical user interface to select a tag
`in the tag list.
`
`5. The method of claim 1, further comprising:
`
`adding a new free-form text string to a free-form text cache based upon the search string.
`
`6. The method of claim 1, further comprising selecting as a tag source one or more of an online
`network profile, an address book, browser bookmarks, landmark tags, and free-form text.
`
`7. A system for selecting a photo tag for a tagged photo, comprising:
`
`an apparatus operable to display a tag list including tags from one or more tag sources
`matching a search string;_
`
`an apparatus operable to display a tag type indicator for each tag appearing in the tag list,
`said tag type being indicative of a tag source associated with the tag.
`
`15
`
`Blackberry's Exhibit No. 2009
`Page 15 of 28
`
`
`
`8. The system of claim 7, further comprising an apparatus operable to provide a tag entry
`field for entering a photo tag.
`
`9. The system of claim 7, further comprising an apparatus operable to order tags in the tag list by
`tag type.
`
`10. The system of claim 7, further comprising an apparatus operable to allow selection of a tag in
`the tag list to complete the tag entry field.
`
`11. The system of claim 1, further comprising:
`
`an apparatus operable to add a new free-form text string to a free-form text cache based
`upon the search string.
`
`12. The system of claim 1, further comprising an apparatus operable to select as a tag source one
`or more of an online network profile, an address book, browser bookmarks, landmark tags, and
`free-form text.
`
`13. A computer readable medium storing computer code that when loaded into a device adapts
`the device to select a photo tag for a tagged photo, the computer readable medium comprising:
`
`code for displaying a tag list including tags from one or more tag sources matching a
`search string;
`
`code