Electronic communications, such as e-mails, are sometimes presented in a client application running on a user device. Electronic communications are sometimes presented in a list or text format and can be organized based on a date received, a sender of the electronic communication, a subject of the electronic communication, or based on some other parameter. Electronic communications, presented in a list or text format, can be cumbersome to manage.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Systems and/or methods, as described herein, may display information representing electronic communications, such as e-mails, short message service (SMS) text messages, multimedia service (MMS) messages, visual voicemail messages, and/or some other type of electronic communication, in a graphical manner. For example, the systems and/or methods may display the information representing electronic communications in a graphical organization style chart or some other type of graphical manner.
In some implementations, the app server may apply one or more rules to the electronic communications and/or weighting information to each electronic communication to prioritize and organize the electronic communications based on the attributes of the electronic communications. For example, the app server may apply a rule to attach a particular image or icon to a particular electronic communication received by a particular sender. Additionally or alternatively, the app server may apply a rule to identify a geographic location associated with an electronic communication when the electronic communication is received from an unknown domain or when the electronic communication is identified as spam. In some implementations, the app server may generate display data to instruct a user device to display the electronic communication in a graphical manner and in a manner corresponding to the applied rules and/or weighting information.
As shown in interface 100 of
As further shown in interface 100, information representing electronic communications may be displayed in subgroups, such as electronic communications associated with particular members of a distribution list. For example, as shown in interface 100, electronic communications may be grouped by a distribution list, and may be further grouped by subgroups, such as by electronic communications associated with the members of the distribution list (e.g., group member #1 and group member #2).
In some implementations, the electronic communications within a group or within a subgroup may be prioritized based on electronic communication content. As an example, assume that the electronic communication “message 2.2.1” includes content relating to a meeting agenda and that the electronic communication “message 2.2.2” includes content relating to a website that publishes jokes. The electronic communication “message 2.2.1” may be prioritized over the electronic communication “message 2.2.2.” In some implementations, an icon or image, representing the electronic communication, may be resized, relocated on the display of the user device, to modify the priority of the electronic communication. Additionally or alternatively, the color of the icon or image may be modified to modify the priority of the electronic communication. Additionally, or alternatively, the electronic communications may be prioritized based on some other factor.
In some implementations, groups and/or subgroups may be identified by an icon or an image that may be descriptive of the group or subgroup (e.g., a portrait of an individual, a company logo, a sports team logo, a flag representing a geographical location, a map representing a geographical location, etc.). For example, as shown in
In some implementations, a user of the user device may interact with interface 100 to expand or collapse a group, re-arrange the groups, subgroups, or electronic communications, or interact with interface 100 in some other manner.
For example, a user may identify and organize information representing electronic communications in a graphical manner, thereby creating a visual representation of the user's electronic communications. Further, the user may interact with interface 100 to customize the display and presentation of information representing electronic communications, thereby allowing the user to manage, identify, and/or organize electronic communications more effectively than when electronic communications are presented in a list or text format.
While the systems and/or methods are described as an app server providing display data to a user device, in practice, the systems and/or methods are not so limited. For example, the user device may receive electronic communications directly from the electronic communication server and may determine display data independently of the app server. In some implementations, the user device may include an application to determine display data, display and organize information representing electronic communications based on the display data, receive user input via interface 100, and/or update the display data based on the user input.
While
User device 210 may include any device capable of communicating via a network, such as network 240. For example, user device 210 may correspond to a mobile communication device (e.g., a smart phone or a personal digital assistant (PDA)), a portable computer device (e.g., a laptop or a tablet computer), a gaming device, a set-top box, a desktop computing device, or another type of device. In some implementations, user device 210 may communicate with app server 230 to receive display data in order to display information representing electronic communications in a graphical manner via a user interface of user device 210. In some implementations, user device 210 may provide, to app server 230, weighting information and/or rules information to allow app server 230 to form display data based on the weighting information and/or the rules information. For example, user device 210 may present information regarding electronic communications based on the display data.
Electronic communication server 220 may include one or more computing devices, such as a server device or a collection of server devices. In some implementations, electronic communication server 220 may correspond to an e-mail server, an SMS server, an MMS server, a visual voicemail server, or some other type of server used to facilitate the delivery of electronic communications between multiple user devices 210. For example, electronic communication server 220 may communicate with user device 210 in order to deliver an electronic communication from user device 210 to another user device 210. In some implementations, electronic communication server 220 may store electronic communications and may provide information relating to electronic communications to app server 230.
App server 230 may include one or more computing devices, such as a server device or a collection of server devices. In some implementations, app server 230 may receive weighting information and/or rules information from user device 210 and may receive information regarding electronic communications from electronic communication server 220. As described above, app server 230 may form display data to define a manner in which electronic communications may be displayed in a user interface of user device 210.
In some implementations, user device 210 may perform one or more, or all, of the functions of app server 230. In some implementations, electronic communication server 220 may perform one or more, or all, of the functions of app server 230.
Network 240 may include one or more wired and/or wireless networks. For example, network 240 may include a cellular network, a public land mobile network (PLMN), a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, and/or another network. Additionally, or alternatively, network 240 may include a local area network (LAN), a wide area network (WAN), a metropolitan network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, a managed IP network, a virtual private network (VPN), an intranet, the Internet, a fiber optic-based network, and/or combination of these or other types of networks.
The quantity of devices and/or networks, illustrated in
As shown in
Bus 305 may include a path that permits communication among the components of device 300. Processor 310 may include a processor, a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another type of processor that interprets and executes instructions. Main memory 315 may include a random access memory (RAM) or another type of dynamic storage device that stores information or instructions for execution by processor 310. ROM 320 may include a ROM device or another type of static storage device that stores static information or instructions for use by processor 310. Storage device 325 may include a magnetic storage medium, such as a hard disk drive, or a removable memory, such as a flash memory.
Input device 330 may include a component that permits an operator to input information to device 300, such as a control button, a keyboard, a keypad, or another type of input device. Output device 335 may include a component that outputs information to the operator, such as a light emitting diode (LED), a display, or another type of output device. Communication interface 340 may include any transceiver-like mechanism that enables device 300 to communicate with other devices or networks. In some implementations, communication interface 340 may include a wireless interface, a wired interface, or a combination of a wireless interface and a wired interface.
Device 300 may perform certain operations, as described in detail below. Device 300 may perform these operations in response to processor 310 executing software instructions contained in a computer-readable medium, such as main memory 315. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include memory space within a single physical storage device or memory space spread across multiple physical storage devices.
The software instructions may be read into main memory 315 from another computer-readable medium, such as storage device 325, or from another device via communication interface 340. The software instructions contained in main memory 315 may direct processor 310 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
A particular instance of data structure 400 may contain different information and/or fields than another instance of data structure 400. In some implementations, data structure 400 may store display preference information associated with a user of a particular user device 210. Another instance of data structure 400 may store display preference information for a user of another user device 210. In some implementations, app server 230 may form display data information on information stored by data structure 400. As described above, user device 210 may display electronic communications in accordance with display data provided by app server 230.
As shown in
Weighting information field 410 may include information used to score, prioritize, or weight a particular electronic communication. For example, weighting information field 410 may include information to identify a value to add to a score of an electronic communication having a particular attribute. As shown in
In some implementations, information stored by weighting information field 410 may be received from a user of user device 210 (e.g., via a user interface, of user device 210, that displays information representing electronic communications). In some implementations (e.g., when the user of user device 210 has not provided the weighting information, such as on a first-run of the user interface), weighting information field 410 may store default weighting information received from a user of app server 230 (e.g., via a portal or interface that receives the default weighting information). As described in greater detail below, information and/or icons representing electronic communications may be displayed based on information stored by weighting information field 410.
Rules information field 420 may include information to identify a rule to apply to an electronic communication having a particular attribute. As shown in
Additionally, or alternatively, instruction field 422 may identify a rule to attach, to the electronic communication, a picture file of a logo of a particular company when the electronic communication is sent from a domain of the particular company. Additionally, or alternatively, instruction field 422 may identify a rule to identify an image file to attach to the electronic communication when an image file is not associated with the particular electronic communication (e.g., when the electronic communication is received from a sender or domain that does not have an associated image file). For example, app server 230 may perform a web search to identify an image file to attach to the electronic communication based on the contents of the electronic communication, a domain of the electronic communication, a geographic location associated with the electronic communication, etc.
In some implementations, app server 230 may identify a social networking website (e.g., based on a link to the website and/or login credentials provided by a user of user device 210 and/or a user of app server 230) and perform a search on the social networking website to identify the image file (e.g., to identify a company logo associated with a particular sender of the electronic communication). Additionally, or alternatively, app server 230 may perform a social network analysis to identify relationship information between a recipient and a sender of the electronic communication. For example, app server 230 may perform a search on social networking website, associated with the user of the electronic communication, to identify a group (e.g., a group of friends, family, co-workers, etc.), an image, or some other information associated with a sender of an electronic communication,
In some implementations, instruction field 422 may identify a rule based on the content of an electronic communication. For example, instruction field 422 may identify a rule to group electronic communications that include some particular text or that relate to a particular subject. Additionally, or alternatively, instruction field 422 may identify a rule to mark an electronic communication as a potentially harmful electronic communication based on the content of electronic communication and/or based on an originating geographic location of the electronic communication.
In some implementations, app server 230 may automatically identify a default set of attributes associated with an electronic communication. For example, app server 230 may automatically identify a domain associated with the electronic communication, a sender of the electronic communication, an IP address of the electronic communication, etc. In some implementations, instruction field 422 may store information to direct app server 230 to identify secondary attributes of the electronic communication based on the default attributes. For example, instruction field 422 may store an instruction to direct app server 230 to identify a secondary attribute associated with the electronic communication (e.g., a country of origin) when the electronic communication is associated with a particular default attribute (e.g., when the domain of the electronic communication is not on a domain white list or when the domain of the electronic communication is on a domain black list). In some implementations, default and secondary attributes may vary from what is described above and may be based on input received from a user of user device 210 and/or a user of app server 230. In some implementations, the default and secondary attributes may vary for different electronic communications.
Display data 430 may include information to identify display data that user device 210 may use to display electronic communications in a particular manner, for example, in a manner described above with respect to interface 100 of
As shown in
Weight value field 433 may store a value corresponding to a score of a particular electronic communication. As described above, app server 230 may score an electronic communication based on an attribute of the electronic communication and based on a corresponding value associated with the attribute. As an example, assume that the electronic communication having the electronic communication ID of “123” was sent from an origin country of India and was sent from the sender “Bob.” Further, assume that a value of 20 applies to electronic communications sent from India and a value of 15 applies to electronic communications sent from Bob. Given these assumptions, app server 230 may determine a score value of 35 for the electronic communication having the electronic communication ID of “123.” Further, electronic communication ID field 431 may store the electronic communication ID “123,” attributes field 432 may store the attributes “country=India, sender=Bob,” and weight value field 433 may store the value 35.
Display instructions field 434 may store information to identify instructions to direct user device 210 to display a particular electronic communication or group of electronic communications in a particular manner. For example, display instructions field 434 may store information to direct user device 210 to display the electronic communication having the electronic communication ID “123” with a picture file representative of a sender of the electronic communication (e.g., the picture file “bob.jpg”). Additionally, or alternatively, display instructions field 434 may store information to direct user device 210 to group the electronic communication having the electronic communication ID “123” in a particular group of electronic communications associated with a distribution list. For example, a user of user device 210 may input instructions (e.g., instructions stored by rules information field 420) that identify how to group multiple electronic communications based on attributes of the multiple electronic communications (e.g., the user may input an instruction to group electronic communications received from a particular sender in a particular distribution list). In some implementations, display instructions field 434 may identify a display instruction for a particular electronic communication based on the attributes of the particular electronic communication and based on information stored by rules information field 420.
In some implementations, display instructions field 434 may store other information not shown in data structure 400. For example, display instructions field 434 may store information to direct user device 210 to group electronic communications in a particular manner (e.g., group multiple electronic communications sent by a particular sender, electronic communications associated with a particular domain, electronic communications associated with a particular geographic location, electronic communications having similar contents, electronic communications having similar subjects, electronic communications associated with a particular distribution list, etc.).
Additionally, or alternatively, display instructions field 434 may store information to direct user device 210 to display information representing an electronic communication or multiple electronic communications in some other manner (e.g., create a link between an image representative of a user of user device 210 and an image representative of an electronic communication sent to the user, adjust the thickness of the link based on the size of the electronic communication and/or the score value of the electronic communication, adjust the size of an image representative of a group of electronic communications based on the number of electronic communications in the group and/or a cumulative score value of the electronic communications, adjust a color of text identifying a sender of an electronic communication, etc.). Additionally, or alternatively, display instructions field 434 may store grid coordinates to identify a location on the display of user device 210 to display the image representing the electronic communication.
As described above, information stored by weighting information field 410 and/or rules information field 420 may correspond to default weighting or rules information received by an operator of app server 230. Thus, information stored by display data field 430 may be based on the default weighting or rules information. Further, user device 210 may display information representing an electronic communication in a default presentation in a user interface of user device 210. As later described, a user of user device 210 may interact with the user interface to modify information stored by display data field 430. Additionally, or alternatively, information stored by weighting information field 410 and/or rules information field 420 may correspond to weighting or rules information received by a user of user device 210.
While particular fields are shown in a particular format in data structure 400, in practice, data structure 400 may include additional fields, fewer fields, different fields, or differently arranged fields than are shown in
As shown in
Process 500 may also include receiving and storing an electronic communication (block 520). For example, app server 230 may receive an electronic communication, or information regarding the electronic communication, from electronic communication server 220 when a particular user device 210 sends the electronic communication to another user device 210. For example, app server 230 may receive authentication information from user device 210, and may provide, to electronic communication server 220, the authentication information to receive the electronic communication from electronic communication server 220. In some implementations, app server 230 may store the electronic communication based on receiving the electronic communication from electronic communication server 220.
Process 500 may further include identifying attributes associated with the electronic communication (block 530). For example, as described above, app server 230 may identify a set of default attributes associated with the electronic communication (e.g., a domain associated with the electronic communication, a sender of the electronic communication, an IP address of the electronic communication, etc.). In some implementations, app server 230 may identify a secondary attribute associated with the electronic communication (e.g., a country of origin) based on information stored by instruction field 422.
In some implementations, app server 230 may identify the attributes based on receiving and storing the electronic communication. Alternatively, app server 230 may identify the attributes without storing the electronic communication (e.g., app server 230 may receive a header, associated with the electronic communication, and may identify the attributes based on information included in the header, such as a size of the electronic communication, a sender of the electronic communication, a subject of the electronic communication, an IP address associated with the electronic communication, etc.).
Process 500 may also include forming display data for the electronic communication (block 540). For example, as described above with respect to display data field 430, app server 230 may determine a display instruction for the electronic communication based on the attributes of the electronic communication, the weighting information and/or the rules information. As described above, the display instruction may direct user device 210 to display the electronic communication in a particular manner in a user interface of user device 210. In some implementations, app server 230 may form display data by mapping an ID of the electronic communication with the attributes of the electronic communication, with the weight value of the electronic communication, and/or with the display instructions of the electronic communication. In some implementations, the display data may correspond to information stored by display data field 430. In some implementations, the display data may be based on default weighting information and default rules information provided by an operator of app server 230 (e.g., in a scenario where user device 210 has not provided the weighting information and/or the rules information). Additionally, or alternatively, the display data may be based on weighting information and rules information provided by a user of user device 210. Additionally, or alternatively, the display data may be based on weighting information obtained by performing a social network analysis, as described above.
Process 500 may further include updating the rules information (block 550). For example, app server 230 may update the rules information based on applying a rule to a particular electronic communication. As an example, assume that rules information field 420 stores a rule to direct app server 230 to identify an image corresponding to a particular domain. Given this assumption, app server 230 may update the rules information to attach the identified image to subsequent received electronic communications associated with the particular domain.
Process 500 may also include a graphical representation of the electronic communication to be displayed (block 560). For example, app server 230 may provide the display data to user device 210. In some implementations, user device 210 may receive the display data and may display a representation of the electronic communication (or multiple electronic communications) in a user interface of user device 210 in accordance with the display data. Alternatively, user device 210 may determine the display data and display the graphical representation of the electronic communication in a user interface of user device 210.
In some implementations, the user interface may be associated with an application (or an add-on or a plug-in to an application) executing on user device 210 used to display electronic communications and/or information representing electronic communications. An example of a user interface for displaying information representing multiple electronic communications is described above with respect to
Process 500 may further include receiving user input via a user interface and updating display data based on the user input (block 570). In some implementations, a user of user device 210 may provide, to app server 230, updates to the display data (including updates to weighting information and/or rules information) by interacting with a user interface of user device 210. For example, the user may relocate an icon representative of an electronic communication or representative of a group of electronic communications from a particular location of the interface to another location of the interface (e.g., by dragging the icon from one location of the interface to another location of the interface).
In some implementations, the relocation of the icon may represent a change in weighting information (e.g., relocating the icon from the top of the interface to the bottom of the interface may reduce the score value or importance of the electronic communication associated with the icon). In some implementations, app server 230 may store the updates to the weighting information and/or the rules information when the updates are received via user interaction with the user interface. Additionally, or alternatively, weighting information may be updated independently of user interaction. For example, app server 230 may update the weighting information for electronic communications having particular content (e.g., particular content relating to a high priority announcement, such as an emergency announcement, a company announcement, etc.). In some implementations, app server 230 may receive an instruction to increase a weighting score for electronic communications having the particular content.
While a particular series of blocks has been described above with regard to
As described above, the electronic communications may be grouped based on having similar attributes, such as electronic communications relating to a common subject or having similar content (e.g., electronic communications relating to a particular sports team or a particular subject, such as finance). Additionally, or alternatively, the electronic communications may be grouped based on a particular distribution list (e.g., electronic communications relating to the distribution list “working team”), based on a particular domain of a particular company (e.g., electronic communications received from the company “companyA”), based on a particular geographic location (e.g., electronic communications sent from a particular city, state, country, street address, or other geographic location) or based on some other factor. In some implementations, (e.g., when a particular electronic communication includes attributes that correspond to multiple groups) an icon representing the particular communication may be displayed in the multiple groups with an indication that the particular communication is associated with the multiple groups.
As shown in
In some implementations, a link may include an arrow indicating whether an electronic communication was sent to the user or sent from the user. In some implementations, a color of text identifying an electronic communication or a color of text identifying a group of electronic communications may vary for different electronic communications or different groups. In some implementations, an icon representing a group, a subgroup, or electronic communication may include a warning logo to identify a potentially hazardous electronic communication (e.g., a fraudulent electronic communication, an electronic communication containing a virus, etc.).
As described above, the user may interact with interface 600 to provide updates to weighting information and/or rules information. For example, as shown in interface 600, the user may drag an icon, representative of electronic communications associated with a sports team, from one location of interface 600 to another location of interface 600. In some implementations, the relocation of the icon may cause app server 230 to update the weighting information. In the example shown in
In some implementations, the score value of an electronic communication may be updated when the score value of another electronic communication having similar attributes is updated. For example, assume that a user of user device 210 interacts with interface 600 to update the score value of an electronic communication or group of electronic communications (e.g., by dragging an icon representing the electronic communication and modifying the position of the icon on interface 600). Given this assumption, app server 230 may update the score value of another electronic communication having similar attributes, thereby updating corresponding display data as a result of the updated score value. In some implementations, the updated display data may cause user device 210 to display the other electronic communication in an updated location on interface 600.
Additionally, or alternatively, a user of user device 210 may update the weighting and/or the rules information by specifying the values stored by weighting information field 410 and/or by specifying the instructions in rules information field 420. In some implementations, interface 600 may display the electronic communications based on the updated weighting information and/or rules information. For example, the position of the icons may be updated when the user of user device 210 updates the information stored by weighting information field 410 and/or rules information field 420.
As further shown in
As further shown in
In some implementations, the user may interact with interface 600 to combine electronic communications into a single group. For example, a user may select an icon representing an electronic communication and drag the icon to another icon representing another electronic communication to group the two electronic communications together. In another example, the user may draw a link between the two icons to group the two electronic communications together. In some implementations, a link may include a label to indicate an attribute of an electronic communication (e.g., a label that identifies a sender of the electronic communication, a recipient of the electronic communication, a subject of the electronic communication, content of the electronic communication, etc.). In some implementations, a user may input the label by selecting the link and adding the label. Additionally, or alternatively, the label may be based on a rule that a user of user device 210 or a user of app server 230 may set (e.g., a rule to add a particular label to links connecting icons representing electronic communications having particular attributes).
In some implementations, app server 230 may identify common attributes between the two electronic communications and may update rules information and/or weighting information such that subsequent electronic communications having the common attributes may be grouped. In some implementations, the user may interact with interface 600 to receive an electronic communication. For example, the user may select an icon representing a particular electronic communication to direct user device 210 to communicate with electronic communication server 220 and/or app server 230 to receive the electronic communication associated with the icon.
While a particular example is shown in
In
As shown in interface 100, interface 600, and interface 700, and as described above, a user may identify and organize electronic communications in a graphical manner, thereby creating a visual representation of the user's electronic communications. Further, the user may interact with a user interface to customize the display and presentation of information representing electronic communications, thereby allowing the user to manage, identify, and/or organize electronic communications more effectively than when electronic communications are presented in a list or text format.
The foregoing description provides illustration and description, but is not intended to be exhaustive or to limit the possible implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
It will be apparent that different examples of the description provided above may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these examples is not limiting of the implementations. Thus, the operation and behavior of these examples were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement these examples based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the possible implementations includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used in the present application should be construed as critical or essential unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Entry |
---|
“IBM i2 Analyst's Notebook”, IBM Software Industry Solutions, IBM Corporation, Nov. 2012, 4 pages. |
Number | Date | Country | |
---|---|---|---|
20140218391 A1 | Aug 2014 | US |