LINKING OF Web-BASED APPLICATIONS

By creating a separate icon for each content item on the user interface of the computing device and binding to a list entry for a specific URL, the technical challenge of quickly accessing multiple web content items is solved, and efficient access to PWA content is achieved.

CN119631046APending Publication Date: 2025-03-14GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380058150.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-08
Filing Date
2023-07-13
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

There are technical challenges regarding providing fast and seamless access to multiple content items from a given web page via a user interface of a computing device.

Method used

Create separate icons for each content item of interest and display them in a specific area of ​​the graphical user interface on the user's computing device. Create a manifest entry for each new content item and associated icon, where the manifest entry is each bound to the specific URL of the corresponding content. Icons may be tagged to indicate that they are from or associated with a particular website.

Benefits of technology

Efficient access to selected content provided via a progressive web app (PWA) is achieved, allowing users to quickly and seamlessly access multiple content items without the need for a progressive web app or other remotely hosted services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119631046A_ABST
    Figure CN119631046A_ABST
Patent Text Reader

Abstract

The present technology enables link creation for web-based content as part of a progressive web app or other remotely hosted service. This includes launching a web-based application, such as a progressive web application, in a browser instance presented on a display device (200). One or more processors (602) of a client computing device (600) receive a selection of a content item presented in a browser instance (202). The system generates, via one or more processors, a query (406) to create an icon (262) for the selected content item. In response to the query, the one or more processors create an icon for the selected content item and create a manifest entry associating the icon with a direct link to the content item (410).
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to and the benefit of the filing date of U.S. Patent Application No. 17 / 882,746, filed on August 8, 2022, the entire disclosure of which is expressly incorporated herein by reference. Background Art

[0002] Computer systems are able to utilize applications provided in different ways. Native apps can be configured for a specific operating system or computing configuration. Such apps will be installed directly on the user's computing device and, depending on the type of app, can be run in a standalone manner without a network connection. A web app is a remotely hosted app that can be accessed from a computing device via a specific uniform resource locator (URL). Some web apps, known as progressive web apps (PWAs), are delivered via the web and are software applications encoded using one or more common formats such as hypertext markup language (HTML), cascading style sheets (CSS), JavaScript, etc.

[0003] Because PWAs are web-based applications, they can be used by different platforms without being customized for a specific operating system or specific computing configuration. This can be helpful for certain products such as games or streaming content from other services such as movie / video streaming or enterprise-type apps. There may be many different games, videos, enterprise apps, or other content items associated with a given web page, and a user of a computing device may need or want to access multiple of these apps. There are technical challenges in providing fast and seamless access to multiple content items from a given web page via a user interface of a computing device. Summary of the invention

[0004] Aspects of the present technology provide a technical solution that enables efficient access to selected content provided via a web app such as a PWA. A separate icon is created for each content item of interest, which can be positioned in a specific area of ​​a graphical user interface on a user's computing device. A manifest entry is created for each new content item and associated icon, wherein each manifest entry is bound to a specific URL of the corresponding content. Icons can be badged to indicate that they are from or associated with a specific website. Selection of a given icon launches an instance of the content item, such as to run a game app, start streaming of a movie, or open a word processing application hosted by a website.

[0005] According to one aspect, a computer-implemented method includes: launching, by one or more processors of a computing device, a web-based application in a browser instance presented on a display device; receiving, by the one or more processors, a selection of a content item presented in the browser instance; generating, by the one or more processors, a query for creating an icon for the selected content item; and in response to the query, the one or more processors creating an icon for the selected content item and creating a manifest entry associating the icon with a direct link to the content item.

[0006] The method may further include presenting the icon in a selected area of ​​the graphical user interface for display on a display device. The selected area of ​​the graphical user interface may be separate from the browser instance. Alternatively or additionally, the manifest entry includes a name of the selected content item, information identifying the icon, and a uniform resource locator identifying a direct link to the content item in the web-based application. Alternatively or additionally, the manifest entry is part of a manifest file that includes information about the web-based application.

[0007] Alternatively or additionally, creating an icon for the selected content item further includes creating a tag, wherein the tag includes a graphic identifier associated with the web-based application. The graphic identifier can have the same appearance as the icon of the web-based application. Alternatively or additionally, the tag can intersect or abut the icon.

[0008] Alternatively or additionally, the web-based application is a progressive web application. In this case, the progressive web application can be a first progressive web application and the selected content item is a second progressive web application. Alternatively or additionally, the selected content item can be one of a plurality of enterprise applications hosted by the progressive web application.

[0009] Alternatively or additionally, the method may further include: recognizing that an icon of the selected content item has been selected; obtaining a direct link to the selected content item from the manifest entry; and automatically launching the direct browser instance using the direct link to the selected content item.

[0010] Alternatively or additionally, the method may further include: identifying that an icon for the selected content item has been selected; obtaining a direct link to the selected content item from the manifest entry; and accessing the direct link to install media content of the selected content item on the computing device.

[0011] Alternatively or additionally, the manifest entry may include a pointer to the last viewed point of the selected content item. In this case, the method further includes: identifying that the icon of the selected content item has been selected; obtaining a direct link to the selected content item from the manifest entry; and automatically launching the media content of the selected content item at the last viewed point on the computing device. The method may further include updating the pointer of the manifest entry upon exiting the media content.

[0012] According to another aspect, a computing system includes: a memory configured to store a manifest file, a display module having a display engine configured to generate a graphical user interface, and one or more processors operatively coupled to the memory and the display module. The one or more processors are configured to: launch a web-based application in a browser instance presented by the display module on a display device; receive a selection of a content item presented in the browser instance; and generate a query to create an icon for the selected content item. In response to the query, the one or more processors are configured to: create an icon for the selected content item; create a manifest entry associating the icon with a direct link to the content item; and store the created manifest entry in a manifest file.

[0013] The creation of the icon for the selected content item may further include the creation of a tag including a graphical identifier associated with the web-based application.

[0014] Alternatively or additionally, the one or more processors are further configured to: recognize that an icon of the selected content item has been selected; obtain a direct link to the selected content item from the inventory entry; and launch a direct browser instance using the direct link to the selected content item.

[0015] Alternatively or additionally, the one or more processors are further configured to: recognize that an icon for the selected content item has been selected; obtain a direct link to the selected content item from the inventory entry; and access the direct link to install media content of the selected content item on the computing system.

[0016] Alternatively or additionally, the manifest entry includes a pointer to a last viewed point of the selected content item, and the one or more processors are further configured to: recognize that an icon for the selected content item has been selected; obtain a direct link to the selected content item from the manifest entry; and initiate launch of media content of the selected content item on the computing system at the last viewed point. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figures 1A to 1C An example progressive web app for use with aspects of the present technology is illustrated.

[0018] FIG. 2A to FIG. 2E An interface in accordance with aspects of the present technology is illustrated.

[0019] Figure 3 An example of adding a label according to aspects of the present technology is illustrated.

[0020] Figure 4 A flow chart in accordance with aspects of the present technique is illustrated.

[0021] Figure 5 A computing device in accordance with aspects of the present technique is illustrated.

[0022] Figure 6 According to aspects of the present technology Figure 5 A block diagram of a computing device.

[0023] Figure 7 Another computing device in accordance with aspects of the present technique is illustrated.

[0024] Figure 8 According to aspects of the present technology Figure 7 A block diagram of a computing device.

[0025] Fig. 9 A further example computing device in accordance with aspects of the present technique is illustrated.

[0026] Fig.10 A streaming example according to aspects of the present technology is illustrated.

[0027] FIG. 11A to FIG. 11B An example network in accordance with aspects of the present technique is illustrated. DETAILED DESCRIPTION

[0028] The present technology implements link creation for web-based content that is part of a progressive web app or other remotely hosted service. When the app or service is launched by a user's computing device, such as in a browser instance, one or more content items associated with the app or service are presented in the browser instance. It can be accessed by selecting a given content item in the browser instance. Then, the user of the computing device can authorize the creation of a direct link to the given content item. The direct link includes a URL to the given content item and has an icon associated with the URL. The icon is displayed in a launch tray or other area of ​​a graphical display of the computing device. Then, when the icon is selected by the user, the given content item is launched without the need for a browser instance of a progressive web app or other remotely hosted service.

[0029] Unless otherwise stated, the disclosed examples, embodiments, and scenarios are not mutually exclusive, but may be implemented in various combinations to achieve unique benefits. Since these and other variations and combinations of the features discussed above may be utilized without departing from the subject matter defined by the claims, the description of the implementation should be made in an illustrative manner rather than in a manner that limits the subject matter defined by the claims. In addition, the scenarios and examples described herein and the provision of clauses expressed as "such as," "including," etc. should not be interpreted as limiting the subject matter of the claims to specific examples or scenarios; rather, the examples and scenarios are intended to illustrate exemplary implementations. In addition, the same reference numerals in different figures may identify the same or similar elements. Example scenario

[0030] Figure 1A Figures 4 through 5 illustrate examples of web apps for various types of content. Figure 1A A first view 100 of a gaming website is illustrated. Here, a graphical user interface (GUI) on a display screen of a user's computing device lists various games hosted by a cloud gaming service. For example, a cloud-based gaming service may promote one or more featured games that a user can play, as well as any subscribed games for which the user has a subscription. Selection of any of the games listed in the GUI will initiate the game, where the service streams the selected game from a remote server to the user's device for presentation on the display screen of the user's device. Figure 1B A second view 120 of a movie and show streaming service is illustrated. Here, the GUI lists recent releases, action shows, and user favorites that may be associated with the user's account. Figure 1C A third view 140 of a cloud-based enterprise system is illustrated. The interface shows different apps hosted by the enterprise system, such as a document word processing app, a spreadsheet app, a presentation creator app, a calendar management app, a photo and image storage app, a video conferencing app, a cloud storage management app, a template and form creation app, and a real-time online chat app. These examples are non-limiting, and other types of apps or different types of web-based services are possible.

[0031] According to one aspect of the present technology, games, video content, enterprise apps, or other content from a particular provider can be treated as different apps by the client computing device. The system can support deriving a PWA from another PWA. For example, while the client device GUI may provide an icon that enables the user to go directly to the website of a PWA such as a game website, a video streaming service, or an enterprise service, the system allows the user to create separate icons for specific content items on the PWA's web page.

[0032] Figure 2AA view 200 is illustrated in which a user has selected a particular content item 202 (e.g., "Grand Prix Event") from a gaming PWA. The selection may be made using any user input tool supported by the client computing device, such as mouse presses, keyboard presses, touch screen presses, verbal commands, gestures, gaze input, etc. In one example, a content item may include a selectable button or other graphic that enables a user to pin the content item to the GUI of their device. Figure 2B As shown in the view 220 of , a system notification 222 such as a pop-up window may then be presented to ask the user whether they want to create a link for the selected content item. Figure 2C As shown in view 240 of , upon selecting "Yes" or otherwise transmitting permission, a link to the selected content is created. Figure 2D As shown in the view 260 of FIG. 1 , an icon 262 is created. The figure also shows a tray 264, shelf or other graphical portion presented in the GUI for launching applications. Figure 2E As shown in view 280 of FIG. 264 , icon 262 can be placed by the user anywhere along tray 264, which can include rearranging any icon among other icons already in the tray. At this point, icon 262 is pinned to the tray. In one scenario, if the content item has been updated or otherwise changed since the user last viewed or accessed the content item, an indicator can be presented on or otherwise associated with icon 262 (e.g., a change in shading, color, size, or shape, or a mark included on icon 262) that indicates to the user that some change has occurred.

[0033] When the user authorizes the creation of an icon to launch the selected content item, the client computing device creates a manifest entry. The manifest entry, which can be formatted in JavaScript Object Notation (JSON), associates the specific URL of the selected content item with a specific icon. For example, the manifest entry can include the name of the content item (or the app associated with the content item), the icon to be used, and the URL to be opened when the icon is selected, so as to launch the content item. The manifest entry can additionally include a pointer to the last viewing (or listening) point of the corresponding content item, so that when the icon is selected, the media associated with the content item can be launched at the viewing (or listening) point. The pointer can be automatically updated by the system when the content item is closed. The manifest entry can be stored in a manifest file in a database of the client computing device. In one aspect, the manifest entry associated with the icon of the content item is associated with a specific user account of the computing device. Therefore, other users who log in to the device will not have an available icon in the launch tray. On the other hand, if the user logs in to another device, they will still see their fixed app.

[0034] Selection of a given icon launches an instance of a content item, such as to run a game app, stream media, or open an enterprise application. For example, selecting a media streaming icon for selected content may install a movie or playlist on the user's device, launch a movie or show at the last viewed point during the movie or show, or deep link to a specific section of an online newspaper (e.g., a sports section, a column section, a lifestyle section, a local or national news section, etc.).

[0035] Icons may be labeled to indicate that they are from or otherwise associated with a particular website. For example, Figure 3 300 illustrates an example of adding a tag. Here, a gaming website has its own tag or other graphical identifier 302. A link 304 to the gaming website is in a launch tray 306, and the link has a mark that is the same or similar to the identifier 302. In this example, the user has authorized the system to create an icon 308, which is in the launch tray 306. As shown, the icon 308 includes a tag 310, which has an appearance that is the same or similar to the link 304 and / or the identifier 302. The tag 310 may intersect, abut, or be spaced apart from the icon 308.

[0036] Figure 4 An example process 400 according to the overall process is illustrated. At block 402, the system launches a PWA (or other web app) in a browser instance on a user's computing device. At block 404, the system receives a request for a given content item (e.g., Figure 2AGrand Prix Event 202). As described above, the selection can be received from any type of user input supported by the computing device. At box 406, the system can generate a query (e.g., a graphical or audible query) to the user to ask whether the user wants to create a launchable icon for the selected content item. At box 408, if the user chooses not to create a launchable icon, the icon is not created and the process ends. However, if the user chooses to create a launchable icon, at box 410, the system creates a manifest entry associated with a specific icon for the content item. As shown in the dashed sub-box 411, this can optionally include creating a tag for an icon associated with a PWA (or a service or website that provides a PWA). Then, at box 412, the content icon is displayed in a launch tray or other area of ​​the GUI so that the user can easily launch it. When the user selects the content icon, as shown in the dashed box 413, the client device directly accesses the selected content item from the remote system without going through the PWA. This can include obtaining a direct link to the content item from the manifest entry, and automatically launching a browser instance using the direct link to the content item. Thus, the system provides a technical solution to the problem of efficiently accessing and launching content items that are not stored locally on a user's computing device. In one scenario, if a content item has been updated or otherwise changed since the user last viewed it, an indicator may be presented on or otherwise associated with the content icon that indicates to the user that some change has occurred. The technical solution provides a link to a web-based app on the user's computing device. After the icon is created, properties associated with the content item are saved in the manifest entry that allow direct access to the content item, even if the content item is hosted through a PWA. Example computing device

[0037] Figure 5 A view 500 is illustrated, which shows an example client computing device 502, such as a laptop computer, that can be used with the above-mentioned technology. In this example, there is a display 504 for visually presenting content via a GUI 506, and a user input portion 508 having a keyboard 510 and a touchpad 512 as different user inputs. A microphone (not shown) can be provided for audible input. The display 504 can be configured as a user input (e.g., a touch screen). The keyboard 510 can be a virtual keyboard, for example, as part of another display. Although a touchpad 512 is shown, the device can have two or more touchpads arranged thereon. The device can include additional user inputs (e.g., a mouse, audio, and / or gesture-based input).

[0038] The integrated webcam 514 can be used for video conferencing, interactive gaming, etc. An indicator 516, such as an LED, can light up to alert the user whenever the integrated webcam is in use. The client device can also include one or more other sensors 518 that can be used to supplement the visual information obtained by the webcam 514. For example, the one or more other sensors can include additional imaging devices, RF or ultrasonic based motion sensors, such as to help recognize the user's gestures or act as a human presence detector. The integrated webcam 514 can include two (or more) imaging devices that can implement advanced head or body tracking, such as via a human presence sensor module (not shown).

[0039] Figure 6 Examples include desktop PCs or Figure 5 6. A block diagram of an example client computing device 600 of a laptop computer (e.g., a tablet PC or a netbook) is shown. As shown, the client computing device 600 includes a processing module 602 having one or more computer processors such as a central processing unit 604 and / or a graphics processor 606 and a memory module 608 configured to store instructions 610 and data 612. The processors may or may not operate in parallel and may include a graphics processing unit (GPU), a tensor processing unit (TPU), an ASIC, a controller, and other types of hardware-based circuit systems. The processor is configured to receive information from a user through a user interface module 614 and receive information from a remote device via a communication module 618, and present information to the user on one or more display devices of a display module 616 having a display interface.

[0040] The user interface module 614 can receive commands or other input information from the user via user input, and convert them to submit to a given processor. The user interface module can be linked to a web browser and other applications executed by the processing module 602 of the computing device. The user input can include one or more of a touch screen, a keyboard or keypad, a touch pad, a stylus, a microphone or other types of input devices (e.g., gesture-based or gaze-based input). The display module 616 may include a display engine configured to generate a GUI, and may include a suitable circuit system for driving the display device to present graphics and other information to the user, such as with a specific resolution and refresh rate. For example, the graphics information can be generated by the graphics processor 606, and the CPU 604 manages the overall operation of the client device 600. The graphics information can be displayed on the display module 616 to respond to the user's query or other content. For example, the processing module can use the instructions and data stored in the memory module 608 to run a browser application, a messaging application, a game application, an enterprise application or other services, and present information associated with the corresponding application or other services to the user via the display module 616. The memory module may include a database or other storage for application-related information, etc.

[0041] The memory module 608 may be implemented as one or more of: one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. The memory module 608 may include, for example, flash memory and / or NVRAM, and may be embodied as a hard drive or a memory card. Alternatively or additionally, the memory module 608 may also include removable media (e.g., a DVD, CD-ROM, or USB thumb drive). One or more areas of the memory module 608 may be writable, while other areas may include read-only (or otherwise write-protected) memory. In one implementation, the computer program product is tangibly embodied in an information carrier. Although Figure 6 The processor, memory module, and other elements of the client computing device 600 are functionally illustrated as being located within the same overall box, but such components may or may not be stored within the same physical housing. For example, some or all of the instructions and data may be stored on an information carrier that is a removable storage medium (e.g., an optical drive, a high-density tape drive, or a USB drive), and other instructions and data may be stored within a read-only computer chip.

[0042] Data 612 may be retrieved, stored, or modified by the processor in accordance with instructions 610. Data 612 may include streamed content (e.g., game data or buffered movie data) received from a remote system, manifest data for links to web-based content, and the like. The manifest data may include a manifest file having a set of manifest entries, each manifest entry in the set of manifest entries being associated with a separate content item of one or more PWAs, including an icon corresponding to each content item. For example, the data may be stored in a computing device register, in a relational database as a table with a plurality of different fields and records, in an XML document, or in a flat file. The data may also be formatted in any computing device readable format.

[0043] Instructions 610 may be any set of instructions to be executed directly by a processor, such as machine code, or any set of instructions to be executed indirectly, such as a script. For example, the instructions may be stored as computing device code on a computing device readable medium. In this regard, the terms "instructions" and "programs" may be used interchangeably herein. The instructions may be stored in an object code format for direct processing by a processor, or in any other computing device language, including scripts or independent source code module collections that are interpreted on demand or compiled in advance.

[0044] Also like Figure 6 As shown, the client device 600 includes a communication module 618 for communicating with other devices and systems including other client devices, servers and databases. The communication module 618 includes a wireless transceiver; alternatively, the module may alternatively or additionally include a wired transceiver. The client device 600 can communicate with other remote devices via the communication module 618 using various configurations and protocols, including short-range communication protocols such as near field communication (NFC), Bluetooth™, low-power Bluetooth™ (BLE) or other self-organizing networks, the Internet, intranets, virtual private networks, wide area networks, local networks, private networks using one or more company-specific communication protocols, Ethernet, WiFi and HTTP, and combinations of the foregoing. For example, the device can adopt web-based real-time communication such as WebRTC, which enables web-based applications to stream audio-visual content and exchange data directly between browser instances.

[0045] The example client device 600 shown in the figure also includes one or more position and orientation sensors 620. The position and orientation sensor 620 is configured to determine the position and orientation of one or more parts of the client computing device 600. For example, these components may include a GPS receiver or other global positioning component to determine the latitude, longitude and / or altitude of the device, as well as an accelerometer, a gyroscope or another direction / speed detection device such as an inertial measurement unit (IMU). The client device 200 may also include one or more cameras 622, speakers 624 for capturing still images and recording video streams such as the integrated webcam discussed above. A power module 626 provides power to various system components. In addition, the user input includes a keyboard 628 and a microphone 630, which may include a microphone array having one or more transducers or other microphone elements distributed at various points along the housing of the computing device. The touchpad 632 may include a capacitive touch sensor unit or a piezoelectric sensor unit (or both). A human presence sensor module 634 may also be provided. The module may use imagery from camera 622, audio information from speaker 624, and / or other sensor information to determine whether a person is within a certain threshold distance in front of the computing device (e.g., sitting or standing within 3 to 10 feet of the device).

[0046] Figure 7 A view 700 is illustrated, which shows an example handheld client device 702, such as a smart phone, a personal digital assistant (PDA), or a wearable device (e.g., a smart watch). In this example, there is a display 704 for visually presenting content. The display 704 can also be configured as a user input (e.g., a touch screen), and a launch tray of PWA-associated icons can be presented as described above. A microphone 706 can be provided for audible input. A camera 708 can be used to capture photos, video conferences, interactive games, etc. The camera 708 can be integrated as part of the display module, or can be set along a border around the perimeter of the display. When the camera 708 is in use, an indicator 710 such as an LED can be lit to alert the user.

[0047] Figure 8 Examples include Figure 7 A block diagram of an example handheld client portable device 800 for a smart phone is shown. Figure 6In the configuration depicted, the client device 800 includes a processing module 802 having one or more processors such as a central processing unit 804 and / or a graphics processor 806, and a memory module 808 configured to store instructions 810 and data 812. The processor is configured to receive user input from a user through a user interface module 814, and present information to the user on one or more display devices having a display module 816 that displays an interface. In such a portable client device, there may be no keyboard, or a virtual keyboard (and / or virtual mouse pad) may be presented on the display.

[0048] The user interface module 814 can receive commands or other input information from the user via user input, and convert them to submit to a given processor. The user interface module can be linked to a web browser and other applications executed by the processing module 802 of the device. The user input can include one or more of a touch screen, a stylus, a microphone, verbal, a gesture, or other types of input devices. The display module 816 can include an appropriate circuit system for driving a display device to present graphic information and other information to the user. For example, the graphic information can be generated by a graphics processor 806, and the CPU 804 manages the overall operation of the client mobile device 800. The graphic information can be displayed on the display module 816 in response to a user query.

[0049] As with the memory module 608, the memory module 808 may be implemented as one or more of: one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. The memory module 808 may include, for example, flash memory and / or NVRAM, and may be embodied as a hard drive or a memory card. One or more regions of the memory module 808 may be writable, while other regions may include read-only (or otherwise write-protected) memory.

[0050] Also like Figure 8 As shown, the client device 800 includes a communication module 818 for communicating with other devices and systems including other client devices, servers, and databases. The communication module 818 includes a wireless transceiver. The client device 400 can communicate with other remote devices via the communication module 818 using various configurations and protocols, including short-range communication protocols such as near field communication (NFC), Bluetooth™, Bluetooth™ Low Energy (BLE), or other ad hoc networks, the Internet, an intranet, a virtual private network, a wide area network, a local network, a private network using one or more company-proprietary communication protocols, WiFi, and HTTP, and combinations of the foregoing. As described above with respect to Figure 6As described, the apparatus 800 may employ WebRTC (or another type of web-based real-time communication).

[0051] The example client device 800 shown in the figure also includes one or more position and orientation sensors 820. The position and orientation sensor 820 is configured to determine the position and orientation of one or more parts of the client mobile device 800. For example, these components may include a GPS receiver or other global positioning components to determine the latitude, longitude and / or altitude of the device, as well as an accelerometer, a gyroscope or another direction / speed detection device such as an inertial measurement unit (IMU). The mobile device 800 may also include one or more cameras 822, speakers 824 for capturing still images and recording video streams such as the integrated camera discussed above. A power module 826 provides power to various system components. In addition, the user input may include a microphone 828, which may include a microphone array having one or more transducers or other microphone elements distributed at various points along the housing of the computing device. A tactile module 830 may be used to give tactile feedback to the user. Tactile feedback may be associated with one or more parts of the device housing and / or may be integrated with a touch screen.

[0052] Fig. 9 900 illustrates another example computing device, which may be a desktop home computing device 902 or other in-home devices such as smart displays. In this example, the display 904 is configured to present a GUI 906 and is configured for tactile input using a stylus or touch input using a user's finger. As shown, the computing device may employ a wireless keyboard 908 and / or one or more touchpads or mouse pads 910, which may be part of a unit, or the keyboard may be separated from the touchpad / mouse pad or mouse-based input 910a. The computing device 902 has a bracket 912. One or more microphones 914 may be arranged along the bracket and / or along the housing of the computing device 502. Although the computing device may be fixedly mounted to the bracket 912, in an alternative configuration, the screen (with integrated components) may be detachable from the bracket, allowing the user to carry it around the home and use it remotely based on battery power, such as a smart display. In other words, the computing device 902 may include an integrated housing (optionally detachably or releasably) coupled to the bracket 912.

[0053] A webcam or other integrated camera 916, which may include a privacy mask or other features to disable image capture, is positioned along the housing of the computing device 902 and may be used for video conferencing, interactive gaming, and the like. Whenever the webcam 916 is in use, an indicator 918 such as an LED may be illuminated to alert the user. The device may include a separate camera or other imaging device 920 as part of a human presence sensor module. As shown, the webcam 916 and the imaging device 920 may each be positioned along the top border of the housing of the integrated client device. In some examples, these devices may be located at different locations along the integrated housing. Instead of the imaging device 920 or in addition to the imaging device, the integrated camera 916 may be used as part of the presence sensor module. In other words, the presence sensor includes an image sensor configured to capture one or more images. The presence sensor may be configured to detect the presence of one or more people within a threshold distance from the client computing device. These and other components of the computing device may be equivalent to those described above with respect to Figure 6 or Figure 8 Those components described. Example Network

[0054] One or more computing devices may be connected to each other via a network, such as for cloud gaming, shared media streaming, or enterprise connectivity. Fig.10 An example 1000 is illustrated in which, upon selecting an icon in a launch tray, the system opens a direct link to a corresponding game in a cloud-based PWA. Then, the game 1004 is streamed to a computing device 1002 via a network 1008 by a cloud gaming service 1006.

[0055] Fig.11A and Fig. 11B 1100 are a visual diagram and a functional diagram, respectively, of an example system 1100 that includes multiple computing devices and databases connected via a network. For example, computing device 1102 may be a cloud-based server system that provides or otherwise supports one or more cloud-based enterprise apps, games, multimedia content, or other programs. Database 1104 may store messaging app information, game data, user profile information, and / or other information.

[0056] The server system may access the database via a network 1106. The client devices may include one or more of a desktop computer 1108 or a laptop or tablet PC 110. Other client devices may include handheld devices including personal communication devices such as mobile phones or PDAs 1112 or tablet computers 1114. Another example client device is a large screen display (e.g., a smart display) 1116.

[0057] In one example, computing device 1102 may include one or more server computing devices having multiple computing devices, such as a load balancing server farm or a cloud computing system, which exchange information with different nodes of a network to receive data from other computing devices, process the data, and transmit data to other computing devices. For example, computing device 902 may include one or more server computing devices capable of communicating with any of computing devices 1108 to 1116 via network 1106. This may be done as part of hosting one or more collaborative apps (e.g., a video conferencing program, an interactive spreadsheet app, or a multiplayer game) or services (e.g., a movie streaming service or an interactive game show where viewers can provide comments or other feedback).

[0058] like Fig. 11B As shown, each of the computing devices 1102 and 1108 to 1116 may include one or more processors, memory, data, and instructions. The memory stores information accessible by one or more processors, including instructions and data that can be executed or otherwise used by the processor. The memory may be any type capable of storing information accessible by the processor, including computing device readable media. The memory is a non-temporary medium, such as a hard drive, a memory card, an optical disk, a solid state, etc. The system may include different combinations of the foregoing, thereby storing different parts of the instructions and data on different types of media. The instruction may be any instruction set (such as machine code) to be directly executed by the processor or any instruction set (such as a script) to be indirectly executed. For example, the instruction may be stored as a computing device code on a computing device readable medium. In this regard, the terms "instruction", "module" and "program" may be used interchangeably herein. The instruction may be stored in an object code format for direct processing by the processor, or in any other computing device language, including a script or independent source code module set that is interpreted or compiled in advance on demand.

[0059] The processor may be any conventional processor, such as a commercially available CPU. Alternatively, each processor may be a dedicated device, such as an ASIC, a graphics processing unit (GPU), a tensor processing unit (TPU), or other hardware-based processor. Fig. 11BThe processor, memory, and other elements of a given computing device are functionally illustrated as being located within the same box, but such a device may actually include multiple processors, computing devices, or memories that may or may not be stored within the same physical housing. Similarly, the memory may be a hard drive or other storage medium located in a housing different from that of the processor (e.g., located in a cloud computing system such as server 1102). Therefore, references to a processor or memory will be understood to include references to a collection of processors or memories that may or may not operate in parallel.

[0060] The computing device may include all components typically used in connection with a computing device, such as the processor and memory described above, and a user interface subsystem for receiving input from a user and presenting information to the user (e.g., text, images, and / or other graphical elements, audibly and / or via tactile feedback). The user interface subsystem may include one or more user inputs (e.g., at least one front (user) camera, mouse, keyboard, touch screen, and / or microphone) and one or more display devices operable to display information (e.g., text, images, and / or other graphical elements). Other output devices such as speakers may also provide information to the user.

[0061] The computing devices associated with the user (e.g., 1108 to 1116) can communicate with the back-end computing system (e.g., server 1102) via one or more networks such as network 1106. Network 1106 and intermediate nodes may include various configurations and protocols, including short-range communication protocols such as Bluetooth™, Bluetooth LE™, the Internet, the World Wide Web, an intranet, a virtual private network, a wide area network, a local network, a private network using one or more company-specific communication protocols, Ethernet, WiFi, and HTTP, and various combinations of the foregoing. Such communications can be facilitated by any device such as a modem and a wireless interface that can transfer data to and from other computing devices. In some implementations, the computing devices associated with the user can also communicate with each other without also communicating with the back-end computing system. This can be accomplished via network 906 or using one or more ad hoc and / or peer-to-peer communication links directly between devices.

[0062] As mentioned above, when selecting content items, the system can query the user to create a startable link. Therefore, in addition to the description above, controls can also be provided to the user, which allow the user to make a selection about whether and when the system, program or feature described herein can enable the collection of user information (for example, the user's preference or the user's current location) and whether to send content or communication from the server to the user. In addition, some data can be processed in one or more ways before it is stored or used so that personal identifiable information is removed. For example, the user's identity can be processed so that the user's personal identifiable information cannot be determined, or the user's geographical location can be generalized (such as to a city, zip code or state level) when obtaining position information so that the user's specific location cannot be determined. Therefore, the user can control what kind of information is collected about the user, how to use the information and what kind of information is provided to the user.

[0063] Although some examples herein involve computing devices and mobile devices performing certain operations, the present technology can be used with different types of client devices and is not limited to the specific types of devices identified in the examples. Note that unless otherwise explicitly stated herein, the order of steps shown in the figures can be performed in a different order or in parallel.

[0064] Although the present technology has been described herein with reference to specific implementations, it should be understood that these implementations are only illustrative of the principles and applications of the present technology. Therefore, it should be understood that numerous modifications may be made to the illustrative implementations, and other arrangements may be designed without departing from the spirit and scope of the present technology as defined by the appended claims.

Claims

1. A computer-implemented method comprising: launching, by one or more processors of the computing device, a web-based application in a browser instance presented on a display device; receiving, by the one or more processors, a selection of a content item to be presented in the browser instance; generating, by the one or more processors, a query to create an icon for a selected content item; as well as In response to the query, the one or more processors create the icon for the selected content item and create a manifest entry associating the icon with a direct link to the content item. 2 . The method of claim 1 , further comprising presenting the icon in a selected area of ​​a graphical user interface for display on the display device.

3. The method of claim 2, wherein the selected area of ​​the graphical user interface is separate from the browser instance.

4. The method of claim 1, wherein the manifest entry includes a name of the selected content item, information identifying the icon, and a uniform resource locator identifying the direct link to the content item in the web-based application.

5. The method of claim 1, wherein the manifest entry is part of a manifest file that includes information about the web-based application.

6. The method of claim 1, wherein creating the icon for the selected content item further comprises creating a tag, the tag comprising a graphical identifier associated with the web-based application.

7. The method of claim 6, wherein the graphical identifier has the same appearance as an icon of the web-based application. The method of claim 6 , wherein the marker intersects or abuts the icon.

9. The method of claim 1, wherein the web-based application is a progressive web application.

10. The method of claim 9, wherein the progressive web application is a first progressive web application and the selected content item is a second progressive web application.

11. The method of claim 9, wherein the selected content item is one of a plurality of enterprise applications hosted by the progressive web application.

12. The method of claim 1, further comprising: identifying that the icon of the selected content item has been selected; obtaining the direct link to the selected content item from the inventory entry; as well as A direct browser instance is automatically launched using the direct link to the selected content item.

13. The method of claim 1, further comprising: identifying that the icon of the selected content item has been selected; obtaining the direct link to the selected content item from the inventory entry; as well as The direct link is accessed to install media content of the selected content item on the computing device.

14. The method of claim 1, wherein the manifest entry includes a pointer to a last viewed point of the selected content item, and the method further comprising: identifying that the icon of the selected content item has been selected; obtaining the direct link to the selected content item from the inventory entry; as well as Media content of the selected content item is automatically launched beginning at the last viewed point on the computing device.

15. The method of claim 14, further comprising updating the pointer of the manifest entry upon exiting the media content.

16. A computing system comprising: a memory configured to store a manifest file; a display module having a display engine configured to generate a graphical user interface; as well as One or more processors, the one or more processors are operatively coupled to the memory and the display module, the one or more processors are configured to: launching a web-based application on a display device in a browser instance presented by the display module; receiving a selection of a content item to be presented in the browser instance; generating a query for creating an icon for a selected content item; In response to the query: creating the icon for the selected content item; creating a manifest entry associating the icon with a direct link to the content item; as well as The created manifest entry is stored in the manifest file.

17. The computer system of claim 16, wherein the creation of the icon for the selected content item further comprises the creation of a tag, the tag comprising a graphical identifier associated with the web-based application.

18. The computing system of claim 16, wherein the one or more processors are further configured to: identifying that the icon of the selected content item has been selected; obtaining the direct link to the selected content item from the inventory entry; and A direct browser instance is launched using the direct link to the selected content item.

19. The computing system of claim 16, wherein the one or more processors are further configured to: identifying that the icon of the selected content item has been selected; obtaining the direct link to the selected content item from the inventory entry; and The direct link is accessed to install media content of the selected content item on the computing system.

20. The computing system of claim 16, wherein the manifest entry includes a pointer to a last viewed point of the selected content item, and the one or more processors are further configured to: identifying that the icon of the selected content item has been selected; obtaining the direct link to the selected content item from the inventory entry; and Media content of the selected content item is launched on the computing system beginning at the last viewed point.