Assistant Action Registry Via Dynamic Message-Bus Registration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software development kit (SDK) frameworks require recompiling of code when new actions are added, becoming cumbersome as the library of actions increases, limiting efficient customization and management of application actions.
Innovation Solution
A message bus type interface with Android Interface Definition Language (AIDL) is used to multiplex API calls from different applications with an assistant system, allowing dynamic registration and deregistration of actions without the need for recompiling the SDK.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing SDK frameworks are used to manage application actions, then the system provides structured action management, but new actions require recompiling the SDK code which becomes cumbersome as the library grows
Solution Approach 1:
The system segments the action management functionality by separating the core SDK from individual action implementations. Actions are divided into independent modules that can be dynamically registered and unloaded, allowing the SDK to remain compact while supporting extensive functionality through modular action components.
Solution Approach 2:
The patent introduces an intermediary registration mechanism that acts as a bridge between the SDK and action implementations. This mediator layer enables dynamic action registration without requiring compilation of the core SDK, allowing actions to be added through configuration files or runtime registration rather than code compilation.
2Reliability
If the SDK recompiles when new actions are added, then the system maintains type safety and compile-time checking, but the build process becomes time-consuming and resource-intensive
Solution Approach 1:
The system performs preliminary validation of action definitions during the design phase through configuration file schemas and interface contracts. This preliminary checking ensures type safety and correctness before runtime, eliminating the need for lengthy compilation processes when adding new actions, as validation occurs upfront through structured configuration rather than code compilation.
3Adaptability or versatility
If the SDK library grows larger to include more actions, then the system provides more functionality, but the compilation and loading time increases
Solution Approach 1:
The system implements dynamic action loading where the SDK core remains small and lightweight, while individual actions are loaded on-demand or registered dynamically at runtime. This dynamic approach allows the system to support a large number of actions without requiring the entire library to be compiled and loaded, improving startup performance and resource utilization.
Solution Approach 2:
The patent creates a universal action registration interface that can accommodate diverse action types through a common framework. This multi-functional design allows the same SDK infrastructure to support many different action implementations without requiring separate compilation for each action, enabling rapid addition of new functionality through the unified registration mechanism.
Data Source
AI summary
In one embodiment, a method includes detecting a change in context of a computing system to a current context, changing a first registration status of a first set of actions with an assistant system associated with the computing system based on the change in context to the current context, where the first application is in a foreground of a user interface of the computing system, changing a second registration status of a second set of actions with the assistant system based on the change in context to the current context, where the second application is in a background of the user interface of the computing system, updating a list of registered actions for the assistant system based on the changed first and second registration statuses, and storing the updated list of registered actions on the computing system.


