WebView VideoView Messaging for Inline HTML5 Playback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional mobile devices struggle to handle HTML5 video tags in older operating systems, leading to videos being played in full-screen mode instead of inline within webpages, making it difficult to overlay content like buttons or advertisements.

Innovation Solution

A messaging system using software development kits (SDKs) and JavaScript code facilitates communication between native WebView and VideoView, allowing for the customization of native operating system views to render HTML5 videos inline by replacing video tags with messaging code, enabling integration of videos within webpages even on devices with outdated OS versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If HTML5 video tags are used in older operating systems, then videos can be played, but they are forced into full-screen mode instead of inline display

Engineering Contradiction:
Improvevideo display mode compatibilityVSAvoidcontent integration flexibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a messaging system as an intermediary layer between the WebView and VideoView components. This messaging system uses JavaScript code to intercept and modify video tag behavior, enabling inline video playback on older Android systems that would otherwise force full-screen mode. The mediator translates standard HTML5 video requests into custom messaging protocols that the native VideoView can understand and execute in inline mode.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the operational parameters of the video playback system by replacing standard HTML5 video tags with custom messaging code. This parameter change allows the video to be rendered within the WebView's coordinate system rather than triggering the native full-screen VideoView behavior. The messaging system modifies key parameters such as display mode, coordinate mapping, and event handling to achieve inline playback.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If native VideoView is used for video playback, then video functionality is reliable, but it cannot be integrated inline within webpages

Engineering Contradiction:
Improvevideo playback reliabilityVSAvoidvideo integration flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent merges the WebView and VideoView components into a unified inline playback system. Instead of using VideoView separately in full-screen mode, the messaging system combines the web rendering capabilities of WebView with the video playback capabilities of VideoView, allowing both to coexist in the same coordinate space. This merging enables reliable video playback while achieving inline integration within webpages.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements a nested structure where the VideoView is effectively nested within the WebView's coordinate system through the messaging system. The messaging code allows VideoView to receive and execute playback commands while maintaining the WebView's layout and positioning control. This nesting enables the native reliable video player to function within the flexible web page context.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Adaptability or versatility

If web technologies are used to customize native views, then content integration is enhanced, but communication between native views becomes complex

Engineering Contradiction:
Improveview customization capabilityVSAvoidmessaging system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The messaging system is designed with universal functionality to handle multiple types of communications between WebView and VideoView through a single JavaScript interface. Rather than creating separate communication channels for different scenarios, the messaging system provides a unified protocol that can handle video playback commands, coordinate mapping, event notifications, and control signals through the same mechanism, reducing overall system complexity.

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

4Adaptability or versatility

If video tags are replaced with messaging code, then inline video playback is enabled, but code complexity increases

Engineering Contradiction:
Improvevideo display flexibilityVSAvoidcode implementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The messaging system implements self-service mechanisms where the JavaScript code automatically handles the translation and communication protocols between WebView and VideoView. The system includes built-in error handling, automatic coordinate mapping, and event routing that reduces the need for complex manual configuration. The messaging infrastructure serves itself by providing standardized interfaces and automatic protocol management.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8887178B1Method to customize native operating system views using web technologies in mobile devices
Publication Date: 2014.11.11 GOOGLE LLC
  • US8887178B1 patent drawing
  • US8887178B1 patent drawing
  • US8887178B1 patent drawing

AI summary

Systems, methods, routines and/or techniques for customizing native operating system views using web technologies in mobile devices are described. A messaging system may be used to allow and/or facilitate communication between two or more native views, for example, via one or more software development kits (SDKs). A method may include executing, in a first native operating system view, messaging code to communicate one or more messages from the first native operating system view to a second native operating system view. The method may include executing the software development kit code to receive and/or handle the one or more messages from the first native operating system view and route and/or transmit the one or more first messages to the second native operating system view. In some embodiments, the first native operating system view is a WebView and the second native operating system view is a VideoView.