Bulkheads of Abstraction

Introducing a new abstraction is like closing the bulkheads on a leaking submarine.

I tweeted this a few days ago (in German), and I think it was one of my better tweets. I wasn’t entirely sure what I meant by it when I wrote it, but after some thinking it appears that the metaphor is a really good one. Here are some of the reasons why:

  1. You better be quick. If you wait too long closing the bulkhead, you’ve got the water everywhere and you might as well leave it.
  2. There’s gonna be some spillage on your side of the bulkhead as well. That’s just inevitable. Gotta mop that up afterwards.
  3. There may be some people on the other side of the bulkhead who don’t like so much what you’re doing.
  4. You’d rather hope there is not another leak somewhere else.

Notizen zur Appifizierung

Nach meinem Vortrag neulich in Stuttgart sind einige iPhone-Benutzer zu mir gekommen, haben sich bedankt und erklärt, dass sie über das Thema noch nie in dieser Form nachgedacht hätten. Es gab aber auch Nachfragen von Leuten, die den Argumentationsgang nicht ganz nachvollziehen konnten. Darum hier nochmal eine Zusammenfassung.

Ich halte die Appifizierung des Internets — also die Verbreitung von iPhone und iPad, das allgegenwärtige there’s an App for that, sowie die Tatsache, dass jede einzelne App von Apple zertifiziert werden muß, bevor sie auf dem iPhone laufen darf — für eine besorgniserregende Entwicklung.

Es geht dabei gar nicht so sehr darum, dass iPhone und iPad keine Computer mehr sind, weil nämlich der Anwender nicht mehr frei entscheiden kann, welche Software er darauf laufen lassen möchte und welche nicht. Das ist vielleicht eine persönliche Präferenz von mir, die andere Leute teilen mögen oder auch nicht. Auch die Tatsache, dass man sein iPhone natürlich knacken kann, dass technisch versierte Leute also immer einen Weg finden werden, Dinge mit ihrem Gerät anzustellen, die der Hersteller eigentlich verboten hat, spielt keine große Rolle dabei — denn es geht darum, welche Tendenz für die breite Masse der Anwender gesetzt wird, und welche Form des Umgangs mit dem Netz sich als Mainstream etabliert.

Den Zeitungsverlagen und anderen klassischen Medien gefällt die Sache mit den Apps. Für eine App kann man Geld verlangen — beim gedruckten SPIEGEL zum Beispiel soll die gerade erschienene App in Kürze genausoviel kosten wie das Abo der Print-Version. Wenn sich die Apps hinreichend durchsetzen, dann müssen die Verlage ihre kostbaren Inhalte bald nicht mehr (oder gar nicht erst) dem unkontrollierbaren Web-Browser anvertrauen, sondern nur noch ihren bezahlten Apps.

Mit Inhalten, die in einem Web-Browser dargestellt werden, kann man allerdings noch eine Menge mehr machen: Man kann sie mit Suchmaschinen erfassen und in Feed-Readern organisieren zum Beispiel. Jeder ist dadurch in der Lage, gewissermaßen tausende Zeitungen gleichzeitig zu lesen. Und das Filtern, das Herausfischen der guten und für mich relevanten Inhalte übernimmt dabei das Netz selbst — zum Beispiel durch Strukturen wie Twitter, in denen gute Inhalte zielsicher über die Aufmerksamkeitsschwelle nach oben gespült werden. So entsteht eine Medienlandschaft, in der die New York Times und der Blogger aus Aserbaidschan prinzipiell gleichberechtigt nebeneinander stehen — und wer den besseren Artikel schreibt, gewinnt die Leser.

Die Apps gefährden diese neue, sich gerade herausbildende Medienlandschaft. In ihrer App lebt jede Zeitung für sich allein. Die Nutzer werden dazu ermuntert, sich ein paar wenige dieser App-Kanäle auf ihrem Display zusammenzustellen, und sich nur aus diesen zu informieren. Die Zeitungen werden ihre normale Web-Präsenz immer weiter zurückfahren, und bald werden dann Geräte erscheinen, die gar keinen gewöhnlichen Web-Browser mehr haben. Natürlich wird das einen Aufschrei geben, vergleichbar etwa dem heutigen Aufschrei darüber, dass man auf dem iPhone keine beliebige Software installieren kann, oder kein Multitasking erlaubt ist. Aber der Aufschrei wird verhallen, denn die neuen Geräte werden praktisch und sexy sein. Der gewöhnliche Web-Browser hingegen und das Netz, wie wir es heute kennen, wird etwas für Experten sein, nicht für die breite Masse. Und damit gelangen wir zu einer retro-klassischen Medienlandschaft mit wenigen Premium-Kanälen, mit wenigen Sendern und vielen passiven Empfängern.

Man verstehe mich nicht falsch: Es ist ja nichts verwerfliches daran, dass die Zeitungen und die Journalisten Geld verdienen oder auch einfach nur überleben wollen. Wir müssen aber von ihnen verlangen, dass sie sich der Herausforderung durch das Netz wirklich stellen — und nicht etwa dadurch, dass sie das Netz zurückverwandeln in eine Struktur, die der klassischen Medienlandschaft zum Verwechseln ähnlich sieht.

iPhone: Keifen oder Lächeln — und warum?

@captain_peter schrieb

wenn ich mir den Sprachduktus des Autors so anschaue: die #iphone Gegner keiffen – die iphone user laecheln. Warum nur?

(Es ging um diese wütende Philippika von #quirksmode an die Web-Designer, die in Scharen für das iPhone entwickeln und andere Plattformen vernachlässigen.)

Nun weiß ich ja nicht, ob das Keifen und das Lächeln wirklich so lagermäßig verteilt sind — ich habe in den letzten Wochen auch Apple-Fanboys zetern hören. Aber warum auf der Apple-Seite eher Entspannung vorherrscht, scheint mir einleuchtend: Sie argumentieren aus einer Position der Stärke heraus. Sie haben die schöneren Geräte, die besseren Benutzeroberflächen, und sie haben, vielleicht noch wichtiger, den Zug der Zeit für sich. Was früher exklusives Designer-Computing war, ist jetzt Mainstream.

Wer da Unheil heraufziehen und Freiheit verlorengehen sieht, ist zunächst mal ein Spielverderber, und ein seltener noch dazu. Selbst unter den Leuten, die sich nie einen Apfel kaufen würden, sind ja diejenigen weit in der Überzahl, denen so ein Apfel einfach zu teuer oder zu overhyped ist, oder die mit was einfacherem vollauf zufrieden sind.

Rufer in der Wüste also: und dass da mehr Leidenschaft in der Stimme liegt, scheint mir wiederum nur plausibel.

Powerpoint Files Changing in Transit

I think this is a story worth telling.

At the site of my current customer, we use Mediawiki for internal knowledge management — the same software that runs Wikipedia. I have set up the installation and added quite a few special features to it. It’s a very nice software package to work with.

A few days ago, the head of our group tried to upload a Powerpoint file into the Wiki, but it wouldn’t work. The Mediawiki software complained that although the extension of the file was .ppt, it didn’t look like a Powerpoint file (wrong MIME type: application/zip instead of application/vnd.ms-powerpoint). I asked him to send me the file via e-mail. I tried to upload it, and for me it worked just fine. We switched off the MIME check in Mediawiki, and then he could upload the file as well. But it was a different file that arrived at the server — about 4kB shorter than the one I had uploaded.

We were baffled. We suspected a bug in his web browser, since he used a lower version of Firefox than I did. Maybe an incompatibility between the browser and the Apache web server, a problem during compression negotiation, or a problem with PHP which ultimately handles the upload and writes the file to the disk on the server. Searching the Internet for any problems in this area yielded no results however. It looked like a complete mystery.

To make the story short, after two days of research, we found out what had happened. The Powerpoint file that my customer tried to upload was indeed not recognized by Mediawiki’s MIME detection. It was not a problem with the file upload, which worked flawlessly. But when he sent me the file via e-mail (in Outlook), it was a different file that arrived in my Inbox. The file had silently been re-encoded by Outlook: it was now 4kB larger, and a byte-by-byte comparison revealed that several blocks inside the file had changed (not just added or dropped). The resulting file was considered a legal Powerpoint file by Mediawiki. The MIME type was correct, and I could upload it without problems.

What I want to know is this: How on earth does an e-mail program dare to change a file that I’m sending as an attachment?

Don’t get me wrong on this: Every software has bugs, and sometimes embarassing ones. Software that I have written has them too. But this behaviour of Outlook/Powerpoint to me reveals a system philosophy that I find totally unacceptable. An e-mail program is just not supposed to do that, and it breaks a fundamental assumption that the user has about the software he’s working with.

I am once more glad that whenever I buy a new computer, my first action is to wipe every single Microsoft bit from the hard disk. I’m a happy Ubuntu user. No, it’s not perfect, and sometimes not as polished as Microsoft’s or Apple’s software (although getting ever closer to it). But it is the kind of software that an IT professional can work with, without his sense of logic being insulted.

For reference, these are the software versions involved:

  • Mediawiki 1.15.0
  • Microsoft Office Outlook 2003 (11.8313.8221) SP3
  • The Powerpoint files were originally written in Office 2007 (.pptx), and then saved in Office 2000 format (not quite sure if that’s a meaningful version identification).

Skype finally working on Thinkpad T43p under Ubuntu Jaunty

 

This took me a long time, but I finally got Skype working well on my girl-friend’s laptop under Ubuntu 9.04 Jaunty. So here’s a description of the issues I encountered just in case somebody else is suffering from the same problems.

The audio quality of Skype on this laptop was absolutely abysmal, and ever so often the conversation was interrupted for a couple of seconds — no audio came through, and the video froze. It was just not possible to have a real conversation that way.

The solution I found, after literally months of experimenting, reading through forums, pulling my hair out, is as follows:

  1. Upgrade to the most recent Skype beta, version 2.1.0.47. With this version, Skype supports pulseaudio (the standard Ubuntu sound server) natively for the first time.
  2. Upgrade to pulseaudio 0.9.15 or higher (Ubuntu Jaunty comes with pulseaudio 0.9.14). I used the packages that you get from the following source: deb http://ppa.launchpad.net/themuso/ppa/ubuntu jaunty main. Upgrade all the packages that have “pulse” in their name.
  3. With the new Skype version, it is no longer Skype that selects the input and output devices for sound. You have to configure that in the pulseaudio sound server. The application that lets you do that is called pavucontrol and is not installed in Ubuntu Jaunty by default. You have to download it separately, the package is called pavucontrol-0.9.8-0ubuntu1~ppa1
  4. It may or may not be necessary to give real-time privileges to the pulseaudio daemon process. I can add details about how to do that if requested. But I actually think it even works without that.

With the above steps, I got an acceptable sound quality in principle. However, the sound would still hang, or drop, for several seconds once every couple of minutes. This, it turned out, is due to a completely unrelated problem. As outlined in this bug report, there is an incompatibility between the GNOME network manager and some WiFi drivers. The network manager tries to rescan for available networks even while already connected to an access point. This works for most WiFi drivers, but causes some other drivers to drop their connections whenever this scanning occurs. It turns out that the WiFi driver in this Thinkpad T43p, which has an Atheros WiFi card, is affected by this problem. As I could see in the system logs, the WiFi connection went down for a couple of seconds every two minutes, and was reacquired automatically shortly thereafter. It was exactly during those moments that the Skype conversation froze.

It is not yet clear how this problem will ultimately be resolved between the network manager and the WiFi drivers. Some argue that the network manager should stop scanning while connected, others say that the WiFi drivers should be enhanced to support this type of operation. In the meantime, a workaround is to use a modified network manager package which has the background scanning disabled. Such a package can be found here: https://launchpad.net/~volanin/+archive/ppa/+build/1124266/+files/network-manager_0.7.1~rc4.1.cf199a964-0ubuntu2-volanin1_i386.deb

I assume that the other workarounds that are mentioned in the above bug report would also work. With this change installed, I finally got acceptable audio quality and uninterrupted connections.