`USER INTERFACE FOR SELECTING A PHOTO TAG
`
`FIELD OF THE INVENTION
`
`[0001] The present invention relates generally to a user interface for selecting a photo tag.
`
`BACKGROUND
`
`Identifying people or objects in photographs is popular in many online contexts,
`[0002]
`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 full sized screens do not work as
`well.
`
`is needed is an improved user interface for selecting tags in a smaller
`[0003] What
`display, such as may be found on a wireless mobile communication device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0004]
`
`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;
`
`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.
`
`Blackberry's Exhibit No. 2010
`Page 1 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`
`DETAILED DESCRIPTION
`
`[0005] 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.
`
`the invention may be practiced with a handheld
`In an illustrative embodiment,
`[0006]
`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.
`
`[0007] 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.
`
`the communication device 100 may perform
`the subsystems of
`[0008] Some of
`communication—related functions, whereas other subsystems may provide “resident” or
`on—device functions. By way of example, the display 110 and the keyboard 116 may be
`used for both communication-related functions, 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.
`
`[0009] 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.
`
`Blackberry's Exhibit No. 2010
`Page 2 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`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.
`
`the image may then be
`[0010] Once captured by the CCD or CMOS sensor array,
`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
`(BMP), different variations on these standard image file formats, or a vendor proprietary
`RAW image format. The image file format may allow for the addition of image meta-
`data 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
`1 10.
`
`[0011] 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 102.
`
`[0012] 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.
`
`[0013] 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.
`
`Blackberry's Exhibit No. 2010
`Page 3 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`in addition to its operating system functions, enables
`[0014] The main processor 102,
`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.
`
`[0015] 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.
`
`1, communication device 100 may execute an Image
`[0016] Still referring to FIG.
`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 functions 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 functions.
`
`In an embodiment, one of the sub modules of the Image Applications Module 148
`[0017]
`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.
`
`In an embodiment, another of the sub modules of the Image Applications Module
`[0018]
`148 may be a photo tagging module 148A configured to allow a user to select a photo tag
`
`Blackberry's Exhibit No. 2010
`Page 4 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`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.
`
`[0019] 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.
`
`[0020] 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 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 viewfinder for framing an image.
`
`[0021] 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.
`
`[0022] 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 cross—
`hair pointer 308 may be constrained by the photo tagging module 148A to be navigable
`
`Blackberry's Exhibit No. 2010
`Page 5 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`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 117) 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.
`
`[0023] When in tagging mode, the user may cancel tagging mode using the escape key
`and 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).
`
`the user may be presented with another user
`[0024] If the user chooses to add a tag,
`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 138), etc.
`
`[0025] 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.
`
`In an embodiment, the tag 310 could also include an icon, or some other type of
`[0026]
`indicator adjacent
`the tag 310,
`indicating what type of tag it is. Thus, many
`visual
`different types of tags may be used to tag subjects or objects in the photo 301.
`
`[0027] 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.
`
`[0028] 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
`
`Blackberry's Exhibit No. 2010
`Page 6 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`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
`friends 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.
`
`In another embodiment, once subjects or objects have been tagged in the photo
`[0029]
`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.
`
`In another embodiment, once subjects (e.g. subject 302) or objects have been
`[0030]
`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 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.
`
`[0031] 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.
`
`[0032] 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.
`
`In an embodiment, as the user begins to type, photo tag selection module 148B
`[0033]
`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.
`
`[0034] 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
`
`Blackberry's Exhibit No. 2010
`Page 7 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`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.
`
`[0035] 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.
`
`[0036] As the user continues to type, if a tag that the user wishes to select appears in the
`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).
`
`[0037] 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.
`
`[0038] 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.
`
`In an embodiment, in addition to the tag sources mentioned above, another type of
`[0039]
`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
`
`Blackberry's Exhibit No. 2010
`Page 8 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`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.
`
`[0040] 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, 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.
`
`In an alternative embodiment, a list of famous landmarks for various cities may be
`[0041]
`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.
`
`In the tag selection interface described above, each tag may have some context
`[0042]
`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.
`
`[0043] 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.
`
`[0044] 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.
`
`[0045] 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
`
`Blackberry's Exhibit No. 2010
`Page 9 of 26
`
`
`
`RIM 32326-US—PAT : 263541.00055
`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 colour may be used for
`address book tag types.
`
`[0046] Method 500 may then proceed to block 508, where method 500 may configure
`photo tagging module 148A to display a tag list with the displayed photo.
`
`[0047] 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.
`
`[0048] 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.
`
`[0049] 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.
`
`[0050] 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.
`
`[0051] 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.
`
`[0052] 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.
`
`[0053] 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
`
`10
`
`Blackberry's Exhibit No. 2010
`Page 10 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`module 148B to display in a matching tag list 412 any tags (412a, 412b, 412c) matching
`the entered string.
`
`[0054] Method 600 may then proceed to block 606, where method 600 may configure
`photo tag 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.
`
`[0055] 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.
`
`[0056] 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.
`
`[0057] 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.
`
`[0058] 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.
`
`[0059] 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.
`
`In an embodiment, the method further comprises displaying a tag type for each tag
`[0060]
`appearing in the matching tag list.
`
`In another embodiment,
`[0061]
`matching tag list by tag type.
`
`the method further comprises ordering tags in the
`
`In another embodiment, the method further comprises allowing user selection of a
`[0062]
`tag in the matching tag list to complete the tag entry field.
`
`In another embodiment, the method further comprises adding a new free-form text
`[0063]
`string to a free-form text cache if there are no tags remaining in the matching tag list.
`
`11
`
`Blackberry's Exhibit No. 2010
`Page 11 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`In an embodiment, the method further comprises selecting as a tag source one or
`[0064]
`more of an online network profile, an address book, browser bookmarks, landmark tags,
`and free-form text.
`
`In another aspect of the invention, there is provided a system for selecting a photo
`[0065]
`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.
`
`In an embodiment, the system further comprises means for displaying a tag type
`[0066]
`for each tag appearing in the matching tag list.
`
`In another embodiment, the system further comprises means for ordering tags in
`[0067]
`the matching tag list by tag type.
`
`the system further comprises means for allowing user
`In another embodiment,
`[0068]
`selection of a tag in the matching tag list to complete the tag entry field.
`
`the system further comprises means for adding a new
`In another embodiment,
`[0069]
`frcc—form text string to a frcc—form tcxt cachc if there are no tags remaining in the
`matching tag list.
`
`In another embodiment, the system further comprises means for selecting as a tag
`[0070]
`source one or more of an online network profile, an address book, browser bookmarks,
`landmark tags, and free-form text.
`
`there is provided a data processor readable
`In another aspect of the invention,
`[0071]
`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.
`
`the data processor medium further comprises code for
`In an embodiment,
`[0072]
`displaying a tag type for each tag appearing in the matching tag list.
`
`the data processor medium further comprises code for
`In another embodiment,
`[0073]
`ordering tags in the matching tag list by tag type.
`
`12
`
`Blackberry's Exhibit No. 2010
`Page 12 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`the data processor medium further comprises code for
`In another embodiment,
`[0074]
`allowing user selection of a tag in the matching tag list to complete the tag entry field.
`
`the data processor medium further comprises code for
`In another embodiment,
`[0075]
`adding a new free-form text string to a free-form text cache if there are no tags remaining
`in the matching tag list.
`
`the data processor medium further comprises code for
`In another embodiment,
`[0076]
`selecting as a tag source one or more of an online network profile, an address book,
`browser bookmarks, landmark tags, and free-form text.
`
`[0077] While illustrative embodiments have been described above, it will be appreciated
`that various changes and modifications may be made. More generally, the scope of the
`invention is defined by the following claims.
`
`13
`
`Blackberry's Exhibit No. 2010
`Page 13 of 26
`
`
`
`WHAT IS CLAIMED IS:
`
`RIM 32326—US—PAT : 263541.00055
`
`1.
`
`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 of claim 1,
`2.
`appearing in the matching tag list.
`
`further comprising displaying a tag type for each tag
`
`The method of claim 1, further comprising ordering tags in the matching tag list
`3.
`by tag type.
`
`The method of claim 1, further comprising allowing user selection of a tag in the
`4.
`matching tag list to complete the tag entry field.
`
`5.
`
`The method of claim 1, further comprising:
`
`if there are no tags remaining in the matching tag list, adding a new free-form text
`string to a free-form text cache.
`
`The method of claim 1, further comprising selecting as a tag source one or more
`6.
`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:
`
`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.
`
`The system of claim 7, further comprising means for displaying a tag type for
`8.
`each tag appearing in the matching tag list.
`
`The system of claim 7, further comprising means for ordering tags in the matching
`9.
`tag list by tag type.
`
`The system of claim 7, further comprising means for allowing user selection of a
`10.
`tag in the matching tag list to complete the tag entry field.
`
`11.
`
`The system of claim 1, further comprising:
`
`14
`
`Blackberry's Exhibit No. 2010
`Page 14 of 26
`
`
`
`RIM 32326—US—PAT : 263541.00055
`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.
`
`The system of claim 1, further comprising means for selecting as a tag source one
`12.
`or more of an online network profile, an address book, browser bookmarks,
`landmark
`tags, and free-form text.
`
`A data processor readable medium storing data processor code that whe