Activity Stream Extension System for Custom Post Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems for delivering activity streams in electronic communication are limited in customizing the presentation of activity information and associated actions, requiring manual changes to templates, data formats, and JavaScript classes, and are unable to handle new actions effectively.

Innovation Solution

An extension system comprising an activity streams frontend, backend, and custom template storage, where the backend receives and encodes activity information, and the frontend decodes it to render custom posts using associated templates and JavaScript, enabling dynamic and customizable presentation on client devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a predefined and fixed format is used for sending and presenting activity information, then system simplicity is maintained, but customization capability is limited

Engineering Contradiction:
Improvecustomization capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments activity information into structured components (activity object, type, custom properties) that can be independently processed. The template system is also segmented into separate template definitions and template execution logic, allowing customization without affecting the core system structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Custom templates and JavaScript code are pre-defined and stored in the system before runtime. When activity information is received, the system automatically matches the activity type with the corresponding pre-defined template, enabling customization without manual intervention during execution.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If manual changes are made to templates, data formats, and JavaScript classes to customize presentation, then customization is achieved, but maintenance difficulty increases

Engineering Contradiction:
Improvecustomization capabilityVSAvoidmaintenance difficulty
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The customization logic is extracted from the core system into separate template files and JavaScript code modules. These can be independently modified, added, or removed without affecting the main activity stream processing logic, significantly reducing maintenance complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A template matching intermediary layer is introduced between the activity information receiver and the presentation layer. This intermediary automatically selects and applies appropriate templates based on activity type, decoupling the customization logic from the core system and making maintenance easier.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If new actions are added to handle different activities, then functionality is expanded, but system complexity increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The template system is designed to be universal, where a single template structure can handle multiple activity types and actions. By defining templates with generic parameters and JavaScript code that can perform various operations, the system can accommodate new actions without requiring separate processing logic for each one.

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

4Adaptability or versatility

If custom templates and JavaScript code are stored for each activity type, then rendering flexibility is improved, but storage requirements increase

Engineering Contradiction:
Improverendering flexibilityVSAvoidstorage requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Instead of storing complete template definitions for every possible activity type, the system stores template patterns and JavaScript code that can be copied and instantiated for different activity types. This reduces storage requirements while maintaining rendering flexibility through parameter substitution.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8996627B1Extension system for rendering custom posts in the activity stream
Publication Date: 2015.03.31 GOOGLE LLC
  • US8996627B1 patent drawing
  • US8996627B1 patent drawing
  • US8996627B1 patent drawing

AI summary

An extension system for rendering custom posts in the activity stream comprises an activity streams front end, an activity streams backend and a custom template storage. The activity streams backend is communicatively coupled to receive activity information from activity sources. Clients send custom metadata to the activity streams backend, including a key for decoding and rendering the proper templates and associated scripts on the activity streams frontend. The activity streams backend encodes this custom key and metadata as part of the activity information. The activity streams front end retrieves the encoded information and decodes the encoded information to produce data and a type. From the type, the activity streams front end accesses the custom template storage to determine the associated custom template and JavaScript. The activity streams front end cooperates with the client to use the data, custom template and JavaScript to render the activity information at the client device.