Customization Management System for Dynamic Application Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for customizing application user interfaces do not effectively separate and manage user and profile customizations, leading to undesirable resets that lose profile customizations when user changes are made, and fail to properly reapply customizations after adding new software modules.

Innovation Solution

A system and method that track user changes by computing the difference between the user's final state and a reset level, allowing for flexible customization management by tagging commands with location and priority information, enabling separate storage and reapplication of user and profile customizations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If user customizations are applied to an application user interface, then the user can tailor the interface to their personal preferences, but the profile customizations may be lost during the customization process

Engineering Contradiction:
Improveuser customization capabilityVSAvoidprofile customization data
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent segments customizations into distinct layers: profile customizations (defined by application developers) and user customizations (made by individual users). Each layer is independently managed and stored, allowing users to modify the interface without affecting profile-defined settings. This segmentation prevents information loss by ensuring profile customizations remain intact while user preferences can be freely adjusted.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested customization structure where user customizations are applied on top of profile customizations. The profile customizations form the base layer, and user customizations are layered above it. This nesting allows both types of customizations to coexist, with user preferences overriding profile settings only where they conflict, while preserving the integrity of the profile customization layer beneath.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Loss of information

If customizations are tracked by recording absolute changes from the base level, then all customizations can be recorded, but resetting customizations requires returning to the original base level which loses flexibility

Engineering Contradiction:
Improvecustomization historyVSAvoidreset flexibility
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent tracks customizations not as absolute deviations from the base level, but as local changes relative to the current state. Each customization is recorded as a delta from its immediate parent state, allowing flexible resetting at any level. This local quality approach enables users to reset individual customization layers without affecting others, providing granular control over the customization history.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements a dynamic customization tracking system that adapts to the current state of the user interface. Rather than using a fixed absolute baseline, the system dynamically computes differences from the current customized state. This dynamic approach allows flexible resetting operations that can revert to any previous state without requiring a complete return to the original base level, enhancing the adaptability of the customization management system.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If new software modules are added to extend application functionality, then the application features increase, but existing customizations may not be properly reapplyed to the new modules

Engineering Contradiction:
Improveapplication functionalityVSAvoidcustomization persistence
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a universal customization framework that operates across all software modules and add-ins. The customization system is designed to be module-agnostic, automatically detecting and applying customizations to any new module added to the application. This multi-functionality ensures that existing user and profile customizations are properly reapplyed to new software modules, maintaining customization persistence as the application evolves with new features.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent incorporates feedback mechanisms that automatically detect when new software modules are added and trigger reapplication of existing customizations. The system monitors the application state, identifies new modules, and systematically applies relevant customizations to them. This feedback loop ensures that customization persistence is maintained even as the application functionality expands with new modules and features.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7472376B2Method and system for customizations in a dynamic environment
Publication Date: 2008.12.30 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7472376B2 patent drawing
  • US7472376B2 patent drawing
  • US7472376B2 patent drawing

AI summary

Systems and methods for applying both profile and user customizations to an application user interface are provided. Profile customizations, created for a specialized use or field, are adapted to an application user interface, which has command-menu-toolbar contributions from various add-in modules. The user has access to the customizations through a user interface. Then, as a user is customizing the application, through commands, toolbars, and menus, the user customizations are tagged. A priority and group is assigned to each customization to allow for relative positioning of each customization. The difference between the user's final desired state and a reset state is computed. This difference computation is used to track the changes made to the application and to assist in resets of the customizations.