Almanac.httparchive.org: Jamstack 2020

Created on 17 Jun 2020  ·  59Comments  ·  Source: HTTPArchive/almanac.httparchive.org

Part III Chapter 17: Jamstack

Content team

| Authors | Reviewers | Analysts | Draft | Queries | Results |
| ------- | --------- | -------- | ----- | ------- | ------- |
| @AhmadAwais | @tpiros @phacks @YuLingCheng | @denar90 @remotesynth | Doc | *.sql | Sheet |

Content team lead: @AhmadAwais

Welcome chapter contributors! You'll be using this issue throughout the chapter lifecycle to coordinate on the content planning, analysis, and writing stages.

The content team is made up of the following contributors:

New contributors: If you're interested in joining the content team for this chapter, just leave a comment below and the content team lead will loop you in.

_Note: To ensure that you get notifications when tagged, you must be "watching" this repository._

Milestones

0. Form the content team

  • [x] Jul 6th: Project owners have selected an author to be the content team lead
  • [x] Jul 13th: The content team has at least one author, reviewer, and analyst (a minimally viable team formed)

1. Plan content

  • [x] Jul 20th: The content team has completed the chapter outline in the draft doc
  • [x] Jul 27th: Analysts have triaged the feasibility of all proposed metrics

2. Gather data

  • [x] Jul 27th: Analysts have added all necessary custom metrics and drafted a PR to track query progress
  • Aug 1 - 31: August crawl
  • [x] Sep 7th: Analysts have queried all metrics and saved the output to the results sheet

3. Validate results

4. Draft content

  • [ ] Nov 12th: Authors have completed the first draft in the doc
  • [ ] Nov 26th: The content team has prototyped all data visualizations

5. Publication

  • [ ] Nov 26th: The content team has reviewed the final draft, converted to markdown, and filed a PR to add it to the 2020 content directory
  • Dec 9th: Target launch date
2020 chapter ASAP writing

Most helpful comment

Hey @ahmadawais @rviscomi I'm a bit late for the party but will be happy to contribute more as reviewer and analyst. Moreover, do you have open spot for co-authoring? I'd suggest @remotesynth for that role. He has awesome experience in Jamstack area, writing stuff etc.

All 59 comments

I'd also like to suggest a new chapter that I can write about Jamstack. Featuring the usage of Next.js, Nuxt, VuePress, and likes. Let me know what you think about that.

_Originally posted by @ahmadawais in https://github.com/HTTPArchive/almanac.httparchive.org/issues/876#issuecomment-645194299_

cc @obto

@tpiros was also interested in authoring a Jamstack chapter

Thinking about this a bit further, especially when it comes to metrics, this could be a subtopic under Performance?

It'd be interesting to see how sites created with the Jamstack do in the performance space

This may be similar to chapters like CMS and Ecommerce that used performance as a lens through which to look at a well-defined problem space. In those chapters there was also more to discuss than only performance, which made them good candidates for standalone chapters.

Depending on how much "meat on the bones" there is for the Jamstack topic, we could consider folding it into another chapter, having it be a standalone chapter, or broadening the scope to include other tech stacks.

I'm not familiar with Jamstack so I'll defer to @tpiros, @ahmadawais, and those with more experience.

Yeah I was going to ask how you would define something as a Jamstack from the outside? Other than certain hosts hosting it (in which case CDN would be a better fit) I would have thought it would be difficult to measure from outside.

Jamstack I believe cannot be similar to CMS or perf since those are the value propositions. I was hoping to check the trend of how many sites are using popular and known static site generators. I believe this could be a part of other chapters like CDN, JS, and Markup — provided we are able to track it. 😃

While I really enjoy Jamstack, I think it fits into content management, only with a different infrastructure. What could possibly be of interest on the Front side is to distinguish SPAs (Gatsby type) from non-SPAs to evaluate the impact of JavaScript on a first load in a content-reading context.

I'm a big fan of adding more segments like this to metrics, because this tends to be where the most exciting findings occur. Couple questions:

  1. Which metrics would be most interesting to segment/compare like this?
  2. How reliably can we detect if a site is Jamstack?

@ahmadawais thank you for agreeing to be the lead author for the Jamstack chapter! As the lead, you'll be responsible for driving the content planning and writing phases in collaboration with your content team, which will consist of yourself as lead, any coauthors you choose as needed, peer reviewers, and data analysts.

The immediate next steps for this chapter are:

  1. Establish the rest of your content team. The larger the scope of the chapter, the more people you'll want to have on board.
  2. Start sketching out ideas in your draft doc.
  3. Catch up on the project methodology to get a sense for what's possible.

There's a ton of info in the top comment, so check that out and feel free to ping myself or @obto with any questions!

@tpiros we'd still love to have you contribute as a peer reviewer or coauthor as needed. Let us know if you're still interested!


As discussed in earlier comments, this chapter might end up being a better fit as a subsection of other chapters. Let's go through the content planning exercise to see if there's enough substance for a standalone chapter and reevaluate our options as needed.

Thank you, @rviscomi. Looking forward to more contributors. At least 2-3 people in each of the following categories are welcomed.

  • Co-Authors
  • Reviewers
  • Analysts

_Tagging a couple of folks below, we'd love to have here as contributors:_

@rauchg
@timneutkens
@sdras
@Timer
@philhawksworth
@zachleat
@MaedahBatool
@tpiros
@asharirfan
@saqibameen
@msaaddev

Peace! ✌️

Thanks @ahmadawais would love to be a contributor and may I also suggest @debs-obrien (I can't tag her for whatever reason: Debbie O'Brien - https://twitter.com/debs_obrien)

I'd like to nominate @DirtyF, @Phacks, @nhoizey

Thanks @borisschapira—would love to be part of the content team!

I’m co-hosting the Jamstack Paris Meetup, and am very interested in the ecosystem, esp. with regard to performance. If I may suggest @YuLingCheng who’s part of the meetup team as well, she’s done some amazing talks on the CMS aspect of the Jamstack.

Welcome, @tpiros and @phacks to the team. I have added you both to the reviewers/analysts sections. Let's figure out the chapter plan by 20th July.

@YuLingCheng @msaaddev to confirm, are you both interested in joining the content team for this chapter?

There were some other suggested contributors. Would any of you be interested in contributing to this chapter as well?

@rauchg
@timneutkens
@sdras
@Timer
@philhawksworth
@zachleat
@MaedahBatool
@tpiros
@asharirfan
@saqibameen
@DirtyF
@nhoizey
@debs-obrien

@ahmadawais I also wanted to clarify whether @tpiros and @phacks will be reviewers and/or analysts for this chapter. There's a distinction between the two roles, so I wanted to make sure your staffing change was intentional.

It's great to see this taking shape!

I'd be interested in becoming a contributor, if that's possible. If not,
I'm happy to be a reviewer.

On Mon, 13 Jul 2020 at 05:46, Rick Viscomi notifications@github.com wrote:

@YuLingCheng https://github.com/YuLingCheng @msaaddev
https://github.com/msaaddev to confirm, are you both interested in
joining the content team for this chapter?

There were some other suggested contributors. Would any of you be
interested in contributing to this chapter as well?

@rauchg https://github.com/rauchg
@timneutkens https://github.com/timneutkens
@sdras https://github.com/sdras
@Timer https://github.com/Timer
@philhawksworth https://github.com/philhawksworth
@zachleat https://github.com/zachleat
@MaedahBatool https://github.com/MaedahBatool
@tpiros https://github.com/tpiros
@asharirfan https://github.com/asharirfan
@saqibameen https://github.com/saqibameen
@DirtyF https://github.com/DirtyF
@nhoizey https://github.com/nhoizey
@debs-obrien https://github.com/debs-obrien

@ahmadawais https://github.com/ahmadawais I also wanted to clarify
whether @tpiros https://github.com/tpiros and @phacks
https://github.com/phacks will be reviewers

and/or analysts

for this chapter. There's a distinction between the two roles, so I wanted
to make sure your staffing change was intentional.

It's great to see this taking shape!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HTTPArchive/almanac.httparchive.org/issues/878#issuecomment-657343115,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPSWXXGYYCRVKFBJ2G4HP3R3J7TBANCNFSM4OAYASQA
.

@rviscomi I would love to become a part of the content team.

Hey @ahmadawais, just checking in:

  1. How is the the chapter coming along? We're tying to have the outline and metrics settled on by the end of the week so we have time to configure the Web Crawler to track everything you need.
  2. Can you remind your team to properly add and credit themselves in your chapter's Google Doc?
  3. Anything you need from me to keep things moving forward?

@tpiros you're more than welcomed to join the team. I have already added you to the Analysts/Reviewers teams. Do you think we can start working on the outline of the chapter? It's due on 20th of July.

@msaaddev you're welcomed to join as well. Pick a thing you'd like to help with. The entire roadmap is public.

@tpiros @phacks I have added the basic Outline in the draft doc please find time to improve it, and suggest changes using Google Docs comments.

@obto Outline is ready, looking forward to the teams' participation there.

@ahmadawais to clarify, the reviewer and analyst roles have very different responsibilities. It seems like @tpiros and @phacks signed up to be reviewers and this chapter is still in need of analysts. Let me know if that's correct, I've updated the issue metadata.

@rviscomi I am happy to become a contributor (if it's OK to change my role from a reviewer).

@tpiros to me, all of the author/reviewer/analyst roles are contributors. Do you mean you'd like to coauthor? If so it's up to @ahmadawais as the content team lead to decide, based on the expected amount of content in the chapter.

Okay, got it - I'll let @ahmadawais to decide then but I'm happy with any the roles.

Hello @rviscomi I’d be very happy to be part of the team as a reviewer!

@YuLingCheng added you as a reviewer.

I'm afraid that I don't have bandwidth to contribute to this at present. But good luck with it. Great to see more and more content being created about Jamstack.

Hey @ahmadawais @rviscomi I'm a bit late for the party but will be happy to contribute more as reviewer and analyst. Moreover, do you have open spot for co-authoring? I'd suggest @remotesynth for that role. He has awesome experience in Jamstack area, writing stuff etc.

Welcome aboard @denar90 as an analyst. Sure contributions are welcomed from anyone. Check the draft doc.

As @denar90 mentioned, I am happy to help however I can.

That's awesome @remotesynth — would love to have you as an analyst — I have made the changes in the first comment and the draft doc to reflect that. Your insights into the JAMstack community are most welcomed.

@denar90 and @remotesynth take a look at these deadlines for the Analysts related data.

  • [ ] Jul 27th: Analysts have triaged the feasibility of all proposed metrics

2. Gather data

  • [ ] Jul 27th: Analysts have prepared all feasible metrics for testing and added queries to the sql directory

Ok. The 27th is coming up fast. Reading up on this thread, I don't see any decisions having been made on metrics...is that correct?

I am new to this process, but how are we determining what qualifies as a Jamstack site? We've dug into this a bit at Stackbit and have found some ways to determine sites built with certain engines with a reasonable amount of accuracy, but it is still a relatively small subset of overall Jamstack sites since there are only a handful of identifying markers.

@remotesynth that's a real issue. I was hoping we can focus on at least five popular JAMstack engines like Next.js, Jekyl, Netlify and try to search for things unique to them.

There's a plan of content in the draft doc but definitely need your help in deciding on how to analyze and search for the data.

I have to understand the nature of the data we're working with but Gatsby should be easy to determine via the script. Jekyll and Hugo both put meta generator tags that we can use I believe (11ty does not as far as I can tell). Assuming that is something we can query, it shouldn't be difficult. Next and Nuxt are complicated because I don't think there's an easy way to determine if a site is using SSR or not. Perhaps there is some kind of data about JavaScript requests that would be able to tell us.

@ahmadawais a few suggestions after reviewing the outline - I'm not sure if these are possible to query at all but I believe these could/would be interesting:

  • Distribution of deployment platform and their global CDN coverage (Netlify v Vercel v Amplify v ?)

    • Average load time of pages deployed on CDN

  • Hosted vs "Self-Deployed" CMSes

@tpiros do you mean hosted CMSs like Contentful (API based) and self-deployed like Netlify-CMS (git based) ?

@ahmadawais I'm not sure we can prepare all sql until 27th. We still have open questions. I'm not sure where do we have to discuss here, or in doc.
I'll leave it here, we can move it if needed.

  1. Netlify v Vercel v Amplify are hosting platforms for any kind of sites. So we will have to select by header and engine. So as @remotesynth mentioned there might be difficulties to detect if site has SSR or not.
    @rauchg does Vercel have any headers or any other info when hosting the Jamstack site?

  2. List of engines we want to cover. My list would be

  3. Nextjs
  4. 11ty
  5. Hugo
  6. Jekyll
  7. Gatsby

  8. CMS platforms

  9. Sanity
  10. Contentful
  11. NetlifyCMS
  12. etc..

  13. Platforms to create Jamstack sites.
    If we can grab data and distribute it to see how fast sites are created via these platforms.

I'm pretty sure we can't combine all items together. So let's try to group them and show distributions like @tpiros suggested.

do you mean hosted CMSs like Contentful (API based) and self-deployed like Netlify-CMS (git based) ?

@denar90 - yes, precisely :)

Of interest for the SSGs section: it looks like we won’t be able to track down Eleventy through analyzed source code (Wappalyzer is a tool that analyzes the frameworks used by a website). From Twitter:

Wappalyzer: “We're tracking Next.js but @eleven_ty seems to undetectable by looking at a website's source code.”

Eleventy: “Correct, this is by design!”

source: https://twitter.com/eleven_ty/status/1287174616113393664

@denar90 @tpiros y'all are right. I'm looking at the data in a similar way. I think you can go ahead and start prepping the analysis queries — which will ultimately dictate the pattern/content we write about. Since much of it is not trackable — let's focus on what we can track and analyze and go from there?

@phacks Next.js as well otherwise we will present wrong results.

Me: "Do you distinguish Next.js rendered via SSR vs app fully rendered on client side?"
Wappalyzer: No distinction currently.

source: https://twitter.com/denar90_/status/1287271002041470976

@ahmadawais yeah, I've been thinking composing SSG and CDN. Will start on it asap, this week is quiet busy...

@ahmadawais @denar90 @remotesynth for the two milestones overdue on July 27 could you check the boxes if:

  • the outline has been reviewed and all feasible metrics have been identified
  • any necessary custom metrics have been created and you've created a draft PR to track which feasible metrics have had their queries implemented (we've updated the milestone description to clarify this)

Keeping the milestone checklist up to date helps us to see at a glance how all of the chapters are progressing. Thanks for helping us to stay on schedule!

@tpiros @phacks @YuLingCheng @denar90 @remotesynth Can you request edit access to your chapter doc (if you haven't already), and add your name and email to the document?

@denar90 @remotesynth 👋 we need your help with the following stage.

2. Gather data

Please use the chapter doc as a guideline and collect the metrics. Since Jamstack is a new category we may not be able to analyze everything as discussed in the doc. So, I'm thinking to more and more rely on the data you folks are able to collect in this stage — which will form the final outline of the doc after collection.

Please go ahead and address this stage, figure out all the custom metrics and draft a PR to track query progress — with the analysis queries.

cc: @tpiros @phacks @YuLingCheng

@ahmadawais I have early query and clarified missing parts, e.g. querying CDN like Azure and stuff, I'll prepare PR's till the end of the week.

Ok. I'll connect with @denar90 and work on that.

@denar90 @remotesynth looking forward to queries PR? We are headed close to the Aug 31st crawl.

@ahmadawais, wip is here - https://github.com/HTTPArchive/almanac.httparchive.org/pull/1228
I need to figure out how to join and have desktop and mobile results together. If it's solved - super easy to run other queries for other metrics, kinda the same but changing metrics names. I think we can finish it up this week.

I chatted with @denar90 today a bit about the query and we discussed some ideas for expanding some of what it detects.

@ahmadawais I've attached google sheets into PR with TTFB results, so you can start exploring. Hope to finish other queries pretty soon.

@denar90 @ahmadawais there are a few housekeeping items to take care of before you can review the results and start writing about them in your chapter:

  1. The queries should be updated to the canonical Web Almanac dataset, which is the 2020_08_01 (August 2020) crawl. This crawl just finished recently and we're working on updating the httparchive.almanac dataset on BigQuery in #1258. We'll send an announcement this week when the dataset is ready.
  2. The queries in PR #1228 need to go through a code review and that might affect the results. So best not to save any results until that PR has been reviewed. Mark it as "ready for review" when you've written all of the queries and updated them to the 2020_08_01 crawl.
  3. The spreadsheet you use for your results must be publicly accessible so that the data visualizations can be published in the chapter and readers can access the raw results in the sheet. We've left a placeholder under "Results" in the top comment of this issue and we're working in #1233 to generate those sheets for you and add them to the issue. Your sheet is ready here but we're still going through the process to update all 22 issues with their respective sheets so the issue will be updated in a day or two.

Cool, thanks for the clarifications 👍

I've updated the chapter metadata at the top of this issue to link to the public spreadsheet that will be used for this chapter's query results. The sheet serves 3 purposes:

  1. Enable authors/reviewers to analyze the results for each metric without running the queries themselves
  2. Generate data visualizations to be embedded in the chapter
  3. Serve as a public audit trail of this chapter's data collection/analysis, linked from the chapter footer

Thank you, @obto and @rviscomi we'll definitely use them.

@ahmadawais in case you missed it, we've adjusted the milestones to push the launch date back from November 9 to December 9. This gives all chapters exactly 7 weeks from now to wrap up the analysis, write a draft, get it reviewed, and submit it for publication. So the next milestone will be to complete the first draft by November 12.

However if you're still on schedule to be done by the original November 9 launch date we want you to know that this change doesn't mean your hard work was wasted, and that you'll get the privilege of being part of our "Early Access" launch.

Please see the link above for more info and reach out to @rviscomi or me if you have any questions or concerns about the timeline. We hope this change gives you a bit more breathing room to finish the chapter comfortably and we're excited to see it go live!

Thank you. It's been a busy few weeks. Tgis new deadline will help a lot. The team had a meeting this week and we have been adjusting things here and there. Will share soon.

Hi @ahmadawais any update on the status of the first draft?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rviscomi picture rviscomi  ·  5Comments

obto picture obto  ·  5Comments

rviscomi picture rviscomi  ·  3Comments

bazzadp picture bazzadp  ·  3Comments

ibnesayeed picture ibnesayeed  ·  5Comments