1
|
\documentclass{article}
|
2
|
|
3
|
\usepackage{graphicx}
|
4
|
\usepackage{geometry}
|
5
|
\usepackage{hyperref}
|
6
|
\newgeometry{vmargin={15mm}, hmargin={17mm,17mm}}
|
7
|
|
8
|
\begin{document}
|
9
|
|
10
|
\setlength{\parskip}{5pt}
|
11
|
\setlength{\parindent}{0cm}
|
12
|
|
13
|
At the beginning we are concentrating on making websites usable without the need
|
14
|
to execute arbitrary javascript served by them, as this is the basis for being
|
15
|
able to control one's browsing. Some fixes we wrote and used with Hachette,
|
16
|
all freely licensed and
|
17
|
\href{https://git.koszko.org/hachette_fixes_tmp}{publicly available},
|
18
|
are shown here. A site browsing attempt with scripts blocked is always
|
19
|
presented for comparison. Various browsers (Parabola Iceweasel,
|
20
|
(Ungoogled) Chromium, LibreWolf, Tor Browser) have been used in these examples.
|
21
|
|
22
|
\section{OpenCores}
|
23
|
|
24
|
On OpenCores' site it used to be impossible to view a list of projects.
|
25
|
The following screenshot illustrates what the website looks like with js
|
26
|
disabled.
|
27
|
\nopagebreak
|
28
|
|
29
|
\includegraphics[width=\linewidth]{opencores_broken.png}
|
30
|
|
31
|
A quick and simple snippet of freely-licensed, user-controlled code injected by
|
32
|
Hachette solves the problem.
|
33
|
\nopagebreak
|
34
|
|
35
|
\includegraphics[width=\linewidth]{opencores_fixed_0.png}
|
36
|
|
37
|
\mbox{}
|
38
|
|
39
|
\includegraphics[width=\linewidth]{opencores_fixed_1.png}
|
40
|
|
41
|
\section{Google Sheets}
|
42
|
|
43
|
While Google Sheets can be downloaded as .xlsx files and viewed without
|
44
|
surrendering to Google's spyware that runs in the browser, many people don't
|
45
|
know how to do this. Here's a sample unusable spreadsheet on Google:
|
46
|
\nopagebreak
|
47
|
|
48
|
\includegraphics[width=\linewidth]{gdoc_example-sheet_broken.png}
|
49
|
|
50
|
\pagebreak
|
51
|
|
52
|
The following is a version fixed by Hachette. Scrolling through the initial part
|
53
|
of the table is now possible and a download button for an .xlsx version is
|
54
|
available. Unused UI elements are removed.
|
55
|
\nopagebreak
|
56
|
|
57
|
\includegraphics[width=\linewidth]{gdoc_example-sheet_fixed.png}
|
58
|
|
59
|
Here is an example of a more complex spreadsheet with a few dozen individual
|
60
|
sheets in it - all made easily downloadable by Hachette.
|
61
|
\nopagebreak
|
62
|
|
63
|
\includegraphics[width=\linewidth]{gdoc_complex-sheet_fixed.png}
|
64
|
|
65
|
\section{Google Drive}
|
66
|
|
67
|
An attempt to view a Google Drive file ends with a blank page.
|
68
|
\nopagebreak
|
69
|
|
70
|
\includegraphics[width=\linewidth]{gdrive_broken.png}
|
71
|
|
72
|
A Hachette fix replaces it with one that presents the name of the file and
|
73
|
features a download button.
|
74
|
\nopagebreak
|
75
|
|
76
|
\includegraphics[width=\linewidth]{gdrive_fixed.png}
|
77
|
|
78
|
A preview image can also be displayed, if available.
|
79
|
\nopagebreak
|
80
|
|
81
|
\includegraphics[width=\linewidth]{gdrive_fixed_image.png}
|
82
|
|
83
|
\pagebreak
|
84
|
|
85
|
\section{Phoronix benchmarks}
|
86
|
|
87
|
Phoronix relies on some third-party scripts to display benchmarks that
|
88
|
constitute part of an article. Any user who decides to block all scripts
|
89
|
either over software freedom or after seeing Google Analytics being used on
|
90
|
phoronix.com will only see a short text.
|
91
|
\nopagebreak
|
92
|
|
93
|
\includegraphics[width=\linewidth]{phoronix_benchmarks_broken.png}
|
94
|
|
95
|
A simple, few-line Hachette fix re-adds the benchmark images.
|
96
|
\nopagebreak
|
97
|
|
98
|
\includegraphics[width=\linewidth]{phoronix_benchmarks_fixed.png}
|
99
|
|
100
|
% \section{Bandcamp}
|
101
|
%
|
102
|
% Bandcamp's play button is normally only functional with scripts enabled.
|
103
|
% \nopagebreak
|
104
|
%
|
105
|
% \includegraphics[width=\linewidth]{bandcamp_broken.png}
|
106
|
%
|
107
|
% Here, again, Hachette comes to the rescue.
|
108
|
% \nopagebreak
|
109
|
%
|
110
|
% \includegraphics[width=\linewidth]{bandcamp_fixed.png}
|
111
|
|
112
|
\section{Stack Exchange}
|
113
|
|
114
|
There are many sites that are basically viewable without intrusive javascript
|
115
|
but have some inconveniences like cookie notices that can't be closed.
|
116
|
\nopagebreak
|
117
|
|
118
|
\includegraphics[width=\linewidth]{stackexchange_broken.png}
|
119
|
|
120
|
The following shows a fixed version. It is worth noting that we are committed
|
121
|
not to hide important information from users. In cases like this we make sites
|
122
|
operable by making a dialog closable, not by hiding it entirely.
|
123
|
\nopagebreak
|
124
|
|
125
|
\includegraphics[width=\linewidth]{stackexchange_fixed.png}
|
126
|
|
127
|
\pagebreak
|
128
|
|
129
|
% \section{SumOfUs}
|
130
|
%
|
131
|
% The next screenshot shows a petition page on SumOfUs with signing
|
132
|
% non-functional.
|
133
|
% \nopagebreak
|
134
|
%
|
135
|
% \includegraphics[width=\linewidth]{sumofus_broken.png}
|
136
|
%
|
137
|
% Now, a Hachette-fixed version.
|
138
|
% \nopagebreak
|
139
|
%
|
140
|
% \includegraphics[width=\linewidth]{sumofus_fixed.png}
|
141
|
%
|
142
|
% \section{WorldCat}
|
143
|
%
|
144
|
% Finding physical copies in libraries didn't use to work.
|
145
|
% \nopagebreak
|
146
|
%
|
147
|
% \includegraphics[width=\linewidth]{worldcat_broken.png}
|
148
|
%
|
149
|
% With fix applied:
|
150
|
% \nopagebreak
|
151
|
%
|
152
|
% \includegraphics[width=\linewidth]{worldcat_fixed.png}
|
153
|
%
|
154
|
% \pagebreak
|
155
|
|
156
|
\section{ABC News}
|
157
|
|
158
|
Someone who thinks Hachette is only useful for making sites work without
|
159
|
proprietary javascript is definitely wrong. Why not make a custom interface
|
160
|
for a website that (to some extent) worked even before? Consider the ABC News
|
161
|
site.
|
162
|
\nopagebreak
|
163
|
|
164
|
\includegraphics[width=\linewidth]{abc_original_0.png}
|
165
|
\includegraphics[width=\linewidth]{abc_original_1.png}
|
166
|
|
167
|
And now a version for minimalists. Let your fingers take a break from scrolling!
|
168
|
\nopagebreak
|
169
|
|
170
|
\includegraphics[width=\linewidth]{abc_minimal.png}
|
171
|
|
172
|
\pagebreak
|
173
|
|
174
|
\section{stallman.org}
|
175
|
|
176
|
In particular, alternative site interfaces can help make the Internet more
|
177
|
accessible. The following site misuses heading tags and lacks semantic markup:
|
178
|
\nopagebreak
|
179
|
|
180
|
\includegraphics[width=\linewidth]{stallman_original.png}
|
181
|
|
182
|
With some adjustment:
|
183
|
\nopagebreak
|
184
|
|
185
|
\includegraphics[width=\linewidth]{stallman_alt.png}
|
186
|
|
187
|
\section{Controlling the browsing}
|
188
|
Replacing site content would give no improvement over the initial state of
|
189
|
affairs if the user was not in control. But in the case of Hachette this is not
|
190
|
an issue. The (still provisional) interface of the settings page allows easy
|
191
|
editing of payloads to inject.
|
192
|
\nopagebreak
|
193
|
|
194
|
\includegraphics[width=\linewidth]{settings_editing.png}
|
195
|
|
196
|
\end{document}
|