Fossil SCM
Moved the old "How Many Users Run with JavaScript Disabled Anyway?" section of javascript.md down into the "debate" section as one of the Q&A points.
Commit
bc5cf56965625abfe8b8acd6a2fed34d46fbca6d45f65a0a17844bbe1758b753
Parent
4ad0d9798e775e3…
1 file changed
+32
-34
+32
-34
| --- www/javascript.md | ||
| +++ www/javascript.md | ||
| @@ -66,38 +66,10 @@ | ||
| 66 | 66 | all of this; you can then override UBO’s stock rules as needed. |
| 67 | 67 | |
| 68 | 68 | [ns]: https://noscript.net/ |
| 69 | 69 | [ub]: https://github.com/gorhill/uBlock/ |
| 70 | 70 | |
| 71 | - | |
| 72 | -## <a id="stats"></a>How Many Users Run with JavaScript Disabled Anyway? | |
| 73 | - | |
| 74 | -There are several studies that have directly measured the web audience | |
| 75 | -to answer this question: | |
| 76 | - | |
| 77 | -* [What percentage of browsers with javascript disabled?][s1] | |
| 78 | -* [How many people are missing out on JavaScript enhancement?][s2] | |
| 79 | -* [Just how many web users really disable cookies or JavaScript?][s3] | |
| 80 | - | |
| 81 | -Our sense of this data is that only about 0.2% of web users had | |
| 82 | -JavaScript disabled while participating in these studies. | |
| 83 | - | |
| 84 | -The Fossil user community is not typical of the wider web, but if we | |
| 85 | -were able to comprehensively survey our users, we’d expect to find an | |
| 86 | -interesting dichotomy. Because Fossil is targeted at software | |
| 87 | -developers, who in turn are more likely to be power-users, we’d expect | |
| 88 | -to find Fossil users to be more in favor of some amount of JavaScript | |
| 89 | -blocking than the average web user. Yet, we’d also expect to find that | |
| 90 | -our user base has a disproportionately high number who run [powerful | |
| 91 | -conditional blocking plugins](#block) in their browsers, rather than | |
| 92 | -block JavaScript entirely. We suspect that between these two forces, the number | |
| 93 | -of no-JS purists among Fossil’s user base is still a tiny minority. | |
| 94 | - | |
| 95 | -[s1]: https://blockmetry.com/blog/javascript-disabled | |
| 96 | -[s2]: https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missing-out-on-javascript-enhancement/ | |
| 97 | -[s3]: https://w3techs.com/technologies/overview/client_side_language/all | |
| 98 | - | |
| 99 | 71 | |
| 100 | 72 | ## <a id="3pjs"></a>No Third-Party JavaScript in Fossil |
| 101 | 73 | |
| 102 | 74 | Fossil does not use any third-party JavaScript libraries, not even very |
| 103 | 75 | common ones like jQuery. Every bit of JavaScript served by the stock |
| @@ -155,11 +127,11 @@ | ||
| 155 | 127 | |
| 156 | 128 | There many common arguments against the use of JavaScript. Rather than |
| 157 | 129 | rehash these same arguments on the [forum][ffor], we distill the common |
| 158 | 130 | ones we’ve heard before and give our stock answers to them here: |
| 159 | 131 | |
| 160 | -1. "**It increases the size of the page download.**" | |
| 132 | +1. “**It increases the size of the page download.**” | |
| 161 | 133 | |
| 162 | 134 | The heaviest such pages served by Fossil only have about 8 kB of |
| 163 | 135 | compressed JavaScript. (You have to go out of your way to get Fossil |
| 164 | 136 | to serve uncompressed pages.) This is negligible, even over very |
| 165 | 137 | slow data connnections. If you are still somehow on a 56 kbit/sec |
| @@ -184,11 +156,11 @@ | ||
| 184 | 156 | methods based on HTTP POST with a full server round-trip. You can |
| 185 | 157 | expect to recover the cost of the initial page load in 1-2 |
| 186 | 158 | round-trips. If we were to double the amount of JavaScript code, the |
| 187 | 159 | payoff time would increase to 2-4 round-trips. |
| 188 | 160 | |
| 189 | -2. "**JavaScript is slow.**" | |
| 161 | +2. “**JavaScript is slow.**” | |
| 190 | 162 | |
| 191 | 163 | It *was*, before September 2008. Google's introduction of [their V8 |
| 192 | 164 | JavaScript engine][v8] taught the world that JavaScript need not be |
| 193 | 165 | slow. This competitive pressure caused the other common JavaScript |
| 194 | 166 | interpreters to either improve or be replaced by one of the engines |
| @@ -200,11 +172,11 @@ | ||
| 200 | 172 | their engines fast and competitive. |
| 201 | 173 | |
| 202 | 174 | Once the scripts are cached, Ajax based page updates are faster than |
| 203 | 175 | the alternative. |
| 204 | 176 | |
| 205 | -3. "**JavaScript is insecure.**" | |
| 177 | +3. “**JavaScript is insecure.**” | |
| 206 | 178 | |
| 207 | 179 | JavaScript is historically associated with some nefarious uses, but |
| 208 | 180 | the question is not whether JavaScript is itself evil, it is whether |
| 209 | 181 | its *authors* are evil. *Every byte* of JavaScript code used within |
| 210 | 182 | the Fossil UI is: |
| @@ -236,20 +208,20 @@ | ||
| 236 | 208 | prohibits execution of JavaScript code which is delivered from |
| 237 | 209 | anywhere but the Fossil server which delivers the page. A local |
| 238 | 210 | administrator can change this CSP, but again this comes down to a |
| 239 | 211 | matter of trust with the administrator, not with Fossil itself. |
| 240 | 212 | |
| 241 | -4. "**Cross-browser compatibility is poor.**" | |
| 213 | +4. “**Cross-browser compatibility is poor.**” | |
| 242 | 214 | |
| 243 | 215 | It most certainly was in the first decade or so of JavaScript’s |
| 244 | 216 | lifetime, resulting in the creation of powerful libraries like |
| 245 | 217 | jQuery to patch over the incompatibilities. Over time, the need for |
| 246 | 218 | such libraries has dropped as browser vendors have fixed the |
| 247 | 219 | incompatibilities. Cross-browser JavaScript compatibility issues |
| 248 | 220 | which affect web developers are, by and large, a thing of the past. |
| 249 | 221 | |
| 250 | -5. "**Fossil UI works fine without JavaScript.**" | |
| 222 | +5. “**Fossil UI works fine without JavaScript.**” | |
| 251 | 223 | |
| 252 | 224 | While this is true today, and we have no philosophical objection to |
| 253 | 225 | it remaining true, we do not intend to limit ourselves to only those |
| 254 | 226 | features that can be created without JavaScript. The mere |
| 255 | 227 | availability of alternatives is not a good justification for holding |
| @@ -258,11 +230,34 @@ | ||
| 258 | 230 | The no-JS case is a [minority position](#stats), so those that want |
| 259 | 231 | Fossil to have no-JS alternatives and graceful fallbacks will need |
| 260 | 232 | to get involved with the development if they want this state of |
| 261 | 233 | affairs to continue. |
| 262 | 234 | |
| 263 | -6. "**My browser doesn’t have a JavaScript interpreter.**" | |
| 235 | +6. <a id="stats"></a>“**A large number of users run without JavaScript enabled.**” | |
| 236 | + | |
| 237 | + That’s not what web audience measurements say: | |
| 238 | + | |
| 239 | + * [What percentage of browsers with javascript disabled?][s1] | |
| 240 | + * [How many people are missing out on JavaScript enhancement?][s2] | |
| 241 | + * [Just how many web users really disable cookies or JavaScript?][s3] | |
| 242 | + | |
| 243 | + Our sense of this data is that only about 0.2% of web users had | |
| 244 | + JavaScript disabled while participating in these studies. | |
| 245 | + | |
| 246 | + The Fossil user community is not typical of the wider web, but if we | |
| 247 | + were able to comprehensively survey our users, we’d expect to find | |
| 248 | + an interesting dichotomy. Because Fossil is targeted at software | |
| 249 | + developers, who in turn are more likely to be power-users, we’d | |
| 250 | + expect to find Fossil users to be more in favor of some amount of | |
| 251 | + JavaScript blocking than the average web user. Yet, we’d also expect | |
| 252 | + to find that our user base has a disproportionately high number who | |
| 253 | + run [powerful conditional blocking plugins](#block) in their | |
| 254 | + browsers, rather than block JavaScript entirely. We suspect that | |
| 255 | + between these two forces, the number of no-JS purists among Fossil’s | |
| 256 | + user base is still a tiny minority. | |
| 257 | + | |
| 258 | +7. “**My browser doesn’t even *have* a JavaScript interpreter.**” | |
| 264 | 259 | |
| 265 | 260 | The Fossil open source project has no full-time developers, and only |
| 266 | 261 | a few of these part-timers are responsible for the bulk of the code |
| 267 | 262 | in Fossil. If you want Fossil to support such niche use cases, then |
| 268 | 263 | you will have to [get involved with its development][cg]; it’s |
| @@ -276,10 +271,13 @@ | ||
| 276 | 271 | [fsrc]: https://fossil-scm.org/home/file/src |
| 277 | 272 | [fsrv]: /help?cmd=server |
| 278 | 273 | [fshome]: /doc/trunk/www/server/ |
| 279 | 274 | [hljs]: https://fossil-scm.org/forum/forumpost/9150bc22ca |
| 280 | 275 | [pjs]: https://fossil-scm.org/forum/forumpost/1198651c6d |
| 276 | +[s1]: https://blockmetry.com/blog/javascript-disabled | |
| 277 | +[s2]: https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missing-out-on-javascript-enhancement/ | |
| 278 | +[s3]: https://w3techs.com/technologies/overview/client_side_language/all | |
| 281 | 279 | [v8]: https://en.wikipedia.org/wiki/V8_(JavaScript_engine) |
| 282 | 280 | |
| 283 | 281 | |
| 284 | 282 | ---- |
| 285 | 283 | |
| 286 | 284 |
| --- www/javascript.md | |
| +++ www/javascript.md | |
| @@ -66,38 +66,10 @@ | |
| 66 | all of this; you can then override UBO’s stock rules as needed. |
| 67 | |
| 68 | [ns]: https://noscript.net/ |
| 69 | [ub]: https://github.com/gorhill/uBlock/ |
| 70 | |
| 71 | |
| 72 | ## <a id="stats"></a>How Many Users Run with JavaScript Disabled Anyway? |
| 73 | |
| 74 | There are several studies that have directly measured the web audience |
| 75 | to answer this question: |
| 76 | |
| 77 | * [What percentage of browsers with javascript disabled?][s1] |
| 78 | * [How many people are missing out on JavaScript enhancement?][s2] |
| 79 | * [Just how many web users really disable cookies or JavaScript?][s3] |
| 80 | |
| 81 | Our sense of this data is that only about 0.2% of web users had |
| 82 | JavaScript disabled while participating in these studies. |
| 83 | |
| 84 | The Fossil user community is not typical of the wider web, but if we |
| 85 | were able to comprehensively survey our users, we’d expect to find an |
| 86 | interesting dichotomy. Because Fossil is targeted at software |
| 87 | developers, who in turn are more likely to be power-users, we’d expect |
| 88 | to find Fossil users to be more in favor of some amount of JavaScript |
| 89 | blocking than the average web user. Yet, we’d also expect to find that |
| 90 | our user base has a disproportionately high number who run [powerful |
| 91 | conditional blocking plugins](#block) in their browsers, rather than |
| 92 | block JavaScript entirely. We suspect that between these two forces, the number |
| 93 | of no-JS purists among Fossil’s user base is still a tiny minority. |
| 94 | |
| 95 | [s1]: https://blockmetry.com/blog/javascript-disabled |
| 96 | [s2]: https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missing-out-on-javascript-enhancement/ |
| 97 | [s3]: https://w3techs.com/technologies/overview/client_side_language/all |
| 98 | |
| 99 | |
| 100 | ## <a id="3pjs"></a>No Third-Party JavaScript in Fossil |
| 101 | |
| 102 | Fossil does not use any third-party JavaScript libraries, not even very |
| 103 | common ones like jQuery. Every bit of JavaScript served by the stock |
| @@ -155,11 +127,11 @@ | |
| 155 | |
| 156 | There many common arguments against the use of JavaScript. Rather than |
| 157 | rehash these same arguments on the [forum][ffor], we distill the common |
| 158 | ones we’ve heard before and give our stock answers to them here: |
| 159 | |
| 160 | 1. "**It increases the size of the page download.**" |
| 161 | |
| 162 | The heaviest such pages served by Fossil only have about 8 kB of |
| 163 | compressed JavaScript. (You have to go out of your way to get Fossil |
| 164 | to serve uncompressed pages.) This is negligible, even over very |
| 165 | slow data connnections. If you are still somehow on a 56 kbit/sec |
| @@ -184,11 +156,11 @@ | |
| 184 | methods based on HTTP POST with a full server round-trip. You can |
| 185 | expect to recover the cost of the initial page load in 1-2 |
| 186 | round-trips. If we were to double the amount of JavaScript code, the |
| 187 | payoff time would increase to 2-4 round-trips. |
| 188 | |
| 189 | 2. "**JavaScript is slow.**" |
| 190 | |
| 191 | It *was*, before September 2008. Google's introduction of [their V8 |
| 192 | JavaScript engine][v8] taught the world that JavaScript need not be |
| 193 | slow. This competitive pressure caused the other common JavaScript |
| 194 | interpreters to either improve or be replaced by one of the engines |
| @@ -200,11 +172,11 @@ | |
| 200 | their engines fast and competitive. |
| 201 | |
| 202 | Once the scripts are cached, Ajax based page updates are faster than |
| 203 | the alternative. |
| 204 | |
| 205 | 3. "**JavaScript is insecure.**" |
| 206 | |
| 207 | JavaScript is historically associated with some nefarious uses, but |
| 208 | the question is not whether JavaScript is itself evil, it is whether |
| 209 | its *authors* are evil. *Every byte* of JavaScript code used within |
| 210 | the Fossil UI is: |
| @@ -236,20 +208,20 @@ | |
| 236 | prohibits execution of JavaScript code which is delivered from |
| 237 | anywhere but the Fossil server which delivers the page. A local |
| 238 | administrator can change this CSP, but again this comes down to a |
| 239 | matter of trust with the administrator, not with Fossil itself. |
| 240 | |
| 241 | 4. "**Cross-browser compatibility is poor.**" |
| 242 | |
| 243 | It most certainly was in the first decade or so of JavaScript’s |
| 244 | lifetime, resulting in the creation of powerful libraries like |
| 245 | jQuery to patch over the incompatibilities. Over time, the need for |
| 246 | such libraries has dropped as browser vendors have fixed the |
| 247 | incompatibilities. Cross-browser JavaScript compatibility issues |
| 248 | which affect web developers are, by and large, a thing of the past. |
| 249 | |
| 250 | 5. "**Fossil UI works fine without JavaScript.**" |
| 251 | |
| 252 | While this is true today, and we have no philosophical objection to |
| 253 | it remaining true, we do not intend to limit ourselves to only those |
| 254 | features that can be created without JavaScript. The mere |
| 255 | availability of alternatives is not a good justification for holding |
| @@ -258,11 +230,34 @@ | |
| 258 | The no-JS case is a [minority position](#stats), so those that want |
| 259 | Fossil to have no-JS alternatives and graceful fallbacks will need |
| 260 | to get involved with the development if they want this state of |
| 261 | affairs to continue. |
| 262 | |
| 263 | 6. "**My browser doesn’t have a JavaScript interpreter.**" |
| 264 | |
| 265 | The Fossil open source project has no full-time developers, and only |
| 266 | a few of these part-timers are responsible for the bulk of the code |
| 267 | in Fossil. If you want Fossil to support such niche use cases, then |
| 268 | you will have to [get involved with its development][cg]; it’s |
| @@ -276,10 +271,13 @@ | |
| 276 | [fsrc]: https://fossil-scm.org/home/file/src |
| 277 | [fsrv]: /help?cmd=server |
| 278 | [fshome]: /doc/trunk/www/server/ |
| 279 | [hljs]: https://fossil-scm.org/forum/forumpost/9150bc22ca |
| 280 | [pjs]: https://fossil-scm.org/forum/forumpost/1198651c6d |
| 281 | [v8]: https://en.wikipedia.org/wiki/V8_(JavaScript_engine) |
| 282 | |
| 283 | |
| 284 | ---- |
| 285 | |
| 286 |
| --- www/javascript.md | |
| +++ www/javascript.md | |
| @@ -66,38 +66,10 @@ | |
| 66 | all of this; you can then override UBO’s stock rules as needed. |
| 67 | |
| 68 | [ns]: https://noscript.net/ |
| 69 | [ub]: https://github.com/gorhill/uBlock/ |
| 70 | |
| 71 | |
| 72 | ## <a id="3pjs"></a>No Third-Party JavaScript in Fossil |
| 73 | |
| 74 | Fossil does not use any third-party JavaScript libraries, not even very |
| 75 | common ones like jQuery. Every bit of JavaScript served by the stock |
| @@ -155,11 +127,11 @@ | |
| 127 | |
| 128 | There many common arguments against the use of JavaScript. Rather than |
| 129 | rehash these same arguments on the [forum][ffor], we distill the common |
| 130 | ones we’ve heard before and give our stock answers to them here: |
| 131 | |
| 132 | 1. “**It increases the size of the page download.**” |
| 133 | |
| 134 | The heaviest such pages served by Fossil only have about 8 kB of |
| 135 | compressed JavaScript. (You have to go out of your way to get Fossil |
| 136 | to serve uncompressed pages.) This is negligible, even over very |
| 137 | slow data connnections. If you are still somehow on a 56 kbit/sec |
| @@ -184,11 +156,11 @@ | |
| 156 | methods based on HTTP POST with a full server round-trip. You can |
| 157 | expect to recover the cost of the initial page load in 1-2 |
| 158 | round-trips. If we were to double the amount of JavaScript code, the |
| 159 | payoff time would increase to 2-4 round-trips. |
| 160 | |
| 161 | 2. “**JavaScript is slow.**” |
| 162 | |
| 163 | It *was*, before September 2008. Google's introduction of [their V8 |
| 164 | JavaScript engine][v8] taught the world that JavaScript need not be |
| 165 | slow. This competitive pressure caused the other common JavaScript |
| 166 | interpreters to either improve or be replaced by one of the engines |
| @@ -200,11 +172,11 @@ | |
| 172 | their engines fast and competitive. |
| 173 | |
| 174 | Once the scripts are cached, Ajax based page updates are faster than |
| 175 | the alternative. |
| 176 | |
| 177 | 3. “**JavaScript is insecure.**” |
| 178 | |
| 179 | JavaScript is historically associated with some nefarious uses, but |
| 180 | the question is not whether JavaScript is itself evil, it is whether |
| 181 | its *authors* are evil. *Every byte* of JavaScript code used within |
| 182 | the Fossil UI is: |
| @@ -236,20 +208,20 @@ | |
| 208 | prohibits execution of JavaScript code which is delivered from |
| 209 | anywhere but the Fossil server which delivers the page. A local |
| 210 | administrator can change this CSP, but again this comes down to a |
| 211 | matter of trust with the administrator, not with Fossil itself. |
| 212 | |
| 213 | 4. “**Cross-browser compatibility is poor.**” |
| 214 | |
| 215 | It most certainly was in the first decade or so of JavaScript’s |
| 216 | lifetime, resulting in the creation of powerful libraries like |
| 217 | jQuery to patch over the incompatibilities. Over time, the need for |
| 218 | such libraries has dropped as browser vendors have fixed the |
| 219 | incompatibilities. Cross-browser JavaScript compatibility issues |
| 220 | which affect web developers are, by and large, a thing of the past. |
| 221 | |
| 222 | 5. “**Fossil UI works fine without JavaScript.**” |
| 223 | |
| 224 | While this is true today, and we have no philosophical objection to |
| 225 | it remaining true, we do not intend to limit ourselves to only those |
| 226 | features that can be created without JavaScript. The mere |
| 227 | availability of alternatives is not a good justification for holding |
| @@ -258,11 +230,34 @@ | |
| 230 | The no-JS case is a [minority position](#stats), so those that want |
| 231 | Fossil to have no-JS alternatives and graceful fallbacks will need |
| 232 | to get involved with the development if they want this state of |
| 233 | affairs to continue. |
| 234 | |
| 235 | 6. <a id="stats"></a>“**A large number of users run without JavaScript enabled.**” |
| 236 | |
| 237 | That’s not what web audience measurements say: |
| 238 | |
| 239 | * [What percentage of browsers with javascript disabled?][s1] |
| 240 | * [How many people are missing out on JavaScript enhancement?][s2] |
| 241 | * [Just how many web users really disable cookies or JavaScript?][s3] |
| 242 | |
| 243 | Our sense of this data is that only about 0.2% of web users had |
| 244 | JavaScript disabled while participating in these studies. |
| 245 | |
| 246 | The Fossil user community is not typical of the wider web, but if we |
| 247 | were able to comprehensively survey our users, we’d expect to find |
| 248 | an interesting dichotomy. Because Fossil is targeted at software |
| 249 | developers, who in turn are more likely to be power-users, we’d |
| 250 | expect to find Fossil users to be more in favor of some amount of |
| 251 | JavaScript blocking than the average web user. Yet, we’d also expect |
| 252 | to find that our user base has a disproportionately high number who |
| 253 | run [powerful conditional blocking plugins](#block) in their |
| 254 | browsers, rather than block JavaScript entirely. We suspect that |
| 255 | between these two forces, the number of no-JS purists among Fossil’s |
| 256 | user base is still a tiny minority. |
| 257 | |
| 258 | 7. “**My browser doesn’t even *have* a JavaScript interpreter.**” |
| 259 | |
| 260 | The Fossil open source project has no full-time developers, and only |
| 261 | a few of these part-timers are responsible for the bulk of the code |
| 262 | in Fossil. If you want Fossil to support such niche use cases, then |
| 263 | you will have to [get involved with its development][cg]; it’s |
| @@ -276,10 +271,13 @@ | |
| 271 | [fsrc]: https://fossil-scm.org/home/file/src |
| 272 | [fsrv]: /help?cmd=server |
| 273 | [fshome]: /doc/trunk/www/server/ |
| 274 | [hljs]: https://fossil-scm.org/forum/forumpost/9150bc22ca |
| 275 | [pjs]: https://fossil-scm.org/forum/forumpost/1198651c6d |
| 276 | [s1]: https://blockmetry.com/blog/javascript-disabled |
| 277 | [s2]: https://gds.blog.gov.uk/2013/10/21/how-many-people-are-missing-out-on-javascript-enhancement/ |
| 278 | [s3]: https://w3techs.com/technologies/overview/client_side_language/all |
| 279 | [v8]: https://en.wikipedia.org/wiki/V8_(JavaScript_engine) |
| 280 | |
| 281 | |
| 282 | ---- |
| 283 | |
| 284 |