Computational Power and Privilege

Language is everywhere; it is all around us, even now on this very web site, which uses HTML and CSS. You can see it when you look at your phone or you turn on your PC. You are using it when you send emails, write blog posts or query a search engine.

People often use powerful languages to express themselves. By doing this, senders raise the computational complexity of communication and externalize the costs: Receivers must be capable of equivalent computation to understand messages.

Determining computational equivalence is not always possible and some designs force receivers to solve undecidable problems. When inventing the Web, Tim Berners-Lee was aware that using powerful languages inhibits data re-use.

If, for example, a web page with weather data has RDF describing that data, a user can retrieve it as a table, perhaps average it, plot it, deduce things from it in combination with other information. At the other end of the scale is the weather information portrayed by the cunning Java applet. While this might allow a very cool user interface, it cannot be analyzed at all.

The W3C TAG concluded one should use the least powerful language suitable for expressing information, constraints or programs to facilitate message comprehension.

It is cognitively cheap to dismiss these concerns as purely academic: Those possessing powerful hardware and fast internet connections seldom experience slowdown by advertising or find content inaccessible due to third-party javascript or browser sniffing.

Lack of exposure to such problems may result in suspecting receivers of doing something wrong or declaring them to be outside the target audience. This implies the possibility of an 80/20 solution – which LANGSEC compares to claiming to have found a 80/20 solution for a perpetual motion machine.

Have you checked your computational privilege today?

14. November 2012 von erlehmann
Kategorien: Rants, Software | Schlagwörter: , , , , | Schreibe einen Kommentar

Textfolter fpr Nüxhterne

Wer betrunken auf eine Tastatur patscht, haut gelegentlich daneben. Das habe ich automatisiert foxitalic und ich haben ein Programm entwickelt, um das zu simulieren – Vertipper erfolgen normalverteilt, Tastaturbelegung ist die QWERTZ-Variante meines HTC Dream. Text wird über stdin zugeführt, einziger Parameter ist die Standardabweichung: echo Automatisiert betrunken tippen | ./drunktyping.py 0.29 ergibt Autokatisiedz bettunken tippeb.

Das Programm ist in Python geschrieben und lizensiert unter der GNU AGPLv3. Hier ist der Code.

13. November 2012 von erlehmann
Kategorien: Bastelei, Software | Schlagwörter: , , , | 1 Kommentar

Zu Podlove Simple Chapters

Gestern war ich auf dem von Tim Pritlove organisierten zweiten Podlove Developer Meeting. Ich kam leider zu spät, um die Diskussion zu Podlove Simple Chapters mitzuverfolgen, einem XML-basierten Format für Kapitel von Mediendateien.

Bei einem Gespräch mit Gerrit van Aaken äußerte ich die Vermutung, dass bestehende Formate nicht berücksichtigt wurden. Spontan fiel mir Ogg Kate ein – das ist allerdings ein Untertitel-Codec, für Kapitel also nicht zu gebrauchen.

Als ich im Netz nach weiteren Formaten suchte, fand ich heraus, dass man mit dem Mediaplayer Totem auch Kapitelmarken anzeigen und erstellen kann. Das verwendete Dateiformat heißt Continuous Media Markup Language und ist über zehn Jahre alt.

Mit CMML kann man Kapiteln Bilder, Links und Beschreibungen zuweisen. Es ist XML-basiert, kann in Ogg verkapselt werden und wird von bestehender Software unterstützt: GStreamer kann CMML kodieren und dekodieren, Oggz erkennt CMML; es existiert sogar ein IRC-Bot, der Kapitelmarken schreibt.

Ich halte Podlove Simple Chapters daher für überflüssig.

libcmml gibt es jetzt auch auf GitHub.

Nebenbei habe ich mal eben ein Skript gefrickelt, das aus Warum nicht?-Annotationen Kapitelmarken in CMML erstellt. In Totem sieht Folge 10 dann so aus:

Bildschirmfoto des Mediaplayers Totem mit Kapitelmarken
Bildschirmfoto des Mediaplayers Totem mit Kapitelmarken
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE cmml SYSTEM "cmml.dtd"> <cmml> <head><title>Warum nicht? – Folge 10</title></head> <clip title="Scotty" start="npt:0:0:0."></clip> <clip title="Serien" start="npt:0:0:28."></clip> <clip title="Joss-Whedon-Serien" start="npt:0:1:22."></clip> <clip title="TV Tropes" start="npt:0:2:43."></clip> <clip title="HBO" start="npt:0:5:30."></clip> <clip title="Tod" start="npt:0:8:14."></clip> </cmml>
CMML für Folge 10 des Podcasts Warum nicht?

Tim ist nicht meiner Meinung:

Mag ja sein, dass es Formate gibt, die _derzeit_ noch ähnlich sind, aber die können wir nicht eigenständig weiterentwickeln. Die nächste Version von PSC wird Bilder dazubekommen und das können wir dann einfach einbauen, ohne uns mit Unbekannten rumschlagen zu müssen.

Dem wird dann “Podlove Shownotes” oder “Podlove Timeline” folgen und es wichtig, die beiden Formate aufeinander abzustimmen.

Dazu ist es für die Außenkommunikation wichtig, dass wir klar sagen können: hier ist eine Community mit Fokus, die in eine bestimmte Richtung marschiert und ihre Namespaces unter Kontrolle hat.

Ich halte das für einen Fall von Not-invented-here-Syndrom: Man kann bereits mit CMML Bilder einbetten (Beweisfoto) und die Spezifikation ist verwaist. Aber an die Außenkommunikation der Community habe ich natürlich nicht gedacht – Marschieren ist auch nicht so mein Ding.

11. November 2012 von erlehmann
Kategorien: Bastelei, Podcast, Software | Schlagwörter: , , , , , | 5 Kommentare

Linkschleuder (27)

Musik

Humor

Literatur

Hyperliteratur

Schönheit

Kultur

Politik

Wissenschaft

Programmierung

02. November 2012 von erlehmann
Kategorien: Linkschleuder | Schreibe einen Kommentar

Drei Farben: Grau

Wie Millionen andere Hipster trage ich eine Brille. Groß ist mein Sehfehler nicht; offline kann ich (tagsüber) fast alles erkennen. Im Web habe ich jedoch immer wieder Probleme.

Ein Beispiel ist Hacker News. Text ist dort klein und grau auf grau – und dadurch schon bei geringer Unschärfe unlesbar:

Bildschirmfoto von Hacker News, weichgezeichnet (r=3; σ=1,5)
Bildschirmfoto von Hacker News, weichgezeichnet (r=3; σ=1,5); Originalbild

Bei unterschiedlichem Kontrast können Inhalte sogar als Dekoration missverstanden werden. Auf Stop! Talking. übersah ich die Seitenleiste – bis foxitalic sie mir zeigte:

Bildschirmfoto von Stop! Talking, weichgezeichnet (r=3; σ=1,5)
Bildschirmfoto von Stop! Talking., weichgezeichnet (r=3; σ=1,5); Originalbild

Ist mangelnder Kontrast Absicht, erfolgt die Benachteiligung Nicht-Normalsichtiger bewusst. Ich halte es für falsch, Leute mit körperlichen Beeinträchtigungen von Inhalten auszuschließen, um körperlich Privilegierten ansprechendes Design zu bieten.

Entwickler und Betreiber von Webseiten sollten Richtlinien für barrierefreie Webinhalte folgen, in denen minimaler Kontrast vorgeschrieben ist. Dabei helfen können die Webanwendung AChecker (Quellcode) und die Firefox-Erweiterung WCAG Contrast checker (Bildschirmfoto).

Im Zweifel gilt: Normale Schriftgröße, schwarz auf weiß.

01. November 2012 von erlehmann
Kategorien: Bilder, In eigener Sache, Rants | Schlagwörter: , , , , | 9 Kommentare

← Ältere Artikel

Neuere Artikel →