Server-Driven Dynamic Context Menus for Client Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing context menus on operating systems are static and unresponsive to user interactions, lacking mechanisms for dynamic updates or feedback, which limits user satisfaction and requires disruptive code changes for updates.

Innovation Solution

A remote server generates custom context menu content based on object attributes and user behavior, providing dynamic and tailored menu items that can be easily updated, using analytics data to optimize menu content and user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If context menu content is preprogrammed locally in the operating system or application, then the menu content is stable and reliable, but any changes require programming into the local device which is complex and disruptive

Engineering Contradiction:
Improvemenu content update capabilityVSAvoidlocal programming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A server acts as an intermediary between the user and the context menu system. The server stores and manages menu content templates, receiving requests from client devices and returning customized menu content. This intermediary architecture allows menu content to be updated centrally on the server without requiring local programming changes, resolving the contradiction between adaptability and device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The context menu system is segmented into separate components: the client device that displays menus and the server that manages content. This segmentation allows the menu content management function to be separated from the local operating system, enabling independent updates of menu content without affecting the local device structure or requiring complex local programming.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If context menu content is preprogrammed locally, then the menu structure is stable, but updates require disruptive code changes to the operating system or application

Engineering Contradiction:
Improvemenu content flexibilityVSAvoidease of menu updates
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The server serves as an intermediary that handles all menu content updates centrally. Instead of modifying local code, administrators can update menu content templates on the server, which are then automatically distributed to client devices. This makes menu updates easy and non-disruptive while maintaining flexibility in content customization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The menu content transitions from a static, preprogrammed state to a dynamic state where content can be updated in real-time through server communication. The system dynamically retrieves and displays menu content based on user context, object attributes, and subscription levels, allowing flexible updates without requiring reprogramming of the local application or operating system.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If context menus are static and unresponsive to user usage, then the system is simple to implement, but user satisfaction cannot be improved through feedback

Engineering Contradiction:
Improveuser satisfactionVSAvoidsystem responsiveness complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where user interactions with context menus are tracked and reported to the server. The server analyzes this usage data and uses it to optimize menu content, such as reordering items based on frequency of use or personalizing content based on user behavior patterns. This feedback loop enhances user satisfaction while maintaining relatively simple implementation through server-side processing.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If menu content is customized based on object attributes and user subscription levels, then the menu content becomes highly tailored and useful, but the mechanism for providing and updating this content becomes more complex

Engineering Contradiction:
Improvemenu content personalizationVSAvoidcontent delivery mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The server acts as an intermediary that handles the complexity of content personalization. It receives object attributes and user subscription level information, processes this data against stored menu templates, and generates customized menu content. This centralizes the personalization logic on the server, avoiding the need for complex local customization mechanisms on each client device.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system personalizes menu content by changing parameters such as which menu items are displayed, their order, and their availability based on object attributes and user subscription levels. The server dynamically adjusts these parameters when generating menu content, allowing high adaptability without requiring complex local customization logic on client devices.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10834236B2Server-driven custom context menus
Publication Date: 2020.11.10 ADOBE INC
  • US10834236B2 patent drawing
  • US10834236B2 patent drawing
  • US10834236B2 patent drawing

AI summary

Systems and methods provide for dynamic menu content for context menus for an object stored on a client device. Requests for context menu content are sent from the client device to a remote server associated with a type of object corresponding to the object stored on the client device. The remote server generates and sends menu content, including one or more custom menu items, to the client device. Upon a user's selection of a menu item, an indicator of the selected menu item is sent to the remote server and an action associated with the selected item is performed. Information relating to requests for menu content and selections of menu items are recorded and, in some embodiments, used as menu content usage data for determining menu content for subsequent requests. Menu content usage data may be used to increase selections of certain menu items and to optimize user experience.