A method includes receiving inputs indicative of a user state of a user. The received inputs include: 1) sensor inputs from one or more sensors; 2) application inputs received from one or more software applications; and/or 3) user inputs received from a graphical user interface. The method includes determining a collective user state of the user based on the received inputs and obtaining user data of other users that includes a collective user state of each corresponding other user. The method includes displaying, on a screen, other user glyphs representing the other users. Each other user glyph: 1) at least partially indicates the collective user state of the corresponding other user, and/or 2) is associated with a link to a displayable view indicating the collective user state of the corresponding other user and/or the inputs used to determine the collective user state of the corresponding other user.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving, at data processing hardware, inputs indicative of a user state of a user, the received inputs comprising one or more of: sensor inputs from one or more sensors in communication with the data processing hardware; application inputs received from one or more software applications executing on the data processing hardware or a remote device in communication with the data processing hardware; and user inputs received from a graphical user interface; determining, by the data processing hardware, a collective user state of the user based on the received inputs; obtaining, at the data processing hardware, user data of other users, the user data of each other user comprising a collective user state of the corresponding other user; displaying, on a screen in communication with the data processing hardware, other user glyphs representing the other users, each other user glyph: at least partially indicating the collective user state of the corresponding other user; and/or associated with a link to a displayable view indicating the collective user state of the corresponding other user and/or inputs used to determine the collective user state of the corresponding other user. 2. The method of claim 1, wherein obtaining the user data of the other users comprises obtaining the user data of the other users having corresponding collective user states satisfying a threshold similarity with the collective user state of the user. 3. The method of claim 1, further comprising arranging each other user glyph on the screen based on a level of similarity between the collective user state of the user and the collective user state of the corresponding other user. 4. The method of claim 1, wherein a size, a shape, a color, a border, and/or a position on the screen of each other user glyph is based on a level of similarity between the collective user state of the corresponding other user and the collective user state of the user. 5. The method of claim 1, further comprising displaying a user glyph representing the user in a center portion of the screen and the other user glyphs around the user glyph, wherein the other user glyphs are displayed in concentric circles about the user glyph based on a level of similarity between the collective user states of the corresponding other users and the collective user state of the user. 6. The method of claim 1, further comprising: receiving, at the data processing hardware, an indication of a selection of one or more other user glyphs; and executing, by the data processing hardware, messaging between the user and the one or more other users corresponding to the selected one or more other user glyphs. 7. The method of claim 6, further comprising receiving a gesture across the screen, wherein the gesture indicates selection of the one or more other user glyphs. 8. The method of claim 6, further comprising receiving, at the data processing hardware, an indication of a selection of a messenger glyph displayed on the screen, wherein the messenger glyph has a reference to an application executable on the data processing hardware and indicates one or more operations that cause the application to enter an operating state that allows messaging between the user and the one or more other users corresponding to the selected one or more other user glyphs. 9. The method of claim 1, further comprising: displaying a map on the screen; and arranging the other user glyphs on the screen based on geolocations of the corresponding other users, the user data of each other user comprising the geolocation of the corresponding other user. 10. The method of claim 9, further comprising displaying a user glyph representing the user on the map based on a geolocation of the user. 11. The method of claim 1, further comprising: receiving, at the data processing hardware, an indication of a selection of one or more other user glyphs; determining, by the data processing hardware, possible activities for the user and the one or more other users corresponding to the selected one or more other user glyphs to perform based on the collective user states of the user and the one or more other users; executing, by the data processing hardware, behaviors having corresponding objectives, each behavior configured to evaluate a possible activity based on whether the possible activity achieves the corresponding objective; selecting, by the data processing hardware, one or more possible activities based on evaluations of one or more behaviors; and displaying, by the data processing hardware, results on the screen, the results including the selected one or more possible activities. 12. The method of claim 11, further comprising determining, by the data processing hardware, one or more predicted outcomes for each possible activity based on the collective user states of the user and the one or more other users, wherein each behavior is configured to evaluate a possible activity based on whether the possible activity and the corresponding one or more predicted outcomes of the possible activity achieves the corresponding objective. 13. The method of claim 11, wherein at least one behavior elects to participate or not participate in evaluating the possible activities based on the received inputs. 14. The method of claim 11, further comprising, for each behavior: determining whether any input of the received inputs is of an input type associated with the behavior; and when an input of the received inputs is of an input type associated with the behavior, incrementing an influence value associated with the behavior, wherein when the influence value of the behavior satisfies an influence value criterion, the behavior participates in evaluating the possible activities, and when the influence value of the behavior does not satisfy the influence value criterion, the behavior does not participate in evaluating the possible activities. 15. The method of claim 14, further comprising, for each behavior: determining whether a decrement criterion is satisfied for the behavior; and decrementing the influence value of the behavior when the decrement criterion is satisfied. 16. The method of claim 15, wherein the decrement criterion is satisfied when a threshold period of time has passed since last incrementing the influence value. 17. The method of claim 14, wherein the evaluation of at least one behavior is weighted based on the corresponding influence value of the at least one behavior. 18. The method of claim 11, further comprising determining, by the data processing hardware, the possible activities based on one or more preferences of the user. 19. The method of claim 11, wherein at least one behavior evaluates a possible activity based on at least one of a history of selected activities for the user or one or more preferences of the user. 20. The method of claim 11, wherein a first behavior evaluates a possible activity based on an evaluation by a second behavior of the possible activity.