{"items": [{"author": "Kleber", "source_link": "https://plus.google.com/114937925666302803969", "anchor": "gp-1517626862203", "service": "gp", "text": "The &lt;amp-list&gt; of comments is height=\"500\", which means a big empty block of whitespace at the foot of the post.  (Well, I suppose it won't be empty once I post this, but still.)  That doesn't seem great...", "timestamp": 1517626862}, {"author": "Jan-Willem", "source_link": "https://plus.google.com/100580955183019057735", "anchor": "gp-1517678124956", "service": "gp", "text": "Hmm, the first page's WPT waterfalls look bad for what's basically a text site (and thus should be nearly-optimal).  It looks like the big problem is AMP JS load time!  I wonder what the cache rate for these files is (given that your drawing them from cdn.ampproject... like All True Scotsmen).", "timestamp": 1517678124}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://plus.google.com/103013777355236494008", "anchor": "gp-1517720104072", "service": "gp", "text": "@Kleber\n I don't see a good solution to that.  The AMP runtime needs to know the height for layout, but the page doesn't know how many comments there will be until it finishes the XHR.  (The page is static; the comments are the only dynamic part.)  If I set a low height then on posts short enough where the comment section was immediately on screen the comments wouldn't be able to show up automatically.\n<br>\n<br>\nI believe &lt;amp-list&gt; auto-expands if it gets more than fits and it's off screen at the time.  I think maybe what I want here is something that has the same behavior but also auto-shrinks if it ends up receiving less?", "timestamp": 1517720104}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://plus.google.com/103013777355236494008", "anchor": "gp-1517720376058", "service": "gp", "text": "@Jan-Willem\n With WPT things will never be in cache, so I do expect things to look a bit better in practice.  But yes: I'm taking a site that does everything (except comments) declaratively and sticking a blocking script load in the critical path.\n<br>\n<br>\n(For users on Safari there's no cross-site cache sharing, so loading the JS from a canonical source isn't helping there.)", "timestamp": 1517720376}, {"author": "Izzy", "source_link": "https://plus.google.com/117530712117219891863", "anchor": "gp-1517847887382", "service": "gp", "text": "Interaction with JavaScript blocking that you may or may not care about:\n<br>\n<br>\nWhen I get the AMP version of a page in a browser that's blocking \nhttp://ampproject.org\n javascript for your domain, but not blocking javascript so blanketly that the browser activates &lt;noscript&gt; tags, your inline CSS makes the post content not appear for 8 seconds.\n<br>\n<br>\nThe changes to images for AMP also, reasonably, make the images not show up in the AMP version in this browser configuration.  They still show up in the HTML version.\n<br>\n<br>\n(This is using uBlock Origin's advanced script blocking features. I'm happy to whitelist your domain; I'm commenting in case these effects matter to you.)", "timestamp": 1517847887}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://plus.google.com/103013777355236494008", "anchor": "gp-1517849685804", "service": "gp", "text": "@Izzy\n It sounds like you're saying you're blocking the \nhttp://ampproject.org\n javascript, but you're not executing the contents of noscript tags?  I would expect that to break a lot of sites!", "timestamp": 1517849685}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://plus.google.com/103013777355236494008", "anchor": "gp-1517856368777", "service": "gp", "text": "@Izzy\n I'd also expect this would be a problem for you on any amp page, and not just mine? Or is it just my site?", "timestamp": 1517856368}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://plus.google.com/103013777355236494008", "anchor": "gp-1517856545554", "service": "gp", "text": "(What sorts of things are you trying to avoid by blocking JavaScript? Depending on your goals and how much you trust the AMP review process it may be that AMP JS is something you'd want to allow globally?)", "timestamp": 1517856545}, {"author": "Ben", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925657951922", "anchor": "fb-925657951922", "service": "fb", "text": "I see different posts listed under \"more posts\" in AMP vs HTML.", "timestamp": "1517956425"}, {"author": "unknown", "source_link": "#", "anchor": "unknown", "service": "unknown", "text": "&rarr;&nbsp;unknown", "timestamp": "-1"}, {"author": "unknown", "source_link": "#", "anchor": "unknown", "service": "unknown", "text": "&rarr;&nbsp;unknown", "timestamp": "-1"}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925657951922&reply_comment_id=925659493832", "anchor": "fb-925657951922_925659493832", "service": "fb", "text": "&rarr;&nbsp;Yup. Each time I generate a page it picks new posts to highlight on the side. The amp and html versions are generated separately so they get different posts.", "timestamp": "1517957025"}, {"author": "Ben", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925657951922&reply_comment_id=925659683452", "anchor": "fb-925657951922_925659683452", "service": "fb", "text": "&rarr;&nbsp;The pattern's been consistent over multiple refreshes. I wonder what happens if I hard-refresh?", "timestamp": "1517957216"}, {"author": "Ben", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925657951922&reply_comment_id=925659703412", "anchor": "fb-925657951922_925659703412", "service": "fb", "text": "&rarr;&nbsp;No difference!", "timestamp": "1517957236"}, {"author": "Ben", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925657951922&reply_comment_id=925659713392", "anchor": "fb-925657951922_925659713392", "service": "fb", "text": "&rarr;&nbsp;i.e. same difference", "timestamp": "1517957248"}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925657951922&reply_comment_id=925676599552", "anchor": "fb-925657951922_925676599552", "service": "fb", "text": "&rarr;&nbsp;The pages are generated when I run my publishing script and then those \"baked\" versions are saved and served until I next run it. So until I want to push an edit live or preview a draft or something each version will continue to have the same selection of post links.", "timestamp": "1517966305"}, {"author": "Ben", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925657951922&reply_comment_id=925712263082", "anchor": "fb-925657951922_925712263082", "service": "fb", "text": "&rarr;&nbsp;Ah, that makes sense.", "timestamp": "1517976343"}, {"author": "Taymon", "source_link": "https://www.facebook.com/jefftk/posts/924921407962?comment_id=925712078452", "anchor": "fb-925712078452", "service": "fb", "text": "A couple notes:<br>- You only need one level of nesting, right? So you could include the array of nested comments as a field in each comment's JSON object. Mustache doesn't support *recursive* nesting, but you don't need that.<br>- Serving AMP nondeterministically on a single URL can have really bad SEO consequences, because as of the last time I checked, the Google AMP Cache doesn't handle it very well when a page in its cache stops being valid AMP. You can solve this with your A/B test by removing the `amp` attribute from the root element of the page, so Google will always consider it a non-AMP page.", "timestamp": "1517976190"}, {"author": "Izzy", "source_link": "https://plus.google.com/117530712117219891863", "anchor": "gp-1518584634452", "service": "gp", "text": "I see a similar effect on \nhttps://ampbyexample.com/\n , which is a site that uses AMP.  In the last month of web browsing I haven't naturally run into any AMP sites like this besides yours (on Chromebook). So I don't think I'd see much difference between whitelisting your site and AMP in general.  (I do see AMP sites on mobile regularly.)\n<br>\n<br>\nThe JavaScript-blocking was a \"hey, why don't I turn this on while people work out the Meltdown/Spectre situation\".  It turns out that some websites work better with javascript off than on, so I'm happy for now. Though google properties tend to depend on javascript even where it makes google an outlier (blog platforms).\n<br>\n<br>\nAnyway yes you are correct that lots of sites are only full-featured if they have their Javascript.\n<br>\n<br>\nI think there's some obscure reason why a selective javascript blocking tool doesn't activate &lt;noscript&gt;. My sense is the lack of &lt;noscript&gt; activation doesn't make much difference on most websites, because most sites don't test without scripts anyway. In random personal code, instead of &lt;noscript&gt; I've used a &lt;script&gt; that changes a CSS class on the &lt;html&gt; element, because it's a moderately more accurate proxy for whether scripts are working than &lt;noscript&gt; is. Of course, you are as aware as I am of some reasons that extra &lt;script&gt;s are inefficient, so :)", "timestamp": 1518584634}, {"author": "Jeff&nbsp;Kaufman", "source_link": "https://plus.google.com/103013777355236494008", "anchor": "gp-1518642875174", "service": "gp", "text": "@Izzy\n I think what's happening is that AMP is currently pretty rare on desktop.  Many sites only serve AMP versions for mobile, and with others Google discovers the AMP version of a page via link rel=amphtml and then uses that link in search results for people on mobile devices.  This may change, though, since AMP is mostly not mobile-specific.", "timestamp": 1518642875}]}