Abstract:
The various implementations described herein include methods, devices, and systems for obtaining and presenting personal and public search results. In one aspect, a method includes: (1) receiving a search query from a user; (2) extracting terms from the search query; (3) determining whether relevant notes exist within a personal database of the user by comparing the extracted terms to stored notes of the user within the personal database; (4) obtaining public search results for the search query; (5) obtaining search results information by analyzing the public search results; (6) determining whether additional relevant notes exist by comparing the search results information to the stored notes of the user; (7) preparing note information for the relevant notes; and (8) concurrently presenting at least a subset of the prepared note information and at least a subset of the public search results to the user.
Abstract:
Marking up an image corresponding to a scene viewed by a user includes receiving the image at a mobile device from a device other than the mobile device, creating a marked up image by annotating the image using markup software running on the mobile device, and saving the marked up image. Marking up an image corresponding to a scene viewed by a user may also include capturing the image using a wearable augmented reality device and transferring the image from the wearable augmented reality device to the mobile device. The wearable augmented reality device may be smart glasses. Marking up an image corresponding to a scene viewed by a user may also include supplementing the marked up image with a portion of a map indicating where the image was captured. The marked up image may be a still image or a video image.
Abstract:
Improving visual quality of a raster image includes detecting connectivity components, detecting defects in each of the connectivity components based on a characteristic line width thereof, detecting segments in each of the connectivity components, detecting joints based on geometry of the connectivity components, creating a structural graph based on the segments and joints, and correcting the raster image according to the structural graph and detected ones of the defects. The joints may correspond to linear joints, T-joints, or X-joints. Detecting types of joints may include determining a configuration of adjacent segments in a proximity of each of the joints. A characteristic line width may be determined by determining co-boundaries on opposite sides of each of the segments and determining average distances between the co-boundaries. The raster image may be a binary black-and-white image of a line drawing obtained from a photograph or a scan of a handwritten document.
Abstract:
Automatically scanning multiple document sheets with a camera includes receiving a video stream while the camera is pointed at the multiple document sheets, detecting presence of a first top page of the multiple document sheets based on the video stream, taking a still photograph of the first top page in response to detecting presence of the first top page, detecting presence of a second top page based on the video stream by confirming that the second top page is different from the first top page and by waiting a predetermined amount of time for an image of the second top page to stabilize, and taking a still photograph of the second top page in response to detecting presence of the second top page. Detecting the pages may include determining that the camera is pointing at the stack of documents and a detected page is not obstructed.
Abstract:
This application is directed to recognizing unstructured information based on hints provided by structured information. A computer system obtains unstructured information collected from a handwritten or audio source, and identifies one or more terms from the unstructured information. The one or more terms includes a first term that is ambiguous. The computer system performs a recognition operation on the first term to derive a first plurality of candidate terms for the first term, and obtains first contextual information from an information template associated with the unstructured information. In accordance with the first contextual information, the computer system selects a first answer term from the first plurality of candidate terms, such that the first term is recognized as the first answer term.
Abstract:
Facilitating replying to received email messages includes presenting a selectable set of fast reply tokens that correspond to snippets of multimedia content, providing a mechanism to superimpose a selected subset of the fast reply tokens on to different portions of the received email message to compose an annotated email messages, wherein the fast reply tokens are separate from any reply email text, and sending the annotated email message. The fast reply tokens may include action icons, status icons, emoticons, emojis, expressive elements, clip art, highlighters, geometric shapes, arrows, short tunes, audio clips, video clips, abbreviated standard texts, and freehand notes. Facilitating replying to received email messages may also include providing cultural adaptations and localization of fast reply tokens based on a setting provided by a recipient of the annotated email message.
Abstract:
Providing analytics information from a cloud service includes maintaining an analytics database that is separate from data and servers accessed by users of the cloud service, selectively pushing information from the cloud service to the analytics database, where data and servers accessed by users of the cloud service are inaccessible for direct access by the analytics database, and allowing users limited access to the analytics database, where users of the analytics information that are accessing the analytics database are restricted from accessing data and servers of the cloud service. The analytics database may include a first database of adapted database records and a second database of dynamic logs of service related events. The adapted database records may be initially formed using the data and servers accessed by users of the cloud service prior to being pushed to the analytics database.
Abstract:
Sharing data between applications includes a first application converting data from a first format useable by the first application to a second format useable by a second application and the first application providing editing restrictions to restrict the second application from editing at least some of the data in the second format. At least some of the editing restrictions may prohibit editing at least some of the data by the second application. The user may receive a notification in connection with attempting to edit at least some of the data indicating that editing is prohibited. At least some of the restrictions may provide a warning to a user of the second application. The user may choose to edit the restricted data after receiving the warning.
Abstract:
Communicating using sound includes choosing a musical genre, encoding data by selecting musical chords from a chord alphabet, where different musical chords from the chord alphabet represent different symbols from the data alphabet decodable by a receiver and wherein musical chords that are used for the chord alphabet are provided according to the musical genre that is chosen, constructing a tune using the musical chords selected in connection with encoding data, and playing the tune to a receiver. A transmitter may play the tune to the receiver and one of: the receiver and the transmitter may be a mobile device. A receiver may require authentication to decode received data. Constructing the tune may include adding filler chords that do not encode any data and cause the tune to be more aesthetically pleasing.