# Adoption of Bootstrap design

**URL:** <https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607>\
**Category:** Analysis\
**Created:** [March 14, 2019, 7:42pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607 "2019-03-14T19:42:18Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![rviscomi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/rviscomi/32/835_2.png) [@rviscomi](https://discuss.httparchive.org/u/rviscomi)\
**Post date:** [March 14, 2019, 7:42pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607/1 "2019-03-14T19:42:18Z")

</div>

I’m working on a State of the Web episode about design and pulling stats for the popularity of design systems like [Bootstrap](https://www.wappalyzer.com/technologies/bootstrap). Here’s the analysis:

```sql
SELECT
  SUBSTR(_TABLE_SUFFIX, 0, 10) AS date,
  IF(ENDS_WITH(_TABLE_SUFFIX, 'desktop'), 'desktop', 'mobile') AS client,
  SUM(IF(app = 'Bootstrap', 1, 0)) AS urls,
  ROUND(SUM(IF(app = 'Bootstrap', 1, 0)) / COUNT(DISTINCT url), 4) AS pct
FROM
  `httparchive.technologies.*`
GROUP BY
  date,
  client
ORDER BY
  date,
  client

```

[Raw results](https://docs.google.com/spreadsheets/d/1ROiGq7yUHsNmd4RojzCFeALnkYWT6r-rq4NPLd0daL8/edit?usp=sharing)

As a percent of all pages tested:

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/httparchive/original/2X/d/dc539fea927a3eb843f737fee708c60c30e8a815.png)

Absolute count of pages detected with Bootstrap:

![image](https://cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/flex035/uploads/httparchive/original/2X/5/5a42233b84e812ab6486ce488fdb8b3734c7c3f7.png)

So until 2018, our Alexa websites were increasingly adoption Bootstrap. Then when we switched to CrUX, we starting looking at a wider and distinctly different population and the adoption rate dropped.

As of today, Bootstrap is detected on **nearly a million websites** , representing **~25% of the web**!

---

<div class="post-metadata">

**Author:** ![DeanoLingardo](https://avatars.discourse-cdn.com/v4/letter/d/c67d28/32.png) [@DeanoLingardo](https://discuss.httparchive.org/u/DeanoLingardo)\
**Post date:** [December 20, 2019, 1:19pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607/2 "2019-12-20T13:19:20Z")

</div>

How did you get to the last statement in this post? There’s over 1.5 billion websites active online right now and 1 million websites doesn’t represent 25%

---

<div class="post-metadata">

**Author:** ![patrickhulce](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/patrickhulce/32/780_2.png) [@patrickhulce](https://discuss.httparchive.org/u/patrickhulce)\
**Post date:** [December 20, 2019, 4:00pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607/3 "2019-12-20T16:00:50Z")

</div>

Weclome [DeanoLingardo](https://discuss.httparchive.org/u/DeanoLingardo)! 🙂

If you consider the URLs in the HTTPArchive dataset to be a representative sample of the web and you find that 25% of _those_ URLs have Bootstrap, then it’s a reasonable extrapolation that ~25% of the web uses Bootstrap.

There’s another argument to be made here about the percentage of web _traffic_ that HTTPArchive examines that uses Bootstrap which might be a separate interesting question, but I’m not sure that’s what rviscomi was referring to in this case.

---

<div class="post-metadata">

**Author:** ![rviscomi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/rviscomi/32/835_2.png) [@rviscomi](https://discuss.httparchive.org/u/rviscomi)\
**Post date:** [December 20, 2019, 10:01pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607/4 "2019-12-20T22:01:05Z")

</div>

What @patrickhulce said!

The second to last image shows the relative percent, which we can extrapolate to the entire web, assuming that our sample set is representative (I believe it is).

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/httparchive/original/2X/d/dc539fea927a3eb843f737fee708c60c30e8a815.png)

---

<div class="post-metadata">

**Author:** ![jbingham](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/jbingham/32/1797_2.png) [@jbingham](https://discuss.httparchive.org/u/jbingham)\
**Post date:** [May 14, 2020, 10:11pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607/5 "2020-05-14T22:11:01Z")

</div>

@rviscomi When you say the data is representative of the web, is it a representative sampling of all sites, giving equal weight to obscure abandoned sites as to the most popular active sites today? Or is it a representative sampling of page loads?

Reason: I’d like to look at, eg, Bootstrap usage as a percent of page loads, not as a percent of urls, in case the top sites are very different from the long tail of the web. Does that make sense?

---

<div class="post-metadata">

**Author:** ![chrisbolin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/chrisbolin/32/1756_2.png) [@chrisbolin](https://discuss.httparchive.org/u/chrisbolin)\
**Post date:** [May 15, 2020, 3:46pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607/6 "2020-05-15T15:46:01Z")

</div>

Yes, I believe equal weight is given to all sites. If you are interested in weighting by domain polularity, you could join to `httparchive.urls.20170315` and use the `Alexa_domain` field as a rank.

---

<div class="post-metadata">

**Author:** ![chrisbolin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discuss.httparchive.org/chrisbolin/32/1756_2.png) [@chrisbolin](https://discuss.httparchive.org/u/chrisbolin)\
**Post date:** [May 15, 2020, 3:47pm UTC](https://discuss.httparchive.org/t/adoption-of-bootstrap-design/1607/7 "2020-05-15T15:47:23Z")

</div>

Here’s an example of joining to that Alexa data: [Getting domain rank with the new rank-less Chrome UX Report corpus](https://discuss.httparchive.org/t/getting-domain-rank-with-the-new-rank-less-chrome-ux-report-corpus/1444)
