Last active

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Patent FR2962237 - Main claim, scope and applications

View gist:efc919d6d6381c37dbbe
Sending Request…

Main claim

See also "Extract Widget" Patent FR2962237B1 - Process to create an application of gadget type incorporated into a container of widget type and Polymer vs Extract Widget patent - Code comparison and Components model comparison with the patent

The main claim of the patent can be translated as follow:

1- A process to retrieve a gadget from a source web page on the original web site and display it on a target web page, based on the following steps:

a) individualization of the various objects contained in the source web page with each object being defined by its own specific content and its own specific descriptive parameters that describe the structure of the object

b) selection of at least one of the objects in the source page

c) for the selected object, selective extraction of its descriptive parameters and content, or of its descriptive parameters only; and

d) display of the gadget in the target web page based on the descriptive parameters and content, or the descriptive parameters only

Where a "gadget" is defined in page 1 of the patent as "More specifically, the term widget, which is a concatenation of windows and gadget, is a generic term for a window containing an application that opens in a browser or mobile device. The term gadget refers to the contents of the widget i.e. the application contained in the widget."

"Widgets enable different types of information to be displayed dynamically and interactively in a field on a web page in combination with other fields on the same page."

So a gadget is dynamic content displayed in a container of a web page and represents an application that can interact with the rest of the page.

Scope of the main claim

If we summarize the main claim, the patent describes the ability to extract selectively a gadget individualized with its own properties from a source web page and to display it in a target web page, so the ability for example to extract a gadget represented by its HTML code (and proper descriptive parameters like styles and scripts) and to inject this code into the target web page, which is very exactly what the Web Components are doing.

This can look simple, but was not existing at all when we issued the patent and was extremely difficult to do, especially the action of injecting into a web page a gadget whose internal properties should not interfer with the other elements of the page and vice versa. The only way to perform this was to use iframes or the traditional method.

We have explained here why the traditional approach is different from what the patent describes and is not covered by the patent's claims.

Indeed the traditional approach has nothing to do with the concepts of individualization and selective extraction of a gadget defined with its own properties, the traditional approach is a set of frameworks that build a gadget in a page.

This is very exactly what Mozilla states in its documentation, first paragraph, to explain one of the difference between the Web Components and frameworks such as jQuery and Dojo that are not needed any longer.

The iframe case could look similar to the claims of the patent since an iframe loads a web page from a source site into a target web page, but there are no individualization and definition of a proper structure of the gadget with associated properties since it is the whole web page that is loaded.

The iframe scenario is de facto excluded, the patent clearly describes that one of its purpose is to get rid of iframes-like methods, as defined in the patent the gadgets are normal elements inside the page handled by the DOM (ie the browser without any external libraries) that can interact between each others, which is not the case at all for an iframe since an iframe is a standalone sandboxed separate window inside the page.

The state of the art when we issued the patent

Update: see also Component model comparison with the patent

Page 1 and 2 describe the different methods that were existing to create a gadget, there is a common point between all these methods, this is the fact that the creation of a gadget always happens in an instance/window that is separated from the target web page and can not interact with it, using iframes or proprietary features, or even if some methods were defining possible interactions for "kind of DOM" gadgets, they were always using specific methods or objects not belonging to the DOM and unable to reflect all its properties, still needing some proprietary features and mechanisms to handle them, unlike what the patent describes.

This is the whole purpose of the patent to define an universal method to achieve this.

The main claim of the patent, as wide at it is supposed to be, does not cover the methods described above, neither the traditional approach, iframes or existing methods at that time,.

The main claim, eventually combined with the subsequent claims, which are clearly evoking custom elements, renders null the probability that the patent gets invalidated.

Our projects related to the patent

Please see our projects

And how they implement similar features than Web Components here

The evolution

Since the web definitely needed what the patent described, different projects started around 2013 (and 2012 for the Web Components specifications) in order to make this technology available.

Among those projects we have the Web Components from the W3C and React from Facebook/Instagram, then the most famous frameworks (except jQuery and Dojo) like AngularJS, VanillaJS, Ember, Delite started to implement their own solutions.

In order to anticipate the Web Components specification, Google did release the Polymer project and Mozilla the X-Tag project.

We have listed and explained the obvious similitudes between these projects and the patent here

And more generally we have described for each claim the similitudes with the Web Components and widget-like projects here

But we did not list all the frameworks that are infringing the patent like Aurelia, Bosonic, etc

The projects that are infringing the patent

We have extracted from customelements.io an impressive list of projects using the concepts of the patent: Projects

Among these 1000 projects, we can find very famous projects like google-analytics, google-map, google-signing, google-youtube, google-chart, google-drive, google-agenda, google-apis, google-sheets, google-streetview, google-cloud, google-adsense and a lot of implementations related to major web sites like twitter and facebook.

But that represents a small subset of what exists, other projects like uProxy (Google again) implement the Web Components.

Or a simple search on Github gives more than 4000 repositories associated to Polymer including some famous ones again like gmail, and another search with the keyword "component" gives more than 30000 results.

As explained above the Web Components are not the only techno that infringes the patent.

React is implemented by Facebook and Instagram, as well as other React projects, Delite by IBM, AngularJS is starred 3000 time and has 800 forks, EmberJS 13800 stars and 3000 forks.

VanillaJS is more used than all the famous frameworks combined, including jQuery.

But that's not all, WebKit, used as the base for numerous browsers (including Chrome and Safari), is implementing the Web Components

Apple and Microsoft are now participating to the specifications: Safari and Internet Explorer

The browsers Opera and Chrome have implemented the Web Components.

Github is using the Web Components in production: Github Web Components

etc...etc...

We cannot list all the projects that are infringing the patent but as we can see there are quite a lot and the tendancy will of course increase, soon or later all sites will implement the Web Components.

The future

One of the principles of the patent and the Web Components is to define a user friendly way to create or include gadgets, without the need of high development skills, this is very clearly stated in the patent, the tendancy today with the Web Components is to revert to simple HTML tags, as we were used to manipulate in the early ages of the web but with the enormous difference that these tags can now be customized (like <google-map center='lat,long'>) and defined with specific properties tied to the gadgets that do not interfer with the rest of the page, which is, again, very exactly what the patent describes.

It's therefore unlikely that this technology disappears or is replaced in the future.

But this will of course evolve, now that the web is able to define custom elements, the next step is probably to extract them from any web sites, not only from the constructor site, which is what the patent describes too.

This is not part of the current specifications but might come soon, we can see some signs, for example React-Virtual DOM does envision some server side processing for the gadgets, which is very exactly a possibility that the patent describes and what our projects node-dom, node-gadgets and node-bot are about, ie a server side rendering of the gadget (server side javascript) to manipulate it and retarget it on a device.

laurentj commented

The content you are editing has changed. Reload the page and try again.

If you claim that all implementation of kind of web components infring your patent, so your patent infringes the ancestor of Web Components : XBL. XBL was born in Mozilla and implemented in the Netscape Navigator 6.0, around 1998-1999. Web Components are specifications that were all orginaly defined in a same spécification : XBL2.

From my point of view, your patent is not valid (although I'm not a lawyer).

Sending Request…
Owner
Ayms commented

The content you are editing has changed. Reload the page and try again.

That's not what we claim, the patent clearly states that the gadget is composed of browsers elements (ie DOM-based elements) that have their own properties but isolated, so the other elements of the page cannot interfer with them (and vice versa) and that can interact with the rest of the page (and vice versa, ie is not a sandboxed gadget), allowing to build and use gadgets in a simple way and to display them on any device supporting a DOM rendering.

XBL defines (complicate) concepts not implemented by anybody that are XML-based and not DOM-based, where the binded elements are totally isolated from the rest and cannot be manipulated, extended, etc, which is excluded from the patent.

The concepts never showed up from our standpoint before XBL2 died end of 2011 and was replaced by what describes the patent.

Note: we understand the efforts to find anteriorities (especially from France!!!), but the move of the W3C to render all this public was unexpected and not really coordinated with us.

That would be funny if applicable but people should remember that we started our numerous projects related to the patent in 2007 and had to stop them (and lost all the related investments) in 2012 because of the very same companies that incidently started to discuss the very same thing on the lists at the very same time to produce finally the very same concepts years later (Web Components), without the extraction possibilities.

Sending Request…
julienw commented

The content you are editing has changed. Reload the page and try again.

I am not a lawyer.

I read the example implementation starting at the end of page 5 and ending page 11.

Therefore, if I understand properly, your main claim (revendication 1) applies to the first "extraction" step, and not the second step "reconstruction".

However, the web components specifications is exactly the opposite: it applies to the step "reconstruction". The first step would be done manually by the authors (both from the gadget authors, or the page authors).

That's where there is a major difference between your patent and what web components propose: the components authors adhere to a specification and that's why the components themselves can be reused. In your patent, the "source" web page can be anything and the "source" authors did nothing to ensure their content could be reused (and they don't even know about it !).

Now, I know how patents work, and I know that what matters are the claims, which might be different to the example implementation that is described earlier in the patent. Still I believe that this outlined difference can be found in the claims themselves as well.

Of course all this discussion is useful only if we assume the patent itself is legal in France, which can also be negated. In France and Europe, so-called software patents are illegal. Only legal are patents that have a "further technical effect" (source: http://www.epo.org/law-practice/legal-texts/html/guidelines/f/g_ii_3_6.htm (french) http://www.epo.org/law-practice/legal-texts/html/guidelines/e/g_ii_3_6.htm (english)). I don't think your patent produces a "further technical effect" as everything happens inside a computer.

Sending Request…
laurentj commented

The content you are editing has changed. Reload the page and try again.

the patent clearly states that the gadget is composed of browsers elements (ie DOM-based elements)

like XBL (see its <content> element)

that have their own properties but isolated, so the other elements of the page cannot interfer with them (and vice versa) and that can interact with the rest of the page (and vice versa, ie is not a sandboxed gadget),

This is the case of XBL if I well understand your description. The web page content cannot access nor modify DOM elements created by the XBL, since the XBL content is created in a "shadow" DOM (which is linked to the DOM of the web page). Only CSS of the web page can change the style of XBL content (but CSS provided by the XBL can "cancel" their effects). However interactions between the XBL content and the web page can still be made with two things : DOM events and the javascript API exposed by the XBL. We should note that javascript code of the XBL can access to the document, so to all elements of the web page. But it's just a matter of implementation to forbid this "feature".

allowing to build and use gadgets in a simple way and to display them on any device supporting a DOM rendering.

Like XBL.

XBL defines (complicate) concepts not implemented by anybody that are XML-based and not DOM-based,

XBL is implemented for years in Gecko (since 1999...), the rendering engine of Firefox (although there are few differences between the spec and the implementation). It is still used today heavily in Firefox, to implement widgets of the Firefox UI (what we call XUL). It was even possible for web developers to use XBL in their web pages years ago (until Firefox 3 or 4 if I remember), but it has been deactivated (and all other XUL stuff) for untrusted content (so, in web pages) because of security issues. Except for XBL injected by Firefox itself. For example, the HTML video and audio element in Firefox are implemented using XBL (to show play/stop buttons etc..).

Web Components specs are more detailed than XBL1, describe a different declaration (html import vs XML format of XBL for example), and fixes some issues of XBL1, but globally, it defines same concepts implemented in XBL.

Sending Request…
Owner
Ayms commented

The content you are editing has changed. Reload the page and try again.

I just sent this: https://lists.w3.org/Archives/Public/public-webapps/2015AprJun/0782.html

This compares the Polymer code with the EW projects code from the patent and of course it's very identical, because there are not thousands of way of performing what describes the patent with the DOM as it is up to now.

@laurentj you are playing with words, we cannot consider that a XML file can be trivially rendered in a standard DOM page, even if implemented in FF, neither that it is a simple way of creating gadgets, a part of my answer that you forgot to mention is that we cannot access the content of XBL objects, that's precisely the reason why XBL has been abandonned and replaced by the Web Components, again this is excluded from the patent, its purpose was clearly not to define an umpteenth means to create sandboxed gadgets or gadgets that we cannot manipulate, whether it is partially or not (except for their own properties not interfering between each others).

@julienw

The patent was written by a (good) lawyer who can probably better appreciate than you the fact that it is legal, do you mean that the Web Components do not produce a "further technical effect"?

So you mean that the patent describes mechanisms to extract things for fun without envisioning to reconstruct them?

You should read it again, the extraction part is just an example, both mechanisms of extraction and construction are similar in fact, the Web Components do not cover all the extraction possibilities described in the patent indeed, but the extraction step can be as simple as importing a gadget, and as repeatedly stated it would therefore be logical that the Web Components implement all the extraction concepts.

You misunderstood the fact too that the patent describes a process to create structured gadgets, via an universal process and universal structure that does not depend at all of the source or the target site, ie a part of what the Web Components cover.

Finally, you should consider the subsequent claims as mentioned above.

Sending Request…
Something went wrong with that request. Please try again.