Transaktionskosten (Weltverbessererfehler)

In den Feri­en habe ich mich etwas mit Wirt­schafts­theo­rie, genau­er der Trans­ak­ti­ons­kos­ten­theo­rie beschäf­tigt. Dar­über könn­te man jetzt viel schrei­ben und eini­ge Zita­te brin­gen. Ich beschrän­ke mich dabei jedoch auf eini­ge Bei­spie­le, mit denen ich

  1. zei­gen will, was Trans­ak­tio­nen in Bezug auf Schu­le und Bera­tungs­sys­te­me sein könn­ten
  2. viel dar­über nach­ge­dacht habe, inwie­weit mei­ne Arbeit als Lehr­kraft und medi­en­päd­ago­gi­scher Bera­ter wirk­sam ist, bzw. wie sich die­se Wirk­sam­keit opti­mie­ren lässt

Die Gedan­ken dazu sind etwas kom­ple­xer, daher wird das min­des­tens ein zwei­tei­li­ger Arti­kel — also bit­te etwas Geduld, wenn nicht sofort auf die Ein­gangs­punk­te kom­me.

Ver­ein­facht neh­me ich ein­mal an, dass in mei­nem Umfeld Trans­ak­tio­nen vor allem mit „Kom­mu­ni­ka­ti­ons- und Abstim­mungs­be­darf” gleich­zu­set­zen sind.

 

Trans­ak­ti­ons­kos­ten und Hier­ar­chie

Der Zukunfts­for­scher Max Horx ver­deut­licht in sei­nem Buch des Wan­dels das Prin­zip der Trans­ak­ti­onkos­ten am Bei­spiel einer wach­sen­den Fir­ma.

Zuerst besteht die­se nur aus zwei Per­so­nen, die alles machen, sich schnell abstim­men und extrem fle­xi­bel auf Markt­an­for­de­run­gen und Wün­sche reagie­ren kön­nen. Bald gibt es jedoch so vie­le Kun­den, dass zwei Per­so­nen deren Betreu­ung nicht mehr allein zu rea­li­sie­ren ver­mö­gen.  Also wer­den mehr Mit­ar­bei­ten­de ein­ge­stellt. Der Geist der Fir­ma — die offe­ne Kom­mu­ni­ka­ti­on (Kom­mu­ni­ka­ti­on ist eine Form der Trans­ak­ti­on) — soll aber erhal­ten blei­ben. Schon mit zwei wei­te­ren Mit­ar­bei­ten­den steigt dadurch der Zeit­auf­wand, um alle zu allen Details zeit­nah zu infor­mie­ren, solan­ge die Hier­ar­chie flach bleibt. Bald sind die bei­den ehe­ma­li­gen Grün­der einen Groß­teil ihrer Zeit nur noch damit beschäf­tigt, Kom­mu­ni­ka­ti­ons­ab­läu­fe für ihre Fir­ma zu rea­li­sie­ren — die Trans­ak­ti­ons­kos­ten stei­gen.

Eine stark aus­ge­präg­te (stei­le) Hier­ar­chie hin­ge­gen senkt genau die­se Trans­ak­ti­ons­kos­ten, da die Mit­ar­bei­ten­den eben „zu machen” und nicht abzu­stim­men haben. Nicht umsonst sind z.B. unse­re Not­stands­ge­set­ze nicht demo­kra­tisch aus­ge­rich­tet: Im Kata­stro­phen- oder Kriegs­fall sind Dis­kus­sio­nen oder Beneh­mens­her­stel­lungs­pro­zes­se viel zu lang­sam. Die Trans­ak­ti­ons­kos­ten müs­sen dann unter allen Umstän­den mini­miert wer­den. Auto­ri­tä­re Sys­te­me funk­tio­nie­ren hier am bes­ten, jedoch nur, wenn eine zwei­te Kom­po­nen­te mit ins Spiel kommt: Das Ver­trau­en.

 

Trans­ak­ti­ons­kos­ten und Ver­trau­en

Als Jugend­lei­ter bin ich ich ein­mal auf einem gro­ße däni­schen See in eine bedroh­li­che Lage gekom­men. Selbst einen schwer bela­de­nen Kana­di­er mit zwei Teil­neh­men­den an Bord als Steu­er­mann in mei­ner Ver­ant­wor­tung muss­te ich mit anse­hen, wie ein ande­res Boot mit zwei Jun­gen in schwe­rem Wel­len­gang zu ken­tern droh­te und auch schon Was­ser genom­men hat­te. Es war kalt, win­dig und die ande­ren Boo­te waren längst außer Sicht. Die bei­den Jun­gen woll­ten völ­lig ver­ängs­tigt aus dem Boot sprin­gen und an Land schwim­men (Sumpf­ge­biet). Ich hat­te nicht die Zeit für Trost, nur noch für Auto­ri­tät und sehr har­te Wor­te. Die Situa­ti­on ließ sich meis­tern, weil ich die Trans­ak­ti­ons­kos­ten sen­ken konn­te und weil die bei­den Jun­gen mir blind ver­traut haben — mehr als ihren eige­nen Gefüh­len und Kör­pern. Ich sage heu­te noch oft schmun­zelnd, dass ich damals mit lin­ken Anar­chis­ten kom­plett abge­sof­fen wäre.

 

Zwi­schen­fa­zit

  1. Trans­ak­ti­ons­kos­ten stei­gen mit der Grö­ße eines Sys­tems
  2. Trans­ak­ti­ons­kos­ten stei­gen, je fla­cher Hier­ar­chi­en sind
  3. Eine aus­ge­präg­te Hier­ar­chie senkt Trans­ak­ti­ons­kos­ten
  4. Ver­trau­en senkt Trans­ak­ti­ons­kos­ten

 

Bei­spie­le

  1. Die (Bundes-)Piratenpartei ist groß, strebt eine mög­lichst fla­che Hier­ar­chie an und ver­traut ihren Reprä­sen­tan­ten nicht oder nur wenig. Sie wird an ihren Trans­ak­ti­ons­kos­ten kol­la­bie­ren.
  2. Das Inter­net ist zunächst dazu geeig­net, Trans­ak­ti­ons­kos­ten (z.B. Zwi­schen­händ­ler­sys­te­me, Mei­nungs­ga­te­kee­per usw.) zu sen­ken, jedoch sehr groß und noch recht flach von sei­ner Hier­ar­chie her. Das mit dem Ver­trau­en schwankt so.

 

Trans­ak­ti­ons­kos­ten und Schu­le

Schu­le ist bezo­gen auf die­se Theo­rie sehr para­dox: Einer­seits haben wir eine deut­lich aus­ge­präg­te Hier­ar­chie in der Schul­struk­tur. Ander­seits ver­sucht gera­de die­ses Sys­tem, Aspek­te mit hohen oder schwer kal­ku­lier­ba­ren Trans­ak­ti­ons­kos­ten an die ein­zel­nen Schu­len selbst zu dele­gie­ren (z.B. Daten­schutz, Aus­ge­stal­tung der Cur­ri­cu­la, Qua­li­täts­ma­nage­ment, Inklu­si­on usw.). Das Ver­trau­en in die Kul­tus­bü­ro­kra­tie scheint mir dabei gleich­zei­tig nicht beson­ders hoch zu sein. Laut der Trans­ak­ti­ons­kos­ten­theo­rie müss­te die­ses Sys­tem also eigent­lich kol­la­bie­ren. Mir ist auch immer wie­der ein Rät­sel, war­um das nicht geschieht, aber im Kern scheint es etwas mit der grund­sätz­lich auto­kra­ti­schen Orga­ni­sa­ti­on von Schul­struk­tu­ren zu tun zu haben.

Mei­ne Hypo­the­se ist, dass das Sys­tem Schu­le mitt­ler­wei­le zusätz­li­che Trans­ak­ti­ons­kos­ten zehn Mei­len gegen den Wind rie­chen kann und bestrebt ist, eben­die­se unter allen Umstän­den mög­lichst nied­rig zu hal­ten. Gleich­zei­tig bewahrt es bestehen­de Sys­te­me mit extrem hohen, aber eben durch die Jah­re kal­ku­lier­bar gewor­de­nen Trans­ak­ti­ons­kos­ten um fast jeden Preis, z.B. eine bestimm­te Kon­fe­renz­kul­tur, die im Wesent­li­chen oft nur Zeit ver­brennt.

Wer Ver­än­de­rungs­pro­zes­se initi­ie­ren möch­te, muss im Blick haben, dass er gleich­zei­tig neue, noch nicht kal­ku­lier­ba­re Trans­ak­ti­ons­kos­ten erzeugt („Ja, aber das mit den Medi­en muss aber in ein Gesamt­kon­zept!”), und gleich­zei­tig auch noch ande­re, von den Kos­ten her „sicher” kal­ku­lier­ba­re Sys­te­me bedroht („Ja, aber über Aus­hän­ge kom­mu­ni­ziert man doch total inef­fi­zi­ent!”). Dar­aus erge­ben sich für mich Kon­se­quen­zen für mein Ver­hal­ten als Bera­ter. (Fort­set­zung folgt)

 

Owncloud an bestehende Authentifizierungsysteme anbinden

Own­cloud bie­tet ab der Ver­si­on 6 neben den übli­chen inter­es­san­ten Fea­tures eine kol­la­bo­ra­ti­ve Text­ver­ar­bei­tung an, d.h. meh­re­re Benut­zer kön­nen genau wie bei Ether­pad oder Ether­pad lite gleich­zei­tig an einem Doku­ment arbei­ten. Die For­ma­tie­rungs­mög­lich­kei­ten sind dabei umfang­rei­cher als bei der Ether­pad­de­ri­va­ten, jedoch gegen­über Lösun­gen wir Goog­le­Docs noch recht rudi­men­tär. Für vie­le Anwen­dungs­fäl­le reicht es jedoch voll­auf. Wer möch­te, darf das hier nach Ein­ga­be eines Spitz­na­mens ger­ne ein­mal aus­pro­bie­ren. Own­cloud nutzt ODT als nati­ves For­mat.

Vie­le Schu­len möch­ten ger­ne Own­cloud nut­zen und ver­fü­gen oft schon über eine Schul­ser­ver­lö­sung. Idea­ler­wei­se bie­tet die­se bereits E-Mail­adres­sen für alle Schul­an­ge­hö­ri­gen über das IMAP-Pro­to­koll an. Das ist z.B. bei IServ der Fall — einer in Nie­der­sach­sen sehr ver­brei­te­ten Lösung. Durch zwei klei­ne Ände­run­gen muss kei­ne sepa­ra­te Nut­zer­ver­wal­tung in Own­cloud mehr betrie­ben wer­den, wenn bereits ein IMAP-Ser­ver im Schul­netz vor­han­den ist.

Es kann eine Grund­in­stal­la­ti­on von Own­cloud als Basis genom­men wer­den. Bei den Apps muss „Exter­nal user sup­port” zuvor akti­viert wer­den. Eine Datei ist danach zu ändern, eine hin­zu­zu­fü­gen.

Zu ändern­de Datei

Name: config/config.php

Quell­code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
require_once(dirname(__FILE__).'/../apps/user_external/lib/imap_new.php');
 
$CONFIG = array (
  'instanceid' => '<hier_steht_schon_etwas>',
  'passwordsalt' => '<hier_steht_schon_etwas>',
  'datadirectory' => '<hier_steht_schon_etwas>',
  'dbtype' => 'mysql',
  'version' => '6.0.0.14',
  'dbname' => '<hier_steht_schon_etwas>',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => '<hier_steht_schon_etwas>',
  'dbpassword' => '<hier_steht_schon_etwas>',
  'installed' => true,
  'forcessl' => true,
  'user_backends'=>array(
   array(
      'class'=>'OC_User_IMAP',
      'arguments'=>array('{<server>:<port>/imap/ssl/novalidate-cert}')
   )
  ),
);

Kom­men­tar:
In Zei­le 2 wird der neu zu erstel­len­de Code (s.u.) ein­ge­bun­den, ab Zei­le 17 wird es inter­es­sant, vor allem in der Zei­le, die mit „argu­ments” beginnt. Die Anga­ben für Ser­ver und Port sind mit den eige­nen Anga­ben zu fül­len. Ich brau­che für den IServ die Anga­be „nova­li­da­te-cert”, da es sich um ein selbst­si­gnier­tes Cert han­delt — daher zicken auch Apple­ge­rä­te ger­ne mit dem IServ, weil sie sich in der Feh­ler­mel­dung nicht klar aus­drü­cken. Nutzt man eine unver­schlüs­sel­te Ver­bin­dung, was allen­falls zu Test­zwe­cken dien­lich ist, sieht das z.B. so aus:

      'arguments'=>array('{meinserver.xy:143/imap}')

Hin­zu­zu­fü­gen­de Datei:

Name: apps/user_external/lib/imap_new.php

Quell­code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
/**
 * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
 * This file is licensed under the Affero General Public License version 3 or
 * later.
 * See the COPYING-README file.
 */
 
class OC_User_IMAP extends OC_User_Backend{
        private $mailbox;
 
        public function __construct($mailbox) {
                $this->mailbox=$mailbox;
        }
 
        /**
         * @brief Check if the password is correct
         * @param $uid The username
         * @param $password The password
         * @returns true/false
         *
         * Check if the password is correct without logging in the user
         */
        public function checkPassword($uid, $password) {
 
                $mbox = @imap_open($this->mailbox, $uid, $password);
                imap_errors();
                imap_alerts();
 
 
                if($mbox) {
                        imap_close($mbox);
 
                        if(OC_User::userExists($uid)) {
                                  OC_User::setPassword($uid, $password);
                        } else {
                                  OC_User::createUser($uid, $password);
                                  $uida=explode('@',$uid,2);
                                  if(($uida[1] || '') !== '') {
                                        OC_Group::createGroup($uida[1]);
                                        OC_Group::addToGroup($uid, $uida[1]);
                       }
 
                }
                        return $uid;
                } else {
                        return false;
                }
        }
 
}

Kom­men­tar:
Die­ses Code­stück sorgt dafür, dass beim ers­ten Log­in eines Benut­zers ein Ein­trag in die User-Daten­bank von Own­cloud erfolgt. Dabei wird auch das Pass­wort ver­schlüs­selt gespei­chert, da ansons­ten kei­ne Nut­zung über die Apps von Own­cloud mög­lich ist. Der Nut­zer muss sich mit den glei­chen Daten wie am E-Mail­ser­ver anmel­den. Ändert der Nut­zer sein Pass­wort im IServ oder auf dem E-Mail­ser­ver, wird die­se Ände­rung bei bestehen­dem Log­in in Own­cloud über­nom­men.

Update:
Mit dem Hack funk­tio­niert auch die Nut­zung mit der Own­cloud-App pro­blem­los.

Datenschutz — konkret umgesetzt auf riecken.de

Ich lege Wert auf den Schutz der Daten mei­ner Besu­cher. Ich ver­su­che zudem einen Inter­es­sen­aus­gleich zwi­schen mei­nem Bedürf­nis nach sta­tis­ti­scher Aus­wer­tung der Sei­ten­be­su­che und dem Recht mei­ner Besu­cher auf infor­mel­le Selbst­be­stim­mung zu ermög­li­chen. Das rea­li­sie­re ich z. Zt. durch fol­gen­de kon­kre­te Maß­nah­men:

  1. riecken.de ver­wen­det kei­ne Sta­tis­tik­tools von Dritt­an­bie­tern wie z.B. Goog­le Ana­ly­tics. Ein­ge­setzt wird das freie Tool piwik, wel­ches mit einem Plug­in zur Kür­zung der auf­ge­zeich­ne­ten IP-Adres­sen aus­ge­stat­tet ist. Die Ana­ly­se­er­geb­nis­se ste­hen dar­über­hin­aus jedem frei zur Ein­sicht zur Ver­fü­gung.
  2. riecken.de ver­wen­det kei­nen Spam­fil­ter, der mit Dritt­an­bie­tern der­art kom­mu­ni­ziert, dass Nut­zer­da­ten wei­ter­ge­ge­ben wer­den. Zum Ein­satz kommt das Plug­in Antis­pam Bee. Die Stan­dard­lö­sung von Wor­d­Press (Akis­met) ist unter Daten­schutz­as­pek­ten kri­tisch zu sehen.
  3. riecken.de zwingt Besu­chern kei­ne Kom­men­tarplug­ins wie z.B. Dis­qus auf, wel­ches Besu­cher­da­ten an Drit­te über­mit­telt.
  4. riecken.de ver­wen­det kei­ne Face­book­but­tons, die ein Tracking schon beim rei­nen Sei­ten­be­such ermög­li­chen. Der modi­fi­zier­te Face­book­but­ton dient eher Bewusst­ma­chungs­zwe­cken als dem Bedürf­nis, viel­fäl­tig und bequem auf Face­book ver­linkt zu wer­den.
  5. riecken.de blen­det kei­ne Wer­bung von Ad-Ser­vern wie z.B. Goo­g­leAd­sen­se ein, unter ande­rem auch wegen sol­cher Vor­fäl­le, die immer wie­der vor­kom­men.
  6. riecken.de bie­tet sei­ne Diens­te auch via https und damit SSL-ver­schlüs­selt an. Wer z.B. anonym kom­men­tie­ren möch­te, bleibt damit auch auf dem Weg zu riecken.de anonym.
  7. riecken.de nutzt bei Posts auf Soci­al­Me­dia-Platt­for­men jetzt wie­der yourls als eige­nen URL-Shor­tener. Die in die­se Diens­te ein­ge­bun­de­nen URL-Shor­tener geben zum einen i.d.R. kei­ne Rück­mel­dung dar­über, ob der Link ange­nom­men wur­de und  zum ande­ren ermög­li­chen sie ein erwei­ter­tes Tracking von Benut­zern.
  8. riecken.de ist offen für wei­te­re Vor­schlä­ge von Nut­zern, dem Daten­schutz gerecht zu wer­den, z.B. gibt es Über­le­gun­gen gra­va­tar even­tu­ell auch nicht mehr zu ver­wen­den (wobei ich den­ke, dass dadurch viel per­sön­li­cher „Touch” ver­lo­ren gin­ge und die Benut­zer sich ja frei­wil­lig bei gra­va­tar regis­triert haben, damit ihr Bild neben Bei­trä­gen erscheint).

Der Grund­ge­dan­ke dahin­ter ist, dass ich nicht dar­über bestim­men möch­te, was ein Besu­cher von riecken.de an Daten über sich Drit­ten preis­zu­ge­ben hat, wenn er mei­ne Sei­ten nut­zen möch­te. Riecken.de ist ein vor­aus­set­zungs- bzw. bedin­gungs­lo­ses Ange­bot.

Aus dem glei­chen Grund ver­wen­de ich auch kei­ne Goog­le- oder Face­bookapps auf mei­nem Mobil­ge­rät, son­dern syn­chro­ni­sie­re Kon­takt- und Kalen­der­da­ten aus­schließ­lich über eige­ne Lösun­gen — z.Zt. via tine20 (Active­Sync). Die Apps las­sen mir kei­ne Wahl, ob ich Adress­bü­cher mit exter­nen Diens­ten syn­cen möch­te oder nicht, sodass ich mich selbst oft in Web­diens­ten vor­fin­de, in denen ich mich gar nicht vor­fin­den will.

Der externe VGA-Ausgang…

Nach dem letz­ten K®ampf mit mei­nem Note­book und Win­dows war ich bis zum letz­ten Don­ners­tag sehr glück­lich mit mei­nem Ubun­tu Jaun­ty. Es frisst dank den gstrea­mer-Codec­pa­ke­ten „ugly und bad” inner­halb von Open­Of­fice nahe­zu jedes Video und Audio­for­mat, sodass man im Gegen­satz zu Klein­weich Fens­ter nun gut Prä­sen­ta­tio­nen gestal­ten kann — so dach­te ich.

1. Plei­te:

Der für die Prä­sen­ta­ti­on ange­schlos­se­ne Bea­mer wur­de nur gefun­den, wenn er bereits beim Boot­pro­zess mit am exter­nen VGA-Aus­gang des Note­books hing. Nahm man das Bea­mer­ka­bel ein­mal ab und steck­te es dann wie­der dar­auf, war es aus mit der Syn­chro­ni­sa­ti­on — bis zum nächs­ten Reboot.

Die Tas­ten zum Umschal­ten der Moni­tor­aus­ga­be funk­tio­nier­ten unter gdm erst gar nicht — mit Win­dows ging das tade­los in der gewohn­ten Art und Wei­se: 1x Fn+F5 => LCD dun­kel, Bea­mer hell / 2x Fn+F5 => LCD und Bea­mer hell / 3x Fn+F5 => LCD hell, Bea­mer dun­kel.

Unter Ubun­tu Jaun­ty (gdm): nix — kei­ne Reak­ti­on. Nun gut — damit kommt man not­falls noch klar, indem man Bea­mer und Note­book eben gemein­sam hoch­fährt und bis zur Prä­sen­ta­ti­on war­tet. Nase­rümp­fen von den Inter­face­lern „Und das soll’n Betriebs­sys­tem sein?” — das muss man dann durch.

2. Plei­te:

Vide­os spiel­ten zwar wun­der­bar auf dem LCD — via Bea­mer gab es nur eine schwar­ze Flä­che zu sehen.

Vie­le inne­re Flü­che und Zwei­fel spä­ter dann die Kampf­an­sa­ge: Das muss doch gehen. Natür­lich ging es auch. Am ein­fachs­ten ließ sich die 2. Plei­te lösen:

gstrea­mer-pro­per­ties

… auf der Kon­so­le getippt und dann die Video­aus­ga­be von „auto­ma­tisch” auf „X11” umge­stellt — und alles war hier schon­mal gut.

Und der Rest ward pein­lich…

Mein Note­book ist ein gebrauch­tes Busi­ness­note­book mit ein­ge­bau­ter, ech­ter Dualhead-Gra­fik­kar­te, d.h. da sit­zen tat­säch­lich zwei getrenn­te Gra­fik­pro­zes­so­ren drin. Das Bios schal­tet wäh­rend des Boo­tens das glei­che Bild auf bei­de Aus­gän­ge — soweit zu The­ma „es funk­tio­nier­te nach dem Boo­ten”.

Wei­ter­le­sen