US10990914B2 - Filtering records on a unified display - Google Patents
Filtering records on a unified display Download PDFInfo
- Publication number
- US10990914B2 US10990914B2 US14/337,781 US201414337781A US10990914B2 US 10990914 B2 US10990914 B2 US 10990914B2 US 201414337781 A US201414337781 A US 201414337781A US 10990914 B2 US10990914 B2 US 10990914B2
- Authority
- US
- United States
- Prior art keywords
- communication
- filter
- communications
- display
- user
- 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.)
- Active, expires
Links
- 238000001914 filtration Methods 0.000 title claims description 17
- 230000000694 effects Effects 0.000 claims abstract description 257
- 230000007246 mechanism Effects 0.000 claims abstract description 172
- 238000004891 communication Methods 0.000 claims description 132
- 230000009471 action Effects 0.000 claims description 70
- 238000000034 method Methods 0.000 claims description 22
- 230000000875 corresponding effect Effects 0.000 description 43
- 238000012545 processing Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 19
- 230000000007 visual effect Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 210000003811 finger Anatomy 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 241001422033 Thestylus Species 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/904—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- H04L51/16—
-
- 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/21—Monitoring or handling of messages
- H04L51/216—Handling conversation history, e.g. grouping of messages in sessions or threads
-
- H04L51/36—
-
- 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/56—Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
Definitions
- Computer systems are in wide use. Some computer systems receive interactions by users over a variety of different types of communication channels.
- Some such computer systems include business systems.
- Business systems can include, for instance, customer relations management (CRM) systems, enterprise resource planning (ERP) systems, line-of-business (LOB) systems, among others.
- CRM customer relations management
- ERP enterprise resource planning
- LOB line-of-business
- CRM systems for instance, users of the CRM system often assist customers with various problems. Such users are sometimes referred to as customer service representatives. They perform customer service operations for a company that has implemented a CRM system.
- the customer service representative often receives communications from customers over multiple different channels, even for a single issue that the customer has raised.
- a customer may send an e-mail to the company describing a problem with a product that the customer purchased from the company.
- the e-mail may illustratively be received at the CRM system where it is routed to a customer service representative.
- the customer service representative may then reply to the e-mail or schedule an appointment to talk to the customer, for instance.
- the customer may then call the customer service representative at the appointed time.
- the customer service representative may do other things as well, such as assign tasks (e.g., to a sales engineer) in order to address the issue raised by the customer.
- the customer service representative may also consult with colleagues in order to attempt to address the issue.
- the customer service representative may send a text message to the customer scheduling another time to talk to the customer, as a follow up.
- a customer service representative may communicate with the customer using a variety of different communication channels (such as e-mail, telephone, messaging, etc.) and the customer service representative may perform a variety of other activities related to the issue raised by the customer (such as consult with colleagues, post notes related to the issue, assign internal tasks, etc.).
- a variety of different communication channels such as e-mail, telephone, messaging, etc.
- the customer service representative may perform a variety of other activities related to the issue raised by the customer (such as consult with colleagues, post notes related to the issue, assign internal tasks, etc.).
- a customer service representative may need to navigate to different parts of the CRM system. For instance, in order to view e-mails related to this customer's issue, the customer service representative may need to navigate to the e-mail system. In order to view tasks or appointments, the customer service representative may need to navigate to the calendar or task management portion of the CRM system. In order to make a telephone call to the customer, the customer service representative may need to navigate to even a different portion of the CRM system. This can be cumbersome.
- An activity thread is displayed with display elements that represent different activities that correspond to a common identifier.
- the display includes filter user input mechanisms that are actuated to filter the display elements based on filter criteria.
- FIG. 1 is a block diagram of one example of a business system architecture.
- FIG. 2 is a flow diagram illustrating one example of the operation of the architecture shown in FIG. 1 in generating a unified activity thread.
- FIG. 2A shows one example of a user interface display.
- FIG. 3 is a flow diagram illustrating one example of the operation of the architecture shown in FIG. 1 in identifying and displaying new activities on the unified activity thread.
- FIG. 3A shows one example of a user interface display.
- FIG. 4 is a flow diagram illustrating one example of the operation of the architecture shown in FIG. 1 in filtering information displayed on the unified display.
- FIG. 4A shows one example of a user interface display.
- FIG. 5 is a flow diagram illustrating one example of the operation of the architecture shown in FIG. 1 in providing user input mechanisms for taking contextual action from the unified display.
- FIGS. 5A-5B are examples of user interface displays.
- FIG. 6 is a flow diagram illustrating one embodiment of the operation of the architecture shown in FIG. 1 in generating user interface displays with user input mechanisms for creating in-line business activities from the unified display.
- FIGS. 6A-6C show examples of user interface displays.
- FIG. 7 shows one example of the architecture shown in FIG. 1 , deployed in a cloud computing architecture.
- FIGS. 8-10 show examples of mobile devices.
- FIG. 11 is a block diagram of one example of a computing environment.
- FIG. 1 is a block diagram of one example of a business system architecture 100 .
- Architecture 100 illustratively includes business system 102 that generates user interface displays 104 - 106 with user input mechanisms 108 - 110 for interaction by users 112 - 114 .
- business system 102 is illustratively a customer relations management (CRM) system. Therefore, customers 116 - 118 illustratively communicate with users 112 - 114 (who may be customer service representatives) through business system 102 . Users 112 - 114 then interact with user input mechanisms 108 - 110 on user interface displays 104 - 106 in order to manipulate and control business system 102 to address the needs or issues of customers 116 - 118 .
- CRM customer relations management
- business system 102 being a CRM system
- business system could be other business systems (such as an ERP system, an LOB system, among others) or other computer systems as well.
- it can be any other computer system that receives inputs through a variety of different communication channels and generates a unified view of those communications, corresponding to records in the business system.
- system 102 being a CRM system.
- business system 102 illustratively includes application components 120 , processor 122 , business data store 124 , communication components 126 , integrated display processing components 128 , contextual action processing component 130 , new activity processing component 132 , user interface component 134 , and it can include other items 136 as well.
- Business data store 124 illustratively stores entities 138 , workflows 140 , processes 142 , applications 144 , and it can include other items 146 .
- Entities 138 are illustratively business records that describe and define business entities within system 102 . Therefore, for instance, a customer entity describes and defines a customer.
- a vendor entity describes and defines a vendor.
- a product entity describes and defines a product.
- a customer service issue entity describes and defines a customer service issue.
- the entities can be objects which have callable methods. They can also include more rich functionality than an object. They can include a wide variety of other business records as well.
- Application components 120 illustratively include items that run applications 144 , which, themselves, can use workflows 140 and processes 142 to operate on business data represented by entities 138 and other business records 146 . Therefore, application components 120 can include calendar/meeting components 148 , task management components 150 , customer service application components 152 , case identifier components 154 , and they can include other components 156 .
- Calendar/meeting components 148 illustratively run calendar or meeting applications that can be used to make appointments, schedule meetings, send meeting requests, etc.
- Task management components 150 illustratively include one or more applications that allow users 112 - 114 to assign tasks, and to follow those tasks as they are performed, completed, etc.
- Customer service application components 152 illustratively run one or more customer service applications that can be accessed by users 112 - 114 in order to perform customer service operations for the company that has implemented business system 102 . Therefore, they illustratively allow users 112 - 114 to track customer service issues, and to view information corresponding to those different issues.
- Case identifier component 154 includes one or more applications that receive activity inputs from customers or users and assign a case identifier to those activities.
- case identifier component 154 may assign a case number to that customer service call.
- This is illustratively a unique identifier within business system 102 that will be used to identify information and activities corresponding to the customer service issue raised by the customer service call.
- Other identifiers can be used as well, such as a customer account identifier, a social security number, an email address, etc.
- Communication components 126 illustratively include applications or other components that facilitate communication between business system 102 and users 112 - 114 , as well as customers 116 - 118 . Therefore, in one example, communication components 126 illustratively include electronic mail components 158 that facilitate electronic mail communication not only internally among users 112 - 114 , but externally between users 112 - 114 and customers 116 - 118 .
- Telephone component 160 facilitates telephone communication among users 112 - 114 and customers 116 - 118 .
- Messaging component 162 illustratively includes applications or other components that facilitate messaging (such as text messaging or other SMS messaging, or messaging using other types of messaging systems). The messaging can be facilitated between users 112 - 114 and customers 116 - 118 .
- Communication components 126 can include other applications or components 164 as well, that facilitate other types of communication. This can include electronic and other mediums, such as telephone, facsimile, etc.
- Integrated display processing components 128 include functionality that generates a unified display for users 112 - 114 , corresponding to any given case number. Component 128 can also include other items 178 as well.
- In-line unification components 166 identify communications or other activities, of different types, that correspond to the same case number, and generate display elements corresponding to each identified activity. Components 166 then generate a unified display of those activities for a user 112 - 114 .
- each of the display elements is a record corresponding to some type of activity or activity input that corresponds to the case number.
- the activity or activity input can be a communication (internal or external), a task, a note, a meeting, etc.
- Thread generation component 168 places those display elements (or activities) in a unified thread, such as in chronological order or in reverse chronological order, so that a user accessing that case number can see the order in which the activities appeared.
- Activity filter components 170 provide user input mechanisms that allow a user to filter the activities displayed on the unified display. They can include, for instance, an activity type identifier 172 that identifies the different types of activities in the unified display, and filters 174 that filter those activities based on activity type, based on a source (such as external vs. internal activities), based on sensitivity (such as confidential or public), date, other system status (such as order status), etc.
- In-line activity creation component 176 generates user input mechanisms that can be actuated by a user in order to create in-line activities corresponding to the case number. This can be done without leaving the context of the business records (or case number) currently being viewed.
- Contextual action processing component 130 illustratively allows a user to take contextual actions from selected activities within the unified display. For instance, if the unified display includes an e-mail message, a user viewing the unified display can select the e-mail message and take contextual actions that are related to the e-mail message. By way of example, the user can reply, reply all, attach attachments, etc. Again, this is done in-line, without losing the context of the business record represented by the unified display.
- New activity processing component 132 illustratively includes new activity identifier 180 and visual indicia component 182 .
- New activity identifier 180 identifies activities that are new to the particular user 112 - 114 that is viewing the unified display.
- Visual indicia component 182 adds visual indicia to identify the new activities on the unified display, so that the user can easily see those particular activities that are new, since the last time the user accessed the unified display for this case number (or business record).
- FIG. 2 is a flow diagram illustrating one example of the operation of architecture 100 , in more detail, in generating a unified display or unified thread of activities for a given business record or case number.
- Business system 102 first receives an activity input from a customer 116 - 118 or from a user 112 - 114 . This is indicated by block 190 in FIG. 2 .
- the activity input can be a communication from a customer (such as customer 116 ). It can be an e-mail communication, a telephonic communication, a messaging communication, or a wide variety of other communications.
- This is indicated by block 192 .
- the activity input can be a post from one of internal users 112 - 114 . This is indicated by block 194 .
- the activity input can be a task by one of users 112 - 114 . For instance, it may be that the user has scheduled a customer service call to be performed for customer 116 . This can be input by the user into business system 102 through task management components 150 .
- a scheduled task is indicated by block 198 . It can be another type of scheduled appointment (such as a conference call, etc.). This is indicated by block 200 . It can be a wide variety of other activity inputs as well, and this is indicated by block 202 .
- Case identifier component 154 determines whether the activity input has a business system identifier associated with it. This is indicated by block 204 .
- the identifier can be the customer name, a unique number assigned to the issue, or a wide variety of other identifiers. In that case, the customer number or other case identifier will be on subsequent activity inputs.
- case identifier component 154 determines whether the activity input has a business system identifier associated with it. If so, then processing skips to block 216 which is described in greater detail below.
- case identifier component 154 assigns an identifier to the activity. This is indicated by block 206 in FIG. 2 .
- the identifier can be the customer name 208 , it can be a case number 210 , or it can be a wide variety of other identifiers 212 .
- Thread generation component 168 then generates a new activity thread corresponding to this identifier. This is indicated by block 214 in FIG. 2 . It then adds this activity to the thread corresponding to this identifier. This is indicated by block 216 . In one embodiment, the activity that has just been received is added to the activity thread by linking it within data store 124 through the identifier. Thus, all stored activities having this identifier become part of a common thread.
- the activity information that is stored can include a timestamp 218 that identifies a time when the record corresponding to the activity input was created. For instance, if the activity input is an e-mail from a customer, then the activity can be added to the thread for the case identifier by including not only the e-mail content but a timestamp indicating when the e-mail was received (or sent).
- Thread generation component 168 can arrange the activities in any given thread in chronological order. For instance, where there are multiple items in a thread, they can be arranged in reverse chronological order (where the more recent items are placed at the top of the thread), or in forward chronological order (where the oldest activities in the thread are placed at the top of the thread). Arranging the activities in the thread in chronological order is indicated by block 220 . Of course, the items can be arranged or placed in a thread in other ways as well, and this is indicated by block 222 .
- Thread generation component 168 then saves the new or modified thread for later access or display to a user 112 - 114 .
- FIG. 2A shows one example of a user interface display 226 that illustrates a unified display (of activities in a unified thread).
- the unified display may illustratively include an identifier section 228 that shows the identifier for this particular case or issue. Displaying the identifier may not be used as well. For instance, if the activity list is displayed on a form that already includes a case number, then it need not be displayed again.
- the unified display also includes an activity generation section 230 that allows a user to generate activities from display 226 . This is described in greater detail below with respect to FIGS.
- Display 226 also illustratively includes a filter section 232 that has user input mechanisms that allow the user viewing display 226 to filter the various activities within the unified thread. This is described in greater detail below with respect to FIGS. 4 and 4A .
- Display 226 also illustratively includes unified thread section 234 .
- Section 234 illustratively includes a unified set of activities that have been received or performed with respect to this case number (identified by identifier 228 ) in some order determined by thread generation component 168 . In the example shown in FIG. 2A , the activities are arranged in reverse chronological order.
- each activity is represented by a display element 236 - 246 .
- the activities represent a variety of different types of activities that can be received or generated through a variety of different channels.
- display element 236 represents a note activity.
- the note activity is a note that was posted by a given user 112 - 114 for this case number.
- Display element 238 corresponds to a task that was created by a user 112 - 114 within business system 102 . It includes a details actuator 248 that allows the user to be navigated to more details corresponding to the task that is represented by display element 238 .
- Display element 240 represents an e-mail activity. It briefly describes the issue regarding the e-mail at 250 . It can include a textual portion 252 that includes a portion of the e-mail, and it includes identifying information 254 that identifies the sender of the e-mail and when it was sent. It can include other items as well. In the example shown, the case number is illustrated in the information 250 . It can be seen that display element 240 represents an external e-mail from one of users 112 - 114 to a customer. This is indicated by a designator 256 .
- Display element 242 corresponds to an external e-mail that was sent by the system and received by a user 112 - 114 within business system 102 . It includes similar information to that shown with respect to display element 240 , and it is similarly numbered. However, it also indicates, by designator 258 , that this is system e-mail that was automatically sent by the system, instead of a live user.
- Element 244 indicates that a case was created and an identifier was assigned, because a customer 116 - 118 (in this case Abby H.) posted an issue on a social media network of the company using business system 102 . Based on that input, case identifier component 154 identified the activity as one which did not yet have an identifier 228 , and therefore it created a business record for the activity and assigned it an identifier.
- Display element 246 is a wall post display element that represents an activity by which the customer posted a message on the social media wall of the business using system 102 . It contains the contents of that post and also identifies who it was posted by and the date and time when it was posted.
- in-line unification component 166 identified all of the activities as belonging to the same case identifier, and thread generation component 168 arranged display elements corresponding to each of those activities in a thread where the activities are arranged in reverse chronological order.
- This provides a number of significant advantages. First, it reduces the processing load on business system 102 , by users 112 - 114 . Instead of the users needing to switch back and forth between the various systems in business system 102 , all of the information is surfaced in the unified display 226 . This also allows system 102 to surface the relevant information more quickly, thus further reducing the processing overhead for presenting the information on the unified display 226 . Additional benefits can include increased productivity of the user (e.g., the customer service representative), and faster resolution of issues for the customer.
- new activity processing component 132 (shown in FIG. 1 ) identifies new activities on the unified display 226 for the given user 112 - 114 who is accessing the unified display. For example, new activity identifier 180 identifies those activities in the unified thread that have been added to the thread since this particular user last logged on and accessed the unified thread corresponding to this business record. Visual indicia component 182 visually distinguishes the new activities from those that the user has already seen.
- FIG. 3 is a flow diagram illustrating one example of the operation of new activity processing component 132 in doing this.
- FIG. 3A shows one example of a user interface display. FIGS. 3 and 3A will now be described in conjunction with one another.
- System 102 first receives a user input from a user (such as a user 112 ) indicating that the user wishes to access a thread corresponding to an identifier (such as a case number, a customer name, etc.). This can be done by having user 112 log into system 102 using authentication information and then by providing the identifier so that user 112 can view the corresponding unified thread. Receiving a user input to access a thread corresponding to an identifier is indicated by block 260 in FIG. 3 . As briefly mentioned above, the identifier can be the user name 262 , some other user identification number or unique identifier 264 , a case number 266 , or another identifier 268 .
- new activity identifier 180 determines when this user 112 last viewed the requested thread. This is indicated by block 270 in FIG. 3 . This can be done in a variety of different ways as well. For instance, new activity identifier 180 can review the user's access log to determine when the user last logged on to the system and requested access to this thread. The information can also indicate when the user last exited the thread. Examining the user's access log is indicated by block 272 . The new activity identifier 180 can determine when the user last viewed this thread in other ways as well and this is indicated by block 274 .
- new activity identifier 180 examines the activities on the unified display, and, in one example, the timestamp for each activity, to determine whether any of the activities in the thread were added since the user last accessed the thread. If so, it identifies those activities as new activities. This is indicated by block 276 in FIG. 3 . It can do this, for instance, by comparing the time that the user last viewed the thread with the timestamp on each activity. This is indicated by block 278 . It can do this in other ways as well, as indicated by block 280 .
- visual indicia component 182 adds visual indicia that distinguish the new activities in the unified display from the old activities (which the user has already seen). It then generates a display of the unified display visually distinguishing new activities from other activities in the thread. This is indicated by block 282 .
- each new activity can include the word “new”. This is indicated by block 284 .
- the new activities can be shown in a different color or in bold, as indicated by block 286 . They can be shown flashing as indicated by block 288 .
- the display can include a demarcation line that shows all new activities above the line and all old activities below the line in the display, or vice versa.
- a demarcation line is indicated by block 290 . It can visually distinguish the new activities from the old ones in other ways as well, and this is indicated by block 292 .
- FIG. 3A shows one example of a unified display 294 . It can be seen that some of the items in display 294 are similar to those shown in display 226 illustrated in FIG. 2A , and they are similarly numbered.
- the threaded display portion 234 in FIG. 3A includes display elements representing activities 296 - 304 . It can be seen that the e-mail activity corresponding to display element 296 is displayed at the top of the thread. It also includes visual indicia generally shown at 306 that identifies the corresponding activity as a new activity. This means that it has been added to the unified thread since this user last viewed this unified display (or thread). Thus, the user 112 can quickly identify relevant information. This reduces the overall processing load on system 102 , because user 112 does not need to conduct any type of searching or filtering steps to identify any new activities in the unified thread. It also enables user 112 to use the system more efficiently.
- FIG. 4 is a flow diagram illustrating one example of the operation of activity filter components 170 (shown in FIG. 1 ) in filtering the activities that are displayed in a given unified thread.
- FIG. 4A is one example of a user interface display that illustrates this. FIGS. 4 and 4A will now be described in conjunction with one another.
- Activity filter components 170 illustratively display filter user input mechanisms that allow the user to filter the activities displayed in the unified thread. Displaying the filter user input mechanisms is indicated by block 307 in FIG. 4 .
- the filter user input mechanisms allow the user to filter the activities based on those which were performed internally, versus those which were performed or sent externally. For instance, it may be that there are internal posts or messages that were not seen by a customer. It may also be that there are external e-mails that went to the customer. Filtering based on internal or external activities is indicated by block 308 .
- the system provides filter user input mechanisms that allow the user to filter based on activity type. This is indicated by block 310 .
- filter user input mechanisms that allow the user to filter based on activity type. This is indicated by block 310 .
- activity type For example, it may be that a user only wishes to see e-mail activity and appointments. The user can thus actuate the suitable filter user input mechanisms to have only those activities displayed.
- the user input mechanisms allow the user to quickly see all activities as indicated by block 312 . They can include a wide variety of other filter user input mechanisms as well, and this is indicated by block 314 .
- filter criteria can include, for example, sensitivity, date, system status, etc.
- the user then illustratively actuates one of the filter user input mechanisms. This is indicated by block 316 .
- the user can actuate a single user input mechanism to filter based on a single set of filter criteria. This is indicated by block 318 .
- the user can actuate a combination of different filter user input mechanisms to filter based upon a combination of filter criteria. This is indicated by block 320 .
- filters 174 (shown in FIG. 1 ) filter the activities in the unified thread based on the selected filter user input mechanisms to obtain a filtered thread of activities. This is indicated by block 322 .
- the system displays the filtered thread so that it contains only those activities that survived the filtering step. This is indicated by block 324 .
- FIG. 4A shows an example of a user interface display 326 .
- Display 326 is similar, in some ways, to display 294 shown in FIG. 3A , and similar items are similarly numbered.
- Unified thread portion 234 includes activities 326 and 328 .
- filter portion 232 includes an “All” user input mechanism 330 , an “Internal” mechanism 332 , an “External” mechanism 334 , and an “Activities” mechanism 336 .
- the user actuates mechanism 330
- the system displays all activities in the unified thread.
- the user actuates internal mechanism 332 the system displays only those activities that were not available for view by the customer.
- filter mechanisms 330 , 332 , and 334 allow the user to quickly and easily filter the list of displayed activities based on certain predefined filter criteria.
- Activities mechanism 336 allows the user to filter the displayed activities based on activity type. In doing so, activity type identifier 172 (shown in FIG. 1 ) identifies each type of activity that may be in the unified thread for this record.
- the user can define the particular types of activities that the user wishes to see in the unified list.
- the system generates drop down menu 338 .
- Menu 338 includes a list of all possible activity types 340 . The user can select which particular activity types the user wishes to see in the unified thread. In response, the system filters the unified thread to show only those selected activity types.
- the user can provide combinations of filter inputs. For instance, the user can select a plurality of different activity types from list 340 .
- the user can also actuate the internal or external filter mechanisms 332 and 334 .
- the system filters the activities displayed in the unified thread based upon the combination of activity type and internal or external activities. For instance, if the user selects “system posts”, “e-mails” and “phone call”, then the system will show the unified thread for only system post activities, e-mail activities and phone call activities. If the user then actuates the internal mechanism 332 , the system will further filter that list to only those internal system posts, e-mails and phone calls.
- the user can filter using other combinations or in different ways as well.
- FIG. 5 is a flow diagram illustrating one example of the operation of contextual action processing component 130 (shown in FIG. 1 ) in generating user interface displays that allow the user to take contextual actions from the unified thread.
- FIGS. 5A and 5B show examples of user interface displays that indicate this.
- FIGS. 5-5B will now be described in conjunction with one another.
- FIG. 5A shows one example of a user interface display that indicates this.
- User interface display 342 is similar, in some ways, to the user interface display 326 shown in FIG. 4A , and similar items are similarly numbered.
- the unified thread portion 234 includes display elements that represent activities 344 , 346 and 348 .
- the user selects one of the activities in the unified thread 234 .
- the user can do this, for example, by clicking on one of the display elements that represent the activities with a point and click device, by touching them (on a touch sensitive screen), or in other ways.
- Receiving user selection of an activity on the unified display is indicated by block 350 in the flow diagram of FIG. 5 . It can be seen in FIG. 5A that the user has selected the activity 348 . For example, the user may have placed the cursor over the display element representing activity 348 and clicked.
- contextual action processing component 130 displays a set of contextual action user input mechanisms shown generally at 352 which allow the user to take appropriate actions based upon the particular context of the selected activity. For instance, because the selected activity 348 is an e-mail, the contextual action user input mechanisms that are displayed include a “reply” user input mechanism 354 and a “reply all” user input mechanism 356 . If the user had clicked a different activity, then the contextual action user input mechanisms would be those appropriate for taking action from that type of activity.
- the contextual action user input mechanisms may include a user input mechanism that allows the user to redial a previous number, to listen to or record a voicemail message for the other person, etc. Displaying contextual action user input mechanisms that are specific to the context of the selected activity is indicated by block 358 in FIG. 5 .
- the system can be modified to present the user with custom actions such as “translate email” or “save to pdf”, etc.
- the user can then actuate one of the contextual action user input mechanisms. This is indicated by block 360 .
- the contextual action processing component 130 displays an in-line action pane with user input mechanisms that can be actuated to take the action represented by the contextual action user input mechanism that the user selected. Displaying the in-line action pane is indicated by block 362 in FIG. 5 .
- FIG. 5B shows one example of a user interface display that illustrates this.
- the user has actuated the reply user input mechanism 354 .
- contextual action processing component 130 opens an in-line action pane 364 that allows the user to provide inputs to take the requested action.
- the action pane 364 shown in FIG. 5B is an in-line e-mail editor pane that allows the user to generate a reply e-mail.
- the action pane 364 also illustratively includes all of the contextual user input mechanisms that allow the user to perform the functions that would normally be allowed if the user actually accessed the e-mail system instead of editing an e-mail from an in-line action pane.
- the action pane is for an e-mail activity
- it includes mechanisms that allow the user to attach an attachment, to insert items, to use templates, to include more recipients, to CC: the e-mail or blind copy the e-mail to other recipients, to format the e-mail using formatting mechanisms, etc.
- It also includes a send user input mechanism that allows the user to send the e-mail directly from the in-line editor pane displayed in-line on unified thread 234 .
- Contextual action processing component 130 then takes the action based on the user inputs. This is indicated by block 368 .
- contextual action processing component 130 communicates with the particular system or components within business system 102 that are used to take the action. For instance, if the in-line action pane has a user input mechanism that is used to send an e-mail, then component 130 communicates with electronic mail component 158 to generate and send the e-mail based upon the user inputs on the action pane.
- contextual action processing component 130 communicates with messaging component 162 to generate and send the message based upon the user inputs. If the in-line action pane is to schedule an appointment or make a telephone call, then contextual action processing component 130 again communicates with the appropriate components in system 102 in order to do that. Of course, if the in-line action pane is to perform some other type of contextual action, then component 130 again communicates with the appropriate components to take that action.
- in-line unification components 166 update the unified view so that the unified thread of activities includes an item representing the action just taken. For instance, when the user sends the e-mail generated from in-line action pane 364 in FIG. 5B , then the unified thread 234 is updated to include a display element representing an e-mail activity that indicates that the reply e-mail was sent. Updating the unified view based on the action taken is indicated by block 370 in FIG. 5 .
- this provides significant technical advantages. It can reduce the overall processing load on system 102 . This is because the user need not continuously switch between the various systems in order to take actions. Instead, the user can take actions directly from the unified thread. This is because the system generates in-line, contextually aware, user input mechanisms so that the user can select an action that is in the appropriate context for the activities in the unified thread. The system then generates an in-line action pane that allows the user to provide other inputs needed to take the specified action. This enables the system to provide an access point to its various components to streamline the processing required for a user to take an action. Thus, these technical advantages improve the operation of business system 102 and of the underlying computing components as well, and also improves user performance and resolution time for customers.
- FIG. 6 is a flow diagram illustrating one example of the operation of in-line activity creation component 176 in creating new activities directly from the unified display.
- the operation of in-line activity creation component 176 is distinguished from the contextual action processing component 130 described above with respect to FIGS. 5-5B . While contextual action processing component 130 provides user input mechanisms that allow the user to take contextual actions based on activities that are already in the unified thread, in-line activity creation component 176 provides user input mechanisms that allow the user to create entirely new activities which, once performed, will be added to the unified thread.
- FIGS. 6A-6C show examples of user interface displays. FIGS. 6-6C will now be described in conjunction with one another.
- In-line activity creation component 176 includes, in that display, activity creation user input mechanisms. This is indicated by block 372 in FIG. 6 .
- the user input mechanisms can include a post user input mechanism 374 , an e-mail user input mechanism 376 , a note user input mechanism 378 , a phone call user input mechanism 380 , a task creation user input mechanism 382 , a custom activity user input mechanism 384 and it can include other user input mechanisms corresponding to other activities as well, as indicated by block 386 .
- FIG. 6A shows one example of user interface display 326 that was shown in FIG. 4A , except that the drop down menu 338 is not displayed. Therefore, similar items to those shown in FIG. 4A are similarly numbered in FIG. 6A .
- the activity creation user input mechanisms are shown generally at 230 .
- the “add post” user input mechanism 374 can be actuated by the user to add a post activity to the unified thread.
- the “send e-mail” user input mechanism 376 can be actuated by the user to create an e-mail activity that will be added to the unified thread.
- the “add note” user input mechanism 378 can be actuated to add a note to the unified thread.
- the example shown in FIG. 6A also shows a “more” user input mechanism 388 .
- more activity creation user input mechanisms can be displayed.
- drop down menu 390 is displayed which contains a list of additional activity creation user input mechanisms. These include a “phone call” mechanism 380 that can be actuated in order to generate a phone call activity. It includes a “create task” user input mechanism 382 that can be actuated to create a task activity and a “custom activity” user input mechanism 384 that can be actuated to create a custom activity. All of the activities, once created or performed, are added to the unified thread.
- the example shown in FIG. 6A also includes a “create custom activity” user input mechanism 392 . When the user actuates this, the user is illustratively navigated through a user experience that allows the user to create a custom activity which can then be selected from the list as well.
- In-line activity creation component 176 displays an in-line activity authoring display with user input mechanisms for authoring the activity. In doing so, it retains the business record context for the unified display. That is, the user need not navigate to a different screen, or even provide the inputs to generate the new activity from a pop-up menu, which still takes the user out of the context of the unified display. Instead, the authoring display is provided in-line retaining the context of the unified display. This is indicated by block 396 in FIG. 6 .
- the authoring display is adapted based on the activity type. For instance, if the user actuates an e-mail user input mechanism, the authoring display will be an in-line display for creating an e-mail. If the user actuates the create task user input mechanism, the in-line display will be suitable for creating a task, etc.
- Adapting the authoring display based upon the activity type is indicated by block 398 in FIG. 6 .
- the in-line display, retaining the business record context, can be generated in other ways as well. This is indicated by block 400 .
- FIG. 6B shows one example of user interface display 326 , where the user has actuated the “add post” user input mechanism 374 .
- a messaging text field 402 is displayed, or becomes active, and the cursor is placed in field 402 , so that the user can quickly add a post to the unified thread. It can be seen that this display is generated within the context of the unified thread for this particular business record. The user is not navigated to a different display screen, or even provided with a pop-up display, both of which remove the user from the context of the unified display.
- FIG. 6C shows another example of user interface display 326 where the user has actuated the send e-mail user input mechanism 376 .
- in-line activity creation component 176 then generates an in-line e-mail authoring pane 404 .
- the e-mail authoring pane is similar to that shown above with respect to FIG. 5B .
- pane 404 is a new activity that is generated by actuating the “send e-mail” new activity user input mechanism 376 .
- the in-line activity authoring display is generated with user input mechanisms for authoring the activity, and it retains the context of the unified display.
- the particular authoring display is adapted based upon the type of activity that is to be created.
- the user illustratively provides user inputs authoring the particular activity. If the activity is an appointment, the user selects the day and time for the appointment. If it is an e-mail, the user authors the e-mail. If it is a post, the user authors the post, etc. Receiving the user authoring inputs is indicated by block 406 in FIG. 6 .
- the in-line activity creation component 176 then communicates with the appropriate components in system 102 in order to perform the activity. This is indicated by block 408 .
- component 176 communicates with electronic mail component 158 to create and send the e-mail that was authored. The same is true of the other components and systems within business system 102 .
- in-line unification components 168 update the unified view or unified thread to include a display element corresponding to the new activity. Updating the unified thread is indicated by block 410 in FIG. 6 .
- creating new activities from the unified display provide significant technical advantages. It can reduce the overall processing load on system 102 , thereby allowing it to operate more efficiently and quickly. This is because the user need not continuously navigate between the different components or systems within business system 102 , in order to generate a new activity. Instead, the user can do so directly from the unified display. Also, because the system maintains the context of the unified display, while the user is authoring the new activity, the system is more quickly and efficiently surfacing relevant information for the user. This also has the effect of improving the performance of business system 102 . Other technical advantages, such as those discussed above, can be obtained as well.
- processors and servers include computer processors with associated memory and timing circuitry, not separately shown. They are functional parts of the systems or devices to which they belong and are activated by, and facilitate the functionality of the other components or items in those systems.
- the user actuatable input mechanisms can be text boxes, check boxes, icons, links, drop-down menus, search boxes, etc. They can also be actuated in a wide variety of different ways. For instance, they can be actuated using a point and click device (such as a track ball or mouse). They can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. They can also be actuated using a virtual keyboard or other virtual actuators. In addition, where the screen on which they are displayed is a touch sensitive screen, they can be actuated using touch gestures. Also, where the device that displays them has speech recognition components, they can be actuated using speech commands.
- a number of data stores have also been discussed. It will be noted they can each be broken into multiple data stores. All can be local to the systems accessing them, all can be remote, or some can be local while others are remote. All of these configurations are contemplated herein.
- the figures show a number of blocks with functionality ascribed to each block. It will be noted that fewer blocks can be used so the functionality is performed by fewer components. Also, more blocks can be used with the functionality distributed among more components.
- FIG. 7 is a block diagram of architecture 100 , shown in FIG. 1 , except that its elements are disposed in a cloud computing architecture 500 .
- Cloud computing provides computation, software, data access, and storage services that do not require end-user knowledge of the physical location or configuration of the system that delivers the services.
- cloud computing delivers the services over a wide area network, such as the internet, using appropriate protocols.
- cloud computing providers deliver applications over a wide area network and they can be accessed through a web browser or any other computing component.
- Software or components of architecture 100 as well as the corresponding data can be stored on servers at a remote location.
- the computing resources in a cloud computing environment can be consolidated at a remote data center location or they can be dispersed.
- Cloud computing infrastructures can deliver services through shared data centers, even though they appear as a single point of access for the user.
- the components and functions described herein can be provided from a service provider at a remote location using a cloud computing architecture.
- they can be provided from a conventional server, or they can be installed on client devices directly, or in other ways.
- Cloud computing both public and private provides substantially seamless pooling of resources, as well as a reduced need to manage and configure underlying hardware infrastructure.
- a public cloud is managed by a vendor and typically supports multiple consumers using the same infrastructure. Also, a public cloud, as opposed to a private cloud, can free up the end users from managing the hardware.
- a private cloud may be managed by the organization itself and the infrastructure is typically not shared with other organizations. The organization still maintains the hardware to some extent, such as installations and repairs, etc.
- FIG. 7 specifically shows that business system 102 is located in cloud 502 (which can be public, private, or a combination where portions are public while others are private). Therefore, users 112 - 114 use user devices 504 - 506 to access those systems through cloud 502 .
- cloud 502 which can be public, private, or a combination where portions are public while others are private. Therefore, users 112 - 114 use user devices 504 - 506 to access those systems through cloud 502 .
- FIG. 7 also depicts another example of a cloud architecture.
- FIG. 7 shows that it is also contemplated that some elements of business system 102 can be disposed in cloud 502 while others are not.
- data store 124 can be disposed outside of cloud 502 , and accessed through cloud 502 .
- integrated display processing component 128 can also be outside of cloud 502 . Regardless of where they are located, they can be accessed directly by devices 504 - 506 , through a network (either a wide area network or a local area network), they can be hosted at a remote site by a service, or they can be provided as a service through a cloud or accessed by a connection service that resides in the cloud. All of these architectures are contemplated herein.
- architecture 100 can be disposed on a wide variety of different devices. Some of those devices include servers, desktop computers, laptop computers, tablet computers, or other mobile devices, such as palm top computers, cell phones, smart phones, multimedia players, personal digital assistants, etc.
- FIG. 8 is a simplified block diagram of one illustrative embodiment of a handheld or mobile computing device that can be used as a user's or client's hand held device 16 , in which the present system (or parts of it) can be deployed.
- FIGS. 9-10 are examples of handheld or mobile devices.
- FIG. 8 provides a general block diagram of the components of a client device 16 that can run components of system 102 or that interacts with architecture 100 , or both.
- a communications link 13 is provided that allows the handheld device to communicate with other computing devices and under some embodiments provides a channel for receiving information automatically, such as by scanning
- Examples of communications link 13 include an infrared port, a serial/USB port, a cable network port such as an Ethernet port, and a wireless network port allowing communication though one or more communication protocols including General Packet Radio Service (GPRS), LTE, HSPA, HSPA+ and other 3G and 4G radio protocols, 1Xrtt, and Short Message Service, which are wireless services used to provide cellular access to a network, as well as Wi-Fi protocols, and Bluetooth protocol, which provide local wireless connections to networks.
- GPRS General Packet Radio Service
- LTE Long Term Evolution
- HSPA High Speed Packet Access
- HSPA+ High Speed Packet Access Plus
- 3G and 4G radio protocols 3G
- SD card interface 15 communicates with a processor 17 (which can also embody processor 122 from FIG. 1 or the processors in devices 504 - 506 ) along a bus 19 that is also connected to memory 21 and input/output (I/O) components 23 , as well as clock 25 and location system 27 .
- processor 17 which can also embody processor 122 from FIG. 1 or the processors in devices 504 - 506
- bus 19 that is also connected to memory 21 and input/output (I/O) components 23 , as well as clock 25 and location system 27 .
- I/O components 23 are provided to facilitate input and output operations.
- I/O components 23 for various embodiments of the device 16 can include input components such as buttons, touch sensors, multi-touch sensors, optical or video sensors, voice sensors, touch screens, proximity sensors, microphones, tilt sensors, and gravity switches and output components such as a display device, a speaker, and or a printer port.
- Other I/O components 23 can be used as well.
- Clock 25 illustratively comprises a real time clock component that outputs a time and date. It can also, illustratively, provide timing functions for processor 17 .
- Location system 27 illustratively includes a component that outputs a current geographical location of device 16 .
- This can include, for instance, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system. It can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.
- GPS global positioning system
- Memory 21 stores operating system 29 , network settings 31 , applications 33 , application configuration settings 35 , data store 37 , communication drivers 39 , and communication configuration settings 41 .
- Memory 21 can include all types of tangible volatile and non-volatile computer-readable memory devices. It can also include computer storage media (described below).
- Memory 21 stores computer readable instructions that, when executed by processor 17 , cause the processor to perform computer-implemented steps or functions according to the instructions.
- device 16 can have a client business system 24 which can run various business applications or embody parts or all of system 102 .
- Processor 17 can be activated by other components to facilitate their functionality as well.
- Examples of the network settings 31 include things such as proxy information, Internet connection information, and mappings.
- Application configuration settings 35 include settings that tailor the application for a specific enterprise or user.
- Communication configuration settings 41 provide parameters for communicating with other computers and include items such as GPRS parameters, SMS parameters, connection user names and passwords.
- Applications 33 can be applications that have previously been stored on the device 16 or applications that are installed during use, although these can be part of operating system 29 , or hosted external to device 16 , as well.
- FIG. 9 shows one embodiment in which device 16 is a tablet computer 600 .
- computer 600 is shown with user interface display screen 602 .
- Screen 602 can be a touch screen (so touch gestures from a user's finger can be used to interact with the application) or a pen-enabled interface that receives inputs from a pen or stylus. It can also use an on-screen virtual keyboard. Of course, it might also be attached to a keyboard or other user input device through a suitable attachment mechanism, such as a wireless link or USB port, for instance.
- Computer 600 can also illustratively receive voice inputs as well.
- Device 16 can be a feature phone, smart phone or mobile phone.
- the phone can include a set of keypads for dialing phone numbers, a display capable of displaying images including application images, icons, web pages, photographs, and video, and control buttons for selecting items shown on the display.
- the phone can include an antenna for receiving cellular phone signals such as General Packet Radio Service (GPRS) and 1Xrtt, and Short Message Service (SMS) signals.
- GPRS General Packet Radio Service
- 1Xrtt 1Xrtt
- SMS Short Message Service
- the phone also includes a Secure Digital (SD) card slot that accepts a SD card.
- SD Secure Digital
- the mobile device can also be a personal digital assistant (PDA) or a multimedia player or a tablet computing device, etc. (hereinafter referred to as PDA).
- PDA personal digital assistant
- the PDA can include an inductive screen that senses the position of a stylus 63 (or other pointers, such as a user's finger) when the stylus is positioned over the screen. This allows the user to select, highlight, and move items on the screen as well as draw and write.
- the PDA can also include a number of user input keys or buttons which allow the user to scroll through menu options or other display options which are displayed on the display, and allow the user to change applications or select user input functions, without contacting the display.
- the PDA can include an internal antenna and an infrared transmitter/receiver that allow for wireless communication with other computers as well as connection ports that allow for hardware connections to other computing devices.
- Such hardware connections are typically made through a cradle that connects to the other computer through a serial or USB port. As such, these connections are non-network connections.
- FIG. 10 is one example of a smart phone 71 .
- Smart phone 71 has a touch sensitive display 73 that displays icons or tiles or other user input mechanisms 75 .
- Mechanisms 75 can be used by a user to run applications, make calls, perform data transfer operations, etc.
- smart phone 71 is built on a mobile operating system and offers more advanced computing capability and connectivity than a feature phone.
- FIG. 11 is one embodiment of a computing environment in which architecture 100 , or parts of it, (for example) can be deployed.
- an exemplary system for implementing some embodiments includes a general-purpose computing device in the form of a computer 810 .
- Components of computer 810 may include, but are not limited to, a processing unit 820 (which can comprise processor 122 or those in devices 504 - 506 ), a system memory 830 , and a system bus 821 that couples various system components including the system memory to the processing unit 820 .
- the system bus 821 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus.
- ISA Industry Standard Architecture
- MCA Micro Channel Architecture
- EISA Enhanced ISA
- VESA Video Electronics Standards Association
- PCI Peripheral Component Interconnect
- Computer 810 typically includes a variety of computer readable media.
- Computer readable media can be any available media that can be accessed by computer 810 and includes both volatile and nonvolatile media, removable and non-removable media.
- Computer readable media may comprise computer storage media and communication media.
- Computer storage media is different from, and does not include, a modulated data signal or carrier wave. It includes hardware storage media including both volatile and 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.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 810 .
- Communication media typically embodies computer readable instructions, data structures, program modules or other data in a transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
- the system memory 830 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 831 and random access memory (RAM) 832 .
- ROM read only memory
- RAM random access memory
- BIOS basic input/output system 833
- RAM 832 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820 .
- FIG. 11 illustrates operating system 834 , application programs 835 , other program modules 836 , and program data 837 .
- the computer 810 may also include other removable/non-removable volatile/nonvolatile computer storage media.
- FIG. 11 illustrates a hard disk drive 841 that reads from or writes to non-removable, nonvolatile magnetic media, and an optical disk drive 855 that reads from or writes to a removable, nonvolatile optical disk 856 such as a CD ROM or other optical media.
- Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
- the hard disk drive 841 is typically connected to the system bus 821 through a non-removable memory interface such as interface 840
- optical disk drive 855 are typically connected to the system bus 821 by a removable memory interface, such as interface 850 .
- the functionality described herein can be performed, at least in part, by one or more hardware logic components.
- illustrative types of hardware logic components include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
- the drives and their associated computer storage media discussed above and illustrated in FIG. 11 provide storage of computer readable instructions, data structures, program modules and other data for the computer 810 .
- hard disk drive 841 is illustrated as storing operating system 844 , application programs 845 , other program modules 846 , and program data 847 .
- operating system 844 application programs 845 , other program modules 846 , and program data 847 are given different numbers here to illustrate that, at a minimum, they are different copies.
- a user may enter commands and information into the computer 810 through input devices such as a keyboard 862 , a microphone 863 , and a pointing device 861 , such as a mouse, trackball or touch pad.
- Other input devices may include a joystick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 820 through a user input interface 860 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
- a visual display 891 or other type of display device is also connected to the system bus 821 via an interface, such as a video interface 890 .
- computers may also include other peripheral output devices such as speakers 897 and printer 896 , which may be connected through an output peripheral interface 895 .
- the computer 810 is operated in a networked environment using logical connections to one or more remote computers, such as a remote computer 880 .
- the remote computer 880 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 810 .
- the logical connections depicted in FIG. 11 include a local area network (LAN) 871 and a wide area network (WAN) 873 , but may also include other networks.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
- the computer 810 When used in a LAN networking environment, the computer 810 is connected to the LAN 871 through a network interface or adapter 870 .
- the computer 810 When used in a WAN networking environment, the computer 810 typically includes a modem 872 or other means for establishing communications over the WAN 873 , such as the Internet.
- the modem 872 which may be internal or external, may be connected to the system bus 821 via the user input interface 860 , or other appropriate mechanism.
- program modules depicted relative to the computer 810 may be stored in the remote memory storage device.
- FIG. 11 illustrates remote application programs 885 as residing on remote computer 880 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- Example 1 is a computer system, comprising:
- an in-line unification component that identifies activity inputs, indicative of activities of a plurality of different activity types, as corresponding to a common identifier in the computer system;
- a thread generation component that generates a thread including display elements, each representing a different identified activity input
- a filter component that generates filter user input mechanisms actuatable to filter the display elements in the thread based on corresponding filter criteria
- a user interface component that displays a unified display corresponding to the common identifier, including the display elements in the thread and the filter user input mechanisms.
- Example 2 is the computer system of any or all previous examples wherein the user interface component receives user actuation of a selected one of the filter user input mechanisms, the filter component filters the display elements in the thread, to obtain a filtered set of display elements, based on the filter criteria corresponding to the selected filter user input mechanism.
- Example 3 is the computer system of any or all previous examples wherein the user interface display displays the unified display showing only the filtered set of display elements.
- Example 4 is the computer system of any or all previous examples wherein computer system comprises a business system that has internal workers and external users, and wherein the activity inputs represent internal activities and external activities, the internal activities being visible in the computer system to only internal workers and the external activities being visible to the external users.
- Example 5 is the computer system of any or all previous examples wherein the filter component generates the filter user input mechanisms to include an internal filter mechanism actuatable to filter the display elements in the thread to show only display elements corresponding to internal activities.
- Example 6 is the computer system of any or all previous examples wherein the filter component generates the filter user input mechanisms to include an external filter mechanism actuatable to filter the display elements in the thread to show only display elements corresponding to external activities.
- Example 7 is the computer system of any or all previous examples wherein the filter component generates the filter user input mechanisms to include activity type filter mechanisms to filter the display elements based on the corresponding activity type.
- Example 8 is the computer system of any or all previous examples wherein the activity type filter mechanisms include a plurality of different selectable activity type identifiers that each identify as different activity type, the filter component filtering the display elements to show only display elements in the thread corresponding to an activity type identified by the selected activity type identifiers.
- Example 9 is the computer system of any or all previous examples wherein the activity type filter mechanisms include message source filter mechanisms that are actuatable to filter the display elements to show only messages from a selected source.
- the activity type filter mechanisms include message source filter mechanisms that are actuatable to filter the display elements to show only messages from a selected source.
- Example 10 is the computer system of any or all previous examples wherein the activity type filter mechanisms include communication type filter mechanisms that are actuatable to filter the display elements to show only communications of a selected type.
- Example 11 is the computer system of any or all previous examples wherein the activity type filter mechanisms include a task filter mechanism that is actuatable to filter the display elements to show only display elements corresponding to task activities in the thread.
- the activity type filter mechanisms include a task filter mechanism that is actuatable to filter the display elements to show only display elements corresponding to task activities in the thread.
- Example 12 is a method, comprising:
- Example 13 is the method of claim 12 and further comprising:
- Example 14 is the method of any or all previous examples and further comprising:
- Example 15 is the method of any or all previous examples wherein displaying filter user input mechanisms comprises displaying activity type filter mechanisms that have activity type filter criteria and further comprising:
- Example 16 is the method of any or all previous examples wherein displaying filter user input mechanisms comprises displaying an internal filter mechanism and further comprising:
- Example 17 is the method of any or all previous examples wherein displaying filter user input mechanisms comprises displaying an external filter mechanism and further comprising:
- Example 18 is a computer readable storage medium that stores computer executable instructions which, when executed by a computer, cause the computer to perform a method, comprising:
- a user input accessing a thread including display elements, the display elements in the thread representing activity inputs indicative of activities, of a plurality of different activity types, corresponding to a common identifier in a computer system;
- Example 19 is the computer readable storage medium of any or all previous examples wherein displaying filter user input mechanisms comprises displaying activity type filter mechanisms that have activity type filter criteria and further comprising:
- Example 20 is the computer readable storage medium of any or all previous examples wherein displaying filter user input mechanisms comprises displaying internal/external filter mechanisms and further comprising:
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/337,781 US10990914B2 (en) | 2014-07-22 | 2014-07-22 | Filtering records on a unified display |
US17/210,772 US11734631B2 (en) | 2014-07-22 | 2021-03-24 | Filtering records on a unified display |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/337,781 US10990914B2 (en) | 2014-07-22 | 2014-07-22 | Filtering records on a unified display |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/210,772 Continuation US11734631B2 (en) | 2014-07-22 | 2021-03-24 | Filtering records on a unified display |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160026946A1 US20160026946A1 (en) | 2016-01-28 |
US10990914B2 true US10990914B2 (en) | 2021-04-27 |
Family
ID=55167005
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/337,781 Active 2038-09-05 US10990914B2 (en) | 2014-07-22 | 2014-07-22 | Filtering records on a unified display |
US17/210,772 Active 2035-02-20 US11734631B2 (en) | 2014-07-22 | 2021-03-24 | Filtering records on a unified display |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/210,772 Active 2035-02-20 US11734631B2 (en) | 2014-07-22 | 2021-03-24 | Filtering records on a unified display |
Country Status (1)
Country | Link |
---|---|
US (2) | US10990914B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360287B2 (en) | 2015-05-22 | 2019-07-23 | Microsoft Technology Licensing, Llc | Unified messaging platform and interface for providing user callouts |
US20160344677A1 (en) * | 2015-05-22 | 2016-11-24 | Microsoft Technology Licensing, Llc | Unified messaging platform for providing interactive semantic objects |
US10633112B2 (en) * | 2016-04-19 | 2020-04-28 | Fujitsu Limited | Flying machine, method for using flying machine, and flying machine frame |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060168553A1 (en) * | 2002-07-25 | 2006-07-27 | Wiredred Software Corporation | Software development kit for real-time communication applications and system |
US7139800B2 (en) * | 2002-01-16 | 2006-11-21 | Xerox Corporation | User interface for a message-based system having embedded information management capabilities |
US7328242B1 (en) * | 2001-11-09 | 2008-02-05 | Mccarthy Software, Inc. | Using multiple simultaneous threads of communication |
US20090144374A1 (en) * | 2007-11-30 | 2009-06-04 | Gant Laborde | System and Method for Unsolicited Electronic Mail Identification and Evasion |
US20100162132A1 (en) | 2008-12-23 | 2010-06-24 | Microsoft Corporation | Techniques to manage and display related communications |
US20100191836A1 (en) * | 2008-12-24 | 2010-07-29 | John Knight | Communications device user interface |
US20110119593A1 (en) * | 2009-11-16 | 2011-05-19 | Xobni Corporation | Collecting and presenting data including links from communications sent to or from a user |
US20120144313A1 (en) * | 2010-12-03 | 2012-06-07 | Salesforce.Com, Inc. | Filtering objects in a multi-tenant environment |
US20120197907A1 (en) | 2011-02-01 | 2012-08-02 | Sugarcrm, Inc. | System and method for intelligent data mapping, including discovery, identification, correlation and exhibit of crm related communication data |
US20130097526A1 (en) * | 2011-10-17 | 2013-04-18 | Research In Motion Limited | Electronic device and method for reply message composition |
US20130204947A1 (en) * | 2012-02-05 | 2013-08-08 | Apple Inc. | Automated participant account determination for a communication session |
US20130262168A1 (en) * | 2012-03-30 | 2013-10-03 | Sap Ag | Systems and methods for customer relationship management |
US8660590B2 (en) | 2008-08-14 | 2014-02-25 | Talisma Corporation Private Ltd. | Unified view of short message service (SMS) interaction history with other channel messages based on case identifier in a customer relationship management (CRM) application |
US20140344711A1 (en) * | 2013-05-17 | 2014-11-20 | Research In Motion Limited | Method and device for graphical indicator of electronic messages |
US20160026945A1 (en) * | 2014-07-22 | 2016-01-28 | Microsoft Technology Licensing, Llc. | Taking in-line contextual actions on a unified display |
US20160026944A1 (en) * | 2014-07-22 | 2016-01-28 | Microsoft Corporation | Identifying new display elements in a unified thread |
US20170185962A1 (en) * | 2015-12-28 | 2017-06-29 | Sammie D. Williams | Construction Project Monitoring System and Method |
US9800525B1 (en) * | 2013-09-25 | 2017-10-24 | Amazon Technologies, Inc. | Profile-based integrated messaging platform |
-
2014
- 2014-07-22 US US14/337,781 patent/US10990914B2/en active Active
-
2021
- 2021-03-24 US US17/210,772 patent/US11734631B2/en active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328242B1 (en) * | 2001-11-09 | 2008-02-05 | Mccarthy Software, Inc. | Using multiple simultaneous threads of communication |
US7139800B2 (en) * | 2002-01-16 | 2006-11-21 | Xerox Corporation | User interface for a message-based system having embedded information management capabilities |
US20060168553A1 (en) * | 2002-07-25 | 2006-07-27 | Wiredred Software Corporation | Software development kit for real-time communication applications and system |
US20090144374A1 (en) * | 2007-11-30 | 2009-06-04 | Gant Laborde | System and Method for Unsolicited Electronic Mail Identification and Evasion |
US8660590B2 (en) | 2008-08-14 | 2014-02-25 | Talisma Corporation Private Ltd. | Unified view of short message service (SMS) interaction history with other channel messages based on case identifier in a customer relationship management (CRM) application |
US20100162132A1 (en) | 2008-12-23 | 2010-06-24 | Microsoft Corporation | Techniques to manage and display related communications |
US20100191836A1 (en) * | 2008-12-24 | 2010-07-29 | John Knight | Communications device user interface |
US20110119593A1 (en) * | 2009-11-16 | 2011-05-19 | Xobni Corporation | Collecting and presenting data including links from communications sent to or from a user |
US20120144313A1 (en) * | 2010-12-03 | 2012-06-07 | Salesforce.Com, Inc. | Filtering objects in a multi-tenant environment |
US20120197907A1 (en) | 2011-02-01 | 2012-08-02 | Sugarcrm, Inc. | System and method for intelligent data mapping, including discovery, identification, correlation and exhibit of crm related communication data |
US20130097526A1 (en) * | 2011-10-17 | 2013-04-18 | Research In Motion Limited | Electronic device and method for reply message composition |
US20130204947A1 (en) * | 2012-02-05 | 2013-08-08 | Apple Inc. | Automated participant account determination for a communication session |
US20130204888A1 (en) * | 2012-02-05 | 2013-08-08 | Apple Inc. | Communication history aggregation and presentation |
US20130262168A1 (en) * | 2012-03-30 | 2013-10-03 | Sap Ag | Systems and methods for customer relationship management |
US20140344711A1 (en) * | 2013-05-17 | 2014-11-20 | Research In Motion Limited | Method and device for graphical indicator of electronic messages |
US9800525B1 (en) * | 2013-09-25 | 2017-10-24 | Amazon Technologies, Inc. | Profile-based integrated messaging platform |
US20160026945A1 (en) * | 2014-07-22 | 2016-01-28 | Microsoft Technology Licensing, Llc. | Taking in-line contextual actions on a unified display |
US20160026944A1 (en) * | 2014-07-22 | 2016-01-28 | Microsoft Corporation | Identifying new display elements in a unified thread |
US20170185962A1 (en) * | 2015-12-28 | 2017-06-29 | Sammie D. Williams | Construction Project Monitoring System and Method |
Non-Patent Citations (6)
Title |
---|
"Banckle.CRM—Real-Time CRM Dashboard", Published on: Feb. 8, 2014 Available at: http://banckle.com/apps/crm/features.html. |
"Blue hype Services—Admin Knowledgebase", Retrieved on: May 7, 2014 Available at: https://www.bluehype.com.au/process/help/printView.html?categoryId=136. |
"Zoho CRM Common Operations", Published on: Jul. 18, 2012 Available at: http://www.zoho.com/crm/help/miscellaneous/common-functions.html. |
"ZOHO CRM". Published on: Jul. 21, 2012 Available at: http://www.zoho.com/crm/help/mobile/mobile-edition-web-app.html. |
Aggarwal, Mukul, "Microsoft Dynamics CRM", Published on: Nov. 11, 2013 Available at: http://blogs.msdn.com/b/crm/archive/2013/11/11/with-crm-2013-you-can-create-or-filter-activities-right-in-the-activity-feed-no-flipping-screens.aspx. |
Slyshkina, Ann, "Bitrix24: Searching and Filtering in Bitrix24", Published on: Feb. 14, 2013 Available at: https://www.bitrix24.com/about/blogs/community-blog/searching-and-filtering-in-bitrix24.php. |
Also Published As
Publication number | Publication date |
---|---|
US20210209530A1 (en) | 2021-07-08 |
US20160026946A1 (en) | 2016-01-28 |
US11734631B2 (en) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936808B2 (en) | Document linking in an electronic messaging system | |
US9785965B2 (en) | Campaign management console | |
US20150227961A1 (en) | Campaign management user experience for creating and monitoring a campaign | |
US11734631B2 (en) | Filtering records on a unified display | |
US20150263995A1 (en) | Identifying relationships between message threads | |
US20180124155A1 (en) | Network-based group communication and file sharing system | |
US10026132B2 (en) | Chronological information mapping | |
US20140365961A1 (en) | Unified worklist | |
US20160026944A1 (en) | Identifying new display elements in a unified thread | |
US20160026945A1 (en) | Taking in-line contextual actions on a unified display | |
US20160026943A1 (en) | Unified threaded rendering of activities in a computer system | |
US20160267268A1 (en) | Implicit process detection and automation from unstructured activity | |
US20150281144A1 (en) | Cross-client subscription to groups | |
US11349960B2 (en) | Integration of client system groups | |
US20160026953A1 (en) | In-line creation of activities on a unified display | |
US10761697B2 (en) | Calendar event scheduling from email | |
WO2016028831A1 (en) | Multi-user integrated interaction in marketing campaigns | |
EP3097667B1 (en) | Deriving atomic communication threads from independently addressable messages | |
US11444902B2 (en) | Surfacing media conversations and interactive functionality within a message viewer of a messaging system | |
US20180167488A1 (en) | Accessibility processing when making content available to others | |
US20160026373A1 (en) | Actionable steps within a process flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GORE, ABHIJIT NEMICHAND;DALAL, MONIL;KOTHARI, ASHISH;SIGNING DATES FROM 20140718 TO 20140721;REEL/FRAME:033380/0511 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034747/0417 Effective date: 20141014 Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:039025/0454 Effective date: 20141014 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |