├── .gitignore ├── LICENSE ├── README.md ├── css └── styles.css ├── data ├── archive │ ├── 2017-04-10-medium-history.csv │ ├── 2017-06-19-github-repos.json │ ├── general │ │ ├── 2017-06-13-stats.json │ │ ├── 2017-06-14-stats.json │ │ ├── 2017-06-19-stats.json │ │ ├── 2017-07-03-stats.json │ │ ├── 2017-07-11-stats.json │ │ ├── 2017-07-18-stats.json │ │ ├── 2017-07-24-stats.json │ │ ├── 2017-08-01-stats.json │ │ ├── 2017-08-07-stats.json │ │ ├── 2017-08-14-stats.json │ │ ├── 2017-08-19-stats.json │ │ ├── 2017-09-12-stats.json │ │ ├── 2017-09-26-stats.json │ │ ├── 2017-10-10-stats.json │ │ ├── 2017-10-24-stats.json │ │ ├── 2017-10-31-stats.json │ │ ├── 2017-11-06-stats.json │ │ ├── 2017-11-13-stats.json │ │ ├── 2017-11-20-stats.json │ │ ├── 2017-11-27-stats.json │ │ ├── 2017-12-04-stats.json │ │ ├── 2017-12-12-stats.json │ │ ├── 2018-01-08-stats.json │ │ ├── 2018-01-15-stats.json │ │ ├── 2018-01-22-stats.json │ │ ├── 2018-01-29-stats.json │ │ ├── 2018-02-05-stats.json │ │ ├── 2018-02-12-stats.json │ │ ├── 2018-02-19-stats.json │ │ ├── 2018-02-26-stats.json │ │ ├── 2018-03-05-stats.json │ │ ├── 2018-03-12-stats.json │ │ ├── 2018-03-19-stats.json │ │ ├── 2018-03-27-stats.json │ │ ├── 2018-04-02-stats.json │ │ ├── 2018-04-09-stats.json │ │ ├── 2018-04-16-stats.json │ │ ├── 2018-04-24-stats.json │ │ ├── 2018-04-30-stats.json │ │ ├── 2018-05-08-stats.json │ │ ├── 2018-05-14-stats.json │ │ ├── 2018-05-21-stats.json │ │ └── 2018-05-30-stats.json │ └── medium │ │ ├── 2017-04-13-medium-overview.csv │ │ ├── 2017-05-25-medium-overview.csv │ │ ├── 2017-06-14-medium-overview.csv │ │ ├── 2017-06-19-medium-overview.csv │ │ ├── 2017-07-03-medium-overview.csv │ │ ├── 2017-07-11-medium-overview.csv │ │ ├── 2017-07-18-medium-overview.csv │ │ ├── 2017-07-24-medium-overview.csv │ │ ├── 2017-08-01-medium-overview.csv │ │ ├── 2017-08-07-medium-overview.csv │ │ ├── 2017-08-14-medium-overview.csv │ │ ├── 2017-08-19-medium-overview.csv │ │ ├── 2017-09-12-medium-overview.csv │ │ ├── 2017-09-26-medium-overview.csv │ │ ├── 2017-10-09-medium-overview.csv │ │ ├── 2017-10-24-medium-overview.csv │ │ ├── 2017-10-31-medium-overview.csv │ │ ├── 2017-11-06-medium-overview.csv │ │ ├── 2017-11-13-medium-overview.csv │ │ ├── 2017-11-20-medium-overview.csv │ │ ├── 2017-11-27-medium-overview.csv │ │ ├── 2017-12-04-medium-overview.csv │ │ ├── 2017-12-12-medium-overview.csv │ │ ├── 2018-01-08-medium-overview.csv │ │ ├── 2018-01-15-medium-overview.csv │ │ ├── 2018-01-22-medium-overview.csv │ │ ├── 2018-01-29-medium-overview.csv │ │ ├── 2018-02-05-medium-overview.csv │ │ ├── 2018-02-12-medium-overview.csv │ │ ├── 2018-02-19-medium-overview.csv │ │ ├── 2018-02-26-medium-overview.csv │ │ ├── 2018-03-05-medium-overview.csv │ │ ├── 2018-03-12-medium-overview.csv │ │ ├── 2018-03-19-medium-overview.csv │ │ ├── 2018-03-27-medium-overview.csv │ │ ├── 2018-04-02-medium-overview.csv │ │ ├── 2018-04-09-medium-overview.csv │ │ ├── 2018-04-16-medium-overview.csv │ │ ├── 2018-04-24-medium-overview.csv │ │ ├── 2018-04-30-medium-overview.csv │ │ ├── 2018-05-08-medium-overview.csv │ │ ├── 2018-05-14-medium-overview.csv │ │ ├── 2018-05-21-medium-overview.csv │ │ └── 2018-05-30-medium-overview.csv ├── general │ ├── 2018-06-05-stats.json │ ├── 2018-06-11-stats.json │ ├── 2018-06-18-stats.json │ ├── 2018-06-25-stats.json │ ├── 2018-07-02-stats.json │ ├── 2018-07-10-stats.json │ ├── 2018-07-16-stats.json │ ├── 2018-07-24-stats.json │ ├── 2018-08-07-stats.json │ ├── 2018-08-20-stats.json │ ├── 2018-08-28-stats.json │ └── 2018-09-04-stats.json └── medium │ ├── 2018-06-05-medium-overview.csv │ ├── 2018-06-11-medium-overview.csv │ ├── 2018-06-18-medium-overview.csv │ ├── 2018-06-25-medium-overview.csv │ ├── 2018-07-02-medium-overview.csv │ ├── 2018-07-10-medium-overview.csv │ ├── 2018-07-16-medium-overview.csv │ ├── 2018-07-24-medium-overview.csv │ ├── 2018-08-07-medium-overview.csv │ ├── 2018-08-20-medium-overview.csv │ ├── 2018-08-28-medium-overview.csv │ └── 2018-09-04-medium-overview.csv ├── extension ├── README.md ├── content-script-medium-overview.js ├── content-script-medium-stories.js ├── icon.png ├── manifest.json ├── page-script-medium.js ├── popup.html └── popup.js ├── images ├── dashboard-preview-crop.png ├── dashboard-preview.png ├── favicon.png ├── icon192.png ├── icon512.png └── samsung-internet-logo-text.svg ├── index.html ├── lib ├── chartist.css ├── chartist.css.map ├── chartist.js ├── chartist.min.css ├── chartist.min.js ├── chartist.min.js.map ├── moment.js ├── moment.min.js ├── papaparse.js ├── papaparse.min.js ├── scss │ ├── chartist.scss │ └── settings │ │ └── _chartist-settings.scss ├── sw-toolbox.js └── sw-toolbox.js.map ├── manifest.json ├── package-lock.json ├── package.json ├── src ├── data-paths.js ├── index.js └── template.html ├── sw.js ├── update.js └── utils.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .env 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Samsung Internet Dev Rel 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Samsung Internet Developer Advocacy Dashboard 2 | 3 | [![A preview of part of the dashboard](images/dashboard-preview-crop.png)](https://samsunginter.net/dashboard) 4 | 5 | ## What is this? 6 | 7 | It's a dashboard showing metrics for our Samsung Internet developer advocacy work, as well as 8 | trends for web technologies such as PWAs and WebVR. 9 | 10 | ## When and how is it updated? 11 | 12 | We intend to update it each week. Unfortunately for now, it will involve a few minutes of manual work. 13 | Our social media platforms do not currently provide analytics data via APIs. However, hopefully over time 14 | we can automate it more, either using APIs if/when provided, automated scraping, or (at least) additions 15 | to the [Dashboard Updater browser extension](extension/README.md). 16 | 17 | (For the Samsung Internet team) here are the current instructions: 18 | 19 | ### General stats 20 | 21 | * Add a new stats JSON file with today's date, e.g. `data/general/2017-06-14-stats.json`, and update with the latest data: 22 | * To find Medium stats, see [here](https://medium.com/samsung-internet-dev/stats/overview) and the followers [here](https://medium.com/samsung-internet-dev/latest). 23 | * To find Twitter stats, see [here](https://analytics.twitter.com). (Ask Daniel for the login). 24 | * To find Facebook stats, check the 28 day like increase [here](https://www.facebook.com/samsunginternet/insights/) and look for 'follows' on the right-hand side [here](https://www.facebook.com/samsunginternet). 25 | * To find Instagram followers, see [here](https://www.instagram.com/samsunginternet/). 26 | * To find the average Github issue response time, see [here and click the little refresh link](http://issuestats.com/github/samsunginternet/support). 27 | * To get the SEO rankings, I previously used [serps.com/tools/rank-checker/](https://serps.com/tools/rank-checker/) but it seems to no longer work, so I'm now testing at google.com (select "Use google.com" or it will redirect back), using a private browsing session. 28 | * Update the filenames in `src/data-paths.js`. 29 | 30 | ### Medium graph 31 | 32 | * Install the Dashboard Updater Chrome extension from the `extension` subdirectory. [Here's how](https://developer.chrome.com/extensions/getstarted#unpacked). 33 | * Visit [medium.com/samsung-internet-dev/stats/overview](https://medium.com/samsung-internet-dev/stats/overview). 34 | * Click the 'Download Medium stats' button. 35 | * Copy/move the downloaded CSV file to the `data/medium` directory & update `src/data-paths.js` with the new filename. 36 | 37 | ### Survey pie charts 38 | 39 | * For our event survey feedback, see [the Google spreadsheet here](https://docs.google.com/spreadsheets/d/1SxnLKkhqOPZPCEYzX0S0WVPaNN6Hs5vFhOi4Py8bLHs/edit#gid=2048114756). 40 | * Update the variable at the top of `index.js`. 41 | 42 | ### And then... 43 | 44 | ``` 45 | npm start 46 | ``` 47 | 48 | This will run `update.js` and spit out the new `index.html`, based on the template in `src/template.html`. 49 | 50 | Now this page can be served with any static HTML server. We're hosting on Github Pages - just push to `master` to deploy. 51 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #222; 3 | color: #fefefe; 4 | font-family: Helvetica, Arial, sans-serif; 5 | padding: 10px 15px; 6 | margin: 0; 7 | } 8 | 9 | a { 10 | color: #aaa; 11 | } 12 | 13 | header { 14 | min-height: 90px; 15 | padding: 10px; 16 | display: flex; 17 | flex-wrap: wrap; 18 | } 19 | 20 | header > div { 21 | min-height: 70px; 22 | } 23 | 24 | header img { 25 | float: left; 26 | padding: 10px 30px 10px 0; 27 | } 28 | 29 | header .logo { 30 | flex-basis: 280px; 31 | } 32 | 33 | header .title-and-last-updated { 34 | min-width: 300px; 35 | } 36 | 37 | h1 { 38 | margin: 15px 0 10px 0; 39 | font-weight: normal; 40 | } 41 | 42 | h2 { 43 | margin: 1.5em 0 1em 0; 44 | font-weight: normal; 45 | font-style: italic; 46 | border-top: 1px dotted #ccc; 47 | padding-top: 1em; 48 | } 49 | 50 | h2:first-of-type { 51 | margin-top: 0; 52 | } 53 | 54 | h3 { 55 | margin: 0.5em 0; 56 | font-weight: normal; 57 | } 58 | 59 | .title-and-last-updated h3 { 60 | color: #ccc; 61 | font-style: italic; 62 | margin-top: 0; 63 | } 64 | 65 | main { 66 | padding: 10px; 67 | } 68 | 69 | .numbers { 70 | display: flex; 71 | flex-wrap: wrap; 72 | margin: 10px 0 30px 20px; 73 | } 74 | 75 | .numbers div { 76 | text-align: center; 77 | flex-basis: 120px; 78 | flex-grow: 2; 79 | padding: 0 10px 5px 0; 80 | } 81 | 82 | .numbers h3 { 83 | font-size: 2.5em; 84 | margin-bottom: 0.25em; 85 | } 86 | 87 | .summary { 88 | font-style: italic; 89 | margin-left: 10px; 90 | } 91 | 92 | .arrow { 93 | font-size: 1.4em; 94 | font-weight: bold; 95 | } 96 | 97 | .arrow.up { 98 | color: #59922b; 99 | } 100 | 101 | .arrow.same { 102 | color: #efdf57; 103 | } 104 | 105 | .arrow.down { 106 | color: #d70206; 107 | } 108 | 109 | .pull-requests { 110 | text-align: center; 111 | } 112 | 113 | .pull-requests ul { 114 | text-align: left; 115 | max-width: 800px; 116 | margin: 0 auto; 117 | } 118 | 119 | footer { 120 | margin-top: 1.5em; 121 | } 122 | 123 | footer p { 124 | text-align: center; 125 | color: #aaa; 126 | font-size: 0.9em; 127 | } 128 | 129 | /* Charts */ 130 | 131 | .ct-chart .ct-label { 132 | color: #ffffff; 133 | } 134 | 135 | .ct-chart .ct-grid { 136 | stroke: #555; 137 | } 138 | 139 | .key { 140 | margin-bottom: 30px; 141 | } 142 | 143 | .key span { 144 | margin-left: 20px; 145 | font-size: 1.2em; 146 | font-weight: bold; 147 | } 148 | 149 | #medium-chart + .key .colour1 { 150 | color: #d70206; 151 | } 152 | 153 | #medium-chart + .key .colour2 { 154 | color: #f05b4f; 155 | } 156 | 157 | #medium-chart + .key .colour3 { 158 | color: #f4c63d; 159 | } 160 | 161 | .surveys { 162 | display: flex; 163 | flex-wrap: wrap; 164 | margin: 10px 0 30px 20px; 165 | } 166 | 167 | .survey { 168 | text-align: center; 169 | flex-basis: 250px; 170 | flex-grow: 2; 171 | } 172 | 173 | .survey { 174 | margin: 10px 0 5px 10px; 175 | } 176 | 177 | .survey .ct-series-a .ct-slice-pie { 178 | fill: #f4c63d; 179 | } 180 | 181 | .survey .ct-label { 182 | fill: #000; 183 | } 184 | 185 | .survey .key .colour1 { 186 | color: #f4c63d; 187 | } 188 | 189 | .survey .key .colour2 { 190 | color: #f05b4f; 191 | } 192 | -------------------------------------------------------------------------------- /data/archive/general/2017-06-13-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-06-13", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 862, 7 | "change": 87, 8 | "change-label": "19 days" 9 | } 10 | }, 11 | "engagement": { 12 | "views": { 13 | "count": 28451, 14 | "change": -18.7, 15 | "change-label": "19 days" 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 817, 23 | "change": 86 24 | } 25 | }, 26 | "engagement": { 27 | "impressions": { 28 | "count": "66K", 29 | "change": -28.8 30 | }, 31 | "mentions": { 32 | "count": 183, 33 | "change": -9.0 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 168, 41 | "change": 75 42 | }, 43 | "reach": { 44 | "count": 2101, 45 | "change": -63 46 | } 47 | }, 48 | "engagement": { 49 | "likes": { 50 | "count": 74, 51 | "change": -10 52 | }, 53 | "engagements": { 54 | "count": 390, 55 | "change": -38 56 | } 57 | } 58 | }, 59 | "instagram": { 60 | "audience": { 61 | "followers": { 62 | "count": 19, 63 | "change": 5, 64 | "change-label": "7 days" 65 | } 66 | } 67 | } 68 | } -------------------------------------------------------------------------------- /data/archive/general/2017-06-14-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-06-14", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 863, 7 | "change": 88, 8 | "change-label": "20 days" 9 | } 10 | }, 11 | "engagement": { 12 | "views": { 13 | "count": 29022, 14 | "change": -17.1, 15 | "change-label": "20 days" 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 819, 23 | "change": 80 24 | } 25 | }, 26 | "engagement": { 27 | "impressions": { 28 | "count": 62700, 29 | "change": -37.0 30 | }, 31 | "mentions": { 32 | "count": 176, 33 | "change": -13.3 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 170, 41 | "change": 77 42 | }, 43 | "reach": { 44 | "count": 2414, 45 | "change": -58.0 46 | } 47 | }, 48 | "engagement": { 49 | "likes": { 50 | "count": 75, 51 | "change": -9.0 52 | }, 53 | "views": { 54 | "count": 185, 55 | "change": 3.0 56 | }, 57 | "engagements": { 58 | "count": 411, 59 | "change": -35.0 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 20, 67 | "change": 6, 68 | "change-label": "8 days" 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 35, 75 | "change": 0, 76 | "change-label": "Change not yet recorded" 77 | }, 78 | "webpayments": { 79 | "count": 36, 80 | "change": 0, 81 | "change-label": "Change not yet recorded" 82 | }, 83 | "pwas": { 84 | "count": "N/A", 85 | "change": "N/A", 86 | "change-label": "N/A" 87 | }, 88 | "physicalweb": { 89 | "count": "N/A", 90 | "change": "N/A", 91 | "change-label": "N/A" 92 | } 93 | }, 94 | "twitterreach": { 95 | "pwas": { 96 | "count": 302632, 97 | "change": 0, 98 | "change-label": "Change not yet recorded" 99 | }, 100 | "webvr": { 101 | "count": 235594, 102 | "change": 0, 103 | "change-label": "Change not yet recorded" 104 | }, 105 | "webpayments": { 106 | "count": 387978, 107 | "change": 0, 108 | "change-label": "Change not yet recorded" 109 | }, 110 | "physicalweb": { 111 | "count": 34635, 112 | "change": 0, 113 | "change-label": "Change not yet recorded" 114 | } 115 | } 116 | } -------------------------------------------------------------------------------- /data/archive/general/2017-06-19-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-06-19", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 873, 7 | "change": 98, 8 | "change-label": "25 days" 9 | } 10 | }, 11 | "engagement": { 12 | "views": { 13 | "count": 27297, 14 | "change": -19.7, 15 | "change-label": "25 days" 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 837, 23 | "change": 92 24 | } 25 | }, 26 | "engagement": { 27 | "impressions": { 28 | "count": 50900, 29 | "change": -48.8 30 | }, 31 | "mentions": { 32 | "count": 186, 33 | "change": -9.7 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 172, 41 | "change": 23 42 | }, 43 | "reach": { 44 | "count": 2667, 45 | "change": -56.0 46 | } 47 | }, 48 | "engagement": { 49 | "likes": { 50 | "count": 21, 51 | "change": -84.0 52 | }, 53 | "views": { 54 | "count": 95, 55 | "change": -66.0 56 | }, 57 | "engagements": { 58 | "count": 326, 59 | "change": -60.0 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 21, 67 | "change": 7, 68 | "change-label": "13 days" 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 38, 75 | "change": -3, 76 | "change-label": "5 days", 77 | "link": "https://webvr.io/" 78 | }, 79 | "webpayments": { 80 | "count": 31, 81 | "change": 5, 82 | "change-label": "5 days", 83 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 84 | }, 85 | "pwas": { 86 | "count": "N/A", 87 | "change": "N/A", 88 | "change-label": "N/A" 89 | }, 90 | "physicalweb": { 91 | "count": "N/A", 92 | "change": "N/A", 93 | "change-label": "N/A" 94 | } 95 | }, 96 | "twitterreach": { 97 | "pwas": { 98 | "count": 71440, 99 | "change": -76.4, 100 | "change-label": "5 days", 101 | "link": "https://tweetreach.com/reports/19363243" 102 | }, 103 | "webvr": { 104 | "count": 472300, 105 | "change": 101.4, 106 | "change-label": "5 days", 107 | "link": "https://tweetreach.com/reports/19363253" 108 | }, 109 | "webpayments": { 110 | "count": 793943, 111 | "change": 104.6, 112 | "change-label": "5 days", 113 | "link": "https://tweetreach.com/reports/19363275" 114 | }, 115 | "physicalweb": { 116 | "count": 31419, 117 | "change": -9.3, 118 | "change-label": "5 days", 119 | "link": "https://tweetreach.com/reports/19363301" 120 | } 121 | } 122 | } -------------------------------------------------------------------------------- /data/archive/general/2017-07-03-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-07-03", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 989, 7 | "change": 127, 8 | "change-label": "20 days" 9 | } 10 | }, 11 | "engagement": { 12 | "views": { 13 | "count": 29661, 14 | "change": 4.3, 15 | "change-label": "20 days" 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 864, 23 | "change": 73 24 | } 25 | }, 26 | "engagement": { 27 | "impressions": { 28 | "count": 42000, 29 | "change": -50.8 30 | }, 31 | "mentions": { 32 | "count": 190, 33 | "change": -30.9 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 177, 41 | "change": 21 42 | }, 43 | "reach": { 44 | "count": 2741, 45 | "change": -13.0 46 | } 47 | }, 48 | "engagement": { 49 | "likes": { 50 | "count": 21, 51 | "change": -70.0 52 | }, 53 | "views": { 54 | "count": 80, 55 | "change": -53.0 56 | }, 57 | "engagements": { 58 | "count": 384, 59 | "change": -11.0 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 27, 67 | "change": 8, 68 | "change-label": "20 days" 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 30, 75 | "change": 5, 76 | "change-label": "20 days", 77 | "link": "https://webvr.io/" 78 | }, 79 | "webpayments": { 80 | "count": 36, 81 | "change": 0, 82 | "change-label": "20 days", 83 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 84 | }, 85 | "pwas": { 86 | "count": "N/A", 87 | "change": "N/A", 88 | "change-label": "N/A" 89 | }, 90 | "physicalweb": { 91 | "count": "N/A", 92 | "change": "N/A", 93 | "change-label": "N/A" 94 | } 95 | }, 96 | "twitterreach": { 97 | "pwas": { 98 | "count": 107432, 99 | "change": -64.5, 100 | "change-label": "20 days", 101 | "link": "https://tweetreach.com/reports/19436709" 102 | }, 103 | "webvr": { 104 | "count": 865295, 105 | "change": 267.3, 106 | "change-label": "20 days", 107 | "link": "https://tweetreach.com/reports/19436727" 108 | }, 109 | "webpayments": { 110 | "count": 209990, 111 | "change": -45.9, 112 | "change-label": "20 days", 113 | "link": "https://tweetreach.com/reports/19436741" 114 | }, 115 | "physicalweb": { 116 | "count": 109359, 117 | "change": 215.7, 118 | "change-label": "20 days", 119 | "link": "https://tweetreach.com/reports/19436755" 120 | } 121 | } 122 | } -------------------------------------------------------------------------------- /data/archive/general/2017-07-11-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-07-11", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 1000, 7 | "change": 138, 8 | "change-label": "28 days" 9 | } 10 | }, 11 | "engagement": { 12 | "views": { 13 | "count": 37590, 14 | "change": 29.5, 15 | "change-label": "28 days" 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 889, 23 | "change": 69 24 | } 25 | }, 26 | "engagement": { 27 | "impressions": { 28 | "count": 38500, 29 | "change": -42.6 30 | }, 31 | "mentions": { 32 | "count": 200, 33 | "change": 0 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 183, 41 | "change": 4 42 | }, 43 | "reach": { 44 | "count": 50, 45 | "change": -92.0 46 | } 47 | }, 48 | "engagement": { 49 | "likes": { 50 | "count": 16, 51 | "change": -78.0 52 | }, 53 | "views": { 54 | "count": 67, 55 | "change": -64.0 56 | }, 57 | "engagements": { 58 | "count": 351, 59 | "change": -10.0 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 30, 67 | "change": 11, 68 | "change-label": "28 days" 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 33, 75 | "change": 2, 76 | "change-label": "28 days", 77 | "link": "https://webvr.io/" 78 | }, 79 | "webpayments": { 80 | "count": 38, 81 | "change": -2, 82 | "change-label": "28 days", 83 | "link": "https://samsunginter.net/docs/web-payments" 84 | }, 85 | "pwas": { 86 | "count": "13", 87 | "change": "N/A", 88 | "change-label": "New", 89 | "link": "https://medium.com/samsung-internet-dev/a-beginners-guide-to-making-progressive-web-apps-beb56224948e" 90 | }, 91 | "physicalweb": { 92 | "count": "N/A", 93 | "change": "N/A", 94 | "change-label": "N/A" 95 | } 96 | } 97 | } -------------------------------------------------------------------------------- /data/archive/general/2017-07-18-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-07-18", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 1100, 7 | "change": 200, 8 | "change-label": "28 days" 9 | } 10 | }, 11 | "engagement": { 12 | "views": { 13 | "count": 40735, 14 | "change": 49.2, 15 | "change-label": "28 days" 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 904, 23 | "change": 60 24 | } 25 | }, 26 | "engagement": { 27 | "impressions": { 28 | "count": 39700, 29 | "change": -21.0 30 | }, 31 | "mentions": { 32 | "count": 170, 33 | "change": -21.3 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 185, 41 | "change": 13 42 | }, 43 | "reach": { 44 | "count": 898, 45 | "change": -66.0 46 | } 47 | }, 48 | "engagement": { 49 | "likes": { 50 | "count": 21, 51 | "change": -5.0 52 | }, 53 | "views": { 54 | "count": 67, 55 | "change": -64.0 56 | }, 57 | "engagements": { 58 | "count": 237, 59 | "change": -28.0 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 31, 67 | "change": 10, 68 | "change-label": "28 days" 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 31, 75 | "change": 7, 76 | "change-label": "28 days", 77 | "link": "https://webvr.io/" 78 | }, 79 | "webpayments": { 80 | "count": 28, 81 | "change": 3, 82 | "change-label": "28 days", 83 | "link": "https://samsunginter.net/docs/web-payments" 84 | }, 85 | "pwas": { 86 | "count": "N/A", 87 | "change": "N/A", 88 | "change-label": "N/A" 89 | }, 90 | "physicalweb": { 91 | "count": "N/A", 92 | "change": "N/A", 93 | "change-label": "N/A" 94 | } 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /data/archive/general/2017-07-24-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-07-24", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 1100 7 | } 8 | }, 9 | "engagement": { 10 | "views": { 11 | "count": 45441 12 | } 13 | } 14 | }, 15 | "twitter": { 16 | "audience": { 17 | "followers": { 18 | "count": 934 19 | } 20 | }, 21 | "engagement": { 22 | "impressions": { 23 | "count": 57100 24 | }, 25 | "mentions": { 26 | "count": 169 27 | } 28 | } 29 | }, 30 | "facebook": { 31 | "audience": { 32 | "followers": { 33 | "count": 198 34 | }, 35 | "reach": { 36 | "count": 1058 37 | } 38 | }, 39 | "engagement": { 40 | "likes": { 41 | "count": 23 42 | }, 43 | "views": { 44 | "count": 53 45 | }, 46 | "engagements": { 47 | "count": 272 48 | } 49 | } 50 | }, 51 | "instagram": { 52 | "audience": { 53 | "followers": { 54 | "count": 31 55 | } 56 | } 57 | }, 58 | "seo": { 59 | "webvr": { 60 | "count": 31, 61 | "link": "https://webvr.io/" 62 | }, 63 | "webpayments": { 64 | "count": 29, 65 | "link": "https://samsunginter.net/docs/web-payments" 66 | }, 67 | "pwas": { 68 | "count": "N/A" 69 | }, 70 | "physicalweb": { 71 | "count": "N/A" 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /data/archive/general/2017-08-01-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-08-01", 3 | "medium": { 4 | "audience": { 5 | "followers": { 6 | "count": 1200 7 | } 8 | }, 9 | "engagement": { 10 | "views": { 11 | "count": 46312 12 | } 13 | } 14 | }, 15 | "twitter": { 16 | "audience": { 17 | "followers": { 18 | "count": 967 19 | } 20 | }, 21 | "engagement": { 22 | "impressions": { 23 | "count": 71400 24 | }, 25 | "mentions": { 26 | "count": 148 27 | } 28 | } 29 | }, 30 | "facebook": { 31 | "audience": { 32 | "followers": { 33 | "count": 204 34 | }, 35 | "reach": { 36 | "count": 788 37 | } 38 | }, 39 | "engagement": { 40 | "likes": { 41 | "count": 27 42 | }, 43 | "views": { 44 | "count": 53 45 | }, 46 | "engagements": { 47 | "count": 158 48 | } 49 | } 50 | }, 51 | "instagram": { 52 | "audience": { 53 | "followers": { 54 | "count": 33 55 | } 56 | } 57 | }, 58 | "seo": { 59 | "webvr": { 60 | "count": 63, 61 | "link": "https://webvr.io/showcase/" 62 | }, 63 | "webpayments": { 64 | "count": 22, 65 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 66 | }, 67 | "pwas": { 68 | "count": 20, 69 | "link": "https://medium.com/samsung-internet-dev/a-beginners-guide-to-making-progressive-web-apps-beb56224948e" 70 | }, 71 | "physicalweb": { 72 | "count": "N/A" 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /data/archive/general/2017-08-07-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-08-07", 3 | "devhub": { 4 | "audience": { 5 | "uniquevisitors": { 6 | "count": 4329 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 1200 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 36363 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 972 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 69600 31 | }, 32 | "mentions": { 33 | "count": 140 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 206 41 | }, 42 | "reach": { 43 | "count": 757 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 24 49 | }, 50 | "views": { 51 | "count": 54 52 | }, 53 | "engagements": { 54 | "count": 121 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 33 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": "N/A" 68 | }, 69 | "webpayments": { 70 | "count": 30, 71 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 72 | }, 73 | "pwas": { 74 | "count": 14, 75 | "link": "https://medium.com/samsung-internet-dev/a-beginners-guide-to-making-progressive-web-apps-beb56224948e" 76 | }, 77 | "physicalweb": { 78 | "count": "N/A" 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /data/archive/general/2017-08-14-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-08-14", 3 | "devhub": { 4 | "audience": { 5 | "uniquevisitors": { 6 | "count": 4606 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 1300 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 42852 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 990 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 83500 31 | }, 32 | "mentions": { 33 | "count": 178 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 211 41 | }, 42 | "reach": { 43 | "count": 1288 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 19 49 | }, 50 | "views": { 51 | "count": 55 52 | }, 53 | "engagements": { 54 | "count": 146 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 33 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": "N/A" 68 | }, 69 | "webpayments": { 70 | "count": 28, 71 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 72 | }, 73 | "pwas": { 74 | "count": 14, 75 | "link": "https://medium.com/samsung-internet-dev/a-beginners-guide-to-making-progressive-web-apps-beb56224948e" 76 | }, 77 | "physicalweb": { 78 | "count": "N/A" 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /data/archive/general/2017-08-19-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-08-19", 3 | "devhub": { 4 | "audience": { 5 | "uniquevisitors": { 6 | "count": 4537 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 1300 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 41652 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1001 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 76100 31 | }, 32 | "mentions": { 33 | "count": 204 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 214 41 | }, 42 | "reach": { 43 | "count": 1024 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 16 49 | }, 50 | "views": { 51 | "count": 51 52 | }, 53 | "engagements": { 54 | "count": 105 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 32 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": "N/A" 68 | }, 69 | "webpayments": { 70 | "count": 27, 71 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 72 | }, 73 | "pwas": { 74 | "count": 19, 75 | "link": "https://medium.com/samsung-internet-dev/a-beginners-guide-to-making-progressive-web-apps-beb56224948e" 76 | }, 77 | "physicalweb": { 78 | "count": "N/A" 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /data/archive/general/2017-09-12-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-09-12", 3 | "devhub": { 4 | "audience": { 5 | "uniquevisitors": { 6 | "count": 4242 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 1700 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 19543 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1058 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 45300 31 | }, 32 | "mentions": { 33 | "count": 179 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 225 41 | }, 42 | "reach": { 43 | "count": 527 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 14 49 | }, 50 | "views": { 51 | "count": 55 52 | }, 53 | "engagements": { 54 | "count": 143 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 35 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": "N/A" 68 | }, 69 | "webpayments": { 70 | "count": 27, 71 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 72 | }, 73 | "pwas": { 74 | "count": 19, 75 | "link": "https://medium.com/samsung-internet-dev/a-beginners-guide-to-making-progressive-web-apps-beb56224948e" 76 | }, 77 | "physicalweb": { 78 | "count": "N/A" 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /data/archive/general/2017-09-26-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-09-26", 3 | "devhub": { 4 | "audience": { 5 | "uniquevisitors": { 6 | "count": 11603 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 1700 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 16271 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1085 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 41300 31 | }, 32 | "mentions": { 33 | "count": 212 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 234 41 | }, 42 | "reach": { 43 | "count": 527 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 16 49 | }, 50 | "views": { 51 | "count": 41 52 | }, 53 | "engagements": { 54 | "count": 137 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 36 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": 14, 68 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 69 | }, 70 | "webpayments": { 71 | "count": 27, 72 | "link": "https://samsunginter.net/docs/web-payments" 73 | }, 74 | "pwas": { 75 | "count": "N/A" 76 | }, 77 | "physicalweb": { 78 | "count": "N/A" 79 | } 80 | } 81 | } -------------------------------------------------------------------------------- /data/archive/general/2017-10-10-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-10-10", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 16167 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 1800 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 14349 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1115 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 63700 31 | }, 32 | "mentions": { 33 | "count": 253 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 243 41 | }, 42 | "reach": { 43 | "count": 17277 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 22 49 | }, 50 | "views": { 51 | "count": 61 52 | }, 53 | "engagements": { 54 | "count": 225 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 39 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": "N/A" 68 | }, 69 | "webPayments": { 70 | "count": 27, 71 | "link": "https://samsunginter.net/docs/web-payments" 72 | }, 73 | "pwas": { 74 | "count": "N/A" 75 | }, 76 | "physicalWeb": { 77 | "count": "N/A" 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /data/archive/general/2017-10-24-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-10-24", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 14447 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 1940 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 29085 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1162 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 79400 31 | }, 32 | "mentions": { 33 | "count": 226 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 258 41 | }, 42 | "reach": { 43 | "count": 18765 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 29 49 | }, 50 | "views": { 51 | "count": 120 52 | }, 53 | "engagements": { 54 | "count": 420 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 43 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": "N/A" 68 | }, 69 | "webPayments": { 70 | "count": 27, 71 | "link": "https://samsunginter.net/docs/web-payments" 72 | }, 73 | "pwas": { 74 | "count": "N/A" 75 | }, 76 | "physicalWeb": { 77 | "count": "N/A" 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /data/archive/general/2017-10-31-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-10-31", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 13101 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2000 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 38186 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1189 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 46700 31 | }, 32 | "mentions": { 33 | "count": 248 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 263 41 | }, 42 | "reach": { 43 | "count": 18826 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 30 49 | }, 50 | "views": { 51 | "count": 129 52 | }, 53 | "engagements": { 54 | "count": 455 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 45 62 | } 63 | } 64 | }, 65 | "seo": { 66 | "webvr": { 67 | "count": "N/A" 68 | }, 69 | "webPayments": { 70 | "count": 27, 71 | "link": "https://samsunginter.net/docs/web-payments" 72 | }, 73 | "pwas": { 74 | "count": "N/A" 75 | }, 76 | "physicalWeb": { 77 | "count": "N/A" 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /data/archive/general/2017-11-06-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-11-06", 3 | "devHub": { 4 | "audience": { 5 | } 6 | }, 7 | "medium": { 8 | "audience": { 9 | "followers": { 10 | "count": 2000 11 | } 12 | }, 13 | "engagement": { 14 | "views": { 15 | "count": 46345 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 1198 23 | } 24 | }, 25 | "engagement": { 26 | "impressions": { 27 | "count": 85600 28 | }, 29 | "mentions": { 30 | "count": 318 31 | } 32 | } 33 | }, 34 | "facebook": { 35 | "audience": { 36 | "followers": { 37 | "count": 267 38 | }, 39 | "reach": { 40 | "count": 6976 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 27 46 | }, 47 | "views": { 48 | "count": 121 49 | }, 50 | "engagements": { 51 | "count": 394 52 | } 53 | } 54 | }, 55 | "instagram": { 56 | "audience": { 57 | "followers": { 58 | "count": 45 59 | } 60 | } 61 | }, 62 | "seo": { 63 | "webvr": { 64 | "count": 55, 65 | "link": "https://samsunginter.net/docs/webvr" 66 | }, 67 | "webPayments": { 68 | "count": 12, 69 | "link": "https://samsunginter.net/docs/web-payments" 70 | }, 71 | "pwas": { 72 | "count": 12, 73 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 74 | }, 75 | "physicalWeb": { 76 | "count": 53, 77 | "link": "https://samsunginter.net/docs/physical-web" 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /data/archive/general/2017-11-13-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-11-13", 3 | "devHub": { 4 | "audience": { 5 | } 6 | }, 7 | "medium": { 8 | "audience": { 9 | "followers": { 10 | "count": 2000 11 | } 12 | }, 13 | "engagement": { 14 | "views": { 15 | "count": 45737 16 | } 17 | } 18 | }, 19 | "twitter": { 20 | "audience": { 21 | "followers": { 22 | "count": 1214 23 | } 24 | }, 25 | "engagement": { 26 | "impressions": { 27 | "count": 86100 28 | }, 29 | "mentions": { 30 | "count": 377 31 | } 32 | } 33 | }, 34 | "facebook": { 35 | "audience": { 36 | "followers": { 37 | "count": 273 38 | }, 39 | "reach": { 40 | "count": 6046 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 29 46 | }, 47 | "views": { 48 | "count": 128 49 | }, 50 | "engagements": { 51 | "count": 353 52 | } 53 | } 54 | }, 55 | "instagram": { 56 | "audience": { 57 | "followers": { 58 | "count": 46 59 | } 60 | } 61 | }, 62 | "github": { 63 | "issues": { 64 | "closeTimeAvg": { 65 | "count": 5 66 | } 67 | } 68 | }, 69 | "seo": { 70 | "webvr": { 71 | "count": 48, 72 | "link": "https://samsunginter.net/docs/webvr" 73 | }, 74 | "webPayments": { 75 | "count": 13, 76 | "link": "https://samsunginter.net/docs/web-payments" 77 | }, 78 | "pwas": { 79 | "count": 12, 80 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 81 | }, 82 | "physicalWeb": { 83 | "count": 51, 84 | "link": "https://samsunginter.net/docs/physical-web" 85 | } 86 | } 87 | } -------------------------------------------------------------------------------- /data/archive/general/2017-11-20-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-11-20", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 13168 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2000 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 38721 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1230 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 71600 31 | }, 32 | "mentions": { 33 | "count": 349 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 274 41 | }, 42 | "reach": { 43 | "count": 5644 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 18 49 | }, 50 | "views": { 51 | "count": 87 52 | }, 53 | "engagements": { 54 | "count": 228 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 47 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 48, 75 | "link": "https://samsunginter.net/docs/webvr" 76 | }, 77 | "webPayments": { 78 | "count": 13, 79 | "link": "https://samsunginter.net/docs/web-payments" 80 | }, 81 | "pwas": { 82 | "count": 12, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 51, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2017-11-27-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-11-27", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 13043 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2100 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 36783 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1239 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 65000 31 | }, 32 | "mentions": { 33 | "count": 344 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 278 41 | }, 42 | "reach": { 43 | "count": 5648 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 16 49 | }, 50 | "views": { 51 | "count": 89 52 | }, 53 | "engagements": { 54 | "count": 211 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 48 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 32, 75 | "link": "https://samsunginter.net/docs/webvr" 76 | }, 77 | "webPayments": { 78 | "count": 10, 79 | "link": "https://medium.com/samsung-internet-dev/how-to-take-payments-on-the-web-with-the-payment-request-api-a523f6fc7c1f" 80 | }, 81 | "pwas": { 82 | "count": 12, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 61, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2017-12-04-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-12-04", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 13918 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2100 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 31817 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1260 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 57000 31 | }, 32 | "mentions": { 33 | "count": 266 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 287 41 | }, 42 | "reach": { 43 | "count": 1714 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 16 49 | }, 50 | "views": { 51 | "count": 92 52 | }, 53 | "engagements": { 54 | "count": 204 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 46 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 30, 75 | "link": "https://samsunginter.net/docs/webvr" 76 | }, 77 | "webPayments": { 78 | "count": 9, 79 | "link": "https://samsunginter.net/docs/web-payments" 80 | }, 81 | "pwas": { 82 | "count": 11, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 55, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2017-12-12-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2017-12-12", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | } 7 | } 8 | }, 9 | "medium": { 10 | "audience": { 11 | "followers": { 12 | "count": 2100 13 | } 14 | }, 15 | "engagement": { 16 | "views": { 17 | "count": 31270 18 | } 19 | } 20 | }, 21 | "twitter": { 22 | "audience": { 23 | "followers": { 24 | "count": 1269 25 | } 26 | }, 27 | "engagement": { 28 | "impressions": { 29 | "count": 54600 30 | }, 31 | "mentions": { 32 | "count": 187 33 | } 34 | } 35 | }, 36 | "facebook": { 37 | "audience": { 38 | "followers": { 39 | "count": 288 40 | }, 41 | "reach": { 42 | "count": 1238 43 | } 44 | }, 45 | "engagement": { 46 | "likes": { 47 | "count": 16 48 | }, 49 | "views": { 50 | "count": 93 51 | }, 52 | "engagements": { 53 | "count": 154 54 | } 55 | } 56 | }, 57 | "instagram": { 58 | "audience": { 59 | "followers": { 60 | "count": 50 61 | } 62 | } 63 | }, 64 | "github": { 65 | "issues": { 66 | "closeTimeAvg": { 67 | "count": 5 68 | } 69 | } 70 | }, 71 | "seo": { 72 | "webvr": { 73 | "count": 30, 74 | "link": "https://samsunginter.net/docs/webvr" 75 | }, 76 | "webPayments": { 77 | "count": 9, 78 | "link": "https://samsunginter.net/docs/web-payments" 79 | }, 80 | "pwas": { 81 | "count": 11, 82 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 83 | }, 84 | "physicalWeb": { 85 | "count": 55, 86 | "link": "https://samsunginter.net/docs/physical-web" 87 | } 88 | } 89 | } -------------------------------------------------------------------------------- /data/archive/general/2018-01-08-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-01-08", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 14954 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2200 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 31916 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1298 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 50400 31 | }, 32 | "mentions": { 33 | "count": 71 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 306 41 | }, 42 | "reach": { 43 | "count": 772 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 19 49 | }, 50 | "views": { 51 | "count": 99 52 | }, 53 | "engagements": { 54 | "count": 110 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 50 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 30, 75 | "link": "https://samsunginter.net/docs/webvr" 76 | }, 77 | "webPayments": { 78 | "count": 9, 79 | "link": "https://samsunginter.net/docs/web-payments" 80 | }, 81 | "pwas": { 82 | "count": 11, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 55, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-01-15-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-01-15", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 16795 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2300 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 25423 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1307 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 46500 31 | }, 32 | "mentions": { 33 | "count": 64 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 311 41 | }, 42 | "reach": { 43 | "count": 773 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 23 49 | }, 50 | "views": { 51 | "count": 127 52 | }, 53 | "engagements": { 54 | "count": 100 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 50 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 30, 75 | "link": "https://samsunginter.net/docs/webvr" 76 | }, 77 | "webPayments": { 78 | "count": 9, 79 | "link": "https://samsunginter.net/docs/web-payments" 80 | }, 81 | "pwas": { 82 | "count": 11, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 55, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-01-22-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-01-22", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 16795 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2300 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 30083 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1313 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 40500 31 | }, 32 | "mentions": { 33 | "count": 57 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 314 41 | }, 42 | "reach": { 43 | "count": 397 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 20 49 | }, 50 | "views": { 51 | "count": 127 52 | }, 53 | "engagements": { 54 | "count": 85 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 49 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 61, 75 | "link": "https://pusher.com/sessions/meetup/js-monthly-london/webvr-how-to-create-virtual-worlds-with-javascript" 76 | }, 77 | "webPayments": { 78 | "count": 55, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 6, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 62, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-01-29-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-01-29", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 20525 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2300 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 36199 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1319 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 45900 31 | }, 32 | "mentions": { 33 | "count": 100 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 317 41 | }, 42 | "reach": { 43 | "count": 424 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 23 49 | }, 50 | "views": { 51 | "count": 116 52 | }, 53 | "engagements": { 54 | "count": 88 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 49 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 23, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 17, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 8, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 49, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-02-05-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-02-05", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 21932 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2300 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 40437 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1335 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 52400 31 | }, 32 | "mentions": { 33 | "count": 102 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 320 41 | }, 42 | "reach": { 43 | "count": 683 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 18 49 | }, 50 | "views": { 51 | "count": 94 52 | }, 53 | "engagements": { 54 | "count": 108 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 50 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 47, 75 | "link": "https://pusher.com/sessions/meetup/js-monthly-london/webvr-how-to-create-virtual-worlds-with-javascript" 76 | }, 77 | "webPayments": { 78 | "count": 38, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 6, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /data/archive/general/2018-02-12-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-02-12", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 21788 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2400 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 40576 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1342 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 42700 31 | }, 32 | "mentions": { 33 | "count": 109 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 323 41 | }, 42 | "reach": { 43 | "count": 696 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 13 49 | }, 50 | "views": { 51 | "count": 75 52 | }, 53 | "engagements": { 54 | "count": 109 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 51 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 45, 75 | "link": "https://pusher.com/sessions/meetup/js-monthly-london/webvr-how-to-create-virtual-worlds-with-javascript" 76 | }, 77 | "webPayments": { 78 | "count": 35, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 12, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 72, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-02-19-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-02-19", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 20849 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2400 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 40637 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1353 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 38800 31 | }, 32 | "mentions": { 33 | "count": 103 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 326 41 | }, 42 | "reach": { 43 | "count": 840 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 15 49 | }, 50 | "views": { 51 | "count": 70 52 | }, 53 | "engagements": { 54 | "count": 125 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 51 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 19, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 41, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 9, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 62, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-02-26-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-02-26", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 21074 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2500 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 40574 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1371 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 49000 31 | }, 32 | "mentions": { 33 | "count": 84 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 336 41 | }, 42 | "reach": { 43 | "count": 1049 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 21 49 | }, 50 | "views": { 51 | "count": 93 52 | }, 53 | "engagements": { 54 | "count": 163 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 53 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | }, 75 | "webPayments": { 76 | "count": 47, 77 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 78 | }, 79 | "pwas": { 80 | "count": 15, 81 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 82 | }, 83 | "physicalWeb": { 84 | "count": 60, 85 | "link": "https://samsunginter.net/docs/physical-web" 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /data/archive/general/2018-03-05-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-03-05", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 21391 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2500 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 39380 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1392 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 39800 31 | }, 32 | "mentions": { 33 | "count": 102 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 344 41 | }, 42 | "reach": { 43 | "count": 921 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 26 49 | }, 50 | "views": { 51 | "count": 116 52 | }, 53 | "engagements": { 54 | "count": 133 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 53 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 5 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 39, 75 | "link": "https://samsunginter.net/docs/webvr" 76 | }, 77 | "webPayments": { 78 | "count": 20, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 10, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "physicalWeb": { 86 | "count": 48, 87 | "link": "https://samsunginter.net/docs/physical-web" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-03-12-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-03-12", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 20416 7 | } 8 | }, 9 | "engagement": { 10 | "uniqueVisitors": { 11 | "count": 20416 12 | } 13 | } 14 | }, 15 | "medium": { 16 | "audience": { 17 | "followers": { 18 | "count": 2500 19 | } 20 | }, 21 | "engagement": { 22 | "views": { 23 | "count": 44018 24 | } 25 | } 26 | }, 27 | "twitter": { 28 | "audience": { 29 | "followers": { 30 | "count": 1418 31 | } 32 | }, 33 | "engagement": { 34 | "impressions": { 35 | "count": 75200 36 | }, 37 | "mentions": { 38 | "count": 165 39 | } 40 | } 41 | }, 42 | "facebook": { 43 | "audience": { 44 | "followers": { 45 | "count": 365 46 | }, 47 | "reach": { 48 | "count": 983 49 | } 50 | }, 51 | "engagement": { 52 | "likes": { 53 | "count": 43 54 | }, 55 | "views": { 56 | "count": 136 57 | }, 58 | "engagements": { 59 | "count": 190 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 56 67 | } 68 | } 69 | }, 70 | "github": { 71 | "issues": { 72 | "closeTimeAvg": { 73 | "count": 5 74 | } 75 | } 76 | }, 77 | "seo": { 78 | "webvr": { 79 | "count": 126, 80 | "link": "https://www.hanselminutes.com/565/discovering-webvr-with-ada-rose-edwards" 81 | }, 82 | "webPayments": { 83 | "count": 38, 84 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 85 | }, 86 | "pwas": { 87 | "count": 10, 88 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 89 | }, 90 | "physicalWeb": { 91 | "count": 64, 92 | "link": "https://samsunginter.net/docs/physical-web" 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /data/archive/general/2018-03-19-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-03-19", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 20599 7 | } 8 | }, 9 | "engagement": { 10 | "uniqueVisitors": { 11 | "count": 20599 12 | } 13 | } 14 | }, 15 | "medium": { 16 | "audience": { 17 | "followers": { 18 | "count": 2600 19 | } 20 | }, 21 | "engagement": { 22 | "views": { 23 | "count": 45323 24 | } 25 | } 26 | }, 27 | "twitter": { 28 | "audience": { 29 | "followers": { 30 | "count": 1441 31 | } 32 | }, 33 | "engagement": { 34 | "impressions": { 35 | "count": 84700 36 | }, 37 | "mentions": { 38 | "count": 191 39 | } 40 | } 41 | }, 42 | "facebook": { 43 | "audience": { 44 | "followers": { 45 | "count": 376 46 | }, 47 | "reach": { 48 | "count": 1454 49 | } 50 | }, 51 | "engagement": { 52 | "likes": { 53 | "count": 56 54 | }, 55 | "views": { 56 | "count": 165 57 | }, 58 | "engagements": { 59 | "count": 202 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 60 67 | } 68 | } 69 | }, 70 | "github": { 71 | "issues": { 72 | "closeTimeAvg": { 73 | "count": 5 74 | } 75 | } 76 | }, 77 | "seo": { 78 | "webvr": { 79 | "count": 21, 80 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 81 | }, 82 | "webPayments": { 83 | "count": 13, 84 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 85 | }, 86 | "pwas": { 87 | "count": 8, 88 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 89 | }, 90 | "physicalWeb": { 91 | "count": 96, 92 | "link": "https://samsunginter.net/docs/physical-web" 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /data/archive/general/2018-03-27-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-03-27", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 20896 7 | } 8 | }, 9 | "engagement": { 10 | "uniqueVisitors": { 11 | "count": 20896 12 | } 13 | } 14 | }, 15 | "medium": { 16 | "audience": { 17 | "followers": { 18 | "count": 2600 19 | } 20 | }, 21 | "engagement": { 22 | "views": { 23 | "count": 45158 24 | } 25 | } 26 | }, 27 | "twitter": { 28 | "audience": { 29 | "followers": { 30 | "count": 1469 31 | } 32 | }, 33 | "engagement": { 34 | "impressions": { 35 | "count": 85800 36 | }, 37 | "mentions": { 38 | "count": 184 39 | } 40 | } 41 | }, 42 | "facebook": { 43 | "audience": { 44 | "followers": { 45 | "count": 382 46 | }, 47 | "reach": { 48 | "count": 1218 49 | } 50 | }, 51 | "engagement": { 52 | "likes": { 53 | "count": 53 54 | }, 55 | "views": { 56 | "count": 160 57 | }, 58 | "engagements": { 59 | "count": 144 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 59 67 | } 68 | } 69 | }, 70 | "github": { 71 | "issues": { 72 | "closeTimeAvg": { 73 | "count": 5 74 | } 75 | } 76 | }, 77 | "seo": { 78 | "webvr": { 79 | "count": 11, 80 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 81 | }, 82 | "webPayments": { 83 | "count": 14, 84 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 85 | }, 86 | "pwas": { 87 | "count": 7, 88 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 89 | }, 90 | "webBluetooth": { 91 | "count": 23, 92 | "link": "https://peteroshaughnessy.com/posts/web-bluetooth-controlling-the-real-world/" 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /data/archive/general/2018-04-02-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-04-02", 3 | "devHub": { 4 | "audience": { 5 | "uniqueVisitors": { 6 | "count": 20388 7 | } 8 | }, 9 | "engagement": { 10 | "uniqueVisitors": { 11 | "count": 20388 12 | } 13 | } 14 | }, 15 | "medium": { 16 | "audience": { 17 | "followers": { 18 | "count": 2600 19 | } 20 | }, 21 | "engagement": { 22 | "views": { 23 | "count": 45597 24 | } 25 | } 26 | }, 27 | "twitter": { 28 | "audience": { 29 | "followers": { 30 | "count": 1483 31 | } 32 | }, 33 | "engagement": { 34 | "impressions": { 35 | "count": 87700 36 | }, 37 | "mentions": { 38 | "count": 174 39 | } 40 | } 41 | }, 42 | "facebook": { 43 | "audience": { 44 | "followers": { 45 | "count": 391 46 | }, 47 | "reach": { 48 | "count": 1420 49 | } 50 | }, 51 | "engagement": { 52 | "likes": { 53 | "count": 53 54 | }, 55 | "views": { 56 | "count": 176 57 | }, 58 | "engagements": { 59 | "count": 184 60 | } 61 | } 62 | }, 63 | "instagram": { 64 | "audience": { 65 | "followers": { 66 | "count": 59 67 | } 68 | } 69 | }, 70 | "github": { 71 | "issues": { 72 | "closeTimeAvg": { 73 | "count": 3 74 | } 75 | } 76 | }, 77 | "seo": { 78 | "webvr": { 79 | "count": 16, 80 | "link": "https://samsunginter.net/docs/webvr" 81 | }, 82 | "webPayments": { 83 | "count": 12, 84 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 85 | }, 86 | "pwas": { 87 | "count": 9, 88 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 89 | }, 90 | "webBluetooth": { 91 | "count": 36, 92 | "link": "https://samsunginter.net/docs/web-bluetooth" 93 | } 94 | } 95 | } -------------------------------------------------------------------------------- /data/archive/general/2018-04-09-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-04-09", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 19191 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2600 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 41033 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1486 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 54400 31 | }, 32 | "mentions": { 33 | "count": 142 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 394 41 | }, 42 | "reach": { 43 | "count": 1311 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 38 49 | }, 50 | "views": { 51 | "count": 175 52 | }, 53 | "engagements": { 54 | "count": 150 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 59 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 14, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 12, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 6, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 34, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-04-16-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-04-16", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 17929 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2700 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 49398 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1494 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 52300 31 | }, 32 | "mentions": { 33 | "count": 149 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 400 41 | }, 42 | "reach": { 43 | "count": 769 44 | } 45 | }, 46 | "engagement": { 47 | "likes": { 48 | "count": 27 49 | }, 50 | "views": { 51 | "count": 146 52 | }, 53 | "engagements": { 54 | "count": 118 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 60 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 14, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 12, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 6, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 34, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-04-24-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-04-24", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 16847 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2700 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 40778 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1517 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 43600 31 | }, 32 | "mentions": { 33 | "count": 205 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 403 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 23 46 | }, 47 | "views": { 48 | "count": 154 49 | }, 50 | "engagements": { 51 | "count": 113 52 | }, 53 | "reach": { 54 | "count": 459 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 60 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 20, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 35, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 12, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 29, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-04-30-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-04-30", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 16503 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2700 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 39967 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1530 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 39400 31 | }, 32 | "mentions": { 33 | "count": 230 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 403 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 15 46 | }, 47 | "views": { 48 | "count": 124 49 | }, 50 | "engagements": { 51 | "count": 67 52 | }, 53 | "reach": { 54 | "count": 135 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 60 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 10, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 35, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 83 | }, 84 | "webBluetooth": { 85 | "count": 31, 86 | "link": "https://samsunginter.net/docs/web-bluetooth" 87 | } 88 | } 89 | } -------------------------------------------------------------------------------- /data/archive/general/2018-05-08-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-05-08", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 17091 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2800 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 41439 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1548 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 37500 31 | }, 32 | "mentions": { 33 | "count": 274 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 409 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 16 46 | }, 47 | "views": { 48 | "count": 100 49 | }, 50 | "engagements": { 51 | "count": 63 52 | }, 53 | "reach": { 54 | "count": 229 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 59 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 12, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 20, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 12, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 33, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-05-14-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-05-14", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 17153 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2800 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 40839 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1550 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 30700 31 | }, 32 | "mentions": { 33 | "count": 246 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 408 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 11 46 | }, 47 | "views": { 48 | "count": 91 49 | }, 50 | "engagements": { 51 | "count": 65 52 | }, 53 | "reach": { 54 | "count": 226 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 60 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 13, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 21, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 13, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 25, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-05-21-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-05-21", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 16385 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2800 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 39383 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1563 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 23200 31 | }, 32 | "mentions": { 33 | "count": 211 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 410 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 9 46 | }, 47 | "views": { 48 | "count": 66 49 | }, 50 | "engagements": { 51 | "count": 71 52 | }, 53 | "reach": { 54 | "count": 244 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 61 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 18, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 33, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 14, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 42, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/general/2018-05-30-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-05-30", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 15167 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2800 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 38591 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1567 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 48200 31 | }, 32 | "mentions": { 33 | "count": 160 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 411 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 10 46 | }, 47 | "views": { 48 | "count": 62 49 | }, 50 | "engagements": { 51 | "count": 65 52 | }, 53 | "reach": { 54 | "count": 234 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 62 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 8, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 20, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 17, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 37, 87 | "link": "https://peteroshaughnessy.com/posts/web-bluetooth-controlling-the-real-world/" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/archive/medium/2017-04-13-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 3/15/2017,364,387.00000000000006,373 3 | 3/16/2017,354,361,312 4 | 3/17/2017,261,256,270 5 | 3/18/2017,152,163.99999999999997,205.00000000000003 6 | 3/19/2017,167,167.00000000000003,138.00000000000003 7 | 3/20/2017,231,301,121.99999999999997 8 | 3/21/2017,353,465,221 9 | 3/22/2017,272,293,338.00000000000006 10 | 3/23/2017,192,224,217.00000000000003 11 | 3/24/2017,203,231.00000000000003,177 12 | 3/25/2017,76,109,177 13 | 3/26/2017,83,113.00000000000001,77.99999999999999 14 | 3/27/2017,148,205,84 15 | 3/28/2017,144,191.99999999999997,158.00000000000003 16 | 3/29/2017,459,466,148.00000000000003 17 | 3/30/2017,260,289,326 18 | 3/31/2017,145,229,202 19 | 4/1/2017,101,129.99999999999997,145.99999999999997 20 | 4/2/2017,116,132,103.00000000000001 21 | 4/3/2017,151,212,103.99999999999999 22 | 4/4/2017,123,186,133 23 | 4/5/2017,219,203,145.99999999999997 24 | 4/6/2017,129,207,152 25 | 4/7/2017,157,202,152.99999999999997 26 | 4/8/2017,103,124.00000000000001,142.99999999999997 27 | 4/9/2017,54,114.00000000000001,87 28 | 4/10/2017,145,209,81.00000000000001 29 | 4/11/2017,322,364,159 30 | 4/12/2017,216,263,295 31 | 4/13/2017,84,72,199.00000000000003 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-05-25-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 4/25/2017,6886,4339,3004 3 | 4/26/2017,4033,2563.9999999999995,4014 4 | 4/27/2017,1713,1206.9999999999998,2279 5 | 4/28/2017,626,498.9999999999999,1066 6 | 4/29/2017,629,516,434.0000000000001 7 | 4/30/2017,1386,1000,457.9999999999999 8 | 5/1/2017,3769,3062.9999999999995,918.9999999999998 9 | 5/2/2017,2891,2384.9999999999995,2671 10 | 5/3/2017,1776,1403,2014.9999999999998 11 | 5/4/2017,955,887,1244 12 | 5/5/2017,447,411.99999999999966,743 13 | 5/6/2017,476,441.99999999999994,339.0000000000002 14 | 5/7/2017,1472,1387.9999999999995,386 15 | 5/8/2017,1770,1421.9999999999998,1228.0000000000002 16 | 5/9/2017,1023,965,1173.9999999999998 17 | 5/10/2017,711,593.0000000000001,797.0000000000001 18 | 5/11/2017,769,834,474.99999999999994 19 | 5/12/2017,1166,1172.9999999999995,717.0000000000001 20 | 5/13/2017,615,628.0000000000001,1034.0000000000002 21 | 5/14/2017,1252,1221.9999999999995,532.9999999999998 22 | 5/15/2017,1159,1089.9999999999998,1041.9999999999998 23 | 5/16/2017,939,989.9999999999999,883.9999999999999 24 | 5/17/2017,1172,1088,808.0000000000002 25 | 5/18/2017,719,788.9999999999999,852.9999999999998 26 | 5/19/2017,440,441.99999999999994,616.0000000000002 27 | 5/20/2017,349,424.9999999999999,346 28 | 5/21/2017,988,1007,311.0000000000001 29 | 5/22/2017,883,873.9999999999999,829 30 | 5/23/2017,744,823.9999999999999,709.9999999999998 31 | 5/24/2017,451,551,629.9999999999998 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-06-14-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/14/2017,1224,1061.3437195715676,894.6125778063965 3 | 6/15/2017,992,963.9727361246349,758.9611504614721 4 | 6/16/2017,1237,1059.396299902629,693.7110968018886 5 | 6/17/2017,760,768.2570593963002,732.3459969950636 6 | 6/18/2017,465,430.37974683544337,528.8688559776776 7 | 6/19/2017,368,413.8266796494646,297.0594548186308 8 | 6/20/2017,1044,980.525803310613,267.01008800171724 9 | 6/21/2017,932,851.0223953261926,711.7407168920369 10 | 6/22/2017,786,802.336903602726,609.5728697145312 11 | 6/23/2017,591,629.9902629016552,540.8886027044431 12 | 6/24/2017,804,734.1772151898731,416.3983687486588 13 | 6/25/2017,335,373.9045764362219,504.82936252414675 14 | 6/26/2017,329,340.79844206426503,261.0002146383345 15 | 6/27/2017,498,589.0944498539435,233.52650783429908 16 | 6/28/2017,6000,5000,411.247048722902 17 | 6/29/2017,3362,2520.9347614410904,4000 18 | 6/30/2017,1547,1267.7702044790653,1990.9851899549258 19 | 7/1/2017,1230,941.5774099318405,967.589611504615 20 | 7/2/2017,462,440.1168451801362,673.1058166988623 21 | 7/3/2017,458,384.61538461538487,301.3522215067613 22 | 7/4/2017,779,641.6747809152872,287.61536810474354 23 | 7/5/2017,2306,1441.0905550146051,434.4279888388064 24 | 7/6/2017,1405,942.5511197663095,1079.201545396008 25 | 7/7/2017,972,773.1256085686463,685.9841167632537 26 | 7/8/2017,650,596.8841285296984,546.8984760678258 27 | 7/9/2017,378,358.3252190847127,433.5694355011805 28 | 7/10/2017,329,307.6923076923075,248.1219145739427 29 | 7/11/2017,581,600.7789678675755,224.9409744580382 30 | 7/12/2017,2103,1618.3057448880231,388.0661086069975 31 | 7/13/2017,677,489.77604673807235,1238.8924661944623 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-06-19-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 5/21/2017,368,413.8266796494646,297.0594548186308 3 | 5/22/2017,1044,980.525803310613,267.01008800171724 4 | 5/23/2017,932,851.0223953261926,711.7407168920369 5 | 5/24/2017,786,802.336903602726,609.5728697145312 6 | 5/25/2017,591,629.9902629016552,540.8886027044431 7 | 5/26/2017,804,734.1772151898731,416.3983687486588 8 | 5/27/2017,335,373.9045764362219,504.82936252414675 9 | 5/28/2017,329,340.79844206426503,261.0002146383345 10 | 5/29/2017,498,589.0944498539435,233.52650783429908 11 | 5/30/2017,6000,5000,411.247048722902 12 | 5/31/2017,3362,2520.9347614410904,4000 13 | 6/1/2017,1547,1267.7702044790653,1990.9851899549258 14 | 6/2/2017,1230,941.5774099318405,967.589611504615 15 | 6/3/2017,462,440.1168451801362,673.1058166988623 16 | 6/4/2017,458,384.61538461538487,301.3522215067613 17 | 6/5/2017,779,641.6747809152872,287.61536810474354 18 | 6/6/2017,2306,1441.0905550146051,434.4279888388064 19 | 6/7/2017,1405,942.5511197663095,1079.201545396008 20 | 6/8/2017,972,773.1256085686463,685.9841167632537 21 | 6/9/2017,650,596.8841285296984,546.8984760678258 22 | 6/10/2017,378,358.3252190847127,433.5694355011805 23 | 6/11/2017,329,307.6923076923075,248.1219145739427 24 | 6/12/2017,581,600.7789678675755,224.9409744580382 25 | 6/13/2017,2103,1618.3057448880231,388.0661086069975 26 | 6/14/2017,1328,1024.3427458617336,1238.8924661944623 27 | 6/15/2017,673,702.0447906523859,764.9710238248554 28 | 6/16/2017,550,544.3037974683547,449.02339557845056 29 | 6/17/2017,267,261.92794547224906,345.1384417256921 30 | 6/18/2017,274,251.21713729308667,196.6087143163769 31 | 6/19/2017,219,244.4011684518014,168.27645417471558 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-07-03-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/4/2017,434,395,351 3 | 6/5/2017,738,659,335 4 | 6/6/2017,2184,1480,506 5 | 6/7/2017,1331,968,1257 6 | 6/8/2017,920,794,799 7 | 6/9/2017,616,613,637 8 | 6/10/2017,358,368,505 9 | 6/11/2017,311,316,289 10 | 6/12/2017,550,617,262 11 | 6/13/2017,1992,1662,452 12 | 6/14/2017,1258,1052,1443 13 | 6/15/2017,637,721,891 14 | 6/16/2017,521,559,523 15 | 6/17/2017,253,269,402 16 | 6/18/2017,260,258,229 17 | 6/19/2017,449,470,196 18 | 6/20/2017,492,452,354 19 | 6/21/2017,430,423,367 20 | 6/22/2017,348,403,324 21 | 6/23/2017,355,351,303 22 | 6/24/2017,202,227,276 23 | 6/25/2017,200,266,166 24 | 6/26/2017,444,421,182 25 | 6/27/2017,323,338,330 26 | 6/28/2017,439,449,281 27 | 6/29/2017,377,410,348 28 | 6/30/2017,2635,2038,332 29 | 7/1/2017,5589,3630,1769 30 | 7/2/2017,6867,5417,3205 31 | 7/3/2017,4804,3635,4928 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-07-11-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/12/2017,550,617,262 3 | 6/13/2017,1992,1662,452 4 | 6/14/2017,1258,1052,1443 5 | 6/15/2017,637,721,891 6 | 6/16/2017,521,559,523 7 | 6/17/2017,253,269,402 8 | 6/18/2017,260,258,229 9 | 6/19/2017,449,470,196 10 | 6/20/2017,492,452,354 11 | 6/21/2017,430,423,367 12 | 6/22/2017,348,403,324 13 | 6/23/2017,355,351,303 14 | 6/24/2017,202,227,276 15 | 6/25/2017,200,266,166 16 | 6/26/2017,444,421,182 17 | 6/27/2017,323,338,330 18 | 6/28/2017,439,449,281 19 | 6/29/2017,377,410,348 20 | 6/30/2017,2635,2038,332 21 | 7/1/2017,5589,3630,1769 22 | 7/2/2017,6867,5417,3205 23 | 7/3/2017,5725,4288,4928 24 | 7/4/2017,1914,1427,3814 25 | 7/5/2017,6888,4029,1185 26 | 7/6/2017,5838,3473,3502 27 | 7/7/2017,1320,976,2911 28 | 7/8/2017,584,564,825 29 | 7/9/2017,743,594,460 30 | 7/10/2017,1920,1505,480 31 | 7/11/2017,307,301,1257 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-07-18-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/19/2017,449,470,196 3 | 6/20/2017,492,452,354 4 | 6/21/2017,430,423,367 5 | 6/22/2017,348,403,324 6 | 6/23/2017,355,351,303 7 | 6/24/2017,202,227,276 8 | 6/25/2017,200,266,166 9 | 6/26/2017,444,421,182 10 | 6/27/2017,323,338,330 11 | 6/28/2017,439,449,281 12 | 6/29/2017,377,410,348 13 | 6/30/2017,2635,2038,332 14 | 7/1/2017,5589,3630,1769 15 | 7/2/2017,6867,5417,3205 16 | 7/3/2017,5725,4288,4928 17 | 7/4/2017,1914,1427,3814 18 | 7/5/2017,6888,4029,1185 19 | 7/6/2017,5838,3473,3502 20 | 7/7/2017,1320,976,2911 21 | 7/8/2017,584,564,825 22 | 7/9/2017,743,594,460 23 | 7/10/2017,1920,1505,480 24 | 7/11/2017,1473,1291,1257 25 | 7/12/2017,2146,1797,1020 26 | 7/13/2017,3114,1963,1543 27 | 7/14/2017,1512,1159,1627 28 | 7/15/2017,589,596,959 29 | 7/16/2017,741,612,510 30 | 7/17/2017,1101,963,528 31 | 7/18/2017,267,203,810 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-07-24-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/25/2017,200,266,166 3 | 6/26/2017,444,421,182 4 | 6/27/2017,323,338,330 5 | 6/28/2017,439,449,281 6 | 6/29/2017,377,410,348 7 | 6/30/2017,2635,2038,332 8 | 7/1/2017,5589,3630,1769 9 | 7/2/2017,6867,5417,3205 10 | 7/3/2017,5725,4288,4928 11 | 7/4/2017,1914,1427,3814 12 | 7/5/2017,6888,4029,1185 13 | 7/6/2017,5838,3473,3502 14 | 7/7/2017,1320,976,2911 15 | 7/8/2017,584,564,825 16 | 7/9/2017,743,594,460 17 | 7/10/2017,1920,1505,480 18 | 7/11/2017,1473,1291,1257 19 | 7/12/2017,2146,1797,1020 20 | 7/13/2017,3114,1963,1543 21 | 7/14/2017,1512,1159,1627 22 | 7/15/2017,589,596,959 23 | 7/16/2017,741,612,510 24 | 7/17/2017,1101,963,528 25 | 7/18/2017,1010,931,810 26 | 7/19/2017,1378,1189,761 27 | 7/20/2017,1567,1476,915 28 | 7/21/2017,1196,1123,1186 29 | 7/22/2017,906,638,882 30 | 7/23/2017,648,515,535 31 | 7/24/2017,1267,1196,425 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-08-01-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 7/3/2017,5725,4288,4928 3 | 7/4/2017,1914,1427,3814 4 | 7/5/2017,6888,4029,1185 5 | 7/6/2017,5838,3473,3502 6 | 7/7/2017,1320,976,2911 7 | 7/8/2017,584,564,825 8 | 7/9/2017,743,594,460 9 | 7/10/2017,1920,1505,480 10 | 7/11/2017,1473,1291,1257 11 | 7/12/2017,2146,1797,1020 12 | 7/13/2017,3114,1963,1543 13 | 7/14/2017,1512,1159,1627 14 | 7/15/2017,589,596,959 15 | 7/16/2017,741,612,510 16 | 7/17/2017,1101,963,528 17 | 7/18/2017,1010,931,810 18 | 7/19/2017,1378,1189,761 19 | 7/20/2017,1567,1476,915 20 | 7/21/2017,1196,1123,1186 21 | 7/22/2017,906,638,882 22 | 7/23/2017,648,515,535 23 | 7/24/2017,3219,2887,425 24 | 7/25/2017,3695,3051,2408 25 | 7/26/2017,1980,1724,2494 26 | 7/27/2017,1786,1558,1353 27 | 7/28/2017,2405,2070,1270 28 | 7/29/2017,1411,1267,1689 29 | 7/30/2017,910,758,1083 30 | 7/31/2017,1986,1664,615 31 | 8/1/2017,209,224,1401 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-08-07-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 7/9/2017,743,594,460 3 | 7/10/2017,1920,1505,480 4 | 7/11/2017,1473,1291,1257 5 | 7/12/2017,2146,1797,1020 6 | 7/13/2017,3114,1963,1543 7 | 7/14/2017,1512,1159,1627 8 | 7/15/2017,589,596,959 9 | 7/16/2017,741,612,510 10 | 7/17/2017,1101,963,528 11 | 7/18/2017,1010,931,810 12 | 7/19/2017,1378,1189,761 13 | 7/20/2017,1567,1476,915 14 | 7/21/2017,1196,1123,1186 15 | 7/22/2017,906,638,882 16 | 7/23/2017,648,515,535 17 | 7/24/2017,3219,2887,425 18 | 7/25/2017,3695,3051,2408 19 | 7/26/2017,1980,1724,2494 20 | 7/27/2017,1786,1558,1353 21 | 7/28/2017,2405,2070,1270 22 | 7/29/2017,1411,1267,1689 23 | 7/30/2017,910,758,1083 24 | 7/31/2017,1986,1664,615 25 | 8/1/2017,1300,1121,1401 26 | 8/2/2017,1037,1013,895 27 | 8/3/2017,983,966,833 28 | 8/4/2017,840,827,786 29 | 8/5/2017,435,487,664 30 | 8/6/2017,510,490,403 31 | 8/7/2017,269,243,412 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-08-14-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 7/16/2017,741,612,510 3 | 7/17/2017,1101,963,528 4 | 7/18/2017,1010,931,810 5 | 7/19/2017,1378,1189,761 6 | 7/20/2017,1567,1476,915 7 | 7/21/2017,1196,1123,1186 8 | 7/22/2017,906,638,882 9 | 7/23/2017,648,515,535 10 | 7/24/2017,3219,2887,425 11 | 7/25/2017,3695,3051,2408 12 | 7/26/2017,1980,1724,2494 13 | 7/27/2017,1786,1558,1353 14 | 7/28/2017,2405,2070,1270 15 | 7/29/2017,1411,1267,1689 16 | 7/30/2017,910,758,1083 17 | 7/31/2017,1986,1664,615 18 | 8/1/2017,1300,1121,1401 19 | 8/2/2017,1037,1013,895 20 | 8/3/2017,983,966,833 21 | 8/4/2017,840,827,786 22 | 8/5/2017,435,487,664 23 | 8/6/2017,510,490,403 24 | 8/7/2017,675,681,412 25 | 8/8/2017,650,659,560 26 | 8/9/2017,1375,1628,485 27 | 8/10/2017,2761,4132,1357 28 | 8/11/2017,2945,4606,3562 29 | 8/12/2017,1440,1981,3943 30 | 8/13/2017,925,1244,1664 31 | 8/14/2017,579,591,1045 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-08-19-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 7/21/2017,1196,1123,1186 3 | 7/22/2017,906,638,882 4 | 7/23/2017,648,515,535 5 | 7/24/2017,3219,2887,425 6 | 7/25/2017,3695,3051,2408 7 | 7/26/2017,1980,1724,2494 8 | 7/27/2017,1786,1558,1353 9 | 7/28/2017,2405,2070,1270 10 | 7/29/2017,1411,1267,1689 11 | 7/30/2017,910,758,1083 12 | 7/31/2017,1986,1664,615 13 | 8/1/2017,1300,1121,1401 14 | 8/2/2017,1037,1013,895 15 | 8/3/2017,983,966,833 16 | 8/4/2017,840,827,786 17 | 8/5/2017,435,487,664 18 | 8/6/2017,510,490,403 19 | 8/7/2017,675,681,412 20 | 8/8/2017,650,659,560 21 | 8/9/2017,1375,1628,485 22 | 8/10/2017,2761,4132,1357 23 | 8/11/2017,2945,4606,3562 24 | 8/12/2017,1440,1983,3943 25 | 8/13/2017,925,1266,1664 26 | 8/14/2017,1008,1186,1045 27 | 8/15/2017,742,855,963 28 | 8/16/2017,848,936,725 29 | 8/17/2017,650,722,736 30 | 8/18/2017,579,635,570 31 | 8/19/2017,147,204,501 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-09-12-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 8/14/2017,1008,1186,1045 3 | 8/15/2017,742,855,963 4 | 8/16/2017,848,936,725 5 | 8/17/2017,650,722,736 6 | 8/18/2017,579,635,570 7 | 8/19/2017,374,402,501 8 | 8/20/2017,367,401,316 9 | 8/21/2017,581,547,330 10 | 8/22/2017,734,755,461 11 | 8/23/2017,720,675,628 12 | 8/24/2017,792,718,556 13 | 8/25/2017,1181,984,587 14 | 8/26/2017,510,557,846 15 | 8/27/2017,435,438,435 16 | 8/28/2017,1400,1185,353 17 | 8/29/2017,1146,1066,987 18 | 8/30/2017,1126,968,802 19 | 8/31/2017,817,759,808 20 | 9/1/2017,554,577,570 21 | 9/2/2017,438,408,455 22 | 9/3/2017,539,407,312 23 | 9/4/2017,494,530,324 24 | 9/5/2017,709,629,403 25 | 9/6/2017,570,597,488 26 | 9/7/2017,574,531,485 27 | 9/8/2017,518,513,427 28 | 9/9/2017,355,343,395 29 | 9/10/2017,319,357,280 30 | 9/11/2017,775,717,300 31 | 9/12/2017,169,145,592 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-09-26-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 8/28/2017,1400,1185,353 3 | 8/29/2017,1146,1066,987 4 | 8/30/2017,1126,968,802 5 | 8/31/2017,817,759,808 6 | 9/1/2017,554,577,570 7 | 9/2/2017,438,408,455 8 | 9/3/2017,539,407,312 9 | 9/4/2017,494,530,324 10 | 9/5/2017,709,629,403 11 | 9/6/2017,570,597,488 12 | 9/7/2017,574,531,485 13 | 9/8/2017,518,513,427 14 | 9/9/2017,355,343,395 15 | 9/10/2017,319,357,280 16 | 9/11/2017,775,717,300 17 | 9/12/2017,688,611,592 18 | 9/13/2017,548,517,513 19 | 9/14/2017,476,526,418 20 | 9/15/2017,457,479,430 21 | 9/16/2017,332,340,348 22 | 9/17/2017,313,363,281 23 | 9/18/2017,537,511,295 24 | 9/19/2017,453,494,415 25 | 9/20/2017,565,505,379 26 | 9/21/2017,475,550,417 27 | 9/22/2017,569,533,435 28 | 9/23/2017,328,356,443 29 | 9/24/2017,272,304,288 30 | 9/25/2017,525,479,252 31 | 9/26/2017,176,116,380 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-10-09-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 9/10/2017,319,357,280 3 | 9/11/2017,775,717,300 4 | 9/12/2017,688,611,592 5 | 9/13/2017,548,517,513 6 | 9/14/2017,476,526,418 7 | 9/15/2017,457,479,430 8 | 9/16/2017,332,340,348 9 | 9/17/2017,313,363,281 10 | 9/18/2017,537,511,295 11 | 9/19/2017,453,494,415 12 | 9/20/2017,565,505,379 13 | 9/21/2017,475,550,417 14 | 9/22/2017,569,533,435 15 | 9/23/2017,328,356,443 16 | 9/24/2017,272,304,288 17 | 9/25/2017,525,479,252 18 | 9/26/2017,660,548,380 19 | 9/27/2017,587,680,424 20 | 9/28/2017,504,496,550 21 | 9/29/2017,399,439,412 22 | 9/30/2017,249,305,351 23 | 10/1/2017,334,345,239 24 | 10/2/2017,451,473,292 25 | 10/3/2017,656,536,387 26 | 10/4/2017,532,524,433 27 | 10/5/2017,874,764,409 28 | 10/6/2017,665,593,600 29 | 10/7/2017,403,350,463 30 | 10/8/2017,370,374,290 31 | 10/9/2017,686,637,300 -------------------------------------------------------------------------------- /data/archive/medium/2017-10-24-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 9/25/2017,525,479,252 3 | 9/26/2017,660,548,380 4 | 9/27/2017,587,680,424 5 | 9/28/2017,504,496,550 6 | 9/29/2017,399,439,412 7 | 9/30/2017,249,305,351 8 | 10/1/2017,334,345,239 9 | 10/2/2017,451,473,292 10 | 10/3/2017,656,536,387 11 | 10/4/2017,532,524,433 12 | 10/5/2017,874,764,409 13 | 10/6/2017,665,593,600 14 | 10/7/2017,403,350,463 15 | 10/8/2017,370,374,290 16 | 10/9/2017,699,677,300 17 | 10/10/2017,934,976,541 18 | 10/11/2017,1669,1310,779 19 | 10/12/2017,4946,2301,1099 20 | 10/13/2017,3595,1658,1994 21 | 10/14/2017,1375,851,1428 22 | 10/15/2017,1810,1085,721 23 | 10/16/2017,3813,2120,927 24 | 10/17/2017,5863,3469,1859 25 | 10/18/2017,3606,2050,3127 26 | 10/19/2017,3002,1720,1781 27 | 10/20/2017,2157,1327,1475 28 | 10/21/2017,811,590,1126 29 | 10/22/2017,955,670,497 30 | 10/23/2017,1687,1102,561 31 | 10/24/2017,383,273,929 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-10-31-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 10/2/2017,451,473,292 3 | 10/3/2017,656,536,387 4 | 10/4/2017,532,524,433 5 | 10/5/2017,874,764,409 6 | 10/6/2017,665,593,600 7 | 10/7/2017,403,350,463 8 | 10/8/2017,370,374,290 9 | 10/9/2017,699,677,300 10 | 10/10/2017,934,976,541 11 | 10/11/2017,1669,1310,779 12 | 10/12/2017,4946,2301,1099 13 | 10/13/2017,3595,1658,1994 14 | 10/14/2017,1375,851,1428 15 | 10/15/2017,1810,1085,721 16 | 10/16/2017,3813,2120,927 17 | 10/17/2017,5863,3469,1859 18 | 10/18/2017,3606,2050,3127 19 | 10/19/2017,3002,1720,1781 20 | 10/20/2017,2157,1327,1475 21 | 10/21/2017,811,590,1126 22 | 10/22/2017,955,670,497 23 | 10/23/2017,1687,1102,561 24 | 10/24/2017,1880,1315,929 25 | 10/25/2017,2734,1844,1092 26 | 10/26/2017,2174,1568,1568 27 | 10/27/2017,2537,1567,1337 28 | 10/28/2017,1453,929,1384 29 | 10/29/2017,200,779,777 30 | 10/30/2017,0,3353,604 31 | 10/31/2017,0,1311,2258 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-11-06-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 10/8/2017,370,374,290 3 | 10/9/2017,699,677,300 4 | 10/10/2017,934,976,541 5 | 10/11/2017,1669,1310,779 6 | 10/12/2017,4946,2301,1099 7 | 10/13/2017,3595,1658,1994 8 | 10/14/2017,1375,851,1428 9 | 10/15/2017,1810,1085,721 10 | 10/16/2017,3813,2120,927 11 | 10/17/2017,5863,3469,1859 12 | 10/18/2017,3606,2050,3127 13 | 10/19/2017,3002,1720,1781 14 | 10/20/2017,2157,1327,1475 15 | 10/21/2017,811,590,1126 16 | 10/22/2017,955,670,497 17 | 10/23/2017,1687,1102,561 18 | 10/24/2017,1880,1315,929 19 | 10/25/2017,2734,1844,1092 20 | 10/26/2017,2174,1568,1568 21 | 10/27/2017,2537,1567,1337 22 | 10/28/2017,1453,929,1384 23 | 10/29/2017,1128,779,777 24 | 10/30/2017,2925,3353,604 25 | 10/31/2017,4246,5105,2555 26 | 11/1/2017,2769,2927,4171 27 | 11/2/2017,1752,1768,2343 28 | 11/3/2017,1548,1546,1456 29 | 11/4/2017,987,965,1249 30 | 11/5/2017,915,374,752 31 | 11/6/2017,788,25,320 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-11-13-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 10/15/2017,1810,1085,721 3 | 10/16/2017,3813,2120,927 4 | 10/17/2017,5863,3469,1859 5 | 10/18/2017,3606,2050,3127 6 | 10/19/2017,3002,1720,1781 7 | 10/20/2017,2157,1327,1475 8 | 10/21/2017,811,590,1126 9 | 10/22/2017,955,670,497 10 | 10/23/2017,1687,1102,561 11 | 10/24/2017,1880,1315,929 12 | 10/25/2017,2734,1844,1092 13 | 10/26/2017,2174,1568,1568 14 | 10/27/2017,2537,1567,1337 15 | 10/28/2017,1453,929,1384 16 | 10/29/2017,1128,779,777 17 | 10/30/2017,2925,3353,604 18 | 10/31/2017,4246,5105,2555 19 | 11/1/2017,2769,2927,4171 20 | 11/2/2017,1752,1768,2343 21 | 11/3/2017,1548,1546,1456 22 | 11/4/2017,987,965,1249 23 | 11/5/2017,915,781,752 24 | 11/6/2017,1278,1229,650 25 | 11/7/2017,1228,1321,976 26 | 11/8/2017,1280,1230,998 27 | 11/9/2017,1078,1031,964 28 | 11/10/2017,947,929,852 29 | 11/11/2017,592,599,737 30 | 11/12/2017,642,534,500 31 | 11/13/2017,318,331,436 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-11-20-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 10/22/2017,955,670,497 3 | 10/23/2017,1687,1102,561 4 | 10/24/2017,1880,1315,929 5 | 10/25/2017,2734,1844,1092 6 | 10/26/2017,2174,1568,1568 7 | 10/27/2017,2537,1567,1337 8 | 10/28/2017,1453,929,1384 9 | 10/29/2017,1128,779,777 10 | 10/30/2017,2925,3353,604 11 | 10/31/2017,4246,5105,2555 12 | 11/1/2017,2769,2927,4171 13 | 11/2/2017,1752,1768,2343 14 | 11/3/2017,1548,1546,1456 15 | 11/4/2017,987,965,1249 16 | 11/5/2017,915,781,752 17 | 11/6/2017,1278,1229,650 18 | 11/7/2017,1228,1321,976 19 | 11/8/2017,1280,1230,998 20 | 11/9/2017,1078,1031,964 21 | 11/10/2017,947,929,852 22 | 11/11/2017,592,599,737 23 | 11/12/2017,642,534,500 24 | 11/13/2017,952,919,436 25 | 11/14/2017,916,761,738 26 | 11/15/2017,1014,831,639 27 | 11/16/2017,806,706,675 28 | 11/17/2017,795,698,612 29 | 11/18/2017,627,573,578 30 | 11/19/2017,696,546,467 31 | 11/20/2017,680,595,454 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-11-27-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 10/29/2017,1128,779,777 3 | 10/30/2017,2925,3353,604 4 | 10/31/2017,4246,5105,2555 5 | 11/1/2017,2769,2927,4171 6 | 11/2/2017,1752,1768,2343 7 | 11/3/2017,1548,1546,1456 8 | 11/4/2017,987,965,1249 9 | 11/5/2017,915,781,752 10 | 11/6/2017,1278,1229,650 11 | 11/7/2017,1228,1321,976 12 | 11/8/2017,1280,1230,998 13 | 11/9/2017,1078,1031,964 14 | 11/10/2017,947,929,852 15 | 11/11/2017,592,599,737 16 | 11/12/2017,642,534,500 17 | 11/13/2017,952,919,436 18 | 11/14/2017,916,761,738 19 | 11/15/2017,1014,831,639 20 | 11/16/2017,806,706,675 21 | 11/17/2017,795,698,612 22 | 11/18/2017,627,573,578 23 | 11/19/2017,696,546,467 24 | 11/20/2017,1024,867,454 25 | 11/21/2017,1103,937,707 26 | 11/22/2017,849,721,744 27 | 11/23/2017,1797,1755,585 28 | 11/24/2017,2065,1653,1448 29 | 11/25/2017,963,813,1415 30 | 11/26/2017,851,735,679 31 | 11/27/2017,292,171,592 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-12-04-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 11/5/2017,915,781,752 3 | 11/6/2017,1278,1229,650 4 | 11/7/2017,1228,1321,976 5 | 11/8/2017,1280,1230,998 6 | 11/9/2017,1078,1031,964 7 | 11/10/2017,947,929,852 8 | 11/11/2017,592,599,737 9 | 11/12/2017,642,534,500 10 | 11/13/2017,952,919,436 11 | 11/14/2017,916,761,738 12 | 11/15/2017,1014,831,639 13 | 11/16/2017,806,706,675 14 | 11/17/2017,795,698,612 15 | 11/18/2017,627,573,578 16 | 11/19/2017,696,546,467 17 | 11/20/2017,1024,867,454 18 | 11/21/2017,1103,937,707 19 | 11/22/2017,849,721,744 20 | 11/23/2017,1797,1755,585 21 | 11/24/2017,2065,1653,1448 22 | 11/25/2017,963,813,1415 23 | 11/26/2017,851,735,679 24 | 11/27/2017,1269,1144,592 25 | 11/28/2017,1941,1617,930 26 | 11/29/2017,2257,1824,1377 27 | 11/30/2017,2227,1938,1562 28 | 12/1/2017,2219,1968,1673 29 | 12/2/2017,1078,976,1725 30 | 12/3/2017,1108,951,828 31 | 12/4/2017,1493,1298,800 32 | -------------------------------------------------------------------------------- /data/archive/medium/2017-12-12-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 11/13/2017,952,919,436 3 | 11/14/2017,916,761,738 4 | 11/15/2017,1014,831,639 5 | 11/16/2017,806,706,675 6 | 11/17/2017,795,698,612 7 | 11/18/2017,627,573,578 8 | 11/19/2017,696,546,467 9 | 11/20/2017,1024,867,454 10 | 11/21/2017,1103,937,707 11 | 11/22/2017,849,721,744 12 | 11/23/2017,1797,1755,585 13 | 11/24/2017,2065,1653,1448 14 | 11/25/2017,963,813,1415 15 | 11/26/2017,851,735,679 16 | 11/27/2017,1269,1144,592 17 | 11/28/2017,1941,1617,930 18 | 11/29/2017,2257,1824,1377 19 | 11/30/2017,2227,1938,1562 20 | 12/1/2017,2219,1968,1673 21 | 12/2/2017,1078,976,1725 22 | 12/3/2017,1108,951,828 23 | 12/4/2017,1687,1501,800 24 | 12/5/2017,1252,1165,1256 25 | 12/6/2017,1309,1082,976 26 | 12/7/2017,1510,1165,911 27 | 12/8/2017,1152,936,1009 28 | 12/9/2017,663,680,804 29 | 12/10/2017,722,648,569 30 | 12/11/2017,1215,1036,546 31 | 12/12/2017,158,124,837 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-01-08-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 12/10/2017,722,648,569 3 | 12/11/2017,1215,1036,546 4 | 12/12/2017,1690,1313,837 5 | 12/13/2017,1962,1329,1081 6 | 12/14/2017,1183,1006,1136 7 | 12/15/2017,1084,898,840 8 | 12/16/2017,690,559,738 9 | 12/17/2017,615,576,468 10 | 12/18/2017,1074,933,493 11 | 12/19/2017,1044,850,763 12 | 12/20/2017,1449,1279,685 13 | 12/21/2017,1414,1052,1072 14 | 12/22/2017,1326,997,887 15 | 12/23/2017,860,657,827 16 | 12/24/2017,753,590,538 17 | 12/25/2017,591,615,495 18 | 12/26/2017,965,737,483 19 | 12/27/2017,1207,800,602 20 | 12/28/2017,952,773,698 21 | 12/29/2017,1260,921,646 22 | 12/30/2017,719,581,780 23 | 12/31/2017,738,626,494 24 | 1/1/2018,692,560,499 25 | 1/2/2018,1341,990,450 26 | 1/3/2018,1523,1033,827 27 | 1/4/2018,1423,1041,853 28 | 1/5/2018,1400,1022,857 29 | 1/6/2018,846,729,810 30 | 1/7/2018,931,704,562 31 | 1/8/2018,246,183,596 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-01-15-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 12/17/2017,615,576,468 3 | 12/18/2017,1074,933,493 4 | 12/19/2017,1044,850,763 5 | 12/20/2017,1449,1279,685 6 | 12/21/2017,1414,1052,1072 7 | 12/22/2017,1326,997,887 8 | 12/23/2017,860,657,827 9 | 12/24/2017,753,590,538 10 | 12/25/2017,591,615,495 11 | 12/26/2017,965,737,483 12 | 12/27/2017,1207,800,602 13 | 12/28/2017,952,773,698 14 | 12/29/2017,1260,921,646 15 | 12/30/2017,719,581,780 16 | 12/31/2017,738,626,494 17 | 1/1/2018,692,560,499 18 | 1/2/2018,1341,990,450 19 | 1/3/2018,1523,1033,827 20 | 1/4/2018,1423,1041,853 21 | 1/5/2018,1400,1022,857 22 | 1/6/2018,846,729,810 23 | 1/7/2018,931,704,562 24 | 1/8/2018,1311,997,596 25 | 1/9/2018,1612,1179,836 26 | 1/10/2018,1458,1265,986 27 | 1/11/2018,2076,1391,1034 28 | 1/12/2018,1858,1333,1157 29 | 1/13/2018,1747,1192,1124 30 | 1/14/2018,0,0,1002 31 | 1/15/2018,0,0,1251 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-01-22-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 12/24/2017,753,590,538 3 | 12/25/2017,591,615,495 4 | 12/26/2017,965,737,483 5 | 12/27/2017,1207,800,602 6 | 12/28/2017,952,773,698 7 | 12/29/2017,1260,921,646 8 | 12/30/2017,719,581,780 9 | 12/31/2017,738,626,494 10 | 1/1/2018,692,560,499 11 | 1/2/2018,1341,990,450 12 | 1/3/2018,1523,1033,827 13 | 1/4/2018,1423,1041,853 14 | 1/5/2018,1400,1022,857 15 | 1/6/2018,846,729,810 16 | 1/7/2018,931,704,562 17 | 1/8/2018,1311,997,596 18 | 1/9/2018,1612,1179,836 19 | 1/10/2018,1458,1265,986 20 | 1/11/2018,2076,1391,1034 21 | 1/12/2018,1858,1333,1157 22 | 1/13/2018,1747,1192,1124 23 | 1/14/2018,2397,1437,1002 24 | 1/15/2018,2886,1756,1251 25 | 1/16/2018,1970,1326,1494 26 | 1/17/2018,1890,1359,1132 27 | 1/18/2018,1581,1188,1107 28 | 1/19/2018,1566,1140,969 29 | 1/20/2018,1211,943,983 30 | 1/21/2018,1198,856,802 31 | 1/22/2018,1406,999,692 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-01-29-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 12/31/2017,738,626,494 3 | 1/1/2018,692,560,499 4 | 1/2/2018,1341,990,450 5 | 1/3/2018,1523,1033,827 6 | 1/4/2018,1423,1041,853 7 | 1/5/2018,1400,1022,857 8 | 1/6/2018,846,729,810 9 | 1/7/2018,931,704,562 10 | 1/8/2018,1311,997,596 11 | 1/9/2018,1612,1179,836 12 | 1/10/2018,1458,1265,986 13 | 1/11/2018,2076,1391,1034 14 | 1/12/2018,1858,1333,1157 15 | 1/13/2018,1747,1192,1124 16 | 1/14/2018,2397,1437,1002 17 | 1/15/2018,2886,1756,1251 18 | 1/16/2018,1970,1326,1494 19 | 1/17/2018,1890,1359,1132 20 | 1/18/2018,1581,1188,1107 21 | 1/19/2018,1566,1140,969 22 | 1/20/2018,1211,943,983 23 | 1/21/2018,1198,856,802 24 | 1/22/2018,1764,1282,725 25 | 1/23/2018,2190,1433,1092 26 | 1/24/2018,4184,2604,1222 27 | 1/25/2018,4410,2746,2239 28 | 1/26/2018,2589,1670,2352 29 | 1/27/2018,1381,970,1421 30 | 1/28/2018,1355,978,821 31 | 1/29/2018,422,449,839 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-02-05-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 1/7/2018,931,704,562 3 | 1/8/2018,1311,997,596 4 | 1/9/2018,1612,1179,836 5 | 1/10/2018,1458,1265,986 6 | 1/11/2018,2076,1391,1034 7 | 1/12/2018,1858,1333,1157 8 | 1/13/2018,1747,1192,1124 9 | 1/14/2018,2397,1437,1002 10 | 1/15/2018,2886,1756,1251 11 | 1/16/2018,1970,1326,1494 12 | 1/17/2018,1890,1359,1132 13 | 1/18/2018,1581,1188,1107 14 | 1/19/2018,1566,1140,969 15 | 1/20/2018,1211,943,983 16 | 1/21/2018,1198,856,802 17 | 1/22/2018,1764,1282,725 18 | 1/23/2018,2190,1433,1092 19 | 1/24/2018,4184,2604,1222 20 | 1/25/2018,4410,2746,2239 21 | 1/26/2018,2589,1670,2352 22 | 1/27/2018,1381,970,1421 23 | 1/28/2018,1355,978,821 24 | 1/29/2018,3014,2172,839 25 | 1/30/2018,2604,1942,1857 26 | 1/31/2018,2253,1672,1653 27 | 2/1/2018,1864,1461,1423 28 | 2/2/2018,1643,1387,1269 29 | 2/3/2018,1169,909,1164 30 | 2/4/2018,1180,887,766 31 | 2/5/2018,397,258,743 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-02-12-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 1/14/2018,2397,1437,1002 3 | 1/15/2018,2886,1756,1251 4 | 1/16/2018,1970,1326,1494 5 | 1/17/2018,1890,1359,1132 6 | 1/18/2018,1581,1188,1107 7 | 1/19/2018,1566,1140,969 8 | 1/20/2018,1211,943,983 9 | 1/21/2018,1198,856,802 10 | 1/22/2018,1764,1282,725 11 | 1/23/2018,2190,1433,1092 12 | 1/24/2018,4184,2604,1222 13 | 1/25/2018,4410,2746,2239 14 | 1/26/2018,2589,1670,2352 15 | 1/27/2018,1381,970,1421 16 | 1/28/2018,1355,978,821 17 | 1/29/2018,3014,2172,839 18 | 1/30/2018,2604,1942,1857 19 | 1/31/2018,2253,1672,1653 20 | 2/1/2018,1864,1461,1423 21 | 2/2/2018,1643,1387,1269 22 | 2/3/2018,1169,909,1164 23 | 2/4/2018,1180,887,766 24 | 2/5/2018,1916,1382,743 25 | 2/6/2018,1755,1321,1143 26 | 2/7/2018,1834,1356,1103 27 | 2/8/2018,1756,1288,1152 28 | 2/9/2018,1550,1167,1097 29 | 2/10/2018,960,811,0 30 | 2/11/2018,1011,834,0 31 | 2/12/2018,347,299,0 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-02-19-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 1/21/2018,1198,856,802 3 | 1/22/2018,1764,1282,725 4 | 1/23/2018,2190,1433,1092 5 | 1/24/2018,4184,2604,1222 6 | 1/25/2018,4410,2746,2239 7 | 1/26/2018,2589,1670,2352 8 | 1/27/2018,1381,970,1421 9 | 1/28/2018,1355,978,821 10 | 1/29/2018,3014,2172,839 11 | 1/30/2018,2604,1942,1857 12 | 1/31/2018,2253,1672,1653 13 | 2/1/2018,1864,1461,1423 14 | 2/2/2018,1643,1387,1269 15 | 2/3/2018,1169,909,1164 16 | 2/4/2018,1180,887,766 17 | 2/5/2018,1916,1382,743 18 | 2/6/2018,1755,1321,1143 19 | 2/7/2018,1834,1356,1103 20 | 2/8/2018,1756,1288,1152 21 | 2/9/2018,1550,1167,1097 22 | 2/10/2018,960,811,987 23 | 2/11/2018,1011,834,674 24 | 2/12/2018,1798,1536,691 25 | 2/13/2018,2647,2061,1297 26 | 2/14/2018,2012,1567,1761 27 | 2/15/2018,1505,1303,1308 28 | 2/16/2018,1222,1107,1116 29 | 2/17/2018,985,850,917 30 | 2/18/2018,982,874,709 31 | 2/19/2018,294,211,727 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-02-26-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 1/28/2018,1355,978,821 3 | 1/29/2018,3014,2172,839 4 | 1/30/2018,2604,1942,1857 5 | 1/31/2018,2253,1672,1653 6 | 2/1/2018,1864,1461,1423 7 | 2/2/2018,1643,1387,1269 8 | 2/3/2018,1169,909,1164 9 | 2/4/2018,1180,887,766 10 | 2/5/2018,1916,1382,743 11 | 2/6/2018,1755,1321,1143 12 | 2/7/2018,1834,1356,1103 13 | 2/8/2018,1756,1288,1152 14 | 2/9/2018,1550,1167,1097 15 | 2/10/2018,960,811,987 16 | 2/11/2018,1011,834,674 17 | 2/12/2018,1798,1536,691 18 | 2/13/2018,2647,2061,1297 19 | 2/14/2018,2012,1567,1761 20 | 2/15/2018,1505,1303,1308 21 | 2/16/2018,1222,1107,1116 22 | 2/17/2018,985,850,917 23 | 2/18/2018,982,874,709 24 | 2/19/2018,2287,2067,727 25 | 2/20/2018,2372,2211,1732 26 | 2/21/2018,2636,2176,1875 27 | 2/22/2018,2056,1612,1842 28 | 2/23/2018,1795,1385,1362 29 | 2/24/2018,1006,942,1196 30 | 2/25/2018,1201,963,817 31 | 2/26/2018,417,353,841 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-03-05-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 2/4/2018,1180,887,766 3 | 2/5/2018,1916,1382,743 4 | 2/6/2018,1755,1321,1143 5 | 2/7/2018,1834,1356,1103 6 | 2/8/2018,1756,1288,1152 7 | 2/9/2018,1550,1167,1097 8 | 2/10/2018,960,811,987 9 | 2/11/2018,1011,834,674 10 | 2/12/2018,1798,1536,691 11 | 2/13/2018,2647,2061,1297 12 | 2/14/2018,2012,1567,1761 13 | 2/15/2018,1505,1303,1308 14 | 2/16/2018,1222,1107,1116 15 | 2/17/2018,985,850,917 16 | 2/18/2018,982,874,709 17 | 2/19/2018,2287,2067,727 18 | 2/20/2018,2372,2211,1732 19 | 2/21/2018,2636,2176,1875 20 | 2/22/2018,2056,1612,1842 21 | 2/23/2018,1795,1385,1362 22 | 2/24/2018,1006,942,1196 23 | 2/25/2018,1201,963,817 24 | 2/26/2018,1925,1574,841 25 | 2/27/2018,1668,1448,1308 26 | 2/28/2018,1618,1348,1242 27 | 3/1/2018,1696,1331,1168 28 | 3/2/2018,1511,1220,1147 29 | 3/3/2018,1048,909,1014 30 | 3/4/2018,1165,963,754 31 | 3/5/2018,1151,887,785 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-03-12-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 2/11/2018,1011,834,674 3 | 2/12/2018,1798,1536,691 4 | 2/13/2018,2647,2061,1297 5 | 2/14/2018,2012,1567,1761 6 | 2/15/2018,1505,1303,1308 7 | 2/16/2018,1222,1107,1116 8 | 2/17/2018,985,850,917 9 | 2/18/2018,982,874,709 10 | 2/19/2018,2287,2067,727 11 | 2/20/2018,2372,2211,1732 12 | 2/21/2018,2636,2176,1875 13 | 2/22/2018,2056,1612,1842 14 | 2/23/2018,1795,1385,1362 15 | 2/24/2018,1006,942,1196 16 | 2/25/2018,1201,963,817 17 | 2/26/2018,1925,1574,841 18 | 2/27/2018,1668,1448,1308 19 | 2/28/2018,1618,1348,1242 20 | 3/1/2018,1696,1331,1168 21 | 3/2/2018,1511,1220,1147 22 | 3/3/2018,1048,909,1014 23 | 3/4/2018,1165,963,754 24 | 3/5/2018,1891,1502,785 25 | 3/6/2018,1822,1452,1228 26 | 3/7/2018,1913,1535,1245 27 | 3/8/2018,3249,3539,1302 28 | 3/9/2018,2805,3008,3079 29 | 3/10/2018,1386,1301,2613 30 | 3/11/2018,1290,1202,1096 31 | 3/12/2018,268,198,994 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-03-19-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 2/18/2018,982,874,709 3 | 2/19/2018,2287,2067,727 4 | 2/20/2018,2372,2211,1732 5 | 2/21/2018,2636,2176,1875 6 | 2/22/2018,2056,1612,1842 7 | 2/23/2018,1795,1385,1362 8 | 2/24/2018,1006,942,1196 9 | 2/25/2018,1201,963,817 10 | 2/26/2018,1925,1574,841 11 | 2/27/2018,1668,1448,1308 12 | 2/28/2018,1618,1348,1242 13 | 3/1/2018,1696,1331,1168 14 | 3/2/2018,1511,1220,1147 15 | 3/3/2018,1048,909,1014 16 | 3/4/2018,1165,963,754 17 | 3/5/2018,1891,1502,785 18 | 3/6/2018,1822,1452,1228 19 | 3/7/2018,1913,1535,1245 20 | 3/8/2018,3249,3539,1302 21 | 3/9/2018,2805,3008,3079 22 | 3/10/2018,1386,1301,2613 23 | 3/11/2018,1290,1202,1096 24 | 3/12/2018,2019,1615,1030 25 | 3/13/2018,2321,1882,1365 26 | 3/14/2018,2210,1752,1581 27 | 3/15/2018,2054,1608,1478 28 | 3/16/2018,1763,1546,1331 29 | 3/17/2018,1274,1058,1302 30 | 3/18/2018,1264,1083,885 31 | 3/19/2018,274,257,875 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-03-27-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 2/26/2018,1925,1574,841 3 | 2/27/2018,1668,1448,1308 4 | 2/28/2018,1618,1348,1242 5 | 3/1/2018,1696,1331,1168 6 | 3/2/2018,1511,1220,1147 7 | 3/3/2018,1048,909,1014 8 | 3/4/2018,1165,963,754 9 | 3/5/2018,1891,1502,785 10 | 3/6/2018,1822,1452,1228 11 | 3/7/2018,1913,1535,1245 12 | 3/8/2018,3249,3539,1302 13 | 3/9/2018,2805,3008,3079 14 | 3/10/2018,1386,1301,2613 15 | 3/11/2018,1290,1202,1096 16 | 3/12/2018,2019,1615,1030 17 | 3/13/2018,2321,1882,1365 18 | 3/14/2018,2210,1752,1581 19 | 3/15/2018,2054,1608,1478 20 | 3/16/2018,1763,1546,1331 21 | 3/17/2018,1274,1058,1302 22 | 3/18/2018,1264,1083,885 23 | 3/19/2018,1765,1533,905 24 | 3/20/2018,1852,1505,1345 25 | 3/21/2018,2224,1876,1285 26 | 3/22/2018,2371,1825,1584 27 | 3/23/2018,1786,1449,1561 28 | 3/24/2018,1337,1139,1282 29 | 3/25/2018,1139,1029,962 30 | 3/26/2018,1831,1556,884 31 | 3/27/2018,452,370,1334 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-04-02-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 3/4/2018,1165,963,754 3 | 3/5/2018,1891,1502,785 4 | 3/6/2018,1822,1452,1228 5 | 3/7/2018,1913,1535,1245 6 | 3/8/2018,3249,3539,1302 7 | 3/9/2018,2805,3008,3079 8 | 3/10/2018,1386,1301,2613 9 | 3/11/2018,1290,1202,1096 10 | 3/12/2018,2019,1615,1030 11 | 3/13/2018,2321,1882,1365 12 | 3/14/2018,2210,1752,1581 13 | 3/15/2018,2054,1608,1478 14 | 3/16/2018,1763,1546,1331 15 | 3/17/2018,1274,1058,1302 16 | 3/18/2018,1264,1083,885 17 | 3/19/2018,1765,1533,905 18 | 3/20/2018,1852,1505,1345 19 | 3/21/2018,2224,1876,1285 20 | 3/22/2018,2371,1825,1584 21 | 3/23/2018,1786,1449,1561 22 | 3/24/2018,1337,1139,1282 23 | 3/25/2018,1139,1029,962 24 | 3/26/2018,1831,1556,884 25 | 3/27/2018,1936,1604,1334 26 | 3/28/2018,2095,1619,1373 27 | 3/29/2018,2099,1660,1426 28 | 3/30/2018,1619,1250,1426 29 | 3/31/2018,1130,960,1071 30 | 4/1/2018,1093,928,848 31 | 4/2/2018,716,618,818 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-04-09-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 3/11/2018,1290,1202,1096 3 | 3/12/2018,2019,1615,1030 4 | 3/13/2018,2321,1882,1365 5 | 3/14/2018,2210,1752,1581 6 | 3/15/2018,2054,1608,1478 7 | 3/16/2018,1763,1546,1331 8 | 3/17/2018,1274,1058,1302 9 | 3/18/2018,1264,1083,885 10 | 3/19/2018,1765,1533,905 11 | 3/20/2018,1852,1505,1345 12 | 3/21/2018,2224,1876,1285 13 | 3/22/2018,2371,1825,1584 14 | 3/23/2018,1786,1449,1561 15 | 3/24/2018,1337,1139,1282 16 | 3/25/2018,1139,1029,962 17 | 3/26/2018,1831,1556,884 18 | 3/27/2018,1936,1604,1334 19 | 3/28/2018,2095,1619,1373 20 | 3/29/2018,2099,1660,1426 21 | 3/30/2018,1619,1250,1426 22 | 3/31/2018,1130,960,1071 23 | 4/1/2018,1093,928,848 24 | 4/2/2018,1659,1267,818 25 | 4/3/2018,1988,1543,1098 26 | 4/4/2018,1967,1460,1299 27 | 4/5/2018,1754,1407,1280 28 | 4/6/2018,1761,1386,1215 29 | 4/7/2018,1299,1030,1194 30 | 4/8/2018,1248,940,871 31 | 4/9/2018,371,321,826 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-04-16-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 3/18/2018,1264,1083,885 3 | 3/19/2018,1765,1533,905 4 | 3/20/2018,1852,1505,1345 5 | 3/21/2018,2224,1876,1285 6 | 3/22/2018,2371,1825,1584 7 | 3/23/2018,1786,1449,1561 8 | 3/24/2018,1337,1139,1282 9 | 3/25/2018,1139,1029,962 10 | 3/26/2018,1831,1556,884 11 | 3/27/2018,1936,1604,1334 12 | 3/28/2018,2095,1619,1373 13 | 3/29/2018,2099,1660,1426 14 | 3/30/2018,1619,1250,1426 15 | 3/31/2018,1130,960,1071 16 | 4/1/2018,1093,928,848 17 | 4/2/2018,1659,1267,818 18 | 4/3/2018,1988,1543,1098 19 | 4/4/2018,1967,1460,1299 20 | 4/5/2018,1754,1407,1280 21 | 4/6/2018,1761,1386,1215 22 | 4/7/2018,1299,1030,1194 23 | 4/8/2018,1248,940,871 24 | 4/9/2018,2023,1558,826 25 | 4/10/2018,2116,1531,1333 26 | 4/11/2018,2031,1585,1312 27 | 4/12/2018,1918,1525,1373 28 | 4/13/2018,1581,1376,1321 29 | 4/14/2018,1124,903,1183 30 | 4/15/2018,1137,942,787 31 | 4/16/2018,253,247,815 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-04-24-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 3/26/2018,1831,1556,0 3 | 3/27/2018,1936,1604,884 4 | 3/28/2018,2095,1619,1334 5 | 3/29/2018,2099,1660,1373 6 | 3/30/2018,1619,1250,1426 7 | 3/31/2018,1130,960,1426 8 | 4/1/2018,1093,928,1071 9 | 4/2/2018,1659,1267,848 10 | 4/3/2018,1988,1543,818 11 | 4/4/2018,1967,1460,1098 12 | 4/5/2018,1754,1407,1299 13 | 4/6/2018,1761,1386,1280 14 | 4/7/2018,1299,1030,1215 15 | 4/8/2018,1248,940,1194 16 | 4/9/2018,2023,1558,871 17 | 4/10/2018,2116,1531,826 18 | 4/11/2018,2031,1585,1333 19 | 4/12/2018,1918,1525,1312 20 | 4/13/2018,1581,1376,1373 21 | 4/14/2018,1124,903,1321 22 | 4/15/2018,1137,942,1183 23 | 4/16/2018,2644,1949,787 24 | 4/17/2018,3119,2078,815 25 | 4/18/2018,2107,1643,1704 26 | 4/19/2018,2169,1610,1836 27 | 4/20/2018,2139,1525,1433 28 | 4/21/2018,1133,965,1395 29 | 4/22/2018,1366,1074,1316 30 | 4/23/2018,1809,1564,840 31 | 4/24/2018,454,340,930 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-04-30-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 4/1/2018,1093,928,848 3 | 4/2/2018,1659,1267,818 4 | 4/3/2018,1988,1543,1098 5 | 4/4/2018,1967,1460,1299 6 | 4/5/2018,1754,1407,1280 7 | 4/6/2018,1761,1386,1215 8 | 4/7/2018,1299,1030,1194 9 | 4/8/2018,1248,940,871 10 | 4/9/2018,2023,1558,826 11 | 4/10/2018,2116,1531,1333 12 | 4/11/2018,2031,1585,1312 13 | 4/12/2018,1918,1525,1373 14 | 4/13/2018,1581,1376,1321 15 | 4/14/2018,1124,903,1183 16 | 4/15/2018,1137,942,787 17 | 4/16/2018,2644,1949,815 18 | 4/17/2018,3119,2078,1704 19 | 4/18/2018,2107,1643,1836 20 | 4/19/2018,2169,1610,1433 21 | 4/20/2018,2139,1525,1395 22 | 4/21/2018,1133,965,1316 23 | 4/22/2018,1366,1074,840 24 | 4/23/2018,1809,1564,930 25 | 4/24/2018,2130,1584,1345 26 | 4/25/2018,1868,1479,1373 27 | 4/26/2018,1838,1568,1291 28 | 4/27/2018,1733,1386,1357 29 | 4/28/2018,1021,888,1213 30 | 4/29/2018,1083,954,762 31 | 4/30/2018,362,319,815 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-05-08-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 4/9/2018,2023,1558,826 3 | 4/10/2018,2116,1531,1333 4 | 4/11/2018,2031,1585,1312 5 | 4/12/2018,1918,1525,1373 6 | 4/13/2018,1581,1376,1321 7 | 4/14/2018,1124,903,1183 8 | 4/15/2018,1137,942,787 9 | 4/16/2018,2644,1949,815 10 | 4/17/2018,3119,2078,1704 11 | 4/18/2018,2107,1643,1836 12 | 4/19/2018,2169,1610,1433 13 | 4/20/2018,2139,1525,1395 14 | 4/21/2018,1133,965,1316 15 | 4/22/2018,1366,1074,840 16 | 4/23/2018,1809,1564,930 17 | 4/24/2018,2130,1584,1345 18 | 4/25/2018,1868,1479,1373 19 | 4/26/2018,1838,1568,1291 20 | 4/27/2018,1733,1386,1357 21 | 4/28/2018,1021,888,1213 22 | 4/29/2018,1083,954,762 23 | 4/30/2018,2066,1655,815 24 | 5/1/2018,2019,1601,1348 25 | 5/2/2018,2173,1806,1358 26 | 5/3/2018,2171,1752,1520 27 | 5/4/2018,1850,1524,1510 28 | 5/5/2018,1100,956,1298 29 | 5/6/2018,1091,836,824 30 | 5/7/2018,1695,1359,731 31 | 5/8/2018,380,263,1209 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-05-14-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 4/15/2018,1137,942,787 3 | 4/16/2018,2644,1949,815 4 | 4/17/2018,3119,2078,1704 5 | 4/18/2018,2107,1643,1836 6 | 4/19/2018,2169,1610,1433 7 | 4/20/2018,2139,1525,1395 8 | 4/21/2018,1133,965,1316 9 | 4/22/2018,1366,1074,840 10 | 4/23/2018,1809,1564,930 11 | 4/24/2018,2130,1584,1345 12 | 4/25/2018,1868,1479,1373 13 | 4/26/2018,1838,1568,1291 14 | 4/27/2018,1733,1386,1357 15 | 4/28/2018,1021,888,1213 16 | 4/29/2018,1083,954,762 17 | 4/30/2018,2066,1655,815 18 | 5/1/2018,2019,1601,1348 19 | 5/2/2018,2173,1806,1358 20 | 5/3/2018,2171,1752,1520 21 | 5/4/2018,1850,1524,1510 22 | 5/5/2018,1100,956,1298 23 | 5/6/2018,1091,836,824 24 | 5/7/2018,1695,1359,731 25 | 5/8/2018,2100,1595,1209 26 | 5/9/2018,2028,1667,1370 27 | 5/10/2018,1692,1399,1389 28 | 5/11/2018,1638,1359,1212 29 | 5/12/2018,1046,877,1151 30 | 5/13/2018,1053,884,744 31 | 5/14/2018,446,360,764 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-05-21-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 4/22/2018,1366,1074,840 3 | 4/23/2018,1809,1564,930 4 | 4/24/2018,2130,1584,1345 5 | 4/25/2018,1868,1479,1373 6 | 4/26/2018,1838,1568,1291 7 | 4/27/2018,1733,1386,1357 8 | 4/28/2018,1021,888,1213 9 | 4/29/2018,1083,954,762 10 | 4/30/2018,2066,1655,815 11 | 5/1/2018,2019,1601,1348 12 | 5/2/2018,2173,1806,1358 13 | 5/3/2018,2171,1752,1520 14 | 5/4/2018,1850,1524,1510 15 | 5/5/2018,1100,956,1298 16 | 5/6/2018,1091,836,824 17 | 5/7/2018,1695,1359,731 18 | 5/8/2018,2100,1595,1209 19 | 5/9/2018,2028,1667,1370 20 | 5/10/2018,1692,1399,1389 21 | 5/11/2018,1638,1359,1212 22 | 5/12/2018,1046,877,1151 23 | 5/13/2018,1053,884,744 24 | 5/14/2018,1830,1581,764 25 | 5/15/2018,1863,1558,1330 26 | 5/16/2018,1898,1615,1362 27 | 5/17/2018,1715,1463,1381 28 | 5/18/2018,1555,1356,1285 29 | 5/19/2018,1048,875,1166 30 | 5/20/2018,1195,968,743 31 | 5/21/2018,244,200,825 32 | -------------------------------------------------------------------------------- /data/archive/medium/2018-05-30-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 5/1/2018,2019,1601,1348 3 | 5/2/2018,2173,1806,1358 4 | 5/3/2018,2171,1752,1520 5 | 5/4/2018,1850,1524,1510 6 | 5/5/2018,1100,956,1298 7 | 5/6/2018,1091,836,824 8 | 5/7/2018,1695,1359,731 9 | 5/8/2018,2100,1595,1209 10 | 5/9/2018,2028,1667,1370 11 | 5/10/2018,1692,1399,1389 12 | 5/11/2018,1638,1359,1212 13 | 5/12/2018,1046,877,1151 14 | 5/13/2018,1053,884,744 15 | 5/14/2018,1830,1581,764 16 | 5/15/2018,1863,1558,1330 17 | 5/16/2018,1898,1615,1362 18 | 5/17/2018,1715,1463,1381 19 | 5/18/2018,1555,1356,1285 20 | 5/19/2018,1048,875,1166 21 | 5/20/2018,1195,968,743 22 | 5/21/2018,1664,1400,825 23 | 5/22/2018,1736,1455,1190 24 | 5/23/2018,1819,1419,1240 25 | 5/24/2018,1614,1389,1230 26 | 5/25/2018,1448,1150,1226 27 | 5/26/2018,973,801,1014 28 | 5/27/2018,897,822,677 29 | 5/28/2018,1497,1198,722 30 | 5/29/2018,1701,1375,1016 31 | 5/30/2018,700,551,1200 32 | -------------------------------------------------------------------------------- /data/general/2018-06-05-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-06-05", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 14710 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2800 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 37571 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1576 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 79000 31 | }, 32 | "mentions": { 33 | "count": 139 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 412 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 5 46 | }, 47 | "views": { 48 | "count": 60 49 | }, 50 | "engagements": { 51 | "count": 42 52 | }, 53 | "reach": { 54 | "count": 464 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 63 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 8, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 20, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 17, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 37, 87 | "link": "https://peteroshaughnessy.com/posts/web-bluetooth-controlling-the-real-world/" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-06-11-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-06-11", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 14780 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2900 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 38228 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1591 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 102000 31 | }, 32 | "mentions": { 33 | "count": 143 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 414 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 5 46 | }, 47 | "views": { 48 | "count": 60 49 | }, 50 | "engagements": { 51 | "count": 94 52 | }, 53 | "reach": { 54 | "count": 789 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 64 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 9, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 19, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 17, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 37, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-06-18-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-06-18", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 15278 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2900 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 38483 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1603 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 117000 31 | }, 32 | "mentions": { 33 | "count": 117 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 414 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 6 46 | }, 47 | "views": { 48 | "count": 74 49 | }, 50 | "engagements": { 51 | "count": 82 52 | }, 53 | "reach": { 54 | "count": 770 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 71 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 9, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 19, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 17, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 37, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-06-25-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-06-25", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 16710 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2900 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 45419 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1612 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 147000 31 | }, 32 | "mentions": { 33 | "count": 134 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 418 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 8 46 | }, 47 | "views": { 48 | "count": 73 49 | }, 50 | "engagements": { 51 | "count": 120 52 | }, 53 | "reach": { 54 | "count": 789 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 68 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 9, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 19, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 17, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 37, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-07-02-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-07-02", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 16830 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 2900 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 47305 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1624 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 135000 31 | }, 32 | "mentions": { 33 | "count": 136 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 421 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 10 46 | }, 47 | "views": { 48 | "count": 82 49 | }, 50 | "engagements": { 51 | "count": 107 52 | }, 53 | "reach": { 54 | "count": 480 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 69 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 9, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 19, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 17, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 37, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-07-10-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-07-10", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 16321 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 3000 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 47790 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1626 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 120000 31 | }, 32 | "mentions": { 33 | "count": 120 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 421 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 9 46 | }, 47 | "views": { 48 | "count": 85 49 | }, 50 | "engagements": { 51 | "count": 43 52 | }, 53 | "reach": { 54 | "count": 180 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 69 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 9, 75 | "link": "https://medium.com/samsung-internet-dev/eleven-examples-of-how-webvr-is-being-used-today-cbcb214b816c" 76 | }, 77 | "webPayments": { 78 | "count": 19, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 17, 83 | "link": "https://medium.com/samsung-internet-dev/6-myths-of-progressive-web-apps-81e28ca9d2b1" 84 | }, 85 | "webBluetooth": { 86 | "count": 37, 87 | "link": "https://samsunginter.net/docs/web-bluetooth" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-07-16-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-07-16", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 16109 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 3000 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 49127 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1632 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 125000 31 | }, 32 | "mentions": { 33 | "count": 105 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 425 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 14 46 | }, 47 | "views": { 48 | "count": 87 49 | }, 50 | "engagements": { 51 | "count": 70 52 | }, 53 | "reach": { 54 | "count": 225 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 71 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 2, 75 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API" 76 | }, 77 | "webPayments": { 78 | "count": 12, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 9, 83 | "link": "https://developer.mozilla.org/en-US/Apps/Progressive" 84 | }, 85 | "webBluetooth": { 86 | "count": 3, 87 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-07-24-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-07-24", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 15564 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 3000 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 45210 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1632 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 93500 31 | }, 32 | "mentions": { 33 | "count": 116 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 425 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 14 46 | }, 47 | "views": { 48 | "count": 83 49 | }, 50 | "engagements": { 51 | "count": 35 52 | }, 53 | "reach": { 54 | "count": 186 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 71 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 2, 75 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API" 76 | }, 77 | "webPayments": { 78 | "count": 12, 79 | "link": "https://www.smashingmagazine.com/2018/01/online-purchase-payment-request-api/" 80 | }, 81 | "pwas": { 82 | "count": 9, 83 | "link": "https://developer.mozilla.org/en-US/Apps/Progressive" 84 | }, 85 | "webBluetooth": { 86 | "count": 3, 87 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-08-07-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-08-07", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 17210 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 3100 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 41750 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1653 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 62700 31 | }, 32 | "mentions": { 33 | "count": 100 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 433 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 14 46 | }, 47 | "views": { 48 | "count": 63 49 | }, 50 | "engagements": { 51 | "count": 40 52 | }, 53 | "reach": { 54 | "count": 180 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 75 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 3, 75 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API" 76 | }, 77 | "webPayments": { 78 | "count": 13, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 8, 83 | "link": "https://developer.mozilla.org/en-US/Apps/Progressive" 84 | }, 85 | "webBluetooth": { 86 | "count": 4, 87 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-08-20-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-08-20", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 15357 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 3100 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 36242 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1676 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 25800 31 | }, 32 | "mentions": { 33 | "count": 42 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 440 41 | } 42 | }, 43 | "engagement": { 44 | "likes": { 45 | "count": 16 46 | }, 47 | "views": { 48 | "count": 100 49 | }, 50 | "engagements": { 51 | "count": 13 52 | }, 53 | "reach": { 54 | "count": 25 55 | } 56 | } 57 | }, 58 | "instagram": { 59 | "audience": { 60 | "followers": { 61 | "count": 73 62 | } 63 | } 64 | }, 65 | "github": { 66 | "issues": { 67 | "closeTimeAvg": { 68 | "count": 3 69 | } 70 | } 71 | }, 72 | "seo": { 73 | "webvr": { 74 | "count": 3, 75 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API" 76 | }, 77 | "webPayments": { 78 | "count": 13, 79 | "link": "https://medium.com/samsung-internet-dev/web-payments-update-new-payment-apps-on-their-way-and-more-cef1c62edaf6" 80 | }, 81 | "pwas": { 82 | "count": 8, 83 | "link": "https://developer.mozilla.org/en-US/Apps/Progressive" 84 | }, 85 | "webBluetooth": { 86 | "count": 4, 87 | "link": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API" 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /data/general/2018-08-28-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-08-28", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 14206 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 3100 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 36216 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1692 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 27300 31 | }, 32 | "mentions": { 33 | "count": 57 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 445 41 | } 42 | } 43 | }, 44 | "instagram": { 45 | "audience": { 46 | "followers": { 47 | "count": 75 48 | } 49 | } 50 | }, 51 | "github": { 52 | "issues": { 53 | "closeTimeAvg": { 54 | "count": 3 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /data/general/2018-09-04-stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "updated": "2018-09-04", 3 | "devHub": { 4 | "engagement": { 5 | "uniqueVisitors": { 6 | "count": 13316 7 | } 8 | } 9 | }, 10 | "medium": { 11 | "audience": { 12 | "followers": { 13 | "count": 3100 14 | } 15 | }, 16 | "engagement": { 17 | "views": { 18 | "count": 37558 19 | } 20 | } 21 | }, 22 | "twitter": { 23 | "audience": { 24 | "followers": { 25 | "count": 1701 26 | } 27 | }, 28 | "engagement": { 29 | "impressions": { 30 | "count": 37000 31 | }, 32 | "mentions": { 33 | "count": 80 34 | } 35 | } 36 | }, 37 | "facebook": { 38 | "audience": { 39 | "followers": { 40 | "count": 443 41 | } 42 | } 43 | }, 44 | "instagram": { 45 | "audience": { 46 | "followers": { 47 | "count": 77 48 | } 49 | } 50 | }, 51 | "github": { 52 | "issues": { 53 | "closeTimeAvg": { 54 | "count": 3 55 | } 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /data/medium/2018-06-05-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 5/7/2018,1695,1359,731 3 | 5/8/2018,2100,1595,1209 4 | 5/9/2018,2028,1667,1370 5 | 5/10/2018,1692,1399,1389 6 | 5/11/2018,1638,1359,1212 7 | 5/12/2018,1046,877,1151 8 | 5/13/2018,1053,884,744 9 | 5/14/2018,1830,1581,764 10 | 5/15/2018,1863,1558,1330 11 | 5/16/2018,1898,1615,1362 12 | 5/17/2018,1715,1463,1381 13 | 5/18/2018,1555,1356,1285 14 | 5/19/2018,1048,875,1166 15 | 5/20/2018,1195,968,743 16 | 5/21/2018,1664,1400,825 17 | 5/22/2018,1736,1455,1190 18 | 5/23/2018,1819,1419,1240 19 | 5/24/2018,1614,1389,1230 20 | 5/25/2018,1448,1150,1226 21 | 5/26/2018,973,801,1014 22 | 5/27/2018,897,822,677 23 | 5/28/2018,1497,1198,722 24 | 5/29/2018,1701,1375,1016 25 | 5/30/2018,1766,1473,1200 26 | 5/31/2018,1710,1399,1288 27 | 6/1/2018,1724,1324,1196 28 | 6/2/2018,1044,826,1146 29 | 6/3/2018,1255,1165,708 30 | 6/4/2018,1816,1568,1027 31 | 6/5/2018,259,251,1353 32 | -------------------------------------------------------------------------------- /data/medium/2018-06-11-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 5/13/2018,1053,884,744 3 | 5/14/2018,1830,1581,764 4 | 5/15/2018,1863,1558,1330 5 | 5/16/2018,1898,1615,1362 6 | 5/17/2018,1715,1463,1381 7 | 5/18/2018,1555,1356,1285 8 | 5/19/2018,1048,875,1166 9 | 5/20/2018,1195,968,743 10 | 5/21/2018,1664,1400,825 11 | 5/22/2018,1736,1455,1190 12 | 5/23/2018,1819,1419,1240 13 | 5/24/2018,1614,1389,1230 14 | 5/25/2018,1448,1150,1226 15 | 5/26/2018,973,801,1014 16 | 5/27/2018,897,822,677 17 | 5/28/2018,1497,1198,722 18 | 5/29/2018,1701,1375,1016 19 | 5/30/2018,1766,1473,1200 20 | 5/31/2018,1710,1399,1288 21 | 6/1/2018,1724,1324,1196 22 | 6/2/2018,1044,826,1146 23 | 6/3/2018,1255,1165,708 24 | 6/4/2018,1816,1568,1027 25 | 6/5/2018,2149,2014,1353 26 | 6/6/2018,2436,2160,1711 27 | 6/7/2018,1887,1567,1862 28 | 6/8/2018,1703,1399,1379 29 | 6/9/2018,1012,889,1185 30 | 6/10/2018,1019,849,760 31 | 6/11/2018,427,286,738 32 | -------------------------------------------------------------------------------- /data/medium/2018-06-18-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 5/20/2018,1195,968,743 3 | 5/21/2018,1664,1400,825 4 | 5/22/2018,1736,1455,1190 5 | 5/23/2018,1819,1419,1240 6 | 5/24/2018,1614,1389,1230 7 | 5/25/2018,1448,1150,1226 8 | 5/26/2018,973,801,1014 9 | 5/27/2018,897,822,677 10 | 5/28/2018,1497,1198,722 11 | 5/29/2018,1701,1375,1016 12 | 5/30/2018,1766,1473,1200 13 | 5/31/2018,1710,1399,1288 14 | 6/1/2018,1724,1324,1196 15 | 6/2/2018,1044,826,1146 16 | 6/3/2018,1255,1165,708 17 | 6/4/2018,1816,1568,1027 18 | 6/5/2018,2149,2014,1353 19 | 6/6/2018,2436,2160,1711 20 | 6/7/2018,1887,1567,1862 21 | 6/8/2018,1703,1399,1379 22 | 6/9/2018,1012,889,1185 23 | 6/10/2018,1019,849,760 24 | 6/11/2018,1916,1573,738 25 | 6/12/2018,1773,1495,1334 26 | 6/13/2018,1809,1593,1274 27 | 6/14/2018,1658,1384,1319 28 | 6/15/2018,1866,1484,1229 29 | 6/16/2018,1316,1091,1249 30 | 6/17/2018,1137,879,909 31 | 6/18/2018,575,521,766 32 | -------------------------------------------------------------------------------- /data/medium/2018-06-25-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 5/27/2018,897,822,677 3 | 5/28/2018,1497,1198,722 4 | 5/29/2018,1701,1375,1016 5 | 5/30/2018,1766,1473,1200 6 | 5/31/2018,1710,1399,1288 7 | 6/1/2018,1724,1324,1196 8 | 6/2/2018,1044,826,1146 9 | 6/3/2018,1255,1165,708 10 | 6/4/2018,1816,1568,1027 11 | 6/5/2018,2149,2014,1353 12 | 6/6/2018,2436,2160,1711 13 | 6/7/2018,1887,1567,1862 14 | 6/8/2018,1703,1399,1379 15 | 6/9/2018,1012,889,1185 16 | 6/10/2018,1019,849,760 17 | 6/11/2018,1916,1573,738 18 | 6/12/2018,1773,1495,1334 19 | 6/13/2018,1809,1593,1274 20 | 6/14/2018,1658,1384,1319 21 | 6/15/2018,1866,1484,1229 22 | 6/16/2018,1316,1091,1249 23 | 6/17/2018,1137,879,909 24 | 6/18/2018,1980,1724,766 25 | 6/19/2018,2503,1864,1444 26 | 6/20/2018,1920,1586,1623 27 | 6/21/2018,5461,3196,1340 28 | 6/22/2018,8366,4253,2791 29 | 6/23/2018,1980,1447,3718 30 | 6/24/2018,1384,1172,1214 31 | 6/25/2018,857,650,979 32 | -------------------------------------------------------------------------------- /data/medium/2018-07-02-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/3/2018,1255,1165,708 3 | 6/4/2018,1816,1568,1027 4 | 6/5/2018,2149,2014,1353 5 | 6/6/2018,2436,2160,1711 6 | 6/7/2018,1887,1567,1862 7 | 6/8/2018,1703,1399,1379 8 | 6/9/2018,1012,889,1185 9 | 6/10/2018,1019,849,760 10 | 6/11/2018,1916,1573,738 11 | 6/12/2018,1773,1495,1334 12 | 6/13/2018,1809,1593,1274 13 | 6/14/2018,1658,1384,1319 14 | 6/15/2018,1866,1484,1229 15 | 6/16/2018,1316,1091,1249 16 | 6/17/2018,1137,879,909 17 | 6/18/2018,1980,1724,766 18 | 6/19/2018,2503,1864,1444 19 | 6/20/2018,1920,1586,1623 20 | 6/21/2018,5461,3196,1340 21 | 6/22/2018,8366,4253,2791 22 | 6/23/2018,1980,1447,3718 23 | 6/24/2018,1384,1172,1214 24 | 6/25/2018,2288,1752,979 25 | 6/26/2018,2293,1656,1490 26 | 6/27/2018,2107,1573,1409 27 | 6/28/2018,1970,1542,1377 28 | 6/29/2018,1629,1397,1320 29 | 6/30/2018,1050,941,1190 30 | 7/1/2018,1061,911,787 31 | 7/2/2018,1344,1181,800 32 | -------------------------------------------------------------------------------- /data/medium/2018-07-10-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/11/2018,1900,1571,737 3 | 6/12/2018,1760,1494,1336 4 | 6/13/2018,1814,1581,1270 5 | 6/14/2018,1650,1379,1314 6 | 6/15/2018,1836,1480,1219 7 | 6/16/2018,1347,1111,1255 8 | 6/17/2018,1152,879,923 9 | 6/18/2018,1942,1706,768 10 | 6/19/2018,2529,1870,1425 11 | 6/20/2018,1943,1598,1626 12 | 6/21/2018,5005,2998,1358 13 | 6/22/2018,8755,4417,2617 14 | 6/23/2018,2029,1479,3862 15 | 6/24/2018,1402,1171,1243 16 | 6/25/2018,2271,1736,980 17 | 6/26/2018,2306,1673,1475 18 | 6/27/2018,2082,1575,1425 19 | 6/28/2018,1957,1531,1384 20 | 6/29/2018,1632,1394,1308 21 | 6/30/2018,1093,951,1191 22 | 7/1/2018,1036,917,797 23 | 7/2/2018,1767,1508,793 24 | 7/3/2018,2034,1641,1314 25 | 7/4/2018,1917,1530,1390 26 | 7/5/2018,2313,1665,1294 27 | 7/6/2018,3513,2217,1454 28 | 7/7/2018,2092,1273,1958 29 | 7/8/2018,1939,1205,1111 30 | 7/9/2018,2689,1890,1022 31 | 7/10/2018,0,350,1627 32 | -------------------------------------------------------------------------------- /data/medium/2018-07-16-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/17/2018,1137,879,909 3 | 6/18/2018,1980,1724,766 4 | 6/19/2018,2503,1864,1444 5 | 6/20/2018,1920,1586,1623 6 | 6/21/2018,5461,3196,1340 7 | 6/22/2018,8366,4253,2791 8 | 6/23/2018,1980,1447,3718 9 | 6/24/2018,1384,1172,1214 10 | 6/25/2018,2288,1752,979 11 | 6/26/2018,2293,1656,1490 12 | 6/27/2018,2107,1573,1409 13 | 6/28/2018,1970,1542,1377 14 | 6/29/2018,1629,1397,1320 15 | 6/30/2018,1050,941,1190 16 | 7/1/2018,1061,911,787 17 | 7/2/2018,1789,1525,800 18 | 7/3/2018,2020,1646,1325 19 | 7/4/2018,1921,1514,1397 20 | 7/5/2018,2341,1686,1274 21 | 7/6/2018,3508,2225,1474 22 | 7/7/2018,2093,1241,1964 23 | 7/8/2018,1922,1210,1094 24 | 7/9/2018,2946,1883,1019 25 | 7/10/2018,3456,2155,1625 26 | 7/11/2018,2919,1838,1894 27 | 7/12/2018,2818,1901,1631 28 | 7/13/2018,2700,1840,1646 29 | 7/14/2018,1720,1144,1593 30 | 7/15/2018,1602,1103,985 31 | 7/16/2018,610,323,931 32 | -------------------------------------------------------------------------------- /data/medium/2018-07-24-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 6/25/2018,2288,1752,979 3 | 6/26/2018,2293,1656,1490 4 | 6/27/2018,2107,1573,1409 5 | 6/28/2018,1970,1542,1377 6 | 6/29/2018,1629,1397,1320 7 | 6/30/2018,1050,941,1190 8 | 7/1/2018,1061,911,787 9 | 7/2/2018,1789,1525,800 10 | 7/3/2018,2020,1646,1325 11 | 7/4/2018,1921,1514,1397 12 | 7/5/2018,2341,1686,1274 13 | 7/6/2018,3508,2225,1474 14 | 7/7/2018,2093,1241,1964 15 | 7/8/2018,1922,1210,1094 16 | 7/9/2018,2946,1883,1019 17 | 7/10/2018,3456,2155,1625 18 | 7/11/2018,2919,1838,1894 19 | 7/12/2018,2818,1901,1631 20 | 7/13/2018,2700,1840,1646 21 | 7/14/2018,1720,1144,1593 22 | 7/15/2018,1602,1103,985 23 | 7/16/2018,2853,1745,931 24 | 7/17/2018,2541,1786,1538 25 | 7/18/2018,2773,1917,1533 26 | 7/19/2018,2783,1950,1669 27 | 7/20/2018,2011,1492,1694 28 | 7/21/2018,1220,895,1311 29 | 7/22/2018,982,924,764 30 | 7/23/2018,1914,1479,790 31 | 7/24/2018,390,339,1287 32 | -------------------------------------------------------------------------------- /data/medium/2018-08-07-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 7/9/2018,2946,1883,1019 3 | 7/10/2018,3456,2155,1625 4 | 7/11/2018,2919,1838,1894 5 | 7/12/2018,2818,1901,1631 6 | 7/13/2018,2700,1840,1646 7 | 7/14/2018,1720,1144,1593 8 | 7/15/2018,1602,1103,985 9 | 7/16/2018,2853,1745,931 10 | 7/17/2018,2541,1786,1538 11 | 7/18/2018,2773,1917,1533 12 | 7/19/2018,2783,1950,1669 13 | 7/20/2018,2011,1492,1694 14 | 7/21/2018,1220,895,1311 15 | 7/22/2018,982,924,764 16 | 7/23/2018,1914,1479,790 17 | 7/24/2018,1774,1541,1287 18 | 7/25/2018,1668,1475,1308 19 | 7/26/2018,1801,1482,1270 20 | 7/27/2018,1662,1281,1289 21 | 7/28/2018,1010,778,1097 22 | 7/29/2018,1037,846,696 23 | 7/30/2018,1746,1434,740 24 | 7/31/2018,1757,1432,1258 25 | 8/1/2018,1724,1450,1233 26 | 8/2/2018,1979,1485,1243 27 | 8/3/2018,1438,1268,1245 28 | 8/4/2018,974,824,1094 29 | 8/5/2018,944,858,729 30 | 8/6/2018,1556,1303,738 31 | 8/7/2018,230,241,1103 32 | -------------------------------------------------------------------------------- /data/medium/2018-08-20-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 7/22/2018,982,924,764 3 | 7/23/2018,1914,1479,790 4 | 7/24/2018,1774,1541,1287 5 | 7/25/2018,1668,1475,1308 6 | 7/26/2018,1801,1482,1270 7 | 7/27/2018,1662,1281,1289 8 | 7/28/2018,1010,778,1097 9 | 7/29/2018,1037,846,696 10 | 7/30/2018,1746,1434,740 11 | 7/31/2018,1757,1432,1258 12 | 8/1/2018,1724,1450,1233 13 | 8/2/2018,1979,1485,1243 14 | 8/3/2018,1438,1268,1245 15 | 8/4/2018,974,824,1094 16 | 8/5/2018,944,858,729 17 | 8/6/2018,1556,1303,738 18 | 8/7/2018,1710,1457,1103 19 | 8/8/2018,1938,1551,1285 20 | 8/9/2018,1793,1453,1323 21 | 8/10/2018,1807,1378,1260 22 | 8/11/2018,1015,863,1201 23 | 8/12/2018,984,832,747 24 | 8/13/2018,1835,1443,732 25 | 8/14/2018,1842,1401,1241 26 | 8/15/2018,1575,1281,1208 27 | 8/16/2018,1767,1400,1095 28 | 8/17/2018,1544,1246,1227 29 | 8/18/2018,1034,842,1095 30 | 8/19/2018,867,810,734 31 | 8/20/2018,598,425,708 32 | -------------------------------------------------------------------------------- /data/medium/2018-08-28-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 7/30/2018,1746,1434,740 3 | 7/31/2018,1757,1432,1258 4 | 8/1/2018,1724,1450,1233 5 | 8/2/2018,1979,1485,1243 6 | 8/3/2018,1438,1268,1245 7 | 8/4/2018,974,824,1094 8 | 8/5/2018,944,858,729 9 | 8/6/2018,1556,1303,738 10 | 8/7/2018,1710,1457,1103 11 | 8/8/2018,1938,1551,1285 12 | 8/9/2018,1793,1453,1323 13 | 8/10/2018,1807,1378,1260 14 | 8/11/2018,1015,863,1201 15 | 8/12/2018,984,832,747 16 | 8/13/2018,1835,1443,732 17 | 8/14/2018,1842,1401,1241 18 | 8/15/2018,1575,1281,1208 19 | 8/16/2018,1767,1400,1095 20 | 8/17/2018,1544,1246,1227 21 | 8/18/2018,1034,842,1095 22 | 8/19/2018,867,810,734 23 | 8/20/2018,1500,1342,708 24 | 8/21/2018,1807,1317,1173 25 | 8/22/2018,1592,1367,1154 26 | 8/23/2018,1668,1391,1170 27 | 8/24/2018,1299,1193,1220 28 | 8/25/2018,1081,942,1040 29 | 8/26/2018,931,810,804 30 | 8/27/2018,1905,1434,700 31 | 8/28/2018,653,493,1206 32 | -------------------------------------------------------------------------------- /data/medium/2018-09-04-medium-overview.csv: -------------------------------------------------------------------------------- 1 | Date, Minutes Read, Views, Visitors 2 | 8/6/2018,1556,1303,738 3 | 8/7/2018,1710,1457,1103 4 | 8/8/2018,1938,1551,1285 5 | 8/9/2018,1793,1453,1323 6 | 8/10/2018,1807,1378,1260 7 | 8/11/2018,1015,863,1201 8 | 8/12/2018,984,832,747 9 | 8/13/2018,1835,1443,732 10 | 8/14/2018,1842,1401,1241 11 | 8/15/2018,1575,1281,1208 12 | 8/16/2018,1767,1400,1095 13 | 8/17/2018,1544,1246,1227 14 | 8/18/2018,1034,842,1095 15 | 8/19/2018,867,810,734 16 | 8/20/2018,1500,1342,708 17 | 8/21/2018,1807,1317,1173 18 | 8/22/2018,1592,1367,1154 19 | 8/23/2018,1668,1391,1170 20 | 8/24/2018,1299,1193,1220 21 | 8/25/2018,1081,942,1040 22 | 8/26/2018,931,810,804 23 | 8/27/2018,1905,1434,700 24 | 8/28/2018,2027,1609,1206 25 | 8/29/2018,1795,1521,1396 26 | 8/30/2018,1747,1409,1274 27 | 8/31/2018,1538,1439,1246 28 | 9/1/2018,874,860,1221 29 | 9/2/2018,1884,1665,741 30 | 9/3/2018,1664,1610,1433 31 | 9/4/2018,526,479,1383 32 | -------------------------------------------------------------------------------- /extension/README.md: -------------------------------------------------------------------------------- 1 | ## Dashboard Updater Browser Extension 2 | 3 | This directory contains a Chrome extension to help download our stats data. 4 | You can install it locally from the directory, which makes it easy to update it. 5 | [Here's how](https://developer.chrome.com/extensions/getstarted#unpacked). 6 | 7 | See the [general README](/README.md) for further instructions. 8 | -------------------------------------------------------------------------------- /extension/content-script-medium-overview.js: -------------------------------------------------------------------------------- 1 | // Injects our script into the page where it can have access 2 | // to the __data__ expando properties of the bar graphs. 3 | // (See: https://stackoverflow.com/questions/44889907/chrome-extension-does-not-have-access-to-dom-data) 4 | var s = document.createElement('script'); 5 | s.src = chrome.extension.getURL('page-script-medium.js'); 6 | s.onload = function() { 7 | this.remove(); 8 | }; 9 | (document.head || document.documentElement).appendChild(s); 10 | -------------------------------------------------------------------------------- /extension/content-script-medium-stories.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Logs the year's total articles and view count to the console 3 | */ 4 | 5 | // Update this each year - it will keep counting until it reaches a heading 6 | // that doesn't include this year in the string. 7 | var YEAR_TO_COUNT = '2018'; 8 | 9 | var viewsCountTotal = 0; 10 | var statsTableBody = document.getElementsByClassName('js-statsTableBody')[0]; 11 | var trs = statsTableBody.getElementsByTagName('tr'); 12 | 13 | var storiesCount = 0; 14 | var viewsCount = 0; 15 | 16 | /** 17 | * For each row 18 | */ 19 | for (var i=0; i < trs.length; i++) { 20 | 21 | var tr = trs[i]; 22 | 23 | if (tr.children.length < 2) { 24 | 25 | // Check date heading 26 | if (tr.classList.contains('sortableTable-row--dateBucket')) { 27 | var dateHeading = tr.querySelector('.heading-title'); 28 | 29 | if (dateHeading) { 30 | 31 | if (dateHeading.innerHTML.includes(YEAR_TO_COUNT)) { 32 | console.log('Counting:', dateHeading.innerHTML); 33 | } else { 34 | console.log(`Reached end of year ${YEAR_TO_COUNT}, stopping counting.`); 35 | break; 36 | } 37 | } 38 | } 39 | 40 | // Continue with next 'tr' 41 | continue; 42 | } 43 | 44 | var viewsTd = tr.children[1]; 45 | var viewsValue = viewsTd.getElementsByClassName('sortableTable-value')[0].innerText; 46 | 47 | if (viewsValue) { 48 | console.log('Views', viewsValue); 49 | 50 | var viewsInt = parseInt(viewsValue, 10); 51 | 52 | viewsCount += viewsInt; 53 | storiesCount++; 54 | } 55 | 56 | } 57 | 58 | console.log('* Number of stories for ' + YEAR_TO_COUNT, storiesCount); 59 | console.log('* Total views for ' + YEAR_TO_COUNT, viewsCount); 60 | -------------------------------------------------------------------------------- /extension/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SamsungInternet/dashboard/0fbd7a5cbf514dce8b8e552e2707b7a7db6186e6/extension/icon.png -------------------------------------------------------------------------------- /extension/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | "name": "Dashboard Updater", 4 | "description": "Helps to update the data for our Samsung Internet developer advocacy dashboard", 5 | "version": "1.0", 6 | "permissions": [ 7 | "activeTab", 8 | "https://ajax.googleapis.com/" 9 | ], 10 | "browser_action": { 11 | "default_icon": "icon.png", 12 | "default_popup": "popup.html", 13 | "default_title": "Dashboard Updater" 14 | }, 15 | "web_accessible_resources": ["page-script-medium.js"] 16 | } 17 | -------------------------------------------------------------------------------- /extension/page-script-medium.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Originally based on the script by Esteban Pintos: 3 | * https://gist.github.com/epintos/a30876b1ce61bf5fafbd884e024b3361 4 | */ 5 | (function() { 6 | 7 | var minutesReadValues = [] 8 | var viewsValues = []; 9 | var visitorsValues = []; 10 | 11 | // Number of days shown in the graphs 12 | var numDays = 30; 13 | 14 | var initialDay = addDays(new Date(), -numDays + 1); 15 | 16 | function addDays(date, numDays) { 17 | var newDate = new Date(date); 18 | newDate.setDate(date.getDate() + numDays); 19 | return newDate; 20 | } 21 | 22 | // Returns max value of an array 23 | function max(array) { 24 | return Math.max.apply(Math, array); 25 | } 26 | 27 | // Downloads a string with a certain filename 28 | function download(filename, text) { 29 | var pom = document.createElement('a'); 30 | pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); 31 | pom.setAttribute('download', filename); 32 | 33 | if (document.createEvent) { 34 | var event = document.createEvent('MouseEvents'); 35 | event.initEvent('click', true, true); 36 | pom.dispatchEvent(event); 37 | } 38 | else { 39 | pom.click(); 40 | } 41 | } 42 | 43 | // Generates CSV format string with dates and values 44 | function generateCSVContent(minutesReadValues, viewsValues, visitorsValues) { 45 | 46 | var content = 'Date, Minutes Read, Views, Visitors\n'; 47 | 48 | for (var i=0; i < numDays; i++) { 49 | content += addDays(initialDay, i).toLocaleDateString('en-US') + ',' + 50 | Math.round(minutesReadValues[i]) + ',' + 51 | viewsValues[i] + ',' + 52 | visitorsValues[i] + '\n'; 53 | } 54 | return content 55 | } 56 | 57 | // Calculates the maximum height (which is relative to, but not equal to, the max value) 58 | function getGraphMaxHeight(graph) { 59 | 60 | var heights = []; 61 | var rects = graph.getElementsByTagName('rect'); 62 | 63 | for (var i=0; i < rects.length; i++) { 64 | var rect = rects[i]; 65 | heights.push( rect.getAttribute('height') ); 66 | }; 67 | 68 | return Math.max(...heights); 69 | } 70 | 71 | // Generates array of values from given bar elements 72 | function getValuesFromBars(bars) { 73 | var values = []; 74 | for (var i=0; i < bars.length; i++) { 75 | var bar = bars[i]; 76 | console.log('Data ' + i, bar.__data__.value); 77 | values.push(bar.__data__.value); 78 | } 79 | return values; 80 | } 81 | 82 | function downloadMediumStats() { 83 | 84 | var barGraphs = document.getElementsByClassName('js-barGraphBars'); 85 | 86 | var minutesReadBars = barGraphs[0].getElementsByTagName('rect'); 87 | var viewsBars = barGraphs[1].getElementsByTagName('rect'); 88 | var visitorsBars = barGraphs[2].getElementsByTagName('rect'); 89 | 90 | var minutesReadValues = getValuesFromBars(minutesReadBars); 91 | var viewsValues = getValuesFromBars(viewsBars); 92 | var visitorsValues = getValuesFromBars(visitorsBars); 93 | 94 | var content = generateCSVContent(minutesReadValues, viewsValues, visitorsValues); 95 | 96 | download(new Date().toISOString().slice(0, 10) + '-medium-overview.csv', content); 97 | 98 | } 99 | 100 | console.log('Download Medium stats'); 101 | 102 | downloadMediumStats(); 103 | 104 | })(); 105 | -------------------------------------------------------------------------------- /extension/popup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dashboard Updater 5 | 18 | 19 | 20 | 21 |

Dashboard Updater

22 |

Medium

23 |

Download the Medium stats overview as a CSV file

24 | 25 |

Print the total story views to the console. Remember to scroll down to reveal all the stories first. Check the result in the browser console.

26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /extension/popup.js: -------------------------------------------------------------------------------- 1 | var MEDIUM_OVERVIEW_URL = 'https://medium.com/samsung-internet-dev/stats/overview'; 2 | var MEDIUM_STORIES_URL = 'https://medium.com/samsung-internet-dev/stats/stories'; 3 | var MEDIUM_STORIES_ME_URL = 'https://medium.com/me/stats'; 4 | 5 | var btnMediumOverview; 6 | 7 | // Based on popup sample, copyright (c) 2014 The Chromium Authors 8 | function getCurrentTabUrl(callback) { 9 | var queryInfo = { 10 | active: true, 11 | currentWindow: true 12 | }; 13 | 14 | chrome.tabs.query(queryInfo, function(tabs) { 15 | var tab = tabs[0]; 16 | var url = tab.url; 17 | console.assert(typeof url == 'string', 'tab.url should be a string'); 18 | callback(url); 19 | }); 20 | } 21 | 22 | function updateEnabledButtons() { 23 | 24 | getCurrentTabUrl(function(url) { 25 | if (btnMediumOverview) { 26 | btnMediumOverview.disabled = (url !== MEDIUM_OVERVIEW_URL); 27 | } 28 | if (btnMediumStories) { 29 | btnMediumStories.disabled = (url !== MEDIUM_STORIES_URL && url !== MEDIUM_STORIES_ME_URL); 30 | } 31 | }); 32 | 33 | } 34 | 35 | document.addEventListener('DOMContentLoaded', function() { 36 | 37 | updateEnabledButtons(); 38 | 39 | btnMediumOverview = document.getElementById('btn-medium-overview'); 40 | btnMediumStories = document.getElementById('btn-medium-stories'); 41 | 42 | btnMediumOverview.addEventListener('click', function() { 43 | 44 | getCurrentTabUrl(function(url) { 45 | if (url === MEDIUM_OVERVIEW_URL) { 46 | 47 | console.log('Medium Overview'); 48 | 49 | chrome.tabs.executeScript({ 50 | file: 'content-script-medium-overview.js', 51 | runAt: 'document_end' 52 | }); 53 | } 54 | }); 55 | }); 56 | 57 | btnMediumStories.addEventListener('click', function() { 58 | 59 | getCurrentTabUrl(function(url) { 60 | if (url === MEDIUM_STORIES_URL || url === MEDIUM_STORIES_ME_URL) { 61 | 62 | console.log('Medium Stories'); 63 | 64 | chrome.tabs.executeScript({ 65 | file: 'content-script-medium-stories.js', 66 | runAt: 'document_end' 67 | }); 68 | } 69 | }); 70 | }); 71 | 72 | chrome.tabs.onUpdated.addListener( updateEnabledButtons ); 73 | 74 | }); 75 | -------------------------------------------------------------------------------- /images/dashboard-preview-crop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SamsungInternet/dashboard/0fbd7a5cbf514dce8b8e552e2707b7a7db6186e6/images/dashboard-preview-crop.png -------------------------------------------------------------------------------- /images/dashboard-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SamsungInternet/dashboard/0fbd7a5cbf514dce8b8e552e2707b7a7db6186e6/images/dashboard-preview.png -------------------------------------------------------------------------------- /images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SamsungInternet/dashboard/0fbd7a5cbf514dce8b8e552e2707b7a7db6186e6/images/favicon.png -------------------------------------------------------------------------------- /images/icon192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SamsungInternet/dashboard/0fbd7a5cbf514dce8b8e552e2707b7a7db6186e6/images/icon192.png -------------------------------------------------------------------------------- /images/icon512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SamsungInternet/dashboard/0fbd7a5cbf514dce8b8e552e2707b7a7db6186e6/images/icon512.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Dashboard 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 22 |
23 |

Developer Advocacy Dashboard

24 |

Last updated: 04 September 2018

25 |
26 |
27 |
28 |

Audience

29 |
30 |
31 |

3.1K

32 |

Medium followers

33 |

0.0% (28 days)

34 |
35 |
36 |

1.7K

37 |

Twitter followers

38 |

2.9% (28 days)

39 |
40 |
41 |

443

42 |

Facebook followers

43 |

10 (28 days)

44 |
45 |
46 |

77

47 |

Instagram followers

48 |

2 (28 days)

49 |
50 |
51 |

Total social media followers: 5.3K

52 |

Engagement

53 |
54 |
55 |

13.3K

56 |

Dev Hub unique visitors

57 |

-22.6% (28 days)

58 |
59 |
60 |

37.0K

61 |

Tweet impressions (28 days)

62 |

-41.0%

63 |
64 |
65 |

80

66 |

Twitter mentions (28 days)

67 |

-20

68 |
69 |
70 |

37.6K

71 |

Medium views (30 days)

72 |

-10.0%

73 |
74 |
75 |

Open Source & Support

76 |
77 |
78 |

52

79 |

Github repositories

80 |
81 |
82 |

316

83 |

Github stars

84 |
85 |
86 |

84

87 |

Github forks

88 |
89 |
90 |

34

91 |

Open issues

92 |
93 |
94 |

3

95 |

Time to close issues (months, avg)

96 |
97 |
98 |

4

99 |

Stack Overflow estimated questions asked (28 days)

100 |
101 |
102 |

0

103 |

Stack Overflow answers/comments given (28 days)

104 |
105 |
106 |
107 |

Recent Github Pull Requests (9)

108 | 109 |
110 |

Medium Blog

111 |
112 |
113 | Minutes read 114 | Views 115 | Visitors 116 |
117 |

Surveys

118 |
119 |
120 |

Twitter poll

121 |
122 |
123 | Not aware of Samsung Internet 124 | Aware of Samsung Internet 125 |
126 |

Source: Peter's Twitter poll, April 2018

127 |
128 |
129 |

Events feedback

130 |
131 |
132 | Not aware of Samsung Internet 133 | Aware of Samsung Internet 134 |
135 |

Source: Event feedback surveys (latest: FullStack)

136 |
137 |
138 |
139 | 142 | 143 | 144 | 145 | -------------------------------------------------------------------------------- /lib/scss/settings/_chartist-settings.scss: -------------------------------------------------------------------------------- 1 | // Scales for responsive SVG containers 2 | $ct-scales: ((1), (15/16), (8/9), (5/6), (4/5), (3/4), (2/3), (5/8), (1/1.618), (3/5), (9/16), (8/15), (1/2), (2/5), (3/8), (1/3), (1/4)) !default; 3 | $ct-scales-names: (ct-square, ct-minor-second, ct-major-second, ct-minor-third, ct-major-third, ct-perfect-fourth, ct-perfect-fifth, ct-minor-sixth, ct-golden-section, ct-major-sixth, ct-minor-seventh, ct-major-seventh, ct-octave, ct-major-tenth, ct-major-eleventh, ct-major-twelfth, ct-double-octave) !default; 4 | 5 | // Class names to be used when generating CSS 6 | $ct-class-chart: ct-chart !default; 7 | $ct-class-chart-line: ct-chart-line !default; 8 | $ct-class-chart-bar: ct-chart-bar !default; 9 | $ct-class-horizontal-bars: ct-horizontal-bars !default; 10 | $ct-class-chart-pie: ct-chart-pie !default; 11 | $ct-class-chart-donut: ct-chart-donut !default; 12 | $ct-class-label: ct-label !default; 13 | $ct-class-series: ct-series !default; 14 | $ct-class-line: ct-line !default; 15 | $ct-class-point: ct-point !default; 16 | $ct-class-area: ct-area !default; 17 | $ct-class-bar: ct-bar !default; 18 | $ct-class-slice-pie: ct-slice-pie !default; 19 | $ct-class-slice-donut: ct-slice-donut !default; 20 | $ct-class-slice-donut-solid: ct-slice-donut-solid !default; 21 | $ct-class-grid: ct-grid !default; 22 | $ct-class-grid-background: ct-grid-background !default; 23 | $ct-class-vertical: ct-vertical !default; 24 | $ct-class-horizontal: ct-horizontal !default; 25 | $ct-class-start: ct-start !default; 26 | $ct-class-end: ct-end !default; 27 | 28 | // Container ratio 29 | $ct-container-ratio: (1/1.618) !default; 30 | 31 | // Text styles for labels 32 | $ct-text-color: rgba(0, 0, 0, 0.4) !default; 33 | $ct-text-size: 0.75rem !default; 34 | $ct-text-align: flex-start !default; 35 | $ct-text-justify: flex-start !default; 36 | $ct-text-line-height: 1; 37 | 38 | // Grid styles 39 | $ct-grid-color: rgba(0, 0, 0, 0.2) !default; 40 | $ct-grid-dasharray: 2px !default; 41 | $ct-grid-width: 1px !default; 42 | $ct-grid-background-fill: none !default; 43 | 44 | // Line chart properties 45 | $ct-line-width: 4px !default; 46 | $ct-line-dasharray: false !default; 47 | $ct-point-size: 10px !default; 48 | // Line chart point, can be either round or square 49 | $ct-point-shape: round !default; 50 | // Area fill transparency between 0 and 1 51 | $ct-area-opacity: 0.1 !default; 52 | 53 | // Bar chart bar width 54 | $ct-bar-width: 10px !default; 55 | 56 | // Donut width (If donut width is to big it can cause issues where the shape gets distorted) 57 | $ct-donut-width: 60px !default; 58 | 59 | // If set to true it will include the default classes and generate CSS output. If you're planning to use the mixins you 60 | // should set this property to false 61 | $ct-include-classes: true !default; 62 | 63 | // If this is set to true the CSS will contain colored series. You can extend or change the color with the 64 | // properties below 65 | $ct-include-colored-series: $ct-include-classes !default; 66 | 67 | // If set to true this will include all responsive container variations using the scales defined at the top of the script 68 | $ct-include-alternative-responsive-containers: $ct-include-classes !default; 69 | 70 | // Series names and colors. This can be extended or customized as desired. Just add more series and colors. 71 | $ct-series-names: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) !default; 72 | $ct-series-colors: ( 73 | #d70206, 74 | #f05b4f, 75 | #f4c63d, 76 | #d17905, 77 | #453d3f, 78 | #59922b, 79 | #0544d3, 80 | #6b0392, 81 | #f05b4f, 82 | #dda458, 83 | #eacf7d, 84 | #86797d, 85 | #b2c326, 86 | #6188e2, 87 | #a748ca 88 | ) !default; 89 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dashboard", 3 | "short_name": "Dashboard", 4 | "start_url": ".", 5 | "display": "standalone", 6 | "background_color": "#222222", 7 | "theme_color": "#222222", 8 | "description": "Samsung Internet Developer Advocacy dashboard", 9 | "icons": [ 10 | { 11 | "src": "images/icon192.png", 12 | "sizes": "192x192", 13 | "type": "image/png" 14 | }, 15 | { 16 | "src": "images/icon512.png", 17 | "sizes": "512x512", 18 | "type": "image/png" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "samsung-internet-dashboard", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "agent-base": { 8 | "version": "4.2.0", 9 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.0.tgz", 10 | "integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==", 11 | "dev": true, 12 | "requires": { 13 | "es6-promisify": "5.0.0" 14 | } 15 | }, 16 | "d": { 17 | "version": "1.0.0", 18 | "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", 19 | "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", 20 | "dev": true, 21 | "requires": { 22 | "es5-ext": "0.10.35" 23 | } 24 | }, 25 | "debug": { 26 | "version": "3.1.0", 27 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 28 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 29 | "dev": true, 30 | "requires": { 31 | "ms": "2.0.0" 32 | } 33 | }, 34 | "dotenv": { 35 | "version": "4.0.0", 36 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", 37 | "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", 38 | "dev": true 39 | }, 40 | "encoding": { 41 | "version": "0.1.12", 42 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 43 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 44 | "dev": true, 45 | "requires": { 46 | "iconv-lite": "0.4.19" 47 | } 48 | }, 49 | "es5-ext": { 50 | "version": "0.10.35", 51 | "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", 52 | "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", 53 | "dev": true, 54 | "requires": { 55 | "es6-iterator": "2.0.3", 56 | "es6-symbol": "3.1.1" 57 | } 58 | }, 59 | "es6-iterator": { 60 | "version": "2.0.3", 61 | "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", 62 | "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", 63 | "dev": true, 64 | "requires": { 65 | "d": "1.0.0", 66 | "es5-ext": "0.10.35", 67 | "es6-symbol": "3.1.1" 68 | } 69 | }, 70 | "es6-promise": { 71 | "version": "4.2.4", 72 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", 73 | "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", 74 | "dev": true 75 | }, 76 | "es6-promisify": { 77 | "version": "5.0.0", 78 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", 79 | "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", 80 | "dev": true, 81 | "requires": { 82 | "es6-promise": "4.2.4" 83 | } 84 | }, 85 | "es6-symbol": { 86 | "version": "3.1.1", 87 | "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", 88 | "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", 89 | "dev": true, 90 | "requires": { 91 | "d": "1.0.0", 92 | "es5-ext": "0.10.35" 93 | } 94 | }, 95 | "es6-template-strings": { 96 | "version": "2.0.1", 97 | "resolved": "https://registry.npmjs.org/es6-template-strings/-/es6-template-strings-2.0.1.tgz", 98 | "integrity": "sha1-sWbGpiVi9Hi7d3X2ypYQOlmbSyw=", 99 | "dev": true, 100 | "requires": { 101 | "es5-ext": "0.10.35", 102 | "esniff": "1.1.0" 103 | } 104 | }, 105 | "esniff": { 106 | "version": "1.1.0", 107 | "resolved": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz", 108 | "integrity": "sha1-xmhJIp+RRk3t4uDUAgHtar9l8qw=", 109 | "dev": true, 110 | "requires": { 111 | "d": "1.0.0", 112 | "es5-ext": "0.10.35" 113 | } 114 | }, 115 | "https-proxy-agent": { 116 | "version": "2.2.0", 117 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.0.tgz", 118 | "integrity": "sha512-uUWcfXHvy/dwfM9bqa6AozvAjS32dZSTUYd/4SEpYKRg6LEcPLshksnQYRudM9AyNvUARMfAg5TLjUDyX/K4vA==", 119 | "dev": true, 120 | "requires": { 121 | "agent-base": "4.2.0", 122 | "debug": "3.1.0" 123 | } 124 | }, 125 | "iconv-lite": { 126 | "version": "0.4.19", 127 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", 128 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", 129 | "dev": true 130 | }, 131 | "is-stream": { 132 | "version": "1.1.0", 133 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 134 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 135 | "dev": true 136 | }, 137 | "moment": { 138 | "version": "2.21.0", 139 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", 140 | "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==", 141 | "dev": true 142 | }, 143 | "ms": { 144 | "version": "2.0.0", 145 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 146 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 147 | "dev": true 148 | }, 149 | "node-fetch": { 150 | "version": "1.7.3", 151 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", 152 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", 153 | "dev": true, 154 | "requires": { 155 | "encoding": "0.1.12", 156 | "is-stream": "1.1.0" 157 | } 158 | } 159 | } 160 | } 161 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "samsung-internet-dashboard", 3 | "version": "1.0.0", 4 | "description": "Samsung Internet Developer Advocacy Dashboard", 5 | "main": "update.js", 6 | "scripts": { 7 | "start": "node update", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/samsunginternet/dashboard.git" 13 | }, 14 | "author": "Peter O'Shaughnessy (https://peteroshaughnessy.com)", 15 | "license": "ISC", 16 | "bugs": { 17 | "url": "https://github.com/samsunginternet/dashboard/issues" 18 | }, 19 | "homepage": "https://github.com/samsunginternet/dashboard#readme", 20 | "devDependencies": { 21 | "dotenv": "^4.0.0", 22 | "es6-template-strings": "^2.0.1", 23 | "https-proxy-agent": "^2.2.0", 24 | "moment": "^2.21.0", 25 | "node-fetch": "^1.7.3" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/data-paths.js: -------------------------------------------------------------------------------- 1 | /* Exporting as variables to be used by both front-end and service worker */ 2 | var mediumStatsCSVPath = 'data/medium/2018-09-04-medium-overview.csv'; 3 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | var twitterSurveyAwarePercent = 48; 2 | var eventSurveyAwarePercent = 42; 3 | 4 | function setupSurveyChart(chartId, awarePercent) { 5 | 6 | var data = { 7 | series: [awarePercent, 100 - awarePercent] 8 | }; 9 | 10 | var sum = function(a, b) { return a + b }; 11 | 12 | var options = { 13 | width: 250, 14 | height: 250, 15 | fullWidth: false, 16 | labelInterpolationFnc: function(value) { 17 | return value + '%'; 18 | } 19 | }; 20 | 21 | new Chartist.Pie(`#${chartId}-survey-chart`, data, options); 22 | } 23 | 24 | function setupSurveyCharts() { 25 | setupSurveyChart('twitter', twitterSurveyAwarePercent); 26 | setupSurveyChart('event', eventSurveyAwarePercent); 27 | } 28 | 29 | function fetchMediumData() { 30 | Papa.parse(mediumStatsCSVPath, { 31 | download: true, 32 | complete: function(data) { 33 | console.log('Medium data', data); 34 | setupMediumChart(data); 35 | } 36 | }); 37 | } 38 | 39 | function setupMediumChart(mediumData) { 40 | 41 | // Date, Minutes Read, Views, Visitors 42 | 43 | var labelCount = 0; 44 | var labels = []; 45 | var totalTimeReadMins = []; 46 | var views = []; 47 | var dailyUniqueVisitors = []; 48 | 49 | var rows = mediumData.data.slice(1, mediumData.data.length - 1); 50 | 51 | rows.forEach(function(row) { 52 | if (row[2] !== 'null') { 53 | labels.push( row[0] ); 54 | totalTimeReadMins.push( row[1] ); 55 | views.push( row[2] ); 56 | dailyUniqueVisitors.push( row[3] ); 57 | } 58 | }); 59 | 60 | var data = { 61 | labels: labels, 62 | series: [ 63 | totalTimeReadMins, 64 | views, 65 | dailyUniqueVisitors 66 | ] 67 | }; 68 | 69 | var options = { 70 | labelOffset: 50, 71 | height: 240, 72 | axisX: { 73 | showGrid: false, 74 | labelInterpolationFnc: function(value) { 75 | // Display one label every week 76 | if (labelCount++ % 7 === 0) { 77 | return moment(value).format('D/M/Y'); 78 | } 79 | } 80 | }, 81 | axisY: { 82 | onlyInteger: true 83 | }, 84 | seriesBarDistance: 5, 85 | showPoint: false, 86 | lineSmooth: false 87 | }; 88 | 89 | Chartist.Line('#medium-chart', data, options); 90 | labelCount = 0; 91 | } 92 | 93 | if ('serviceWorker' in navigator) { 94 | 95 | navigator.serviceWorker.register('/sw.js') 96 | .then(function() { 97 | console.log('Service worker successfully registered'); 98 | }) 99 | .catch(function(err) { 100 | console.error('Service worker failed to register', err); 101 | }); 102 | 103 | } else { 104 | console.log('Service workers not supported'); 105 | } 106 | 107 | fetchMediumData(); 108 | setupSurveyCharts(); 109 | -------------------------------------------------------------------------------- /src/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Dashboard 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 22 |
23 |

Developer Advocacy Dashboard

24 |

Last updated: ${lastUpdated}

25 |
26 |
27 |
28 |

Audience

29 |
30 |
31 |

${medium.audience.followers.formattedCount}

32 |

Medium followers

33 |

${medium.audience.followers.changeArrow} ${medium.audience.followers.change} (${changeSinceLabel})

34 |
35 |
36 |

${twitter.audience.followers.formattedCount}

37 |

Twitter followers

38 |

${twitter.audience.followers.changeArrow} ${twitter.audience.followers.change} (${changeSinceLabel})

39 |
40 |
41 |

${facebook.audience.followers.formattedCount}

42 |

Facebook followers

43 |

${facebook.audience.followers.changeArrow} ${facebook.audience.followers.change} (${changeSinceLabel})

44 |
45 |
46 |

${instagram.audience.followers.formattedCount}

47 |

Instagram followers

48 |

${instagram.audience.followers.changeArrow} ${instagram.audience.followers.change} (${changeSinceLabel})

49 |
50 |
51 |

Total social media followers: ${totalFollowers}

52 |

Engagement

53 |
54 |
55 |

${devHub.engagement.uniqueVisitors.formattedCount}

56 |

Dev Hub unique visitors

57 |

${devHub.engagement.uniqueVisitors.changeArrow} ${devHub.engagement.uniqueVisitors.change} (${changeSinceLabel})

58 |
59 |
60 |

${twitter.engagement.impressions.formattedCount}

61 |

Tweet impressions (28 days)

62 |

${twitter.engagement.impressions.changeArrow} ${twitter.engagement.impressions.change}

63 |
64 |
65 |

${twitter.engagement.mentions.formattedCount}

66 |

Twitter mentions (28 days)

67 |

${twitter.engagement.mentions.changeArrow} ${twitter.engagement.mentions.change}

68 |
69 |
70 |

${medium.engagement.views.formattedCount}

71 |

Medium views (30 days)

72 |

${medium.engagement.views.changeArrow} ${medium.engagement.views.change}

73 |
74 |
75 |

Open Source & Support

76 |
77 |
78 |

${github.repositories}

79 |

Github repositories

80 |
81 |
82 |

${github.stars}

83 |

Github stars

84 |
85 |
86 |

${github.forks}

87 |

Github forks

88 |
89 |
90 |

${github.issues.openIssues}

91 |

Open issues

92 |
93 |
94 |

${github.issues.closeTimeAvg.count}

95 |

Time to close issues (months, avg)

96 |
97 |
98 |

${stackoverflow.questions}

99 |

Stack Overflow estimated questions asked (${changeSinceLabel})

100 |
101 |
102 |

${stackoverflow.answersAndComments}

103 |

Stack Overflow answers/comments given (${changeSinceLabel})

104 |
105 |
106 |
107 |

Recent Github Pull Requests (${github.pullrequests.count})

108 |
    ${github.pullrequests.list}
109 |
110 |

Medium Blog

111 |
112 |
113 | Minutes read 114 | Views 115 | Visitors 116 |
117 |

Surveys

118 |
119 |
120 |

Twitter poll

121 |
122 |
123 | Not aware of Samsung Internet 124 | Aware of Samsung Internet 125 |
126 |

Source: Peter's Twitter poll, April 2018

127 |
128 |
129 |

Events feedback

130 |
131 |
132 | Not aware of Samsung Internet 133 | Aware of Samsung Internet 134 |
135 |

Source: Event feedback surveys (latest: FullStack)

136 |
137 |
138 |
139 | 142 | 143 | 144 | 145 | -------------------------------------------------------------------------------- /sw.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var version = 19; 4 | 5 | importScripts('lib/sw-toolbox.js'); 6 | importScripts('src/data-paths.js'); 7 | 8 | var precacheList = [ 9 | 'index.html', 10 | 'src/index.js', 11 | 'images/favicon.png', 12 | 'images/icon192.png', 13 | 'images/icon512.png', 14 | 'images/samsung-internet-logo-text.svg', 15 | mediumStatsCSVPath 16 | ]; 17 | 18 | console.log('precacheList', precacheList); 19 | 20 | toolbox.precache(precacheList); 21 | 22 | toolbox.router.get('/images/*', toolbox.cacheFirst); 23 | 24 | toolbox.router.get('/*', toolbox.networkFirst, { 25 | networkTimeoutSeconds: 5 26 | }); 27 | 28 | console.log('Service worker version', version); 29 | -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | var MAX_DISPLAY_URL_LENGTH = 35; 2 | 3 | const moment = require('moment'); 4 | 5 | const utils = { 6 | 7 | isInteger: function(number) { 8 | return typeof number === 'number' && number % 1 === 0; 9 | }, 10 | 11 | getDaysDiff: function(dateString1, dateString2) { 12 | return moment(dateString1).diff(moment(dateString2), 'days'); 13 | }, 14 | 15 | /** 16 | * If thousands or more, use format like 12.3 17 | */ 18 | formatNumberValue: function(number, forceThousandsFormat) { 19 | return forceThousandsFormat || number >= 1000 ? (number/1000).toFixed(1) + 'K' : number; 20 | }, 21 | 22 | formatChangeValue: function(count, compareWithCount, lowerIsBetter) { 23 | 24 | if (typeof count === 'undefined' || typeof compareWithCount === 'undefined') { 25 | return 'N/A'; 26 | } 27 | 28 | if (count === 'N/A' || compareWithCount === 'N/A') { 29 | return 'N/A'; 30 | } 31 | 32 | // Use percentage change values for larger numbers 33 | if (count > 1000 || compareWithCount > 1000) { 34 | return ((count - compareWithCount) / compareWithCount * 100).toFixed(1) + '%'; 35 | } 36 | 37 | return this.formatNumberValue(lowerIsBetter ? compareWithCount - count : count - compareWithCount); 38 | 39 | }, 40 | 41 | /** 42 | * Crop URL, add ellipsis, remove protocol 43 | */ 44 | formatDisplayUrl: function(url) { 45 | var formattedUrl = url.length > MAX_DISPLAY_URL_LENGTH ? (url.substring(0,MAX_DISPLAY_URL_LENGTH) + '...') : url; 46 | formattedUrl = formattedUrl.replace('http://', ''); 47 | formattedUrl = formattedUrl.replace('https://', ''); 48 | return formattedUrl; 49 | }, 50 | 51 | /** 52 | * Traverse down pathToStat to get to the specific data point, if it exists 53 | */ 54 | getStatWithComparison: function(data, comparisonData, pathToStat) { 55 | 56 | var stat = data, 57 | comparisonStat = comparisonData; 58 | 59 | for (var i=0; i < pathToStat.length; i++) { 60 | 61 | var attribute = pathToStat[i]; 62 | 63 | if (stat[attribute]) { 64 | stat = stat[attribute]; 65 | } 66 | 67 | if (comparisonStat[attribute]) { 68 | comparisonStat = comparisonStat[attribute]; 69 | } 70 | 71 | } 72 | 73 | return [stat, comparisonStat]; 74 | 75 | }, 76 | 77 | /** 78 | * Return 'up', 'down' or 'same' 79 | */ 80 | getChangeDirection: function(count, comparisonCount, lowerIsBetter) { 81 | 82 | if (count - comparisonCount < 0) { 83 | return lowerIsBetter ? 'up' : 'down'; 84 | } else if (comparisonCount - count < 0) { 85 | return lowerIsBetter ? 'down' : 'up'; 86 | } else { 87 | return 'same'; 88 | } 89 | 90 | } 91 | 92 | } 93 | 94 | module.exports = utils; --------------------------------------------------------------------------------