Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for providing actionable suggestions are disclosed. In one aspect, a method includes receiving (i) an indication that an event detection module has determined that a shared event of a particular type is presently occurring or has occurred, and (ii) data referencing an attribute associated with the shared event. The method includes selecting, from among multiple output templates that are each associated with a different type of shared event, a particular output template associated with the particular type of shared event detected by the module. The method generates a notification for output using at least (i) the selected particular output template, and (ii) the data referencing the attribute associated with the shared event. The method then provides, for output to a user device, the notification that is generated.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer-readable storage medium for implementing one or more application programming interfaces (APIs) that configure applications stored in an electronic device are described. An application may be configured to receive event information from various sources based on user preferences and application permissions. In response to receiving the event information, the app may determine whether a notification should be issued to a user. This determination may be made based on various factors such as the type of event, user history, contextual data, ranking data, and application permissions. The notifications may include one or more of messages to the user and recommended actions for consideration by the user. The actions may include sharing data with other users who share a presence or interest in an event with the user.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for performing event detection are disclosed. In one aspect, a method a computing system that receives data from a first computing device associated with a first user that indicates a current context of the first user. The method includes identifying a subset of users associated with the first user based on the current context of the first user, and receiving data indicating a current context of the at least one other user. The method compares the current context of the first user with the current context of the at least one other user and determines that a shared event is presently occurring or has occurred. The shared event can be an event associated with the first user and the at least one other user of the subset of users. The method then indicates, at least to the first user, that the shared event is presently occurring or has occurred.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for performing dynamic, stroke-based alignment of touch displays. In one aspect, a method include providing, for output by a first mobile computing device that (i) has a first proximity sensitive display and (ii) has been designated a primary display device, a primary alignment user interface. The methods also includes transmitting, by the first mobile computing device to a second mobile computing device that (i) has a second proximity sensitive display and (ii) has been designated a secondary display device, an instruction to output a secondary alignment user interface.
Abstract:
Methods, systems, and devices, including computer programs encoded on a computer storage medium, for improving handwriting detection. In one aspect, a method includes receiving data indicating one or more strokes, determining one or more features of the one or more strokes, determining whether the one or more strokes likely represent a grapheme based at least on one or more of the features, selecting a particular recognition process for processing the data, from among (i) a multi-language recognition process which processes input strokes using multiple recognizers that are each trained to output, for a given set of input strokes, one or more graphemes that are associated with a particular language, and (ii) a single character, universal recognition process which processes input strokes using a universal recognizer that is trained to output, for a given set of input strokes, a single grapheme, and providing the data to the particular recognition process.
Abstract:
In some implementations, user input is received while a form that includes text entry fields is being accessed. In one aspect, a process may include mapping user input to fields of a form and populating the fields of the form with the appropriate information. This process may allow a user to fill out a form using speech input, by generating a transcription of input speech, determining a field that best corresponds to each portion of the speech, and populating each field with the appropriate information.
Abstract:
An optimal recognition for handwritten input based on receiving a touch input from a user may be selected by applying both a delayed stroke recognizer as well as an overlapping recognizer to the handwritten input. A score may be generated for both the delayed stroke recognition as well as the overlapping recognition and the recognition corresponding to the highest score may be presented as the overall recognition.