Dynamic Content Objects for Software Adaptability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications have rigid functionality once compiled, making it difficult and costly to change or add features without modifying and recompiling the source code, limiting flexibility and adaptability to diverse user needs.

Innovation Solution

The method involves creating and inserting content objects with attributed functionality into a software application's canvas page, allowing dynamic enhancement of features without modifying the source code, using a component library to define and alter functionality at runtime through messaging protocols and interaction with resource objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software application source code is modified to add or change functionality, then new features can be implemented, but the application requires recompilation and redeployment which is costly and time-consuming

Engineering Contradiction:
Improvefunctionality flexibilityVSAvoidrecompilation and redeployment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the software application into a core compiled application and separate content objects. The content objects are independent, self-contained units that can be created, modified, and deployed separately from the main application. This allows functionality to be added or changed by simply inserting or removing content objects without triggering recompilation of the entire application.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic functionality through content objects that can be added, removed, or modified at runtime without recompiling the application. The system transitions from a static, fixed functionality model to a dynamic model where the application behavior can be changed by simply inserting new content objects or modifying existing ones, enabling flexible adaptation to changing requirements.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If software application source code is modified to incorporate functionality changes, then the application can adapt to different user needs, but significant programming skill and expense are required

Engineering Contradiction:
Improveuser needs adaptabilityVSAvoidfunctionality modification ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent creates content objects that are lightweight, independent units of functionality that can be easily created and discarded. These content objects serve as disposable functional units that can be added to the application without requiring complex programming. Users can create simple content objects with basic functionality and swap them out as needed, avoiding the need for expensive, complex source code modifications.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent implements a universal content object framework that can serve multiple purposes. The same content object infrastructure supports various types of functionality (drag and drop, validation, display, etc.) through a common mechanism. This universal approach allows the system to adapt to different user needs using the same basic content object technology, eliminating the need for separate customization processes for each type of functionality.

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

3Reliability

If drag and drop resource object types are defined in software application source code, then the application can handle specific resource objects, but new resource objects cannot be accepted without modifying and recompiling the source code

Engineering Contradiction:
Improveresource object handling reliabilityVSAvoidresource object type flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces content objects as intermediaries between the compiled application and resource objects. The content objects contain the logic for validating and handling resource objects, acting as a flexible layer that mediates between the rigid application code and the varied resource objects. This allows new resource object types to be handled by creating new content objects that define the validation and handling logic, without modifying the application source code.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If software applications implement functionality common to all end users, then the application can serve a broad user base, but functionality desired by individual users or specific content is lost

Engineering Contradiction:
Improveuser base coverageVSAvoidindividual user functionality
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies local quality by allowing different content objects to have different functionality tailored to specific users or content types. Instead of forcing a single uniform functionality across all users, the system enables each content object to be customized with specific features and behaviors appropriate to its intended use case. This allows the application to serve a broad user base while simultaneously providing personalized functionality through selectively deployed content objects.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9098179B2Method and system for inserting a content object for use on an interactive surface
Publication Date: 2015.08.04 SMART TECH INC (CA)
  • US9098179B2 patent drawing
  • US9098179B2 patent drawing
  • US9098179B2 patent drawing

AI summary

A method of enhancing features in a computing environment wherein a software application comprising compiled source code is executed, the method comprising inserting at least one content object into a canvas page of the software application. Each content object comprises code defining functionality attributed to the content object. The content object code is executed in response to interaction with the content object thereby to supplement host software application functionality with the attributed functionality.