US20180137468A1 - Dynamically updating emoticon pool based on user targeting - Google Patents
Dynamically updating emoticon pool based on user targeting Download PDFInfo
- Publication number
- US20180137468A1 US20180137468A1 US15/870,098 US201815870098A US2018137468A1 US 20180137468 A1 US20180137468 A1 US 20180137468A1 US 201815870098 A US201815870098 A US 201815870098A US 2018137468 A1 US2018137468 A1 US 2018137468A1
- Authority
- US
- United States
- Prior art keywords
- user
- emoticons
- emoticon
- information
- mood
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- H04L29/06—
-
- H04L29/08072—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/08—Annexed information, e.g. attachments
Definitions
- the present invention relates generally to emoticons and, more particularly, but not exclusively to dynamically updating an emoticon pool based at least on current personal construct.
- Instant messaging has become a commonly used application on the Internet.
- Instant messaging programs generally allow users to send and receive text-based messages.
- One typical shortfall of text-based messages is that they generally lack an emotional aspect.
- users sometimes convey their emotions and/or moods to another user by adding emoticons' to a text-based message.
- emoticons are icons (e.g. a smiley face) and/or a sequence of characters, typically appearing inline with text (e.g. ;-) (wink)).
- a sequence of characters can be transformed into an icon that represents a similar emotion.
- emoticons can be grouped into an emoticon pool that can allow a user to select emoticons for use in a text-based message.
- FIG. 1 is a system diagram of an environment in which embodiments may be implemented
- FIG. 2 shows an embodiment of a client device that may be included in a system such as that shown in FIG. 1 ;
- FIG. 3 shows an embodiment of a network device that may be included in a system such as that shown in FIG. 1 ;
- FIG. 4 illustrates a wheel diagram of a non-exhaustive example of an embodiment of user targeted information
- FIG. 5 illustrates a logical flow diagram generally showing one embodiment of an overview process for dynamically updating an emoticon pool of a user based on a current personal construct of the user;
- FIG. 6 illustrates a logical flow diagram generally showing one embodiment of a process for modifying one or more emoticons
- FIG. 7 shows a non-exhaustive example of a use case of an embodiment of a base emoticon pool
- FIG. 8 shows a non-exhaustive example of a use case of an embodiment of a set of emoticon attributes
- FIG. 9 shows a non-exhaustive example of a use case of an embodiment of a dynamically updated emoticon pool.
- the term “or” is an inclusive “or” operator, and is equivalent to the term “and/or,” unless the context clearly dictates otherwise.
- the term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise.
- the meaning of “a,” “an,” and “the” include plural references.
- the meaning of “in” includes “in” and “on.”
- user targeted information refers to any of a variety of information relating to a user.
- User targeted information may include, but not limited to, static user information, dynamic user information, implicit user information, dynamic external information determined to be relevant to the user, and/or any combination thereof.
- Static user information may include, but is not limited to, user profile, user preferences, user demographics, or the like.
- Dynamic user information may include, but is not limited to, a user's online activities, message content, a user's mood, or the like.
- Implicit user information may include, but is not limited to, a user's location, a user's social network trends, or the like.
- Dynamic external information may include, but is not limited to, weather, time of day, time of year, other calendar information, or the like.
- current personal construct refers to an abstract and/or general idea pertaining to a user that is inferred or otherwise derived from user targeted information.
- a current personal construct may provide an indication of, for example, a user's current interests, a user's current likes or dislikes, a user's recent and/or real-time online and/or offline activities, a user's mood, a user's physical environment, activities and/or ambiance surrounding a current holiday and/or festival determined to be relevant to the user (e.g. although it may be Christmas season, the user may not celebrate Christmas, but may celebrate Hanukkah, Eid ul-Fitr, or other religious holiday), or the like.
- a current personal construct may also include specific details, such as, for example, the user recently purchased a Nike hat, it is snow at the user's location, and it is the Christmas season.
- Emoticon attributes refers to any of a variety of items that can be added to an emoticon.
- Emoticon attributes may include backgrounds, themes, sounds, animations, text, clothes, props, or other accessories.
- features refers to any of a variety of aspects of an emoticon and/or emoticon attribute that can be modified.
- Features may include visual aspects (e.g. shape, size, color, orientation, text and/or fonts, or the like), audible aspects (e.g. volume, duration, playback, animation, or the like), or the like.
- social network refers to a concept that an individual's personal network of friends, family colleagues, coworkers, and the subsequent connections within those networks, can be utilized to find more relevant connections for a variety of activities, including, but not limited to dating, job networking, service referrals, content sharing, like-minded individuals, activity partners, or the like.
- An online social network typically comprises a person's set of direct and/or indirect personal relationships, including real and virtual privileges and permissions that users may associate with these people.
- Direct personal relationships usually include relationships with people the user can communicated with directly, including family members, friends, colleagues, coworkers, and other people with which the person has had some form of direct contact, such as contact in person, by telephone, by email, by instant message, by letter, or the like.
- These direct personal relationships are sometimes referred to as first-degree relationships.
- First-degree relationships can have varying degrees of closeness, trust, and other characteristics.
- Indirect personal relationships typically include relationships through first-degree relationships to people with whom a person has not had some form of direct or limited direct contact, such as in being cc′d on an e-mail message, or the like.
- a friend of a friend represents an indirect personal relationship.
- a more extended, indirect relationship might be a friend of a friend of a friend.
- These indirect relationships are sometimes characterized by a degree of separation between the people. For instance, a friend of a friend can be characterized as two degrees of separation or a second-degree relationship. Similarly, a friend of a friend of a friend can be characterized as three degrees of separation or a third-degree relationship.
- embodiments are directed towards dynamically updating, in real-time, an emoticon pool of a user based on a current personal construct of the user.
- a current personal construct may provide an indication of, for example, a user's current interests, a user's current likes or dislikes, a user's online and/or offline activities, a user's mood, a user's physical environment, activities and/or ambience surrounding a current holiday and/or festival, or the like.
- real-time changes in the current personal construct of a user may result in a real-time update to the emoticon pool of the user, which can allow the user's emoticon pool to dynamically track the user's current personal construct.
- the user's emoticon pool may include emoticons with umbrellas. However, if the weather changes to sunny, then the user's emoticon pool may be dynamically updated to remove the umbrellas and include emoticons with sunglasses.
- the current personal construct of a user may be determined, in one embodiment, by examining user targeted information associated with the user.
- the user targeted information may include, but not limited to, static user information, dynamic user information, implicit user information, dynamic external information, and/or any combination thereof. It is envisaged that any information targeted and/or related to a user can be utilized to determine a current personal construct of the user.
- the emoticon pool of a user may be dynamically updated by modifying an appearance of one or more base emoticons in a base emoticon pool, one or more existing emoticons in the emoticon pool of the user, or any combination thereof.
- the appearance of an emoticon can be modified by adding one or more emoticon attributes to the emoticon, by modifying one or more emoticon and/or emoticon attribute features, or any combination thereof.
- a user's emoticon pool may be dynamically updated to include a subset of base emoticons from a base emoticon pool.
- the base emoticon pool may not change based on the current personal construct of the user, but the subset of base emoticons may be selected based on the user's current personal construct.
- the dynamically updated emoticon pool may be provided to the user to enable the user to view the updated emoticon pool and to select an emoticon for insertion into a message.
- FIG. 1 shows components of one embodiment of an environment in which the invention may be practiced. Not all the components may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention.
- system 100 of FIG. 1 includes local area networks (“LANs”)/wide area networks (“WANs”)—(network) 108 , wireless network 107 , client devices 101 - 106 , and Emoticon Service Device (“ESD”) 109 .
- LANs local area networks
- WANs wide area networks
- ESD Emoticon Service Device
- client devices 101 - 106 may include virtually any portable computing device capable of receiving and sending messages over a network, such as network 108 , wireless network 107 , or the like.
- client devices 103 - 106 may also be described generally as client devices that are configured to be portable.
- client devices 103 - 106 may include virtually any portable computing device capable of connecting to another computing device and receiving information.
- Such devices include portable devices such as, cellular telephones, smart phones, display pagers, radio frequency (“RF”) devices, infrared (“IR”) devices, Personal Digital Assistants (“PDAs”), handheld computers, laptop computers, wearable computers, tablet computers, integrated devices combining one or more of the preceding devices, and the like.
- client devices 103 - 106 typically range widely in terms of capabilities and features.
- a cell phone may have a numeric keypad and a few lines of monochrome liquid crystal display (“LCD”) display on which only text may be displayed.
- a web-enabled mobile device may have a touch sensitive screen, a stylus, and several lines of color LCD display in which both text and graphics may be displayed.
- Client device 101 may include virtually any computing device capable of communicating over a network to send and receive information, including instant messages, performing various online activities, or the like.
- the set of such devices may include devices that typically connect using a wired or wireless communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, or the like.
- client devices 101 - 106 may operate over wired and/or wireless network.
- Client device 102 may include virtually any device useable as a television device. Today, many of these devices include a capability to access and/or otherwise communicate over a network such as network 108 and/or even wireless network 107 .
- client device 102 may access various computing applications, including a browser, or other web-based application.
- a web-enabled client device may include a browser application that is configured to receive and to send web pages, web-based messages, and the like.
- the browser application may be configured to receive and display graphics, text, multimedia, and the like, employing virtually any web-based language, including a wireless application protocol messages (“WAP”), and the like.
- WAP wireless application protocol messages
- the browser application is enabled to employ Handheld Device Markup Language (“HDML”), Wireless Markup Language (“WML”), WMLScript, JavaScript, Standard Generalized Markup Language (“SGML”), HyperText Markup Language (“HTML”), eXtensible Markup Language (“XML”), and the like, to display and send a message.
- a user of the client device may employ the browser application to perform various activities over a network (online). However, another application may also be used to perform various online activities.
- Client devices 101 - 106 also may include at least one other client application that is configured to receive and/or send messages and/or content, including instant messages, between another computing device.
- the client application may include a capability to send and/or receive emoticons associated with an instant message or other electronic message.
- the emoticons may include media content, textual content, graphical content, audio content, or the like.
- the client application may further provide information that identifies itself, including a type, capability, name, and the like.
- client devices 101 - 106 may uniquely identify themselves through any of a variety of mechanisms, including a phone number, Mobile Identification Number (“MIN”), an electronic serial number (“ESN”), or other mobile device identifier.
- the information may also indicate a content format that the mobile device is enabled to employ. Such information may be provided in a network packet, or the like, sent between other client devices, ESD 109 , or other computing devices.
- Client devices 101 - 106 may further be configured to include a client application that enables an end-user to log into an end-user account that may be managed by another computing device, such as ESD 109 , or the like.
- Such end-user account in one non-limiting example, may be configured to enable the end-user to compose a message and select one or more emoticons from a personal construct emoticon pool associated with the user to be inserted in the message.
- participation in such message and emoticon usage may also be performed without logging into the end-user account.
- Wireless network 107 is configured to couple client devices 103 - 106 and its components with network 108 .
- Wireless network 107 may include any of a variety of wireless sub-networks that may further overlay stand-alone ad-hoc networks, and the like, to provide an infrastructure-oriented connection for client devices 103 - 106 .
- Such sub-networks may include mesh networks, Wireless LAN (“WLAN”) networks, cellular networks, and the like.
- the system may include more than one wireless network.
- Wireless network 107 may further include an autonomous system of terminals, gateways, routers, and the like connected by wireless radio links, and the like. These connectors may be configured to move freely and randomly and organize themselves arbitrarily, such that the topology of wireless network 107 may change rapidly.
- Wireless network 107 may further employ a plurality of access technologies including 2nd (2G), 3rd (3G), 4th (4G) generation radio access for cellular systems, WLAN, Wireless Router (“WR”) mesh, and the like.
- Access technologies such as 2G, 3G, 4G and future access networks may enable wide area coverage for mobile devices, such as client devices 103 - 106 with various degrees of mobility.
- wireless network 107 may enable a radio connection through a radio network access such as Global System for Mobil communication (“GSM”), General Packet Radio Services (“GPRS”), Enhanced Data GSM Environment (“EDGE”), Wideband Code Division Multiple Access (“WCDMA”), and the like.
- GSM Global System for Mobil communication
- GPRS General Packet Radio Services
- EDGE Enhanced Data GSM Environment
- WCDMA Wideband Code Division Multiple Access
- wireless network 107 may include virtually any wireless communication mechanism by which information may travel between client devices 103 - 106 and another computing device, network, and the like.
- Network 108 is configured to couple network devices with other computing devices, including, ESD 109 , client devices 101 and 102 , and through wireless network 107 to client devices 103 - 106 .
- Network 108 is enabled to employ any form of computer readable media for communicating information from one electronic device to another.
- network 108 can include the Internet in addition to LANs, WANs, direct connections, such as through a universal serial bus (“USB”) port, other forms of computer-readable media, or any combination thereof.
- a router acts as a link between LANs, enabling messages to be sent from one to another.
- communication links within LANs typically include twisted wire pair or coaxial cable
- communication links between networks may utilize analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, and/or other carrier mechanisms including, for example, E-carriers, Integrated Services Digital Networks (“ISDNs”), Digital Subscriber Lines (“DSLs”), wireless links including satellite links, or other communications links known to those skilled in the art.
- ISDNs Integrated Services Digital Networks
- DSLs Digital Subscriber Lines
- communication links may further employ any of a variety of digital signaling technologies, including without limit, for example, DS-0, DS-1, DS-2, DS-3, DS-4, OC-3, OC-12, OC-48, or the like.
- network 108 may be configured to transport information of an Internet Protocol (“IP”).
- IP Internet Protocol
- network 108 includes any communication method by which information may travel between computing devices.
- communication media typically embodies computer-readable instructions, data structures, program modules, or other transport mechanism and includes any information delivery media.
- communication media includes wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media and wireless media such as acoustic, RF, infrared, and other wireless media.
- ESD 109 may include any computing device capable of connecting to network 107 to dynamically update, in real-time, an emoticon pool associated with a user of client devices 101 - 106 based on a current personal construct of the user. Dynamically updating the emoticon pool is described in more detail below in conjunction with FIGS. 4-6 .
- ESD 109 may also operate as website servers to provide content, including emoticons and emoticon pools, to client devices 101 - 106 .
- content may include, but is not limited to textual, graphical, and/or audio content, and/or any of a variety of media content for access by, or any of a variety of other interactions with the media content by, another client device.
- ESD 109 may also operate as a messaging server such as a Short Message Service (“SMS”) message service, Instant Message (“IM”) message service, email message service, alert service, or the like.
- SMS Short Message Service
- IM Instant Message
- ESD 109 may also operate as a File Transfer Protocol (“FTP”) server, a database server, music and/or video download server, or the like.
- ESD 109 may be configured to perform multiple functions.
- ESD 109 Devices that may operate as ESD 109 include various network devices, including, but not limited to personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, server devices, network appliances, and the like.
- FIG. 1 illustrates ESD 109 as a single computing device
- the invention is not so limited.
- one or more functions of ESD 109 may be distributed across one or more distinct network devices.
- ESD 109 is not limited to a particular configuration.
- ESD 109 may contain a plurality of network devices to dynamically update a user's emoticon pool.
- ESD 109 may contain a plurality of network devices that operate using a master/slave approach, where one of the plurality of network devices of ESD 109 operates to manage and/or otherwise coordinate operations of the other network devices.
- the ESD 109 may operate as a plurality of network devices within a cluster architecture, a peer-to-peer architecture, and/or even within a cloud architecture.
- the invention is not to be construed as being limited to a single environment, and other configurations, and architectures are also envisaged.
- FIG. 2 shows one embodiment of client device 200 that may be included in a system implementing the invention.
- Client device 200 may include many more or less components than those shown in FIG. 2 . However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention.
- Client device 200 may represent, for example, one embodiment of at least one of client devices 101 - 106 of FIG. 1 .
- client device 200 includes a central processing unit (“CPU”) 202 in communication with a mass memory 226 via a bus 234 .
- Client device 200 also includes a power supply 228 , one or more network interfaces 236 , an audio interface 238 , a display 240 , a keypad 242 , an illuminator 244 , a video interface 246 , an input/output interface 248 , a haptic interface 250 , and a global positioning systems (“GPS”) receiver 232 .
- Power supply 228 provides power to client device 200 .
- a rechargeable or non-rechargeable battery may be used to provide power.
- the power may also be provided by an external power source, such as an alternating current (“AC”) adapter or a powered docking cradle that supplements and/or recharges a battery.
- AC alternating current
- Client device 200 may optionally communicate with a base station (not shown), or directly with another computing device.
- Network interface 236 includes circuitry for coupling client device 200 to one or more networks, and is constructed for use with one or more communication protocols and technologies including, but not limited to, GSM, code division multiple access (“CDMA”), time division multiple access (“TDMA”), user datagram protocol (“UDP”), transmission control protocol/Internet protocol (“TCP/IP”), SMS, GPRS, WAP, ultra wide band (“UWB”), Institute of Electrical and Electronics Engineers (“IEEE”) 802.16 Worldwide Interoperability for Microwave Access (“WiMax”), session initiated protocol/real-time transport protocol (“SIP/RTP”), or any of a variety of other wireless communication protocols.
- Network interface 236 is sometimes known as a transceiver, transceiving device, or network interface card (“NIC”).
- Audio interface 238 is arranged to produce and receive audio signals such as the sound of a human voice.
- audio interface 238 may be coupled to a speaker and microphone (not shown) to enable telecommunication with others and/or generate an audio acknowledgement for some action.
- Display 240 may be an LCD, gas plasma, light emitting diode (“LED”), or any other type of display used with a computing device.
- Display 240 may also include a touch sensitive screen arranged to receive input from an object such as a stylus or a digit from a human hand.
- Keypad 242 may comprise any input device arranged to receive input from a user.
- keypad 242 may include a push button numeric dial, or a keyboard.
- Keypad 242 may also include command buttons that are associated with selecting and sending images.
- Illuminator 244 may provide a status indication and/or provide light. Illuminator 244 may remain active for specific periods of time or in response to events. For example, when illuminator 244 is active, it may backlight the buttons on keypad 242 and stay on while the client device is powered. Also, illuminator 244 may backlight these buttons in various patterns when particular actions are performed, such as dialing another client device. Illuminator 244 may also cause light sources positioned within a transparent or translucent case of the client device to illuminate in response to actions.
- Video interface 246 is arranged to capture video images, such as a still photo, a video segment, an infrared video, or the like.
- video interface 246 may be coupled to a digital video camera, a web-camera, or the like.
- Video interface 246 may comprise a lens, an image sensor, and other electronics.
- Image sensors may include a complementary metal-oxide-semiconductor (“CMOS”) integrated circuit, charge-coupled device (“CCD”), or any other integrated circuit for sensing light.
- CMOS complementary metal-oxide-semiconductor
- CCD charge-coupled device
- Client device 200 also comprises input/output interface 248 for communicating with external devices, such as a headset, or other input or output devices not shown in FIG. 2 .
- Input/output interface 248 can utilize one or more communication technologies, such as USB, infrared, BluetoothTM, or the like.
- Haptic interface 250 is arranged to provide tactile feedback to a user of the client device.
- the haptic interface 250 may be employed to vibrate client device 200 in a particular way when another user of a computing device is calling.
- GPS transceiver 232 can determine the physical coordinates of client device 200 on the surface of the Earth. GPS transceiver 232 , in some embodiments, may be optional. GPS transceiver 232 typically outputs a location as latitude and longitude values. However, GPS transceiver 232 can also employ other geo-positioning mechanisms, including, but not limited to, triangulation, assisted GPS (“AGPS”), Enhanced Observed Time Difference (“E-OTD”), Cell Identifier (“CI”), Service Area Identifier (“SAI”), Enhanced Timing Advance (“ETA”), Base Station Subsystem (“BSS”), or the like, to further determine the physical location of client device 200 on the surface of the Earth.
- AGPS assisted GPS
- E-OTD Enhanced Observed Time Difference
- CI Cell Identifier
- SAI Service Area Identifier
- ETA Enhanced Timing Advance
- BSS Base Station Subsystem
- GPS transceiver 232 can determine a physical location within millimeters for client device 200 ; and in other cases, the determined physical location may be less precise, such as within a meter or significantly greater distances. In one embodiment, however, mobile device 200 may through other components, provide other information that may be employed to determine a physical location of the device, including for example, a Media Access Control (“MAC”) address, IP address, or the like.
- MAC Media Access Control
- Mass memory 226 includes a Random Access Memory (“RAM”) 204 , a Read-only Memory (“ROM”) 222 , and other storage means. Mass memory 226 illustrates an example of computer readable storage media (devices) for storage of information such as computer readable instructions, data structures, program modules or other data. Mass memory 226 stores a basic input/output system (“BIOS”) 224 for controlling low-level operation of client device 200 . The mass memory also stores an operating system 206 for controlling the operation of client device 200 . It will be appreciated that this component may include a general-purpose operating system such as a version of UNIX, or LINUXTM, or a specialized client communication operating system such as Windows MobileTM, or the Symbian® operating system. The operating system may include, or interface with a Java virtual machine module that enables control of hardware components and/or operating system operations via Java application programs.
- BIOS basic input/output system
- the operating system may include, or interface with a Java virtual machine module that enables control of hardware components and/or operating system operations
- Mass memory 226 further includes one or more data storage 208 , which can be utilized by client device 200 to store, among other things, applications 214 and/or other data.
- data storage 208 may also be employed to store information that describes various capabilities of client device 200 . The information may then be provided to another device based on any of a variety of events, including being sent as part of a header during a communication, sent upon request, or the like.
- Data storage 208 may also be employed to store social networking information including address books, buddy lists, aliases, user profile information, or the like. Further, data storage 208 may also store messages, web page content, or any of a variety of user generated content. At least a portion of the information may also be stored on another component of network device 200 , including, but not limited to computer readable storage device 230 , a disk drive or other computer-readable storage device (not shown) within client device 200 .
- Data storage 208 may further store emoticon pool 210 and/or emoticon attributes 212 .
- Emoticon pool 210 may include a plurality of emoticons that can be selected by a user of client device 200 to be inserted in a message. As described in more detail below, emoticon pool 210 may be dynamically updated based on a current personal construct of the user.
- emoticon pool 210 may include one or more emoticon pools associated with a user of client device 200 and/or a base emoticon pool.
- emoticon pool 210 may be an optional component within client device 200 .
- the emoticon pool associated with the user may be hosted on another network device, such as network device 300 of FIG. 3 , which may be accessible, in one embodiment, by client device 200 .
- Emoticon attributes 212 may include one or more emoticon attributes that can be added to one or more emoticons to modify an appearance of the emoticons.
- Emoticon attributes 212 may include logos, images, graphics, sounds, text, animations, and/or other digital content that can represent backgrounds, themes, clothes, props, or other accessories associated with an emoticon.
- emoticon attributes 212 may be an optional component within client device 200 .
- the emoticon attributes may be hosted on another network device, such as network device 300 of FIG. 3 , which may be accessible, in one embodiment, by client device 200 .
- Applications 214 may include computer executable instructions which, when executed by client device 200 , transmit, receive, and/or otherwise process messages (e.g., SMS, Multimedia Message Service (“MMS”), IM, email, and/or other messages), audio, video, and enable telecommunication with another user of another client device.
- messages e.g., SMS, Multimedia Message Service (“MMS”), IM, email, and/or other messages
- Other examples of application programs include calendars, search programs, email clients, IM applications, SMS applications, voice over Internet Protocol (“VOIP”) applications, contact managers, task managers, transcoders, database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and so forth.
- Applications 214 may include, for example, messenger 216 , browser 218 , and dynamic augmentation selector (“DAS”) 220 .
- DAS dynamic augmentation selector
- Browser 218 may include virtually any application configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language.
- the browser application is enabled to employ HDML, WML, WMLScript, JavaScript, SGML, HTML, XML, and the like, to display and send a message.
- any of a variety of other web-based languages may be employed.
- browser 218 may enable a user of client device 200 to provide and/or receive messages between another computing device, such as another client device.
- Browser 218 may also be configured to enable a user to browse an emoticon pool, such as emoticon pool 210 , and select one or more emoticons for insertion in a message.
- Messenger 216 may be configured to manage a messaging session using any of a variety of messaging communications including, but not limited to email, SMS, IM, MMS, internet relay chat (“IRC”), Microsoft IRC (“mIRC”), Really Simple Syndication (“RSS”) feeds, and/or the like.
- messenger 216 may be configured as an IM application, such as AOL (America Online) Instant Messenger, Yahoo! Messenger, .NET Messenger Server, ICQ (“I seek you”), or the like.
- messenger 216 may be configured to include a mail user agent (“MUA”) such as Elm, Pine, Message Handling (“MH”), Outlook, Eudora, Mac Mail, Mozilla Thunderbird, or the like.
- MUA mail user agent
- messenger 216 may be a client application that is configured to integrate and employ a variety of messaging protocols, including, but not limited to various push and/or pull mechanisms for client device 200 .
- messenger 216 may interact with browser 218 for managing messages.
- messages refers to any of a variety of messaging formats, or communications forms, including but not limited to email, SMS, IM, MMS, IRC, or the like.
- Messenger 216 may also be configured to enable a user to browse an emoticon pool, such as emoticon pool 210 , and select one or more emoticons for insertion in a message.
- DAS 220 is configured to dynamically update an emoticon pool associated with a user, such as, in one embodiment, emoticon pool 210 , based on a current personal construct of the user. In one embodiment, DAS 220 obtains and examines user targeted information to determine the user's current personal construct. DAS 220 may also, in one embodiment, be configured to accept feedback from a user of client device 200 to be used as additional user targeted information. In some embodiments, DAS 220 may dynamically update one or more emoticon pools of the user based on a subset of the user's current personal construct. In yet other embodiments, DAS 220 may be configured to select a subset of base emoticons from a base emoticon pool based on the user's current personal construct and augment the user's emoticon pool to include the selected subset of base emoticons.
- DAS 220 may be configured to select one or more emoticons from an emoticon pool, generate a personal construct emoticon by modifying the selected emoticons, and update the emoticon pool with the personal construct emoticon.
- DAS 220 may be configured to utilize emoticon pool 210 and/or an emoticon pool hosted on another device, such as emoticon pool 310 of FIG. 3 .
- each of the one or more emoticons may be selected and/or modified based on a subset of the user's current personal construct. In one embodiment, a different subset of the user's current personal construct may be utilized to select and/or generate different personal construct emoticons.
- DAS 220 may, in some embodiments, be configured to modify an appearance of one or more selected emoticons.
- DAS 220 may modify a selected emoticon by adding one or more emoticon attributes to the selected emoticon.
- DAS 220 may utilize emoticon attributes 212 and/or emoticon attributes hosted on another device, such as emoticon pool 312 of FIG. 3 .
- DAS 220 may modify a feature of one or more selected emoticons and/or a feature of one or more emoticon attributes.
- DAS 220 may be an optional component within client device 200 .
- a dynamic augmentation selector hosted on another network device may be employed to perform the dynamic update of an emoticon pool associated with the user.
- DAS 220 may employ processes similar to those described below in conjunction with FIGS. 5-6 to perform at least some of its actions.
- FIG. 3 shows one embodiment of a network device 300 , according to one embodiment of the invention.
- Network device 300 may include many more or less components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention.
- Network device 300 may be configured to operate as a server, client, peer, or any other device.
- Network device 300 may represent, for example ESD 109 of FIG. 1 .
- Network device 300 includes central processing unit 302 , computer readable storage device 328 , network interface unit 330 , an input/output interface 332 , hard disk drive 334 , video display adapter 336 , and a mass memory, all in communication with each other via bus 326 .
- the mass memory generally includes RAM 304 , ROM 322 and one or more permanent mass storage devices, such as hard disk drive 334 , tape drive, optical drive, and/or floppy disk drive.
- the mass memory stores operating system 306 for controlling the operation of network device 300 . Any general-purpose operating system may be employed. BIOS 324 is also provided for controlling the low-level operation of network device 300 . As illustrated in FIG.
- network device 300 also can communicate with the Internet, or some other communications network, via network interface unit 330 , which is constructed for use with various communication protocols including the TCP/IP protocol.
- Network interface unit 330 is sometimes known as a transceiver, transceiving device, or NIC.
- Network device 300 also comprises input/output interface 332 for communicating with external devices, such as a keyboard, or other input or output devices not shown in FIG. 3 .
- Input/output interface 332 can utilize one or more communication technologies, such as USB, infrared, BluetoothTM, or the like.
- Computer-readable storage media may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- Examples of computer readable storage media include RAM, ROM, Electrically Erasable Programmable Read-only Memory (“EEPROM”), flash memory or other memory technology, Compact Disc Read-only Memory (“CD-ROM”), digital versatile disks (“DVD”) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical medium which can be used to store the desired information and which can be accessed by a computing device.
- RAM random access memory
- ROM read-only Memory
- EEPROM Electrically Erasable Programmable Read-only Memory
- CD-ROM Compact Disc Read-only Memory
- DVD digital versatile disks
- magnetic cassettes magnetic tape
- magnetic disk storage magnetic disk storage devices
- data storage 308 may include a database, text, spreadsheet, folder, file, or the like, that may be configured to maintain and store user account identifiers, user profiles, email addresses, IM addresses, and/or other network addresses, or the like.
- Data storage 308 may further include program code, data, algorithms, and the like, for use by a processor, such as central processing unit 302 to execute and perform actions.
- a processor such as central processing unit 302 to execute and perform actions.
- at least some of data storage 308 might also be stored on another component of network device 300 , including, but not limited to computer readable storage device 328 , hard disk drive 334 , or the like.
- Data storage 308 may further store emoticon pool 310 and/or emoticon attributes 312 .
- Emoticon pool 310 may be configured substantially similar to emoticon pool 210 of FIG. 2 , as described above.
- Emoticon attributes 312 may be configured substantially similar to emoticon pool 212 of FIG. 2 , as described above.
- emoticon pool 310 and/or emoticon attributes 312 may be optional components within network device 300 .
- the emoticon pool and/or the emoticon attributes may be hosted on another network device, such as client device 200 of FIG. 2 , which may be accessible, in one embodiment, by network device 300 .
- the mass memory also stores program code and data.
- One or more applications 314 are loaded into mass memory and run on operating system 306 .
- Examples of application programs may include transcoders, schedulers, calendars, database programs, word processing programs, Hypertext Transfer Protocol (“HTTP”) programs, customizable user interface programs, IPSec applications, encryption programs, security programs, SMS message servers, IM message servers, email servers, account managers, and so forth.
- Messaging server 316 , web server 318 , and dynamic augmentation selector (“DAS”) 320 may also be included as application programs within applications 314 .
- Messaging server 316 may include virtually any computing component or components configured and arranged to forward messages from message user agents, and/or other message servers, or to deliver messages to a local message store, such as data storage 308 , or the like.
- messaging server 316 may include a message transfer manager to communicate a message employing any of a variety of email protocols, including, but not limited, to Simple Mail Transfer Protocol (“SMTP”), Post Office Protocol (“POP”), Internet Message Access Protocol (“IMAP”), Network New Transfer Protocol (“NNTP”), or the like.
- SMSTP Simple Mail Transfer Protocol
- POP Post Office Protocol
- IMAP Internet Message Access Protocol
- NTP Network New Transfer Protocol
- messaging server 316 may also be configured to manage SMS messages, IM, MMS, IRC, RSS feeds, mIRC, or any of a variety of other message types.
- messaging server 316 may enable users to initiate and/or otherwise conduct chat sessions, VOIP sessions, or the like.
- messaging server 316 may be configured to enable a user to access emoticon pool 310 (and/or emoticon pool 210 of FIG. 2 ) to select an emoticon and insert the selected emoticon in a message sent from the user.
- Web server 318 represent any of a variety of services that are configured to provide content, including messages, over a network to another computing device.
- web server 318 includes, for example, a web server, an FTP server, a database server, a content server, or the like.
- Web server 318 may provide the content including messages over the network using any of a variety of formats including, but not limited to WAP, HDML, WML, SGML, HTML, XML, Compact HTML (“cHTML”), Extensible HTML (“xHTML”), or the like.
- Browser 318 may also be configured to enable a user to browse an emoticon pool, such as emoticon pool 310 , and select one or more emoticons for insertion in a message.
- DAS 320 operates substantially similar to DAS 220 of FIG. 2 , as described above, to dynamically update an emoticon pool associated with a user based on a current personal construct of the user. However, in one embodiment, DAS 320 may be configured to operate over a plurality of communications between one or more network devices to dynamically update an emoticon pool.
- DAS 320 may be configured to utilize emoticon pool 310 and/or an emoticon pool hosted on a client device, such as emoticon pool 210 of FIG. 2 .
- DAS 320 may utilize emoticon attributes 312 and/or emoticon attributes hosted on client device, such as emoticon pool 212 of FIG. 2 .
- DAS 320 may, in one non-limiting embodiment, select one or more emoticons, such as a base emoticon, from emoticon pool 310 .
- DAS 320 may, in one embodiment, modify an appearance of the selected emoticons by adding one or more emoticon attributes from emoticon attributes 312 .
- DAS 320 may then dynamically update emoticon pool 210 of FIG. 2 with the selected and/or modified emoticons (i.e.
- DAS 320 may be configured to utilize other combinations of emoticon pools and emoticon attributes from network device 300 and/or client device 200 of FIG. 2 . In any event, DAS 320 may perform actions such as those described below in conjunction with FIGS. 5-6 .
- FIG. 4 illustrates one embodiment of user targeted information usable to generate a current personal construct for a user.
- diagram 400 is one illustrative example showing information that may be utilized as user targeted information and one skilled in the art would readily understand that other information related to a user may also be utilized as user targeted information.
- user targeted information 401 may include virtually any information relating to a user, such as, but not limited to, dynamic user information 402 , static user information 404 , implicit user information 406 , dynamic external information 408 , and/or the like.
- User targeted information 401 may include virtually any combination of information depicted in FIG. 4 ; other, non-illustrated, information that is related to the user; or any combination thereof.
- Dynamic user information 402 may include dynamically changing information provided by the user and/or about the user.
- dynamic user information 402 may include, but is not limited to, a user's online activities 424 , message content 426 , a user's mood 428 , or the like.
- User's online activities 424 may include any online activities performed by the user, such as, but not limited to, online purchases, searches, browsing history, blogging, sharing user generated content, web page click through behavior, or the like.
- Message content 426 may include including text, emoticons, or other content of a message sent from and/or received by the user.
- User's mood 428 may be a mood or other status indicator of the user, such as, for example, a mood of an avatar of the user, a current social network mood of the user, or the like.
- Static user information 404 may include information that is provided by the user and/or about the user that is unlikely to change over time, although it may.
- static user information 404 may include, but is not limited to, a user's profile 410 , a user's preferences 412 , or the like.
- User's profile 410 may include any of a variety of personal information about the user, which may include, but is not limited to, age, gender, race, profession, religious affiliation, designated home location (e.g. home address), birth date, anniversary date, or the like.
- User's preferences 412 may include preferences and/or favorites of the user, such as, but not limited to, favorite websites, favorite color, favorite sports team, favorite celebrity, favorite store, favorite brand, group memberships, subscription information, or the like.
- Implicit user information 406 may include information related to the user that can be used to infer other information about the user. Implicit user information 406 may include, but is not limited to, a user's social network trends 422 , a user's location 420 , or the like.
- User's social network trends 422 may include information inferred about a user based on friends of the user. For example, it may be inferred that a user is happy because social network trends 422 may indicate that a majority of the user's friends set their mood to happy.
- User's location 420 may include a physical location of the user, such as a location of client device 200 of FIG. 2 . For example, it may be inferred that the user is on a boat because user's location 420 may indicate that the user is in the middle of a lake.
- Dynamic external information 408 may include information from an external source that can change over time and is indirectly related to the user.
- dynamic external information 408 may include, but is not limited to, weather 414 , calendar 416 , time of day 418 , or the like.
- Weather 414 may include a current weather report at the user's location (such as by using user's location 420 ) that may be updated daily, hourly, minutely, or at any other suitable interval.
- Calendar 416 may include a variety of information relating to a calendar. For example, calendar 416 may include holidays, festivals, seasons, celebrations, and other events associated with a day, month, and/or time of year.
- Time of day 418 may include information related to a current time of day, such as, for example, it is morning, afternoon, evening, lunchtime, or the like.
- FIG. 4 illustrates one embodiment showing information that may be utilized as user targeted information.
- the invention is not so limited and other information that is related to a user may also be utilized as user targeted information.
- FIG. 5 illustrates a logical flow diagram generally showing one embodiment of an overview process for dynamically updating an emoticon pool of a user based on a current personal construct of the user.
- process 500 of FIG. 5 may be implemented by and/or executed on a single network device, such as network device 300 of FIG. 3 .
- process 500 or portions of process 500 of FIG. 5 may be implemented by and/or executed on a plurality of network devices, such as network device 300 of FIG. 3 .
- Process 500 begins, after a start block, at block 502 , where user targeted information associated with a user is obtained.
- the user targeted information may include user targeted information 401 of FIG. 4 .
- User targeted information may be obtained from a plurality of sources.
- user targeted information may be obtained from the user.
- user targeted information may be directly provided by the user and may include, for example, static user information 404 of FIG. 4 , user's mood 428 of FIG. 4 , feedback from the user on a previously updated emoticon pool, or the like.
- user targeted information may be indirectly provided by the user and may include, for example, dynamic user information 402 of FIG. 4 , implicit user information 406 of FIG. 4 , or the like.
- user targeted information may be obtained from an external source, such as, for example, a website, database, or the like and may include, for example, dynamic external information 408 of FIG. 4 , user's social network trends 422 of FIG. 4 , or the like.
- User targeted information may, in some embodiments, be obtained based on user preferences, feedback from the user on a previously updated emoticon pool, or the like.
- the user may be enabled to select which user targeted information may be obtained and/or what sources to utilize to obtain the user targeted information.
- user targeted information may be obtained in real-time as the user targeted information changes. In other embodiments, user targeted information may be obtained randomly or periodically, such as minutely, hourly, or any other suitable time interval. In one embodiment, if there is no change in the user targeted information, then process 500 may loop (not shown) to block 502 to obtain other user targeted information; otherwise, processing proceeds to block 504 .
- user targeted information is examined to determine a current personal construct of the user.
- a subset of the user targeted information may be examined.
- the user targeted information may be examined automatically, independent of direct user initialization.
- the automatic examination of the user targeted information may occur randomly, periodically, when the user targeted information changes, or the like.
- the examination of the user targeted information may be based on user preferences, feedback from the user on a previously updated emoticon pool, or the like.
- user targeted information may be examined and a user's current personal construct may be determined in real-time as the user targeted information changes and/or is obtained. In one embodiment, if there is no change in the current personal construct, then process 500 may loop (not shown) to block 502 to obtain other user targeted information; otherwise, processing proceeds to block 506 .
- Examination of the user targeted information may, in some embodiments, include an evaluation of text associated with the user targeted information, a weighting of the user targeted information, or the like.
- user targeted information text may be evaluated by, for example, but not limited to, evaluating a title, subject, header, tag, body, or the like of a web page visited by the user, message sent from and/or to the user, or the like.
- other content associated with the user targeted information may be evaluated.
- user targeted information may be weighted based on a relevancy and/or currency factor of the user targeted information.
- the currency factor may be based on when the user targeted information changed, such as, for example, user targeted information that changed more recently than other user targeted information may have a currency factor with higher weight than a currency factor of the other user targeted information.
- the relevancy factor may be based on a comparison of different user targeted information. For example, a calendar may indicate that it is December, but the user's profile may indicate that the user is Jewish. As a result, user targeted information related to Christmas may have a relevancy factor with a lower weight than a relevancy factor of user targeted information related to Hanukkah.
- an emoticon pool of the user is dynamically updated based on the user's current personal construct.
- dynamically updating the emoticon pool of the user may be performed automatically, independent of direct user initialization.
- one or more user emoticon pools may be dynamically updated.
- each of the one or more user emoticon pools may be dynamically updated based on a subset of the user's current personal construct.
- Process 500 then proceeds to block 508 , where the dynamically updated emoticon pool is provided to the user.
- the dynamically updated emoticon pool may be provided to the user in real-time, randomly, periodically, or the like.
- the emoticon pool may be dynamically updated in real-time based on real-time changes in the user targeted information and/or real-time changes in the user's current personal construct.
- providing the updated emoticon pool to the user may include displaying the updated emoticon pool to the user and/or downloading the updated emoticon pool to a client device of the user, such as client device 200 of FIG. 2 .
- one or more emoticon pools of the user may be selectively displayed to enable the user to select an emoticon from at least one of the one or more emoticon pools for use in a message.
- user feedback is obtained.
- block 510 may be optional and may not be performed.
- User feedback may be explicit feedback and/or implicit feedback.
- Explicit feedback may include, for example, but not limited to, an accuracy of the updated emoticon pool, an indication whether the user liked and/or disliked the updated emoticon pool, or the like.
- Implicit feedback may include, in one non-limiting example, an indication of the emoticons selected and/or not selected by the user for use in a message.
- user feedback may be utilized as user targeted information. In other embodiments, user feedback may be utilized to determine what user targeted information to obtain and/or examined. In yet other embodiments, user feedback may be utilized to select and/or modify an emoticon.
- process 500 then loops to block 502 to obtain other user targeted information.
- FIG. 6 illustrates a logical flow diagram generally showing one embodiment of a process for modifying one or more emoticons.
- process 600 of FIG. 6 may be implemented by and/or executed on a single network device, such as network device 300 of FIG. 3 .
- process 600 or portions of process 600 of FIG. 6 may be implemented by and/or executed on a plurality of network devices, such as network device 300 of FIG. 3 .
- Process 600 begins, after a start block, at block 602 , where an emoticon is selected.
- the emoticon may be selected from a base emoticon pool that includes a plurality of base emoticons.
- the emoticon may be selected from a user emoticon pool associated with the user that includes a plurality of emoticons.
- the emoticon may be selected based on a user's current personal construct, such as, for example, the current personal construct determined at block 504 of FIG. 5 . In another embodiment, the emoticon may be selected based on a subset of the user's current personal construct. In yet another embodiment, the emoticon may be selected based on user feedback. In some embodiments, the emoticon may be selected based on a comparison of the user's current personal construct and one or more tags associated with the emoticon.
- a personal construct emoticon is generated by modifying the selected emoticon.
- the selected emoticon may not be modified.
- an appearance of the selected emoticon can be modified, such as, for example, modifying a feature of the selected emoticon, adding an emoticon attribute to the selected emoticon, modifying a feature of the emoticon attribute, or any combination thereof.
- an appearance of the selected emoticon may be modified to mimic an avatar associated with the user.
- an appearance of an emoticon in the emoticon pool of the user may be modified.
- an appearance of a base emoticon from a base emoticon pool may be modified.
- a feature of the selected emoticon may be modified.
- one or more visual aspects of the selected emoticon may be modified, such as, but not limited to, size, color, shape, orientation, text, or the like.
- audible aspects of the selected emoticon may be modified, such as, but not limited to, a volume, duration, playback, animation, or the like. It should be understood that some emoticons may not have all of these features or may have additional features. As such, these features are examples, and other features or combination of features of the selected emoticon may be modified.
- one or more emoticon attributes may be added to the selected emoticon.
- the one or more emoticon attributes may be selected based on the user's current personal construct.
- each emoticon attribute may be selected from a subset of the user's current personal construct.
- the emoticon attribute may be selected based on a comparison of the user's current personal construct and one or more tags associated with the emoticon attribute.
- one emoticon attribute that may be selected may be a Santa Claus hat because it is Christmas and another emoticon attribute that may be selected may be a pair of sunglasses because it is sunny.
- the resulting personal construct emoticon may have both the Santa Claus hat and the sunglasses.
- different subsets of the user's current personal construct may be utilized individually or in any combination to select the one or more emoticon attributes.
- a feature of the one or more emoticon attributes may be modified.
- modifying the features of the emoticon attributes may be similar to modifying the features of the selected emoticon, as discussed above.
- Process 600 next proceeds to block 606 .
- an emoticon pool of the user is updated with the personal construct emoticon.
- the personal construct emoticon may be augmented to the user's emoticon pool.
- the personal construct emoticon may replace or update an emoticon in the user's emoticon pool, such as, for example, when the emoticon utilized to generate the personal construct emoticon is selected at bock 602 from the user's emoticon pool.
- an advertiser may bid and/or purchase emoticons or emoticon attributes to be included in the dynamically updated emoticon pool.
- the advertiser may be automatically billed if the purchased emoticon and/or emoticon attribute is included in a dynamically updated emoticon pool.
- the advertiser may be automatically billed if a user selects the purchased emoticon and/or an emoticon with a purchased emoticon attribute for use in a message. For example, Brand A may bid on a hat emoticon attribute that includes Brand A's logo.
- Brand A may be billed one value if the hat is added to a personal construct emoticon that is augmented to a user's emoticon pool, and/or billed another value if the user selects the personal construct emoticon that includes the hat with Brand A's logo.
- process 600 proceeds to decision block 608 .
- another emoticon may be selected based on a user preference indicating a total number of dynamically updated emoticons in the emoticon pool, such as, in one non-limiting example, between 10 and 50 emoticons.
- another emoticon may be selected based on changes to the user's current personal construct. For example, an increase in a number of changes in the user's current personal construct can increase a number of emoticons selected to dynamically update the user's emoticon pool.
- another emoticon may be selected based on a size of the user's emoticon pool. If another emoticon is to be selected, then processing loops to block 602 ; otherwise, processing returns to a calling process to perform other actions.
- each block of the flowchart illustration, and combinations of blocks in the flowchart illustration can be implemented by computer program instructions.
- These program instructions may be provided to a processor to produce a machine, such that the instructions, which execute on the processor, create means for implementing the actions specified in the flowchart block or blocks.
- the computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer-implemented process such that the instructions, which execute on the processor to provide steps for implementing the actions specified in the flowchart block or blocks.
- the computer program instructions may also cause at least some of the operational steps shown in the blocks of the flowchart to be performed in parallel.
- blocks of the flowchart illustration support combinations of means for performing the specified actions, combinations of steps for performing the specified actions and program instruction means for performing the specified actions. It will also be understood that each block of the flowchart illustration, and combinations of blocks in the flowchart illustration, can be implemented by special purpose hardware-based systems, which perform the specified actions or steps, or combinations of special purpose hardware and computer instructions.
- FIGS. 7-9 illustrate one non-limiting and non-exhaustive example of an embodiment that depicts an updated emoticon pool (shown in FIG. 9 ) by adding emoticon attributes (shown in FIG. 8 ) to base emoticons (shown in FIG. 7 ).
- FIGS. 7-9 illustrate one embodiment of updating an emoticon pool of a user, the invention is not so limited. Rather, these examples are intended to illustrate one approach to updating an emoticon pool, and should not be considered as exhaustive or limiting.
- other embodiments may be employed to update the emoticon pool of the user, such as, for example, by selecting a subset of a base emoticon pool.
- FIGS. 7-9 primarily illustrate smiley emoticons, which is not to be construed as limiting or exhaustive; rather, other emoticons known to those skilled in the art may also be employed.
- FIG. 7 shows one non-exhaustive and non-limiting example of a base emoticon pool.
- Base emoticon pool 700 may be a subset of emoticon pool 210 of FIG. 2 and/or emoticon pool 310 of FIG. 3 .
- Base emoticon pool 700 includes base emoticons 701 - 706 , where: base emoticon 701 is a happy emoticon; base emoticon 702 is a sad emoticon; base emoticon 703 is a spiky hair emoticon; base emoticon 704 is an excited emoticon; base emoticon 705 is a sleeping emoticon; and base emoticon 705 is a flabbergasted emoticon.
- base emoticons 701 - 706 are examples, and are not intended to be an exhaustive list of base emoticons; rather, other types, shapes, sizes, numbers, or the like of base emoticons may be included in base emoticon pool 700 .
- FIG. 8 shows one non-exhaustive and non-limiting example of an emoticon attribute pool.
- Emoticon attribute pool 800 may be an embodiment of emoticon attributes 212 of FIG. 2 and/or emoticon attributes 312 of FIG. 3 .
- emoticon attribute pool 800 includes emoticon attributes 801 - 804 , where: emoticon attribute 801 depicts a Santa Claus hat; emoticon attribute 802 depicts an umbrella hat; emoticon attribute 803 depicts a pair of sunglasses; and emoticon attribute 804 depicts a banner.
- emoticon attributes 801 - 804 are examples, and are not intended to be an exhaustive list of emoticon attributes; rather, other types, shapes, sizes, numbers, or the like of emoticon attributes may be included in emoticon attribute pool 800 .
- each of emoticon attributes 801 - 804 may be associated with a particular current personal construct.
- emoticon attribute 801 may be utilized if the user's current personal construct indicates that it is Christmas, Christmas time, the user is at a Christmas party, the user recently purchased Christmas gifts, or the like.
- Emoticon attribute 802 may be utilized if the user's current personal construct indicates that it is raining at the user's physical location, the user is in a silly mood, or the like.
- Emoticon attribute 803 may be utilized if the user's current personal construct indicates that it is sunny and the user's physical location, the user is at the beach, the user recently purchased a new pair of sunglasses, or the like.
- Emoticon attribute 804 may be utilized if the user's current personal construct indicates that the user's favorite sports team is currently playing, the user recently visited a homepage of the user's favorite sports team, or the like.
- emoticon attributes 801 - 804 are non-exhaustive and non-limiting examples.
- the example current personal construct associated with emoticon attributes 801 - 804 are also non-exhaustive and non-limiting examples, and other current personal constructs may be utilized.
- FIG. 9 shows one non-exhaustive and non-limiting example of a dynamically updated emoticon pool.
- Dynamically updated emoticon pool 900 may include personal construct emoticons 901 - 908 .
- Dynamically updated emoticon pool 900 may be generated by modifying an appearance of one or more base emoticons (e.g. base emoticons 701 - 706 of FIG. 7 ) by adding one or more emoticon attributes (e.g. emoticon attributes 801 - 804 of FIG. 8 ) to the one or more base emoticons.
- a user's current personal construct e.g. as determined at block 504 of FIG.
- the current personal construct may indicate that it is Christmas, the user recently bought a new pair of sunglasses, it is raining at the user's physical location, the user's favorite sports team is currently playing, and the user's mood is happy.
- other information may be indicated by the current personal construct, which, in some embodiments, may depend on the user targeted information utilized to determine the current personal construct, as described in more detail above.
- Personal construct emoticon 901 may be generated based on the user's current personal construct that indicates that it is Christmas.
- Personal construct emoticon 901 may be generated by selecting base emoticon 701 of FIG. 7 (e.g. as described at block 602 of FIG. 6 ) and adding emoticon attribute 801 of FIG. 8 to base emoticon 701 (e.g. as described at block 604 of FIG. 6 ).
- Personal construct emoticon 902 may be generated based on the user's current personal construct that indicates that it is Christmas, the user bought a new pair of sunglasses, and the user's mood is happy. Personal construct emoticon 902 may be generated by selecting base emoticon 704 of FIG. 7 and adding emoticon attributes 801 and 803 of FIG. 8 to base emoticon 704 .
- Personal construct emoticon 903 may be generated based on the user's current personal construct that indicates that it is raining at the user's physical location and the user's mood is happy. Personal construct emoticon 903 may be generated by selecting base emoticon 701 of FIG. 7 and adding emoticon attribute 802 of FIG. 8 to base emoticon 701 .
- Personal construct emoticon 904 may be generated based on the user's current personal construct that indicates that it is raining at the user's physical location. Personal construct emoticon 904 may be generated by selecting base emoticon 702 of FIG. 7 and adding emoticon attribute 802 of FIG. 8 to base emoticon 702 .
- Personal construct emoticon 905 may be generated based on the user's current personal construct that indicates that the user bought a new pair of sunglasses. Personal construct emoticon 905 may be generated by selecting base emoticon 701 of FIG. 7 and adding emoticon attribute 803 of FIG. 8 to base emoticon 701 .
- Personal construct emoticon 906 may be generated based on the user's current personal construct that indicates that the user's mood is happy. Personal construct emoticon 906 may be generated by selecting base emoticon 704 of FIG. 7 and modifying a feature of base emoticon 704 , such as increasing a size of base emoticon 704 .
- Personal construct emoticon 907 may be generated based on the user's current personal construct that indicates that it is raining at the user's physical location on Christmas. Personal construct emoticon 907 may be generated by selecting base emoticon 706 of FIG. 7 , modifying a feature of base emoticon 704 , such as decreasing a size of base emoticon 704 , and adding emoticon attribute 802 of FIG. 8 to base emoticon.
- Personal construct emoticon 908 may be generated based on the user's current personal construct that indicates that the user's favorite sports team is playing. Personal construct emoticon 908 may be generated by selecting base emoticon 701 of FIG. 7 and adding emoticon attribute 804 of FIG. 8 to base emoticon 701 . In some embodiments, the text “GO TEAM” may be replaced with virtually any other text, such as the name of a user's favorite sports team, a brand name, company slogan, happy birthday text, or any other text suitable for the user's current personal construct.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Operations Research (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Game Theory and Decision Science (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- The present invention relates generally to emoticons and, more particularly, but not exclusively to dynamically updating an emoticon pool based at least on current personal construct.
- Instant messaging has become a commonly used application on the Internet. Instant messaging programs generally allow users to send and receive text-based messages. One typical shortfall of text-based messages is that they generally lack an emotional aspect. As a result, users sometimes convey their emotions and/or moods to another user by adding emoticons' to a text-based message. Generally, emoticons are icons (e.g. a smiley face) and/or a sequence of characters, typically appearing inline with text (e.g. ;-) (wink)). In some cases, a sequence of characters can be transformed into an icon that represents a similar emotion. In some environments, emoticons can be grouped into an emoticon pool that can allow a user to select emoticons for use in a text-based message.
- Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise specified.
- For a better understanding of the present invention, reference will be made to the following Detailed Description, which is to be read in association with the accompanying drawings, wherein:
-
FIG. 1 is a system diagram of an environment in which embodiments may be implemented; -
FIG. 2 shows an embodiment of a client device that may be included in a system such as that shown inFIG. 1 ; -
FIG. 3 shows an embodiment of a network device that may be included in a system such as that shown inFIG. 1 ; -
FIG. 4 illustrates a wheel diagram of a non-exhaustive example of an embodiment of user targeted information; -
FIG. 5 illustrates a logical flow diagram generally showing one embodiment of an overview process for dynamically updating an emoticon pool of a user based on a current personal construct of the user; -
FIG. 6 illustrates a logical flow diagram generally showing one embodiment of a process for modifying one or more emoticons; -
FIG. 7 shows a non-exhaustive example of a use case of an embodiment of a base emoticon pool; -
FIG. 8 shows a non-exhaustive example of a use case of an embodiment of a set of emoticon attributes; and -
FIG. 9 shows a non-exhaustive example of a use case of an embodiment of a dynamically updated emoticon pool. - Throughout the specification and claims, the following terms take the meanings explicitly associated herein, unless the context clearly dictates otherwise. The phrase “in one embodiment” as used herein does not necessarily refer to the same embodiment, though it may. Furthermore, the phrase “in another embodiment” as used herein does not necessarily refer to a different embodiment, although it may. Thus, as described below, various embodiments of the invention may be readily combined, without departing from the scope or spirit of the invention.
- In addition, as used herein, the term “or” is an inclusive “or” operator, and is equivalent to the term “and/or,” unless the context clearly dictates otherwise. The term “based on” is not exclusive and allows for being based on additional factors not described, unless the context clearly dictates otherwise. In addition, throughout the specification, the meaning of “a,” “an,” and “the” include plural references. The meaning of “in” includes “in” and “on.”
- As used herein, the phrase “user targeted information” refers to any of a variety of information relating to a user. User targeted information may include, but not limited to, static user information, dynamic user information, implicit user information, dynamic external information determined to be relevant to the user, and/or any combination thereof. Static user information may include, but is not limited to, user profile, user preferences, user demographics, or the like. Dynamic user information may include, but is not limited to, a user's online activities, message content, a user's mood, or the like. Implicit user information may include, but is not limited to, a user's location, a user's social network trends, or the like. Dynamic external information may include, but is not limited to, weather, time of day, time of year, other calendar information, or the like.
- As used herein, the phrase “current personal construct” refers to an abstract and/or general idea pertaining to a user that is inferred or otherwise derived from user targeted information. A current personal construct may provide an indication of, for example, a user's current interests, a user's current likes or dislikes, a user's recent and/or real-time online and/or offline activities, a user's mood, a user's physical environment, activities and/or ambiance surrounding a current holiday and/or festival determined to be relevant to the user (e.g. although it may be Christmas season, the user may not celebrate Christmas, but may celebrate Hanukkah, Eid ul-Fitr, or other religious holiday), or the like. A current personal construct may also include specific details, such as, for example, the user recently purchased a Nike hat, it is snow at the user's location, and it is the Christmas season.
- As used herein, the term “emoticon attributes” refers to any of a variety of items that can be added to an emoticon. Emoticon attributes may include backgrounds, themes, sounds, animations, text, clothes, props, or other accessories.
- As used herein, the term, “features” refers to any of a variety of aspects of an emoticon and/or emoticon attribute that can be modified. Features may include visual aspects (e.g. shape, size, color, orientation, text and/or fonts, or the like), audible aspects (e.g. volume, duration, playback, animation, or the like), or the like.
- As used herein, the term “social network” refers to a concept that an individual's personal network of friends, family colleagues, coworkers, and the subsequent connections within those networks, can be utilized to find more relevant connections for a variety of activities, including, but not limited to dating, job networking, service referrals, content sharing, like-minded individuals, activity partners, or the like.
- An online social network typically comprises a person's set of direct and/or indirect personal relationships, including real and virtual privileges and permissions that users may associate with these people. Direct personal relationships usually include relationships with people the user can communicated with directly, including family members, friends, colleagues, coworkers, and other people with which the person has had some form of direct contact, such as contact in person, by telephone, by email, by instant message, by letter, or the like. These direct personal relationships are sometimes referred to as first-degree relationships. First-degree relationships can have varying degrees of closeness, trust, and other characteristics.
- Indirect personal relationships typically include relationships through first-degree relationships to people with whom a person has not had some form of direct or limited direct contact, such as in being cc′d on an e-mail message, or the like. For example, a friend of a friend represents an indirect personal relationship. A more extended, indirect relationship might be a friend of a friend of a friend. These indirect relationships are sometimes characterized by a degree of separation between the people. For instance, a friend of a friend can be characterized as two degrees of separation or a second-degree relationship. Similarly, a friend of a friend of a friend can be characterized as three degrees of separation or a third-degree relationship.
- The following briefly describes embodiments of the invention in order to provide a basic understanding of some aspects of the invention. This brief description is not intended as an extensive overview. It is not intended to identify key or critical elements, or to delineate or otherwise narrow the scope. Its purpose is merely to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
- Briefly stated, embodiments are directed towards dynamically updating, in real-time, an emoticon pool of a user based on a current personal construct of the user. In some embodiments, a current personal construct may provide an indication of, for example, a user's current interests, a user's current likes or dislikes, a user's online and/or offline activities, a user's mood, a user's physical environment, activities and/or ambiance surrounding a current holiday and/or festival, or the like. In one embodiment, real-time changes in the current personal construct of a user may result in a real-time update to the emoticon pool of the user, which can allow the user's emoticon pool to dynamically track the user's current personal construct. In one, non-limiting, non-exhaustive example, if it is raining at the user's location, then the user's emoticon pool may include emoticons with umbrellas. However, if the weather changes to sunny, then the user's emoticon pool may be dynamically updated to remove the umbrellas and include emoticons with sunglasses.
- The current personal construct of a user may be determined, in one embodiment, by examining user targeted information associated with the user. In some embodiments, the user targeted information may include, but not limited to, static user information, dynamic user information, implicit user information, dynamic external information, and/or any combination thereof. It is envisaged that any information targeted and/or related to a user can be utilized to determine a current personal construct of the user.
- In one embodiment, the emoticon pool of a user may be dynamically updated by modifying an appearance of one or more base emoticons in a base emoticon pool, one or more existing emoticons in the emoticon pool of the user, or any combination thereof. In some embodiments, the appearance of an emoticon can be modified by adding one or more emoticon attributes to the emoticon, by modifying one or more emoticon and/or emoticon attribute features, or any combination thereof. In yet other embodiments, a user's emoticon pool may be dynamically updated to include a subset of base emoticons from a base emoticon pool. In one embodiment, the base emoticon pool may not change based on the current personal construct of the user, but the subset of base emoticons may be selected based on the user's current personal construct.
- The dynamically updated emoticon pool may be provided to the user to enable the user to view the updated emoticon pool and to select an emoticon for insertion into a message.
-
FIG. 1 shows components of one embodiment of an environment in which the invention may be practiced. Not all the components may be required to practice the invention, and variations in the arrangement and type of the components may be made without departing from the spirit or scope of the invention. As shown,system 100 ofFIG. 1 includes local area networks (“LANs”)/wide area networks (“WANs”)—(network) 108,wireless network 107, client devices 101-106, and Emoticon Service Device (“ESD”) 109. - One embodiment of client devices 101-106 is described in more detail below in conjunction with
FIG. 2 . Generally, however, client devices 103-106 may include virtually any portable computing device capable of receiving and sending messages over a network, such asnetwork 108,wireless network 107, or the like. Client devices 103-106 may also be described generally as client devices that are configured to be portable. Thus, client devices 103-106 may include virtually any portable computing device capable of connecting to another computing device and receiving information. Such devices include portable devices such as, cellular telephones, smart phones, display pagers, radio frequency (“RF”) devices, infrared (“IR”) devices, Personal Digital Assistants (“PDAs”), handheld computers, laptop computers, wearable computers, tablet computers, integrated devices combining one or more of the preceding devices, and the like. As such, client devices 103-106 typically range widely in terms of capabilities and features. In one non-limiting example, a cell phone may have a numeric keypad and a few lines of monochrome liquid crystal display (“LCD”) display on which only text may be displayed. In another example, a web-enabled mobile device may have a touch sensitive screen, a stylus, and several lines of color LCD display in which both text and graphics may be displayed. -
Client device 101 may include virtually any computing device capable of communicating over a network to send and receive information, including instant messages, performing various online activities, or the like. The set of such devices may include devices that typically connect using a wired or wireless communications medium such as personal computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, or the like. In one embodiment, at least some of client devices 101-106 may operate over wired and/or wireless network.Client device 102 may include virtually any device useable as a television device. Today, many of these devices include a capability to access and/or otherwise communicate over a network such asnetwork 108 and/or evenwireless network 107. Moreover,client device 102 may access various computing applications, including a browser, or other web-based application. - A web-enabled client device may include a browser application that is configured to receive and to send web pages, web-based messages, and the like. The browser application may be configured to receive and display graphics, text, multimedia, and the like, employing virtually any web-based language, including a wireless application protocol messages (“WAP”), and the like. In one embodiment, the browser application is enabled to employ Handheld Device Markup Language (“HDML”), Wireless Markup Language (“WML”), WMLScript, JavaScript, Standard Generalized Markup Language (“SGML”), HyperText Markup Language (“HTML”), eXtensible Markup Language (“XML”), and the like, to display and send a message. In one embodiment, a user of the client device may employ the browser application to perform various activities over a network (online). However, another application may also be used to perform various online activities.
- Client devices 101-106 also may include at least one other client application that is configured to receive and/or send messages and/or content, including instant messages, between another computing device. The client application may include a capability to send and/or receive emoticons associated with an instant message or other electronic message. In one embodiment, the emoticons may include media content, textual content, graphical content, audio content, or the like. The client application may further provide information that identifies itself, including a type, capability, name, and the like. In one embodiment, client devices 101-106 may uniquely identify themselves through any of a variety of mechanisms, including a phone number, Mobile Identification Number (“MIN”), an electronic serial number (“ESN”), or other mobile device identifier. The information may also indicate a content format that the mobile device is enabled to employ. Such information may be provided in a network packet, or the like, sent between other client devices,
ESD 109, or other computing devices. - Client devices 101-106 may further be configured to include a client application that enables an end-user to log into an end-user account that may be managed by another computing device, such as
ESD 109, or the like. Such end-user account, in one non-limiting example, may be configured to enable the end-user to compose a message and select one or more emoticons from a personal construct emoticon pool associated with the user to be inserted in the message. However, participation in such message and emoticon usage may also be performed without logging into the end-user account. -
Wireless network 107 is configured to couple client devices 103-106 and its components withnetwork 108.Wireless network 107 may include any of a variety of wireless sub-networks that may further overlay stand-alone ad-hoc networks, and the like, to provide an infrastructure-oriented connection for client devices 103-106. Such sub-networks may include mesh networks, Wireless LAN (“WLAN”) networks, cellular networks, and the like. In one embodiment, the system may include more than one wireless network. -
Wireless network 107 may further include an autonomous system of terminals, gateways, routers, and the like connected by wireless radio links, and the like. These connectors may be configured to move freely and randomly and organize themselves arbitrarily, such that the topology ofwireless network 107 may change rapidly. -
Wireless network 107 may further employ a plurality of access technologies including 2nd (2G), 3rd (3G), 4th (4G) generation radio access for cellular systems, WLAN, Wireless Router (“WR”) mesh, and the like. Access technologies such as 2G, 3G, 4G and future access networks may enable wide area coverage for mobile devices, such as client devices 103-106 with various degrees of mobility. In one non-limiting example,wireless network 107 may enable a radio connection through a radio network access such as Global System for Mobil communication (“GSM”), General Packet Radio Services (“GPRS”), Enhanced Data GSM Environment (“EDGE”), Wideband Code Division Multiple Access (“WCDMA”), and the like. In essence,wireless network 107 may include virtually any wireless communication mechanism by which information may travel between client devices 103-106 and another computing device, network, and the like. -
Network 108 is configured to couple network devices with other computing devices, including,ESD 109,client devices wireless network 107 to client devices 103-106.Network 108 is enabled to employ any form of computer readable media for communicating information from one electronic device to another. Also,network 108 can include the Internet in addition to LANs, WANs, direct connections, such as through a universal serial bus (“USB”) port, other forms of computer-readable media, or any combination thereof. On an interconnected set of LANs, including those based on differing architectures and protocols, a router acts as a link between LANs, enabling messages to be sent from one to another. In addition, communication links within LANs typically include twisted wire pair or coaxial cable, while communication links between networks may utilize analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, and/or other carrier mechanisms including, for example, E-carriers, Integrated Services Digital Networks (“ISDNs”), Digital Subscriber Lines (“DSLs”), wireless links including satellite links, or other communications links known to those skilled in the art. Moreover, communication links may further employ any of a variety of digital signaling technologies, including without limit, for example, DS-0, DS-1, DS-2, DS-3, DS-4, OC-3, OC-12, OC-48, or the like. Furthermore, remote computers and other related electronic devices could be remotely connected to either LANs or WANs via a modem and temporary telephone link. In one embodiment,network 108 may be configured to transport information of an Internet Protocol (“IP”). In essence,network 108 includes any communication method by which information may travel between computing devices. - Additionally, communication media typically embodies computer-readable instructions, data structures, program modules, or other transport mechanism and includes any information delivery media. By way of example, communication media includes wired media such as twisted pair, coaxial cable, fiber optics, wave guides, and other wired media and wireless media such as acoustic, RF, infrared, and other wireless media.
- One embodiment of
ESD 109 is described in more detail below in conjunction withFIG. 3 . Briefly, however,ESD 109 may include any computing device capable of connecting to network 107 to dynamically update, in real-time, an emoticon pool associated with a user of client devices 101-106 based on a current personal construct of the user. Dynamically updating the emoticon pool is described in more detail below in conjunction withFIGS. 4-6 . - In some embodiments,
ESD 109 may also operate as website servers to provide content, including emoticons and emoticon pools, to client devices 101-106. Such content may include, but is not limited to textual, graphical, and/or audio content, and/or any of a variety of media content for access by, or any of a variety of other interactions with the media content by, another client device.ESD 109 may also operate as a messaging server such as a Short Message Service (“SMS”) message service, Instant Message (“IM”) message service, email message service, alert service, or the like. Moreover,ESD 109 may also operate as a File Transfer Protocol (“FTP”) server, a database server, music and/or video download server, or the like. Additionally,ESD 109 may be configured to perform multiple functions. - Devices that may operate as
ESD 109 include various network devices, including, but not limited to personal computers, desktop computers, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, server devices, network appliances, and the like. - Although
FIG. 1 illustratesESD 109 as a single computing device, the invention is not so limited. For example, one or more functions ofESD 109 may be distributed across one or more distinct network devices. Moreover,ESD 109 is not limited to a particular configuration. Thus, in one embodiment,ESD 109 may contain a plurality of network devices to dynamically update a user's emoticon pool. Similarly, in another embodiment,ESD 109 may contain a plurality of network devices that operate using a master/slave approach, where one of the plurality of network devices ofESD 109 operates to manage and/or otherwise coordinate operations of the other network devices. In other embodiments, theESD 109 may operate as a plurality of network devices within a cluster architecture, a peer-to-peer architecture, and/or even within a cloud architecture. Thus, the invention is not to be construed as being limited to a single environment, and other configurations, and architectures are also envisaged. -
FIG. 2 shows one embodiment ofclient device 200 that may be included in a system implementing the invention.Client device 200 may include many more or less components than those shown inFIG. 2 . However, the components shown are sufficient to disclose an illustrative embodiment for practicing the present invention.Client device 200 may represent, for example, one embodiment of at least one of client devices 101-106 ofFIG. 1 . - As shown in the figure,
client device 200 includes a central processing unit (“CPU”) 202 in communication with amass memory 226 via abus 234.Client device 200 also includes apower supply 228, one ormore network interfaces 236, anaudio interface 238, adisplay 240, akeypad 242, anilluminator 244, avideo interface 246, an input/output interface 248, ahaptic interface 250, and a global positioning systems (“GPS”)receiver 232.Power supply 228 provides power toclient device 200. A rechargeable or non-rechargeable battery may be used to provide power. The power may also be provided by an external power source, such as an alternating current (“AC”) adapter or a powered docking cradle that supplements and/or recharges a battery. -
Client device 200 may optionally communicate with a base station (not shown), or directly with another computing device.Network interface 236 includes circuitry forcoupling client device 200 to one or more networks, and is constructed for use with one or more communication protocols and technologies including, but not limited to, GSM, code division multiple access (“CDMA”), time division multiple access (“TDMA”), user datagram protocol (“UDP”), transmission control protocol/Internet protocol (“TCP/IP”), SMS, GPRS, WAP, ultra wide band (“UWB”), Institute of Electrical and Electronics Engineers (“IEEE”) 802.16 Worldwide Interoperability for Microwave Access (“WiMax”), session initiated protocol/real-time transport protocol (“SIP/RTP”), or any of a variety of other wireless communication protocols.Network interface 236 is sometimes known as a transceiver, transceiving device, or network interface card (“NIC”). -
Audio interface 238 is arranged to produce and receive audio signals such as the sound of a human voice. For example,audio interface 238 may be coupled to a speaker and microphone (not shown) to enable telecommunication with others and/or generate an audio acknowledgement for some action. -
Display 240 may be an LCD, gas plasma, light emitting diode (“LED”), or any other type of display used with a computing device.Display 240 may also include a touch sensitive screen arranged to receive input from an object such as a stylus or a digit from a human hand. -
Keypad 242 may comprise any input device arranged to receive input from a user. For example,keypad 242 may include a push button numeric dial, or a keyboard.Keypad 242 may also include command buttons that are associated with selecting and sending images. -
Illuminator 244 may provide a status indication and/or provide light.Illuminator 244 may remain active for specific periods of time or in response to events. For example, whenilluminator 244 is active, it may backlight the buttons onkeypad 242 and stay on while the client device is powered. Also,illuminator 244 may backlight these buttons in various patterns when particular actions are performed, such as dialing another client device.Illuminator 244 may also cause light sources positioned within a transparent or translucent case of the client device to illuminate in response to actions. -
Video interface 246 is arranged to capture video images, such as a still photo, a video segment, an infrared video, or the like. For example,video interface 246 may be coupled to a digital video camera, a web-camera, or the like.Video interface 246 may comprise a lens, an image sensor, and other electronics. Image sensors may include a complementary metal-oxide-semiconductor (“CMOS”) integrated circuit, charge-coupled device (“CCD”), or any other integrated circuit for sensing light. -
Client device 200 also comprises input/output interface 248 for communicating with external devices, such as a headset, or other input or output devices not shown inFIG. 2 . Input/output interface 248 can utilize one or more communication technologies, such as USB, infrared, Bluetooth™, or the like.Haptic interface 250 is arranged to provide tactile feedback to a user of the client device. For example, thehaptic interface 250 may be employed to vibrateclient device 200 in a particular way when another user of a computing device is calling. -
GPS transceiver 232 can determine the physical coordinates ofclient device 200 on the surface of the Earth.GPS transceiver 232, in some embodiments, may be optional.GPS transceiver 232 typically outputs a location as latitude and longitude values. However,GPS transceiver 232 can also employ other geo-positioning mechanisms, including, but not limited to, triangulation, assisted GPS (“AGPS”), Enhanced Observed Time Difference (“E-OTD”), Cell Identifier (“CI”), Service Area Identifier (“SAI”), Enhanced Timing Advance (“ETA”), Base Station Subsystem (“BSS”), or the like, to further determine the physical location ofclient device 200 on the surface of the Earth. It is understood that under different conditions,GPS transceiver 232 can determine a physical location within millimeters forclient device 200; and in other cases, the determined physical location may be less precise, such as within a meter or significantly greater distances. In one embodiment, however,mobile device 200 may through other components, provide other information that may be employed to determine a physical location of the device, including for example, a Media Access Control (“MAC”) address, IP address, or the like. -
Mass memory 226 includes a Random Access Memory (“RAM”) 204, a Read-only Memory (“ROM”) 222, and other storage means.Mass memory 226 illustrates an example of computer readable storage media (devices) for storage of information such as computer readable instructions, data structures, program modules or other data.Mass memory 226 stores a basic input/output system (“BIOS”) 224 for controlling low-level operation ofclient device 200. The mass memory also stores anoperating system 206 for controlling the operation ofclient device 200. It will be appreciated that this component may include a general-purpose operating system such as a version of UNIX, or LINUX™, or a specialized client communication operating system such as Windows Mobile™, or the Symbian® operating system. The operating system may include, or interface with a Java virtual machine module that enables control of hardware components and/or operating system operations via Java application programs. -
Mass memory 226 further includes one ormore data storage 208, which can be utilized byclient device 200 to store, among other things,applications 214 and/or other data. For example,data storage 208 may also be employed to store information that describes various capabilities ofclient device 200. The information may then be provided to another device based on any of a variety of events, including being sent as part of a header during a communication, sent upon request, or the like.Data storage 208 may also be employed to store social networking information including address books, buddy lists, aliases, user profile information, or the like. Further,data storage 208 may also store messages, web page content, or any of a variety of user generated content. At least a portion of the information may also be stored on another component ofnetwork device 200, including, but not limited to computerreadable storage device 230, a disk drive or other computer-readable storage device (not shown) withinclient device 200. -
Data storage 208, in other embodiments, may further storeemoticon pool 210 and/or emoticon attributes 212.Emoticon pool 210 may include a plurality of emoticons that can be selected by a user ofclient device 200 to be inserted in a message. As described in more detail below,emoticon pool 210 may be dynamically updated based on a current personal construct of the user. In some embodiments,emoticon pool 210 may include one or more emoticon pools associated with a user ofclient device 200 and/or a base emoticon pool. In one embodiment,emoticon pool 210 may be an optional component withinclient device 200. For example, the emoticon pool associated with the user may be hosted on another network device, such asnetwork device 300 ofFIG. 3 , which may be accessible, in one embodiment, byclient device 200. - Emoticon attributes 212 may include one or more emoticon attributes that can be added to one or more emoticons to modify an appearance of the emoticons. Emoticon attributes 212 may include logos, images, graphics, sounds, text, animations, and/or other digital content that can represent backgrounds, themes, clothes, props, or other accessories associated with an emoticon. In one embodiment, emoticon attributes 212 may be an optional component within
client device 200. For example, the emoticon attributes may be hosted on another network device, such asnetwork device 300 ofFIG. 3 , which may be accessible, in one embodiment, byclient device 200. -
Applications 214 may include computer executable instructions which, when executed byclient device 200, transmit, receive, and/or otherwise process messages (e.g., SMS, Multimedia Message Service (“MMS”), IM, email, and/or other messages), audio, video, and enable telecommunication with another user of another client device. Other examples of application programs include calendars, search programs, email clients, IM applications, SMS applications, voice over Internet Protocol (“VOIP”) applications, contact managers, task managers, transcoders, database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and so forth.Applications 214 may include, for example,messenger 216,browser 218, and dynamic augmentation selector (“DAS”) 220. -
Browser 218 may include virtually any application configured to receive and display graphics, text, multimedia, and the like, employing virtually any web based language. In one embodiment, the browser application is enabled to employ HDML, WML, WMLScript, JavaScript, SGML, HTML, XML, and the like, to display and send a message. However, any of a variety of other web-based languages may be employed. In one embodiment,browser 218 may enable a user ofclient device 200 to provide and/or receive messages between another computing device, such as another client device.Browser 218 may also be configured to enable a user to browse an emoticon pool, such asemoticon pool 210, and select one or more emoticons for insertion in a message. -
Messenger 216 may be configured to manage a messaging session using any of a variety of messaging communications including, but not limited to email, SMS, IM, MMS, internet relay chat (“IRC”), Microsoft IRC (“mIRC”), Really Simple Syndication (“RSS”) feeds, and/or the like. For example, in one embodiment,messenger 216 may be configured as an IM application, such as AOL (America Online) Instant Messenger, Yahoo! Messenger, .NET Messenger Server, ICQ (“I seek you”), or the like. In one embodiment,messenger 216 may be configured to include a mail user agent (“MUA”) such as Elm, Pine, Message Handling (“MH”), Outlook, Eudora, Mac Mail, Mozilla Thunderbird, or the like. In another embodiment,messenger 216 may be a client application that is configured to integrate and employ a variety of messaging protocols, including, but not limited to various push and/or pull mechanisms forclient device 200. In one embodiment,messenger 216 may interact withbrowser 218 for managing messages. As used herein, the term “message” refers to any of a variety of messaging formats, or communications forms, including but not limited to email, SMS, IM, MMS, IRC, or the like.Messenger 216 may also be configured to enable a user to browse an emoticon pool, such asemoticon pool 210, and select one or more emoticons for insertion in a message. -
DAS 220 is configured to dynamically update an emoticon pool associated with a user, such as, in one embodiment,emoticon pool 210, based on a current personal construct of the user. In one embodiment,DAS 220 obtains and examines user targeted information to determine the user's current personal construct.DAS 220 may also, in one embodiment, be configured to accept feedback from a user ofclient device 200 to be used as additional user targeted information. In some embodiments,DAS 220 may dynamically update one or more emoticon pools of the user based on a subset of the user's current personal construct. In yet other embodiments,DAS 220 may be configured to select a subset of base emoticons from a base emoticon pool based on the user's current personal construct and augment the user's emoticon pool to include the selected subset of base emoticons. -
DAS 220 may be configured to select one or more emoticons from an emoticon pool, generate a personal construct emoticon by modifying the selected emoticons, and update the emoticon pool with the personal construct emoticon. In some embodiments,DAS 220 may be configured to utilizeemoticon pool 210 and/or an emoticon pool hosted on another device, such asemoticon pool 310 ofFIG. 3 . In some embodiments, each of the one or more emoticons may be selected and/or modified based on a subset of the user's current personal construct. In one embodiment, a different subset of the user's current personal construct may be utilized to select and/or generate different personal construct emoticons. -
DAS 220 may, in some embodiments, be configured to modify an appearance of one or more selected emoticons. In one embodiment,DAS 220 may modify a selected emoticon by adding one or more emoticon attributes to the selected emoticon. In some embodiments,DAS 220 may utilize emoticon attributes 212 and/or emoticon attributes hosted on another device, such asemoticon pool 312 ofFIG. 3 . In other embodiments,DAS 220 may modify a feature of one or more selected emoticons and/or a feature of one or more emoticon attributes. - In one embodiment,
DAS 220 may be an optional component withinclient device 200. For example, a dynamic augmentation selector hosted on another network device may be employed to perform the dynamic update of an emoticon pool associated with the user. In any event,DAS 220 may employ processes similar to those described below in conjunction withFIGS. 5-6 to perform at least some of its actions. -
FIG. 3 shows one embodiment of anetwork device 300, according to one embodiment of the invention.Network device 300 may include many more or less components than those shown. The components shown, however, are sufficient to disclose an illustrative embodiment for practicing the invention.Network device 300 may be configured to operate as a server, client, peer, or any other device.Network device 300 may represent, forexample ESD 109 ofFIG. 1 . -
Network device 300 includescentral processing unit 302, computerreadable storage device 328,network interface unit 330, an input/output interface 332,hard disk drive 334,video display adapter 336, and a mass memory, all in communication with each other viabus 326. The mass memory generally includesRAM 304,ROM 322 and one or more permanent mass storage devices, such ashard disk drive 334, tape drive, optical drive, and/or floppy disk drive. The mass memorystores operating system 306 for controlling the operation ofnetwork device 300. Any general-purpose operating system may be employed.BIOS 324 is also provided for controlling the low-level operation ofnetwork device 300. As illustrated inFIG. 3 ,network device 300 also can communicate with the Internet, or some other communications network, vianetwork interface unit 330, which is constructed for use with various communication protocols including the TCP/IP protocol.Network interface unit 330 is sometimes known as a transceiver, transceiving device, or NIC. -
Network device 300 also comprises input/output interface 332 for communicating with external devices, such as a keyboard, or other input or output devices not shown inFIG. 3 . Input/output interface 332 can utilize one or more communication technologies, such as USB, infrared, Bluetooth™, or the like. - The mass memory as described above illustrates another type of computer-readable media, namely computer-readable storage media and/or processor-readable storage medium. Computer-readable storage media (devices) may include volatile, nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer readable storage media include RAM, ROM, Electrically Erasable Programmable Read-only Memory (“EEPROM”), flash memory or other memory technology, Compact Disc Read-only Memory (“CD-ROM”), digital versatile disks (“DVD”) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical medium which can be used to store the desired information and which can be accessed by a computing device.
- As shown,
data storage 308 may include a database, text, spreadsheet, folder, file, or the like, that may be configured to maintain and store user account identifiers, user profiles, email addresses, IM addresses, and/or other network addresses, or the like.Data storage 308 may further include program code, data, algorithms, and the like, for use by a processor, such ascentral processing unit 302 to execute and perform actions. In one embodiment, at least some ofdata storage 308 might also be stored on another component ofnetwork device 300, including, but not limited to computerreadable storage device 328,hard disk drive 334, or the like. -
Data storage 308 may further storeemoticon pool 310 and/or emoticon attributes 312.Emoticon pool 310 may be configured substantially similar toemoticon pool 210 ofFIG. 2 , as described above. Emoticon attributes 312 may be configured substantially similar toemoticon pool 212 ofFIG. 2 , as described above. In some embodiments,emoticon pool 310 and/or emoticon attributes 312 may be optional components withinnetwork device 300. For example, the emoticon pool and/or the emoticon attributes may be hosted on another network device, such asclient device 200 ofFIG. 2 , which may be accessible, in one embodiment, bynetwork device 300. - The mass memory also stores program code and data. One or
more applications 314 are loaded into mass memory and run onoperating system 306. Examples of application programs may include transcoders, schedulers, calendars, database programs, word processing programs, Hypertext Transfer Protocol (“HTTP”) programs, customizable user interface programs, IPSec applications, encryption programs, security programs, SMS message servers, IM message servers, email servers, account managers, and so forth.Messaging server 316,web server 318, and dynamic augmentation selector (“DAS”) 320, may also be included as application programs withinapplications 314. -
Messaging server 316 may include virtually any computing component or components configured and arranged to forward messages from message user agents, and/or other message servers, or to deliver messages to a local message store, such asdata storage 308, or the like. Thus,messaging server 316 may include a message transfer manager to communicate a message employing any of a variety of email protocols, including, but not limited, to Simple Mail Transfer Protocol (“SMTP”), Post Office Protocol (“POP”), Internet Message Access Protocol (“IMAP”), Network New Transfer Protocol (“NNTP”), or the like.Messaging server 316 may also be managed by one or more components ofmessaging server 316. Thus,messaging server 316 may also be configured to manage SMS messages, IM, MMS, IRC, RSS feeds, mIRC, or any of a variety of other message types. In one embodiment,messaging server 316 may enable users to initiate and/or otherwise conduct chat sessions, VOIP sessions, or the like. In some embodiments,messaging server 316 may be configured to enable a user to access emoticon pool 310 (and/oremoticon pool 210 ofFIG. 2 ) to select an emoticon and insert the selected emoticon in a message sent from the user. -
Web server 318 represent any of a variety of services that are configured to provide content, including messages, over a network to another computing device. Thus,web server 318 includes, for example, a web server, an FTP server, a database server, a content server, or the like.Web server 318 may provide the content including messages over the network using any of a variety of formats including, but not limited to WAP, HDML, WML, SGML, HTML, XML, Compact HTML (“cHTML”), Extensible HTML (“xHTML”), or the like.Browser 318 may also be configured to enable a user to browse an emoticon pool, such asemoticon pool 310, and select one or more emoticons for insertion in a message. -
DAS 320 operates substantially similar toDAS 220 ofFIG. 2 , as described above, to dynamically update an emoticon pool associated with a user based on a current personal construct of the user. However, in one embodiment,DAS 320 may be configured to operate over a plurality of communications between one or more network devices to dynamically update an emoticon pool. - In some embodiments,
DAS 320 may be configured to utilizeemoticon pool 310 and/or an emoticon pool hosted on a client device, such asemoticon pool 210 ofFIG. 2 . In other embodiments,DAS 320 may utilize emoticon attributes 312 and/or emoticon attributes hosted on client device, such asemoticon pool 212 ofFIG. 2 . For example,DAS 320 may, in one non-limiting embodiment, select one or more emoticons, such as a base emoticon, fromemoticon pool 310.DAS 320 may, in one embodiment, modify an appearance of the selected emoticons by adding one or more emoticon attributes from emoticon attributes 312.DAS 320 may then dynamically updateemoticon pool 210 ofFIG. 2 with the selected and/or modified emoticons (i.e. personal construct emoticons). This example should not be construed as being limiting; rather,DAS 320 may be configured to utilize other combinations of emoticon pools and emoticon attributes fromnetwork device 300 and/orclient device 200 ofFIG. 2 . In any event,DAS 320 may perform actions such as those described below in conjunction withFIGS. 5-6 . -
FIG. 4 illustrates one embodiment of user targeted information usable to generate a current personal construct for a user. It should be understood that diagram 400 is one illustrative example showing information that may be utilized as user targeted information and one skilled in the art would readily understand that other information related to a user may also be utilized as user targeted information. As illustrated, user targeted information 401 may include virtually any information relating to a user, such as, but not limited to, dynamic user information 402, static user information 404, implicit user information 406, dynamicexternal information 408, and/or the like. User targeted information 401 may include virtually any combination of information depicted inFIG. 4 ; other, non-illustrated, information that is related to the user; or any combination thereof. - Dynamic user information 402 may include dynamically changing information provided by the user and/or about the user. For example, dynamic user information 402 may include, but is not limited to, a user's
online activities 424,message content 426, a user's mood 428, or the like. User'sonline activities 424 may include any online activities performed by the user, such as, but not limited to, online purchases, searches, browsing history, blogging, sharing user generated content, web page click through behavior, or the like.Message content 426 may include including text, emoticons, or other content of a message sent from and/or received by the user. User's mood 428 may be a mood or other status indicator of the user, such as, for example, a mood of an avatar of the user, a current social network mood of the user, or the like. - Static user information 404 may include information that is provided by the user and/or about the user that is unlikely to change over time, although it may. For example, static user information 404 may include, but is not limited to, a user's profile 410, a user's preferences 412, or the like. User's profile 410 may include any of a variety of personal information about the user, which may include, but is not limited to, age, gender, race, profession, religious affiliation, designated home location (e.g. home address), birth date, anniversary date, or the like. User's preferences 412 may include preferences and/or favorites of the user, such as, but not limited to, favorite websites, favorite color, favorite sports team, favorite celebrity, favorite store, favorite brand, group memberships, subscription information, or the like.
- Implicit user information 406 may include information related to the user that can be used to infer other information about the user. Implicit user information 406 may include, but is not limited to, a user's
social network trends 422, a user'slocation 420, or the like. User'ssocial network trends 422 may include information inferred about a user based on friends of the user. For example, it may be inferred that a user is happy becausesocial network trends 422 may indicate that a majority of the user's friends set their mood to happy. User'slocation 420 may include a physical location of the user, such as a location ofclient device 200 ofFIG. 2 . For example, it may be inferred that the user is on a boat because user'slocation 420 may indicate that the user is in the middle of a lake. - Dynamic
external information 408 may include information from an external source that can change over time and is indirectly related to the user. For example, dynamicexternal information 408 may include, but is not limited to,weather 414,calendar 416, time ofday 418, or the like.Weather 414 may include a current weather report at the user's location (such as by using user's location 420) that may be updated daily, hourly, minutely, or at any other suitable interval.Calendar 416 may include a variety of information relating to a calendar. For example,calendar 416 may include holidays, festivals, seasons, celebrations, and other events associated with a day, month, and/or time of year. Time ofday 418 may include information related to a current time of day, such as, for example, it is morning, afternoon, evening, lunchtime, or the like. - As noted above,
FIG. 4 illustrates one embodiment showing information that may be utilized as user targeted information. However, the invention is not so limited and other information that is related to a user may also be utilized as user targeted information. - The operation of certain aspects of the invention will now be described with respect to
FIGS. 5 and 6 .FIG. 5 illustrates a logical flow diagram generally showing one embodiment of an overview process for dynamically updating an emoticon pool of a user based on a current personal construct of the user. In some embodiments,process 500 ofFIG. 5 may be implemented by and/or executed on a single network device, such asnetwork device 300 ofFIG. 3 . In other embodiments,process 500 or portions ofprocess 500 ofFIG. 5 may be implemented by and/or executed on a plurality of network devices, such asnetwork device 300 ofFIG. 3 . -
Process 500 begins, after a start block, atblock 502, where user targeted information associated with a user is obtained. The user targeted information may include user targeted information 401 ofFIG. 4 . User targeted information may be obtained from a plurality of sources. - In some embodiments, user targeted information may be obtained from the user. In one embodiment, user targeted information may be directly provided by the user and may include, for example, static user information 404 of
FIG. 4 , user's mood 428 ofFIG. 4 , feedback from the user on a previously updated emoticon pool, or the like. In another embodiment, user targeted information may be indirectly provided by the user and may include, for example, dynamic user information 402 ofFIG. 4 , implicit user information 406 ofFIG. 4 , or the like. In other embodiments, user targeted information may be obtained from an external source, such as, for example, a website, database, or the like and may include, for example, dynamicexternal information 408 ofFIG. 4 , user'ssocial network trends 422 ofFIG. 4 , or the like. - User targeted information may, in some embodiments, be obtained based on user preferences, feedback from the user on a previously updated emoticon pool, or the like. In one embodiment, the user may be enabled to select which user targeted information may be obtained and/or what sources to utilize to obtain the user targeted information.
- In some embodiments, user targeted information may be obtained in real-time as the user targeted information changes. In other embodiments, user targeted information may be obtained randomly or periodically, such as minutely, hourly, or any other suitable time interval. In one embodiment, if there is no change in the user targeted information, then process 500 may loop (not shown) to block 502 to obtain other user targeted information; otherwise, processing proceeds to block 504.
- At
block 504, user targeted information is examined to determine a current personal construct of the user. In one embodiment, a subset of the user targeted information may be examined. In some embodiments, the user targeted information may be examined automatically, independent of direct user initialization. In one embodiment, the automatic examination of the user targeted information may occur randomly, periodically, when the user targeted information changes, or the like. The examination of the user targeted information may be based on user preferences, feedback from the user on a previously updated emoticon pool, or the like. In some embodiments, user targeted information may be examined and a user's current personal construct may be determined in real-time as the user targeted information changes and/or is obtained. In one embodiment, if there is no change in the current personal construct, then process 500 may loop (not shown) to block 502 to obtain other user targeted information; otherwise, processing proceeds to block 506. - Examination of the user targeted information may, in some embodiments, include an evaluation of text associated with the user targeted information, a weighting of the user targeted information, or the like. In some embodiments, user targeted information text may be evaluated by, for example, but not limited to, evaluating a title, subject, header, tag, body, or the like of a web page visited by the user, message sent from and/or to the user, or the like. In another embodiment, other content associated with the user targeted information may be evaluated.
- In other embodiments, user targeted information may be weighted based on a relevancy and/or currency factor of the user targeted information. In one embodiment, the currency factor may be based on when the user targeted information changed, such as, for example, user targeted information that changed more recently than other user targeted information may have a currency factor with higher weight than a currency factor of the other user targeted information. In another embodiment, the relevancy factor may be based on a comparison of different user targeted information. For example, a calendar may indicate that it is December, but the user's profile may indicate that the user is Jewish. As a result, user targeted information related to Christmas may have a relevancy factor with a lower weight than a relevancy factor of user targeted information related to Hanukkah.
- In any event,
process 500 continues continuing atblock 506, which is described in more detail below in conjunction withFIG. 6 . Briefly, however, atblock 506, an emoticon pool of the user is dynamically updated based on the user's current personal construct. In one embodiment, dynamically updating the emoticon pool of the user may be performed automatically, independent of direct user initialization. In some embodiments, one or more user emoticon pools may be dynamically updated. In one embodiment, each of the one or more user emoticon pools may be dynamically updated based on a subset of the user's current personal construct. -
Process 500 then proceeds to block 508, where the dynamically updated emoticon pool is provided to the user. In some embodiments, the dynamically updated emoticon pool may be provided to the user in real-time, randomly, periodically, or the like. In one embodiment, the emoticon pool may be dynamically updated in real-time based on real-time changes in the user targeted information and/or real-time changes in the user's current personal construct. - In some embodiments, providing the updated emoticon pool to the user may include displaying the updated emoticon pool to the user and/or downloading the updated emoticon pool to a client device of the user, such as
client device 200 ofFIG. 2 . In one embodiment, one or more emoticon pools of the user may be selectively displayed to enable the user to select an emoticon from at least one of the one or more emoticon pools for use in a message. - Continuing to block 510, user feedback is obtained. In some embodiments, block 510 may be optional and may not be performed. User feedback may be explicit feedback and/or implicit feedback. Explicit feedback may include, for example, but not limited to, an accuracy of the updated emoticon pool, an indication whether the user liked and/or disliked the updated emoticon pool, or the like. Implicit feedback may include, in one non-limiting example, an indication of the emoticons selected and/or not selected by the user for use in a message.
- In some embodiments, user feedback may be utilized as user targeted information. In other embodiments, user feedback may be utilized to determine what user targeted information to obtain and/or examined. In yet other embodiments, user feedback may be utilized to select and/or modify an emoticon.
- In any event,
process 500 then loops to block 502 to obtain other user targeted information. -
FIG. 6 illustrates a logical flow diagram generally showing one embodiment of a process for modifying one or more emoticons. In some embodiments,process 600 ofFIG. 6 may be implemented by and/or executed on a single network device, such asnetwork device 300 ofFIG. 3 . In other embodiments,process 600 or portions ofprocess 600 ofFIG. 6 may be implemented by and/or executed on a plurality of network devices, such asnetwork device 300 ofFIG. 3 . -
Process 600 begins, after a start block, atblock 602, where an emoticon is selected. In some embodiments, the emoticon may be selected from a base emoticon pool that includes a plurality of base emoticons. In other embodiments, the emoticon may be selected from a user emoticon pool associated with the user that includes a plurality of emoticons. - In one embodiment, the emoticon may be selected based on a user's current personal construct, such as, for example, the current personal construct determined at
block 504 ofFIG. 5 . In another embodiment, the emoticon may be selected based on a subset of the user's current personal construct. In yet another embodiment, the emoticon may be selected based on user feedback. In some embodiments, the emoticon may be selected based on a comparison of the user's current personal construct and one or more tags associated with the emoticon. - Continuing next to block 604, where a personal construct emoticon is generated by modifying the selected emoticon. In some embodiments, the selected emoticon may not be modified. In other embodiments, an appearance of the selected emoticon can be modified, such as, for example, modifying a feature of the selected emoticon, adding an emoticon attribute to the selected emoticon, modifying a feature of the emoticon attribute, or any combination thereof. In some embodiments, an appearance of the selected emoticon may be modified to mimic an avatar associated with the user. In one embodiment, an appearance of an emoticon in the emoticon pool of the user may be modified. In another embodiment, an appearance of a base emoticon from a base emoticon pool may be modified.
- In some embodiment, a feature of the selected emoticon may be modified. In one embodiment, one or more visual aspects of the selected emoticon may be modified, such as, but not limited to, size, color, shape, orientation, text, or the like. In another embodiment, audible aspects of the selected emoticon may be modified, such as, but not limited to, a volume, duration, playback, animation, or the like. It should be understood that some emoticons may not have all of these features or may have additional features. As such, these features are examples, and other features or combination of features of the selected emoticon may be modified.
- In other embodiments, one or more emoticon attributes may be added to the selected emoticon. In one embodiment, the one or more emoticon attributes may be selected based on the user's current personal construct. In another embodiment, each emoticon attribute may be selected from a subset of the user's current personal construct. In some embodiments, the emoticon attribute may be selected based on a comparison of the user's current personal construct and one or more tags associated with the emoticon attribute.
- For example, if the user's current personal construct indicates that it is Christmas and sunny, one emoticon attribute that may be selected may be a Santa Claus hat because it is Christmas and another emoticon attribute that may be selected may be a pair of sunglasses because it is sunny. The resulting personal construct emoticon may have both the Santa Claus hat and the sunglasses. However, it should be understood that different subsets of the user's current personal construct may be utilized individually or in any combination to select the one or more emoticon attributes.
- In some embodiments, a feature of the one or more emoticon attributes may be modified. In some embodiments, modifying the features of the emoticon attributes may be similar to modifying the features of the selected emoticon, as discussed above.
-
Process 600 next proceeds to block 606. Atblock 606, an emoticon pool of the user is updated with the personal construct emoticon. In one embodiment, the personal construct emoticon may be augmented to the user's emoticon pool. In another embodiment, the personal construct emoticon may replace or update an emoticon in the user's emoticon pool, such as, for example, when the emoticon utilized to generate the personal construct emoticon is selected atbock 602 from the user's emoticon pool. - In some embodiments, an advertiser may bid and/or purchase emoticons or emoticon attributes to be included in the dynamically updated emoticon pool. In one embodiment, the advertiser may be automatically billed if the purchased emoticon and/or emoticon attribute is included in a dynamically updated emoticon pool. In another embodiment, the advertiser may be automatically billed if a user selects the purchased emoticon and/or an emoticon with a purchased emoticon attribute for use in a message. For example, Brand A may bid on a hat emoticon attribute that includes Brand A's logo. Brand A may be billed one value if the hat is added to a personal construct emoticon that is augmented to a user's emoticon pool, and/or billed another value if the user selects the personal construct emoticon that includes the hat with Brand A's logo.
- In any event,
process 600 proceeds todecision block 608. Atdecision block 608, a determination is made whether or not to select another emoticon. In one embodiment, another emoticon may be selected based on a user preference indicating a total number of dynamically updated emoticons in the emoticon pool, such as, in one non-limiting example, between 10 and 50 emoticons. In another embodiment, another emoticon may be selected based on changes to the user's current personal construct. For example, an increase in a number of changes in the user's current personal construct can increase a number of emoticons selected to dynamically update the user's emoticon pool. In yet another embodiment, another emoticon may be selected based on a size of the user's emoticon pool. If another emoticon is to be selected, then processing loops to block 602; otherwise, processing returns to a calling process to perform other actions. - It will be understood that each block of the flowchart illustration, and combinations of blocks in the flowchart illustration, can be implemented by computer program instructions. These program instructions may be provided to a processor to produce a machine, such that the instructions, which execute on the processor, create means for implementing the actions specified in the flowchart block or blocks. The computer program instructions may be executed by a processor to cause a series of operational steps to be performed by the processor to produce a computer-implemented process such that the instructions, which execute on the processor to provide steps for implementing the actions specified in the flowchart block or blocks. The computer program instructions may also cause at least some of the operational steps shown in the blocks of the flowchart to be performed in parallel. Moreover, some of the steps may also be performed across more than one processor, such as might arise in a multi-processor computer system. In addition, one or more blocks or combinations of blocks in the flowchart illustration may also be performed concurrently with other blocks or combinations of blocks, or even in a different sequence than illustrated without departing from the scope or spirit of the invention.
- Accordingly, blocks of the flowchart illustration support combinations of means for performing the specified actions, combinations of steps for performing the specified actions and program instruction means for performing the specified actions. It will also be understood that each block of the flowchart illustration, and combinations of blocks in the flowchart illustration, can be implemented by special purpose hardware-based systems, which perform the specified actions or steps, or combinations of special purpose hardware and computer instructions.
-
FIGS. 7-9 illustrate one non-limiting and non-exhaustive example of an embodiment that depicts an updated emoticon pool (shown inFIG. 9 ) by adding emoticon attributes (shown inFIG. 8 ) to base emoticons (shown inFIG. 7 ). AlthoughFIGS. 7-9 illustrate one embodiment of updating an emoticon pool of a user, the invention is not so limited. Rather, these examples are intended to illustrate one approach to updating an emoticon pool, and should not be considered as exhaustive or limiting. Moreover, as described above, other embodiments may be employed to update the emoticon pool of the user, such as, for example, by selecting a subset of a base emoticon pool. Additionally,FIGS. 7-9 primarily illustrate smiley emoticons, which is not to be construed as limiting or exhaustive; rather, other emoticons known to those skilled in the art may also be employed. -
FIG. 7 shows one non-exhaustive and non-limiting example of a base emoticon pool.Base emoticon pool 700 may be a subset ofemoticon pool 210 ofFIG. 2 and/oremoticon pool 310 ofFIG. 3 .Base emoticon pool 700, as illustrated, includes base emoticons 701-706, where:base emoticon 701 is a happy emoticon;base emoticon 702 is a sad emoticon;base emoticon 703 is a spiky hair emoticon;base emoticon 704 is an excited emoticon;base emoticon 705 is a sleeping emoticon; andbase emoticon 705 is a flabbergasted emoticon. As noted above, it should be understood that base emoticons 701-706 are examples, and are not intended to be an exhaustive list of base emoticons; rather, other types, shapes, sizes, numbers, or the like of base emoticons may be included inbase emoticon pool 700. -
FIG. 8 shows one non-exhaustive and non-limiting example of an emoticon attribute pool.Emoticon attribute pool 800 may be an embodiment of emoticon attributes 212 ofFIG. 2 and/or emoticon attributes 312 ofFIG. 3 . As illustrated,emoticon attribute pool 800 includes emoticon attributes 801-804, where:emoticon attribute 801 depicts a Santa Claus hat;emoticon attribute 802 depicts an umbrella hat;emoticon attribute 803 depicts a pair of sunglasses; andemoticon attribute 804 depicts a banner. As noted above, it should be understood that emoticon attributes 801-804 are examples, and are not intended to be an exhaustive list of emoticon attributes; rather, other types, shapes, sizes, numbers, or the like of emoticon attributes may be included inemoticon attribute pool 800. - In one embodiment, each of emoticon attributes 801-804 may be associated with a particular current personal construct. For example,
emoticon attribute 801 may be utilized if the user's current personal construct indicates that it is Christmas, Christmas time, the user is at a Christmas party, the user recently purchased Christmas gifts, or the like.Emoticon attribute 802 may be utilized if the user's current personal construct indicates that it is raining at the user's physical location, the user is in a silly mood, or the like.Emoticon attribute 803 may be utilized if the user's current personal construct indicates that it is sunny and the user's physical location, the user is at the beach, the user recently purchased a new pair of sunglasses, or the like.Emoticon attribute 804 may be utilized if the user's current personal construct indicates that the user's favorite sports team is currently playing, the user recently visited a homepage of the user's favorite sports team, or the like. Again, emoticon attributes 801-804 are non-exhaustive and non-limiting examples. Similarly, the example current personal construct associated with emoticon attributes 801-804 are also non-exhaustive and non-limiting examples, and other current personal constructs may be utilized. -
FIG. 9 shows one non-exhaustive and non-limiting example of a dynamically updated emoticon pool. Dynamically updatedemoticon pool 900 may include personal construct emoticons 901-908. Dynamically updatedemoticon pool 900 may be generated by modifying an appearance of one or more base emoticons (e.g. base emoticons 701-706 ofFIG. 7 ) by adding one or more emoticon attributes (e.g. emoticon attributes 801-804 ofFIG. 8 ) to the one or more base emoticons. In this example, a user's current personal construct (e.g. as determined atblock 504 ofFIG. 5 ) may indicates that it is Christmas, the user recently bought a new pair of sunglasses, it is raining at the user's physical location, the user's favorite sports team is currently playing, and the user's mood is happy. However, it should be understood that other information may be indicated by the current personal construct, which, in some embodiments, may depend on the user targeted information utilized to determine the current personal construct, as described in more detail above. -
Personal construct emoticon 901 may be generated based on the user's current personal construct that indicates that it is Christmas.Personal construct emoticon 901 may be generated by selectingbase emoticon 701 ofFIG. 7 (e.g. as described atblock 602 ofFIG. 6 ) and addingemoticon attribute 801 ofFIG. 8 to base emoticon 701 (e.g. as described atblock 604 ofFIG. 6 ). -
Personal construct emoticon 902 may be generated based on the user's current personal construct that indicates that it is Christmas, the user bought a new pair of sunglasses, and the user's mood is happy.Personal construct emoticon 902 may be generated by selectingbase emoticon 704 ofFIG. 7 and adding emoticon attributes 801 and 803 ofFIG. 8 tobase emoticon 704. -
Personal construct emoticon 903 may be generated based on the user's current personal construct that indicates that it is raining at the user's physical location and the user's mood is happy.Personal construct emoticon 903 may be generated by selectingbase emoticon 701 ofFIG. 7 and addingemoticon attribute 802 ofFIG. 8 tobase emoticon 701. -
Personal construct emoticon 904 may be generated based on the user's current personal construct that indicates that it is raining at the user's physical location.Personal construct emoticon 904 may be generated by selectingbase emoticon 702 ofFIG. 7 and addingemoticon attribute 802 ofFIG. 8 tobase emoticon 702. -
Personal construct emoticon 905 may be generated based on the user's current personal construct that indicates that the user bought a new pair of sunglasses.Personal construct emoticon 905 may be generated by selectingbase emoticon 701 ofFIG. 7 and addingemoticon attribute 803 ofFIG. 8 tobase emoticon 701. -
Personal construct emoticon 906 may be generated based on the user's current personal construct that indicates that the user's mood is happy.Personal construct emoticon 906 may be generated by selectingbase emoticon 704 ofFIG. 7 and modifying a feature ofbase emoticon 704, such as increasing a size ofbase emoticon 704. -
Personal construct emoticon 907 may be generated based on the user's current personal construct that indicates that it is raining at the user's physical location on Christmas.Personal construct emoticon 907 may be generated by selectingbase emoticon 706 ofFIG. 7 , modifying a feature ofbase emoticon 704, such as decreasing a size ofbase emoticon 704, and addingemoticon attribute 802 ofFIG. 8 to base emoticon. -
Personal construct emoticon 908 may be generated based on the user's current personal construct that indicates that the user's favorite sports team is playing.Personal construct emoticon 908 may be generated by selectingbase emoticon 701 ofFIG. 7 and addingemoticon attribute 804 ofFIG. 8 tobase emoticon 701. In some embodiments, the text “GO TEAM” may be replaced with virtually any other text, such as the name of a user's favorite sports team, a brand name, company slogan, happy birthday text, or any other text suitable for the user's current personal construct. - The above specification, examples, and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/870,098 US20180137468A1 (en) | 2011-10-19 | 2018-01-12 | Dynamically updating emoticon pool based on user targeting |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/276,987 US9870552B2 (en) | 2011-10-19 | 2011-10-19 | Dynamically updating emoticon pool based on user targeting |
US15/870,098 US20180137468A1 (en) | 2011-10-19 | 2018-01-12 | Dynamically updating emoticon pool based on user targeting |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/276,987 Continuation US9870552B2 (en) | 2011-10-19 | 2011-10-19 | Dynamically updating emoticon pool based on user targeting |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180137468A1 true US20180137468A1 (en) | 2018-05-17 |
Family
ID=48136895
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/276,987 Expired - Fee Related US9870552B2 (en) | 2011-10-19 | 2011-10-19 | Dynamically updating emoticon pool based on user targeting |
US15/870,098 Abandoned US20180137468A1 (en) | 2011-10-19 | 2018-01-12 | Dynamically updating emoticon pool based on user targeting |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/276,987 Expired - Fee Related US9870552B2 (en) | 2011-10-19 | 2011-10-19 | Dynamically updating emoticon pool based on user targeting |
Country Status (1)
Country | Link |
---|---|
US (2) | US9870552B2 (en) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9105014B2 (en) | 2009-02-03 | 2015-08-11 | International Business Machines Corporation | Interactive avatar in messaging environment |
RU2631164C2 (en) * | 2011-12-08 | 2017-09-19 | Общество с ограниченной ответственностью "Базелевс-Инновации" | Method of animating sms-messages |
US10155168B2 (en) | 2012-05-08 | 2018-12-18 | Snap Inc. | System and method for adaptable avatars |
JP5899142B2 (en) | 2012-06-25 | 2016-04-06 | 株式会社コナミデジタルエンタテインメント | Message browsing system, server, terminal device, control method, and program |
JP5845200B2 (en) * | 2012-06-25 | 2016-01-20 | 株式会社コナミデジタルエンタテインメント | Message browsing system, server, terminal device, control method, and program |
US9911222B2 (en) * | 2012-07-06 | 2018-03-06 | Tangome, Inc. | Animation in threaded conversations |
US9746990B2 (en) | 2012-09-28 | 2017-08-29 | Intel Corporation | Selectively augmenting communications transmitted by a communication device |
WO2014068573A1 (en) * | 2012-10-31 | 2014-05-08 | Aniways Advertising Solutions Ltd. | Custom emoticon generation |
US10410180B2 (en) * | 2012-11-19 | 2019-09-10 | Oath Inc. | System and method for touch-based communications |
US8918339B2 (en) * | 2013-03-15 | 2014-12-23 | Facebook, Inc. | Associating an indication of user emotional reaction with content items presented by a social networking system |
IL226047A (en) * | 2013-04-29 | 2017-12-31 | Hershkovitz Reshef May | Method and system for providing personal emoticons |
WO2015065424A1 (en) * | 2013-10-31 | 2015-05-07 | Intel Corporation | Context-based message creation via user-selectable icons |
US20150127753A1 (en) * | 2013-11-04 | 2015-05-07 | Meemo, Llc | Word Recognition and Ideograph or In-App Advertising System |
KR20150126196A (en) | 2014-05-02 | 2015-11-11 | 삼성전자주식회사 | Data processing apparatus and method for processing data based on user feeling |
US20160048492A1 (en) * | 2014-06-29 | 2016-02-18 | Emoji 3.0 LLC | Platform for internet based graphical communication |
US10387717B2 (en) * | 2014-07-02 | 2019-08-20 | Huawei Technologies Co., Ltd. | Information transmission method and transmission apparatus |
US10824654B2 (en) | 2014-09-18 | 2020-11-03 | Snap Inc. | Geolocation-based pictographs |
US20160092402A1 (en) * | 2014-09-25 | 2016-03-31 | Monotype Imaging Inc. | Selectable Styles for Text Messaging System Publishers |
KR101634086B1 (en) * | 2015-01-19 | 2016-07-08 | 주식회사 엔씨소프트 | Method and computer system of analyzing communication situation based on emotion information |
WO2016149594A1 (en) | 2015-03-18 | 2016-09-22 | Allen Nicholas Richard | Geo-fence authorization provisioning |
CN107430429B (en) * | 2015-04-07 | 2022-02-18 | 英特尔公司 | Avatar keyboard |
US10225220B2 (en) * | 2015-06-01 | 2019-03-05 | Facebook, Inc. | Providing augmented message elements in electronic communication threads |
WO2017096345A1 (en) * | 2015-12-04 | 2017-06-08 | Codeq Llc | Methods and systems for appending a graphic to a digital message |
US10339365B2 (en) | 2016-03-31 | 2019-07-02 | Snap Inc. | Automated avatar generation |
US20170358010A1 (en) * | 2016-06-08 | 2017-12-14 | Emogi Technologies, Inc. | System and method for incorporating branded creative content into messaging services |
US10360708B2 (en) | 2016-06-30 | 2019-07-23 | Snap Inc. | Avatar based ideogram generation |
US10432559B2 (en) | 2016-10-24 | 2019-10-01 | Snap Inc. | Generating and displaying customized avatars in electronic messages |
US10438223B2 (en) * | 2016-11-14 | 2019-10-08 | Paypal, Inc. | Dynamic emoji modal actions |
US10701121B2 (en) * | 2016-12-30 | 2020-06-30 | Facebook, Inc. | Live broadcast on an online social network |
US10454857B1 (en) | 2017-01-23 | 2019-10-22 | Snap Inc. | Customized digital avatar accessories |
US10212541B1 (en) | 2017-04-27 | 2019-02-19 | Snap Inc. | Selective location-based identity communication |
KR102449545B1 (en) | 2017-04-27 | 2022-10-04 | 스냅 인코포레이티드 | Map-based graphical user interface displaying geospatial activity metrics |
US11893647B2 (en) | 2017-04-27 | 2024-02-06 | Snap Inc. | Location-based virtual avatars |
US11199957B1 (en) * | 2018-11-30 | 2021-12-14 | Snap Inc. | Generating customized avatars based on location information |
US11392272B2 (en) * | 2019-07-26 | 2022-07-19 | Slack Technologies, Llc | Group-based communication system and apparatus configured to render suggested graphical objects |
CN114514497B (en) * | 2019-09-27 | 2024-07-19 | 苹果公司 | User interface for customizing graphical objects |
US11138386B2 (en) * | 2019-11-12 | 2021-10-05 | International Business Machines Corporation | Recommendation and translation of symbols |
US11340707B2 (en) * | 2020-05-29 | 2022-05-24 | Microsoft Technology Licensing, Llc | Hand gesture-based emojis |
KR102467089B1 (en) * | 2020-08-03 | 2022-11-15 | (주) 위링 | Image conversion system and method according to user's behavior |
US11676317B2 (en) | 2021-04-27 | 2023-06-13 | International Business Machines Corporation | Generation of custom composite emoji images based on user-selected input feed types associated with Internet of Things (IoT) device input feeds |
US11601387B2 (en) * | 2021-06-08 | 2023-03-07 | Microsoft Technology Licensing, Llc | Generating composite images by combining subsequent data |
US11635871B1 (en) | 2021-11-11 | 2023-04-25 | Microsoft Technology Licensing, Llc | Command based personalized composite icons |
US11568131B1 (en) | 2021-11-11 | 2023-01-31 | Microsoft Technology Licensing, Llc | Command based personalized composite templates |
US11962860B1 (en) * | 2022-12-01 | 2024-04-16 | Meta Platforms Technologies, Llc | Systems and methods for generating avatar reactions during a live video broadcast |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275806B1 (en) * | 1999-08-31 | 2001-08-14 | Andersen Consulting, Llp | System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters |
US8564514B2 (en) * | 2001-04-18 | 2013-10-22 | Fujitsu Limited | Driving method of liquid crystal display device and liquid crystal display device |
US20030119531A1 (en) | 2001-12-21 | 2003-06-26 | Patton Charles M. | Dynamic selection of avatar policies based on physical device location and derived user control |
US7874983B2 (en) * | 2003-01-27 | 2011-01-25 | Motorola Mobility, Inc. | Determination of emotional and physiological states of a recipient of a communication |
US7707520B2 (en) | 2004-01-30 | 2010-04-27 | Yahoo! Inc. | Method and apparatus for providing flash-based avatars |
WO2005074588A2 (en) | 2004-01-30 | 2005-08-18 | Yahoo! Inc. | Method and apparatus for providing dynamic moods for avatars |
EP1871219A4 (en) * | 2005-02-22 | 2011-06-01 | Health Smart Ltd | Methods and systems for physiological and psycho-physiological monitoring and uses thereof |
US7565404B2 (en) * | 2005-06-14 | 2009-07-21 | Microsoft Corporation | Email emotiflags |
WO2007026320A2 (en) * | 2005-08-30 | 2007-03-08 | Yoomba Ltd. | Immediate communication system |
KR100717405B1 (en) | 2005-09-09 | 2007-05-11 | 삼성전자주식회사 | Bio signal detecting device and a method for managing health of user using the same |
US8019815B2 (en) * | 2006-04-24 | 2011-09-13 | Keener Jr Ellis Barlow | Interactive audio/video method on the internet |
EP2050086A2 (en) | 2006-07-12 | 2009-04-22 | Medical Cyberworlds, Inc. | Computerized medical training system |
US8977631B2 (en) * | 2007-04-16 | 2015-03-10 | Ebay Inc. | Visualization of reputation ratings |
TW200919203A (en) * | 2007-07-11 | 2009-05-01 | Ibm | Method, system and program product for assigning a responder to a requester in a collaborative environment |
US20090052645A1 (en) * | 2007-08-22 | 2009-02-26 | Ravi Prakash Bansal | Teleconference system with participant feedback |
US7895049B2 (en) | 2007-11-30 | 2011-02-22 | Yahoo! Inc. | Dynamic representation of group activity through reactive personas |
US20100088128A1 (en) * | 2008-09-26 | 2010-04-08 | Deep Rock Drive Partners Inc. | Ticket scarcity management for interactive events |
US8539359B2 (en) * | 2009-02-11 | 2013-09-17 | Jeffrey A. Rapaport | Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US8442849B2 (en) * | 2010-03-12 | 2013-05-14 | Yahoo! Inc. | Emotional mapping |
US9425974B2 (en) * | 2012-08-15 | 2016-08-23 | Imvu, Inc. | System and method for increasing clarity and expressiveness in network communications |
US20140161423A1 (en) * | 2012-12-10 | 2014-06-12 | Rawllin International Inc. | Message composition of media portions in association with image content |
US20140161356A1 (en) * | 2012-12-10 | 2014-06-12 | Rawllin International Inc. | Multimedia message from text based images including emoticons and acronyms |
-
2011
- 2011-10-19 US US13/276,987 patent/US9870552B2/en not_active Expired - Fee Related
-
2018
- 2018-01-12 US US15/870,098 patent/US20180137468A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130103766A1 (en) | 2013-04-25 |
US9870552B2 (en) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180137468A1 (en) | Dynamically updating emoticon pool based on user targeting | |
US10567325B2 (en) | System and method for email message following from a user's inbox | |
US11281725B2 (en) | Computerized system and method for automatically generating and providing interactive query suggestions within an electronic mail system | |
US7895049B2 (en) | Dynamic representation of group activity through reactive personas | |
CN110046299B (en) | Computerized system and method for automatically performing an implicit message search | |
US20100115426A1 (en) | Avatar environments | |
US9159074B2 (en) | Tool for embedding comments for objects in an article | |
US8843560B2 (en) | Social networking for mobile devices | |
US8744976B2 (en) | Discovery of friends using social network graph properties | |
US8676887B2 (en) | Social news forwarding to generate interest clusters | |
US8260882B2 (en) | Sharing of multimedia and relevance measure based on hop distance in a social network | |
US20100169376A1 (en) | Visual search engine for personal dating | |
US10785344B2 (en) | Computerized system and method for automatically communicating conditional messages within a mobile application environment | |
US20090011743A1 (en) | Mobile trading cards | |
US10873553B2 (en) | System and method for triaging in a message system on send flow | |
US20120254764A1 (en) | System to suggest and automatically organize events for social activities | |
CN110034998B (en) | Computer system and method for controlling electronic messages and their responses after delivery | |
TW200835224A (en) | Employing mobile location to refine searches | |
US20170090690A1 (en) | Continuity of experience card for index | |
US9596205B2 (en) | System and method for mailing list identification and representation | |
US20170214647A1 (en) | Computerized system and method for determining and displaying message content in a user's inbox | |
US10891303B2 (en) | System and method for editing dynamically aggregated data | |
WO2009057145A2 (en) | Method and system mobile social networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: YAHOO| INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GUPTA, ARPIT;REEL/FRAME:045763/0707 Effective date: 20111016 Owner name: EXCALIBUR IP, LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:046113/0133 Effective date: 20160531 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |