Web App Pinning via Developer-Defined Boundaries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Users face challenges in integrating web applications with their desktop environment due to difficulties in defining website boundaries and the dual boot problem, where browsers provide distractions, making it hard to focus on specific tasks.
Innovation Solution
A method allowing developers to define user interaction boundaries using client-side code, enforced by a run-time engine, enabling features like start menu shortcuts, jumplist integration, and taskbar pinning, through a 'site mode' experience that customizes navigation and user interaction within a web application window.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If end-users define website boundaries through client-side script, then customization is achieved, but reliability deteriorates due to lack of knowledge about website construction
Solution Approach 1:
Instead of allowing end-users to define website boundaries (bottom-up approach), the patent inverts the approach by enabling website developers to define boundaries through client-side script that the browser enforces (top-down approach). This ensures that those who know the website construction best are the ones defining the boundaries, maintaining reliability while still achieving customization.
Solution Approach 2:
The patent introduces an intermediary mechanism (boundary definition system with client-side script enforcement) between the end-user and the website content. This intermediary allows developers to specify boundaries that the browser respects, preventing end-users from accidentally breaking website functionality while still allowing legitimate customization needs to be met.
2Ease of operation
If users launch web applications through browser, then accessibility is improved, but productivity deteriorates due to distractions in browser chrome
Solution Approach 1:
The patent extracts the distracting browser chrome (toolbars, menus, address bars) from the web application experience by implementing a kiosk mode or focused browsing mode. This allows the web application to be launched and used without the surrounding browser interface, improving task focus while maintaining accessibility through the ability to launch the application from the desktop or taskbar.
Solution Approach 2:
The patent segments the browser functionality into two distinct modes: full browser mode for general web browsing and focused web application mode for specific tasks. This segmentation allows users to access web applications with minimal distractions while preserving full browser capabilities when needed, effectively separating the productive work mode from the exploratory browsing mode.
3Reliability
If developers define user interaction boundaries, then user experience consistency is improved, but device complexity increases due to run-time engine enforcement
Solution Approach 1:
The patent implements self-service by enabling website developers to write client-side script that automatically defines their own interaction boundaries. The browser's run-time engine simply enforces these developer-defined boundaries without requiring complex configuration or manual intervention, allowing the system to self-organize and maintain consistency automatically.
Solution Approach 2:
The patent creates a universal boundary definition mechanism that works across all websites and web applications. The same client-side script approach and run-time enforcement system can be applied to any web application, providing a multi-functional solution that handles diverse interaction scenarios without requiring website-specific customization of the enforcement mechanism.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Various embodiments provide a mechanism to allow end users to install web applications and websites onto their desktop. In accordance with one or more embodiments, client-side code can be utilized to allow developers associated with a website to define boundaries associated with user interaction, and have those boundaries enforced by a run-time engine. In at least some embodiments, developers can provide, through JavaScript code and/or HTML markup, various configurations for the creation of a start menu shortcut, navigation, and so-called jumplist integration.