Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure documentation for components by 3p providers #34224

Open
tiuvi opened this issue May 5, 2021 · 11 comments
Open

Restructure documentation for components by 3p providers #34224

tiuvi opened this issue May 5, 2021 · 11 comments

Comments

@tiuvi
Copy link

tiuvi commented May 5, 2021

image

All these extensions in amp don't work the amp.dev examples

image

The media category is full of external providers, which for me the only thing that has given me is confusion in the amp system, I know that amp is free but when you have to learn something new, you first have to focus on the core.

I propose the separation of external providers, of the amp core, in all kinds of extensions.
It would be something like that other similar systems are already doing.
AMP CORE
amp extensions
amp experimental extensions
amp extensions external providers

I have also seen that external providers have given me errors in javascript, when loading the page.

External providers to which access to their prices or their sales web pages has cost me a lot to find them in the google search.

Honestly, after having tried all the external providers, they have not transmitted confidence to me except the official ones like dailymotion, yotube, viqueo.

But as I said, it is important to start differentiating the core from the providers so as not to waste time for developers who want to implement only AMP.

apester example no run
image

errors and 404
image

more errors
image

more errors
image

more errors
image

Many xhr requests
image

First extension that has no errors
image

It seems to me a good implementation by redbull that although the requested resource is not error-free
image

A correct implementation of vimeo, without any errors
image

more error
image

error and 404
image

more error
image

I sincerely love that the amp is free and that anyone can develop an amp block, but you also have to be very clear about what the core is and what parts are in the extensions or everything can turn into chaos in the long run.

@tiuvi tiuvi added the INTENT TO DEPRECATE Proposes deprecating an existing AMP feature. label May 5, 2021
@rbeckthomas
Copy link
Contributor

Please add this issue to one of the upcoming design review sessions for discussion.

@tiuvi
Copy link
Author

tiuvi commented May 7, 2021

I'm new to github, I don't know how it moves, a design review problem.

If you need more data, you can ask me for it. I have currently reviewed all the amp.dev documentation, and the section that gave me a dislike is that of external providers.
Especially external video providers.

I also think that it has not been thought very well if those providers only give a payment solution, I think that this path is not the system to follow in amp.

I think external providers should offer a minimal free trial solution plus the paid version, it is something that wordpress does and it works.

Amp can be very easy to use and implement even I am testing it in a backend solution and it is working very well.

@rbeckthomas
Copy link
Contributor

You can find the list of upcoming design review sessions at this link

When you find a session which works for you comment in that issue that you would like to bring this intent to deprecate to the session and tag this issue in your comment using #34224 (which can be found just after your issue title).

However, if you are primarily concerned about errors showing up in the example files fore these components, you can file issues specifically regarding updating those files rather than presenting this plan for deprecation of all of them.

@tiuvi
Copy link
Author

tiuvi commented May 8, 2021

ok, i already made an order in one of the design threads
designamp

@rbeckthomas
Copy link
Contributor

Great! In addition to presenting this proposal regarding the handling of 3p components in amp in design review, can you provide either code examples or just a list of the components in which you observed the broken behavior?

If these are able to be fixed fairly easily, then you can write the fixes and submit the PR's to the AMPHTML repository following the contributor guide

@tiuvi
Copy link
Author

tiuvi commented May 11, 2021

Solving it is difficult since they are third-party paid modules, so if they do not provide a free trial, the block will never work, they must be in charge of maintaining those modules, they should be the first interested parties.
amp-connatix-player ==> example no run
amp-delight-player ==> example no run
amp-hulu ==> This video is currently not available in the browser on your device.
amp-minute-media-player ==> example no run
amp-mowplayer ==> example no run
amp-skimlinks ==> example no run
amp-springboard-player ==> example no run
amp-apester-media ==> example no run
amp-brid-player ==> works but with errors in console
amp-buzzplayer ==> works but with errors in console, error is Cannot set property cookieStore of # which has only a getter
at xdomain_cookie.html:1
amp-embedly-card. ==> it works but with many errors in console
amp-imgur ==> it works but with many errors in console
amp-jwplayer ==> works but with slight 404 errors in console
amp-nexxtv-player ==> works but with errors in console, Access to fetch at 'https://nexxtv-events.servicebus.windows.net/samaritan/messages' from origin 'https://embed.nexx.cloud' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

amp-o2-player ==> error Avoid using document.write()
amp-powr-player ==> no run

amp-viqeo-player ==> Cross-Origin Read Blocking (CORB) blocked cross-origin response https://cstatic.weborama.fr/iframe/external_ids_sync.html?vn=827 with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 for more details.

amp-yotpo ==> no run example

amp-youtube ==> [Violation] Added non-passive event listener to a scroll-blocking event. Consider marking event handler as 'passive' to make the page more responsive. See

@alanorozco alanorozco changed the title Intent-to-Deprecate: Third-party amp providers Restructure documentation for components by 3p providers May 12, 2021
@alanorozco alanorozco added Type: Discussion/Question Related to: Documentation and removed INTENT TO DEPRECATE Proposes deprecating an existing AMP feature. labels May 12, 2021
@alanorozco
Copy link
Member

alanorozco commented May 12, 2021

@Francisco-AM Thanks for a very thorough report. It's immensely useful.

The way I see it, there are three parts to this issue.

1. Some 3p examples throw errors and warnings, but they work.

Since all of these load a secure iframe, errors may occur from it. Unfortunately, we don't have a way to suppress these warnings. The best we can do is notify the vendors and hope for a resolution.

  • amp-brid-player
  • amp-buzzplayer
  • amp-embedly-card
  • amp-jwplayer
  • amp-nexxtv-player
  • amp-viqeo-player
  • amp-youtube

2. Some 3p examples don't work at all

These are most likely from stale ids. We can try to replace with ids found elsewhere on our codebase, or notify the vendor to obtain new ids. If the problem is due to implementation issues, we can do a best effort to fix them or address the vendor so they can fix it.

  • amp-hulu
  • amp-minute-media-player
  • amp-mowplayer
  • amp-springboard-player
  • amp-powr-player

EDIT: We can fix the following guides since we know at least one good id:

  • amp-apester-media
  • amp-connatix-player
  • amp-delight-player
  • amp-o2-player
  • amp-skimlinks
  • amp-yotpo

3. The mix of standard vs. 3p extensions in documentation

This is the most tricky part, and what we should discuss during design review. I agree that the mix can be confusing, particularly when standard extensions are generally usable while 3p extensions may be quite niche. I see three areas where we could improve:

A. Hierarchy in listing. We might want to group all vendor extensions in a separate place than general component lists. I believe @CrystalOnScript has some thoughts on this, as we discussed this problem earlier.

B. Clarification of support level. Since 3p extensions are greatly at the mercy of a vendor to support them, we might want to clarify this on extension guides or document examples.

C. Structure of examples/ We might want to group 3p extension examples in a subdirectory in order to manage expectations, but my personal opinion is that the documentation changes A and B suffice.

Action items:

@alanorozco
Copy link
Member

I investigated stale ids, and I found that the following have at least one working example, so I crossed them out above. We may include a link to an example file on the .md guide, or include the valid id symmetrically.

amp-connatix-player

  • GOOD: examples/connatix-player.amp.html
  • BAD: extensions/amp-connatix-player/0.1/amp-connatix-player.md

amp-delight-player

  • GOOD: examples/amp-delight-player.amp.html
  • BAD: extensions/amp-delight-player/amp-delight-player.md

amp-skimlinks

  • GOOD: examples/amp-skimlinks.html
  • (exception): extensions/amp-skimlinks/amp-skimlinks.md
    • does not provide a usable example, uses placeholder YOUR_SKIMLINKS_CODE

amp-apester-media

  • GOOD: examples/apester-media.amp.html
  • BAD: extensions/amp-apester-media/amp-apester-media.md

amp-o2-player

  • GOOD: examples/o2player.amp.html
  • BAD: extensions/amp-o2-player/amp-o2-player.md

amp-yotpo

  • (exception): extensions/amp-yotpo/amp-yotpo.md
    • Partially, first works

@tiuvi
Copy link
Author

tiuvi commented May 13, 2021

I am currently working on a hierarchy of amp blocks so I will open a suggestion later in case it could help you, I support moving all provider extensions to at least the video ones for the moment as the middle zone gets quite confusing .

image

look to find amp-video and amp-video-docking that are surely the most important extensions of media are among a lot of external providers, first you have to get the user to like the amp environment and then the user will see later if a external provider could solve a problem such as video storage.

amp dev_documentation_components__category=media format=websites

@alanorozco
Copy link
Member

I am currently working on a hierarchy of amp blocks so I will open a suggestion later in case it could help you, I support moving all provider extensions to at least the video ones for the moment as the middle zone gets quite confusing .

Don't worry about doing design work. The decision to change grouping or unlisting should be done on a consensus. Particularly, @ampproject/wg-outreach should have an opinion on this.

@stale
Copy link

stale bot commented Jan 22, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Stale Inactive for one year or more label Jan 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants