Abstract:
A computer-implemented technique can include establishing an audio communication session between first and second computing devices and obtaining, by the first computing device, an audio input signal using audio data captured by a microphone. The first computing device can analyze the audio input signal to detect a speech input by its first user and can determine a duration of a detection period from when the audio input signal was obtained until the analyzing has completed. The first computing device can then transmit, to the second computing device, (i) a portion of the audio input signal beginning at a start of the speech input and (ii) the detection period duration, wherein receipt of the portion of the audio input signal and the detection period duration causes the second computing device to accelerate playback of the portion of the audio input signal to compensate for the detection period duration.
Abstract:
A system includes a memory configured to store executable code and a processor operably coupled to the memory. The processor is configured to execute the code to receive a request from a developer of a first web application to provide a notification corresponding to the first web application, authenticate the developer using a client identifier, after authenticating the developer, receive a content of the notification and a first user identifier, and provide the content of the notification to at least one of a plurality of computing devices associated with the first user identifier, based on an account associated with the first user identifier. The system syncs the notification and a plurality of computing devices associated with the first user identifier, based on the account.
Abstract:
A computer implemented method includes generating a first cryptographic hash based on at least one setting associated with a browser at a first time, storing the first cryptographic hash as a first bit string, generating a second cryptographic hash as a second bit string, wherein the second cryptographic hash is based on the at least one setting associated with the browser at a second time, determining that a setting associated with the browser has changed and that the setting change was made outside of the browser based on a comparison of the first and second bit strings, and if the setting change was made outside of the browser, setting the setting to a default value.
Abstract:
A computer-implemented technique can include establishing an audio communication session between first and second computing devices and obtaining, by the first computing device, an audio input signal using audio data captured by a microphone. The first computing device can analyze the audio input signal to detect a speech input by its first user and can determine a duration of a detection period from when the audio input signal was obtained until the analyzing has completed. The first computing device can then transmit, to the second computing device, (i) a portion of the audio input signal beginning at a start of the speech input and (ii) the detection period duration, wherein receipt of the portion of the audio input signal and the detection period duration causes the second computing device to accelerate playback of the portion of the audio input signal to compensate for the detection period duration.
Abstract:
In one general aspect, a method can include receiving, by an application running on a computing device, an indication that a user of the computing device has been authenticated, and receiving a selection of a settings page, the settings page associated with the application and the user. The method can further include requesting the settings page for display on a display device included in the computing device, and receiving the settings page including a value for a preference for a setting included on the settings page, the value for the preference being signed by a private key associated with the user. The method can further include validating, by the application, the value for the preference using a public key associated with the application, and based on the validation, displaying, by the display device, the settings page including an indication of the value of the preference for the setting.
Abstract:
A method for synchronizing a set of one or more individual web apps and/or browser extensions to a user's computing device includes sending, from a server, one or more application stubs corresponding to the individual web apps or browser extensions in the set to the computing device. The method further includes establishing the ordered synchronization schedule prioritizing synchronization of the individual web apps or browser extensions in the set by size and/or a likelihood of use of the individual web apps or browser extensions on the user's computing device. The method involves sending, from the server to the computing device, application data including executable code associated with the individual web apps or browser extensions to synchronize the individual web apps or browser extensions in the set according to the ordered synchronization sequence.
Abstract:
A computer-implemented method executed by at least one processor performs operations for a web browser running a browser process and at least one renderer process on a computing system. The method includes identifying a webview tag in a web page, the web page being associated with the at least one renderer process. The method also includes forking another renderer process responsive to identifying the webview tag, generating a mapping between the at least one renderer process and the other renderer process at the browser process, and using the browser process as an intermediary for communications between the at least one renderer process and the another renderer process based on the mapping.
Abstract:
According to one general aspect, a method of executing a web application installed on an apparatus may include executing, via a processor included by the apparatus, a web browser. The method may include loading, via the web browser, the web application. In some embodiments, the web application may include a manifest and at least a portion of a web site and wherein the web application was packaged as an installable entity. The method may further include managing, by the web browser, the execution of the web application. The method may include accessing, via the web browser, from a local storage medium one or more portions of the web site included by the web application. In some embodiments, the one or more portions of the web site may have been stored in the local storage medium when the web application was installed.
Abstract:
According to one general aspect, a method may include executing, by a processor of a computing device, a web browser presentation environment. The method may also include presenting at least one web page within a context of the web browser presentation environment, wherein presenting within the web browser presentation environment includes maintaining a first presentation data structure that includes a web browser presentation data structure portion and a common presentation data structure portion. The method may further include receiving a request to move the presentation of the web page from the web browser presentation environment to an emulation-based presentation environment. The method may include moving the presentation of the web page from the web browser presentation environment to the emulation-based presentation environment, wherein moving includes maintaining a second presentation data structure that includes an emulation-based presentation data structure portion and the common data structure portion.
Abstract:
A method and system for providing cross system installation of applications, include providing for installation, via a server, a natively operating application coded only with web technologies, and providing for installation a single runtime environment that provides the natively operating application access to computer system-level services that are not available to web applications. The single runtime environment controls the installation and uninstallation of the natively operating application, and the natively operating application is configured to execute independent of a web browser.