Joel on Software

Joel on Software   Joel über Software

 

Andere auf Deutsch verfügbare "Joel on Software"-Artikel

Andere auf Englisch verfügbare "Joel on Software"-Artikel

Email an den Verfasser (nur auf Englisch)

 

Strategie-Papier II: Henne-und-Ei-Probleme


Von Joel Spolsky
Aus dem Englischen von Maik Schreiber
Redigiert von Daren Thomas
24. März 2000

Die Kunst zu Werben besteht daraus, zu lügen, ohne erwischt zu werden. Die meisten Firmen, die eine Werbekampagne lancieren, nehmen einfach die unglücklichste Wahrheit über sich, stellen sie auf den Kopf ("Lüge"), und ab dafür. Nennen wir es "Beweis durch wiederholte Behauptung" nennen. Ein Beispiel: Flugzeugreisen sind verkrampft und unbequem. Die Angestellten der Fluggesellschaften sind unverschämt und unfreundlich. Tatsächlich wurde das ganze kommerzielle Fluggeschäftssystem als Mittel zur Folterung entworfen. Also reden fast alle Werbeanzeigen der Fluggesellschaften davon, wie gemütlich und angenehm es ist, mit ihnen zu fliegen, und wie man bei jedem Schritt und Tritt verhätschelt wird. Als British Airways einmal eine Anzeige mit einem Geschäftsmann herausbrachte, der in einem Flugzeugsessel saß und träumte, er wäre ein Baby in einem Korb, war jeder Sinn für Angemessenheit verloren.

Noch ein Beispiel? Papierhersteller verwüsten unsere Wälder und roden sogar altes Holz, das ihnen gar nicht gehört. Wenn sie also Werbung machen, zeigen sie zwangsläufig einen netten alten Kiefernwald und reden davon, wie gut sie unsere Umwelt schützen. Zigaretten verursachen Krebs, desshalb zeigen deren Anzeigen Leben: Glückliche, lächelnde, gesunde Menschen, die sich im Freien bewegen. Und so weiter.

Als der Macintosh herauskam, gab es für ihn keine Software. Natürlich liess Apple einen großen Katalog auf Hochglanzpapier drucken, worin all die tolle "verfügbare" Software aufgelistet war. Bei der Hälfte der Einträge stand in winziger Schrift: "in Entwicklung". Die andere Hälfte konnte für teures Geld nicht erworben werden. Einige Produkte waren dermassen lahm, dass sie niemand kaufen wollte. Aber selbst das Vorhandensein dieses dicken glänzenden Katalogs mit einem Software"produkt" auf jeder Seite konnte nicht darüber hinwegtäuschen, daß man einfach keine Textverarbeitung oder Tabellenkalkulation für seinen 128KB Macintosh kaufen konnte. Es gab ähnliche "Softwareangebote" für NeXT und BeOS. (Achtung, NeXT- und BeOS-Fanatiker: Ich brauche kein Gefasel über Eure kauzigen Betriebssysteme, OK? Schreibt Eure eigene Kolumne.) Das einzige, was einem so ein Softwareangebotskatalog sagt, ist, daß es keine Software für das System gibt. Wenn Sie so einem Biest begegnen, rennen Sie lieber schnell weg.

Amiga, Atari ST, Gem, IBM TopView, NeXT, BeOS, Windows CD, General Magic, die Liste der fehlgeschlagenen "neuen Plattformen" lässt sich beliebig erweitern. Weil sie Plattformen sind, sind sie, per definitionem, an und für sich nicht wirklich interessant ohne hübsche Software, die man auf ihnen laufen lassen könnte. Aber kein Entwickler mit etwas gesundem Menschenverstand, mit einigen wenigen Ausnahmen (und ich bin sicher, ich kriege eine Menge EMails von nervtötenden Unterstützern von obskuren und unbeliebten Plattformen wie dem Amiga or RSTS-11), würde absichtlich eine Software für eine Plattform wie BeOS mit, wenns hochkommt, 100.000 Benutzern schreiben, wenn er sich die gleiche Arbeit machen und Software für eine Plattform mit 100.000.000 Benutzern, wie Windows, herstellen könnte. Die Tatsache, dass überhaupt Leute Software für diese kauzigen Systeme schreiben, beweist, daß das Motiv Profit nicht alles ist: die religiöse Leidenschaft ist immer noch da und wohlauf. Schön für Dich, Schatz. Du hast einen tollen microEmacs-Klon für den Timex Sinclair 1000 geschrieben. Bravo. Hier ist ein Groschen, kauf Dir was leckeres.

Wer im Plattformherstellungsgeschäft ist, leidet wahrscheinlich unter dem, was allgemein als Henne-und-Ei-Problem bekannt ist. Niemand kauft Ihre Plattform, solange es dafür keine Software gibt, und niemand schreibt Software, solange es keine große etablierte Kundenbasis gibt. Uuups. Das ist wie ein Gordischer Knoten, obwohl Gordische Todesspirale zutreffender wäre.

Das Henne-und-Ei-Problem (und seine Varianten) ist das wichtigste strategische Element, das es zu verstehen gilt. Gut, OK, vielleicht kommen Sie durch, ohne es zu verstehen: Steve Jobs hat praktisch eine Karriere daraus gemacht, das Henne-Und-Ei-Problem nicht zu verstehen, zwei Mal. Aber der Rest von uns hat nicht Steve Jobs' Persönliches Realitätsverzerrungsfeld zur Hand, und so müssen wir uns hinsetzen und kräftig darüber nachdenken.

Lektion eins. Die klassische Domäne des Henne-und-Ei-Problems sind die Softwareplattformen. Aber hier ist ein anderes Henne-und-Ei-Problem: Jeden Monat schicken Millionen von Kreditkarteninstituten Milliarden von Rechnungen an Kunden. Die Leute schreiben Papierschecks, stecken sie in Billionen von Umschlägen, und schicken sie zurück. Diese Umschläge werden dann in großen Kisten in Billigstlohn-Länder verfrachtet, wo sie geöffnet und bearbeitet werden. Das Ganze hat natürlich seinen Preis: Die letzte Zahl, die ich gehört habe, liegt bei mehr als $1 pro Rechnung.

Für uns Internet-Schlaumeier ist das ein Witz. "Mailt mir die Rechnung", sagen Sie. "Ich bezahle sie online!", sagen Sie. "Das kostet, sagen wir, 1/100000stel eines Cents. Sie sparen Millionen!" Oder sowas in der Art.

Und Sie haben recht. Also haben eine Menge Unternehmen versucht, in dieses Feld vorzudringen, das technisch als Bill Presentment bekannt ist. Ein Beispiel ist (na wer?) Microsoft. Deren Lösung, TransPoint, sieht so aus: es ist eine Website. Sie gehen da hin, und die zeigt Ihnen Ihre Rechnungen. Sie bezahlen sie.

Wenn Sie jetzt also Ihre Rechnungen auf diesem Microsoft-System kriegen, müssen Sie alle paar Tage mal die Website besuchen, um zu sehen, ob neue Rechnungen eingetroffen sind, damit Sie sie nicht verpassen. Wenn Sie, sagen wir mal, 10 Rechnungen pro Monat kriegen, mag das nicht sehr mühsam sein. Hier liegt aber noch ein Problem vor: es gibt nur eine kleine Handvoll Händler, die Ihnen die Rechnung über dieses System stellen. Sie müssen also für alle anderen Rechnungen woandershin gehen.

Endresultat? Es ist es lohnt sich einfach nicht. Ich wäre überrascht, wenn 10.000 Leute dieses System benutzen. Microsoft muß also zu den Händlern gehen und sagen, "Stellt Euren Kunden die Rechnung über unser System!" Und die Händler werden sagen, "OK! Wieviel kostet das?" Und Microsoft wird sagen, "50 Cents! Aber das ist viel billiger als $1!" Und die Händler werden sagen, "OK. Sonst noch was?" Und Microsoft wird sagen, "Oh, ja, es wird Euch ungefähr $250.000 kosten, die Software aufzusetzen, Eure Systeme an unsere anzubinden und alles lauffähig zu machen."

Und weil Microsoft so verdammt wenige Benutzer in diesem System hat, kann man sich schwer vorstellen, daß irgendjemand $250.000 bezahlt, um 50 Cents bei 37 Benutzern zu sparen. Aha! Das Henne-und-Ei-Problem zeigt sein wahres Gesicht! Es kommen keine Kunden, wenn man keine Händler hat, und es kommen keine Händler, wenn man keine Kunden hat! Letztendlich wird sich Microsoft einfach aus dieser schwierigen Lage herausbezahlen. Für kleinere Unternehmen ist das keine Option. Was kann man also tun?

Softwareplattformen geben uns ein paar nette Hinweise, wie man das Henne-und-Ei-Problem rösten kann. Schauen wir uns mal ein bißchen die Geschichte der PC-Softwareplattformen an; vielleicht entdecken wir ja etwas!

Die meisten Leute denken, daß der IBM-PC PC-DOS voraussetzte. Falsch. Als der IBM-PC herauskam, hatte man die Wahl zwischen drei Betriebssystemen: PC-DOS, XENIX (eine kümmerliche 8-bit-Version von UNIX vertrieben von, und ich scherze nicht, Microsoft) und etwas namens UCSD P-System, das so wie Java war, falls Sie das glauben können: nett, langsam, portable Bytecodes; um die 20 Jahre vor Java.

Nun, die meisten Leute haben noch nie etwas von diesem XENIX- oder UCSD-Unsinn gehört. Ihr Kids glaubt heutzutage, daß das deswegen so ist, weil Microsoft den Markt für niedliche Betriebssysteme durch Marketingkraft oder sonstwas übernommen hat. Absolut falsch, Microsoft war winzig in jenen Tagen. Die Firma mit der Marketingkraft war Digital Research, welche ein anderes Betriebssystem hatte. Also, warum hat PC-DOS das Rennen schliesslich gemacht?

Vor dem PC war CP/M das einzige richtige Betriebssystem, das man bekommen konnte, obwohl der Markt für CP/M-basierte Computer, die etwa $10.000 kosteten, zu klein war. Sie waren launisch und billig und nicht sehr benutzerfreundlich. Aber wer sie kaufte, tat das, um Textverarbeitungen zu benutzen, weil man eine ziemlich gute Textverarbeitung namens WordStart für CP/M bekam, und der Apple II konnte einfach keine Textverarbeitung (geschweige denn Kleinbuchstaben).

Was die wenigsten wissen: Sogar DOS 1.0 wurde mit einem eingebauten CP/M-Rückwärtskompatibilitätsmodus entworfen. Es hatte nicht nur seine eigene schicke Programmierschnittstelle, bei Harcore-Programmierern als INT 21 bekannt, sondern unterstützte auch voll die alte CP/M-Programmierschnittstelle. Es konnte fast CP/M-Software fahren. In der Tat wurde WordStart nach DOS portiert, indem man ein einziges Byte im Code änderte. (Echte Programmierer können Ihnen sagen, welches Byte das war, ich hab’s schon vor langer Zeit vergessen.)

Das sollte man sich noch einmal vor Augen halten. WordStart wurde nach DOS portiert, indem man ein einziges Byte im Code änderte. Lassen Sie das auf sich einwirken.

Da.

Kapiert?

DOS war beliebt, weil es Software vom Tag eins an hatte. Und es hatte Software, weil Tim Paterson daran dachte, CP/M-Kompatibilität einzubauen, weil damals in den dunklen Zeiten jemand gut über das Henne-und-Ei-Problem nachdachte.

Schnellvorlauf. In der gesamten Geschichte der PC-Plattform gab es nur zwei große Paradigmenverschiebungen, die fast jeder PC-Benutzer mitgemacht hat: Wir alle sind auf Windows 3.x umgestiegen, und dann sind wir alle auf Windows 95 umgestiegen. Nur eine kleine Zahl von Leuten sind jemals auf etwas anderes umgestiegen. Hat die Microsoft-Konspiration die Welt übernommen? Fein, Sie können das gerne glauben. Ich glaube, es liegt an einem anderen, interessanteren Grund, der auf die Henne und das Ei zurückzuführen ist.

Wir alle sind auf Windows 3.x umgestiegen. Der wichtige Hinweis in diesem Satz ist die 3. Warum sind wir nicht alle auf Windows 1.0 umgestiegen? Oder Windows 2.0? Oder Windows 286 oder Windows 386, die darauf folgten? Liegt es daran, daß Microsoft fünf Releases benötigt, um "es richtig zu machen"? Nein.

Der wahre Grund war viel subtiler als das, und er hat mit einem sehr verborgenen Hardware-Feature zu tun, das zum ersten Mal im Intel 80386-Chip auftauchte, welchen Windows 3.0 voraussetzte.

  • Feature eins: Alte DOS-Programme schrieben etwas auf den Bildschirm, indem sie direkt in Speicherbereiche schrieben, die mit Zeichenzellen auf dem Bildschirm korrespondierten. Das war der einzige Weg, etwas so schnell auszugeben, dass das Programm gut aussah. Aber Windows lief im Grafikmodus. Auf älteren Intel-Chips hatten die Microsoft-Ingenieure keine andere Wahl, als in den Vollbildmodus zu wechseln, wenn DOS-Programme gestartet wurden. Auf dem 80386 konnten sie aber virtuelle Speicherblöcke erzeugen und die Interrupts so setzen, daß das Betriebssystem benachrichtigt wurde, wenn ein Programm in den Bildschirmspeicher schreiben wollte. Windows konnte dann sofort den äquivalenten Text in das grafische Fenster auf dem Bildschirm schreiben.
  • Feature zwei: Alte DOS-Programme gingen davon aus, daß sie die Kontrolle über den Chip hatten. Als Resultat davon vertrugen sie sich nicht so gut miteinander. Der Intel 80386 hatte jedoch die Fähigkeit, "virtuelle" PCs zu erzeugen, wobei jeder von ihnen so wie ein vollständiger 8086 tat, sodaß alte PC-Programme so tun konnten, als ob ihnen der Computer allein gehörte, während andere Programme liefen und wiederum selbst so taten, als gehörte ihnen der Computer allein.

Windows 3.x auf Intel 80386er war damit die erste Version, die mehrere DOS-Programme anständig laufen lassen konnte. (Technisch gesehen konnte Windows 386 das auch, aber 80386er waren rar und teuer, bis Windows 3.0 herauskam.) Windows 3.0 war die erste Version, die einen vernünftigen Job machte, all die alte Software laufen zu lassen.

Windows 95? Kein Problem. Nettes neues 32-bit-API, aber es konnte immer noch die alte 16-bit-Software perfekt fahren. Microsoft war davon besessen. Sie testeten jedes alte Programm, das sie finden konnten, mit Windows 95. Jon Ross, der die Originalversion von SimCity für Windows 3.x schrieb, erzählte mir, daß er versehentlich einen Fehler in SimCity gelassen hatte, bei dem er Speicherbereiche auslas, die er bereits freigegeben hatte. Jup. Es funktionierte prima unter Windows 3.x, weil der Speicher niemals irgendwohin verschwand. Hier ist der aufregende Teil: In Betaversionen von Windows 95 funktionierte SimCity bei Tests nicht. Microsoft fad den Fehler und fügte speziellen Code zu Windows 95 hinzu, der nach SimCity sucht. Wenn SimCity läuft, läßt er den Speicherallozierer in einem bestimmten Modus laufen, sodaß der Speicher nicht sofort freigegeben wird. Das ist die Art von besessener Rückwärtskompatibilität, die die Leute dazu gebracht hat, auf Windows 95 umzusteigen.

Sie sollten bereits einige Ideen bekommen haben, wie man das Henne-und-Ei-Problem durchbrechen kann: Stellen Sie einen Rückwärtskompatibilitätsmodus zur Verfügung, der entweder eine Menge Hennen oder eine Menge Eier liefert, je nachdem, wie man das sieht, und lehnen Sie sich zurück, während Sie die Kohle einstreichen.

Ah. Nun zurück zum Bill Presentment. Erinnern Sie sich noch ans Bill Presentment? Das Henne-Ei-Problem ist, daß sie nur ihre Telefonrechnung darüber bekommen, also würden Sie diesen Service nicht benutzen. Wie kann man das lösen? Microsoft bekam's nicht heraus. PayMyBills.com (und ein halbes Dutzend andere Silicon-Valley-Startups) mußten es alle zur selben Zeit einsehen. Man muß einen Rückwärtskompatibilitätsmodus vorsehen: Wenn der Händler das System nicht unterstützt, muß man den Händler dazu bringen, die verdammten Papierrechnungen zur University Avenue in Palo Alto zu schicken, wo ein paar echte menschliche Wesen sie öffnen und einscannen. Nun kann man alle Rechnungen auf diese Website kriegen. Weil nun jeder Händler auf Erden in diesem System verfügbar ist, freuen sich die Kunden, es zu benutzen, selbst wenn es in diesem komischen Rückwärtskompatibilitätsmodus läuft, wo dämliche Visa-Mitgliedsbanken die Rechnung elektronisch zum Drucker schicken, sie auf Papier ausdrucken, in einen Umschlag stecken, 1500 Meilen bis nach Kalifornien schicken, wo er aufgemacht wird, die blöden Flugzettel mit den wertlosen "kostenlosen" Radiouhren, die eigentlich $9.95 kosten, in irgendeine Deponie geworfen werden, und die Papierrechnung zurück in einen Computer gescannt und auf die Website geklebt wird, wohin sie eigentlich gleich hätte geschickt werden sollen. Aber der komische Rückwärtskompatibilitätsmodus wird letztendlich verschwinden, weil PayMyBills.com, anders als Microsoft, Kunden dazu bringt, ihr System zu benutzen, und schon bald sind sie in der Lage, zu den blöden Visa-Mitgliedsbanken zu gehen und zu sagen, "Hey, wir haben 93.400 Eurer Kunden. Warum spart Ihr nicht $93.400 jeden Monat mit einer direkten Standleitung zu uns?" Und plötzlich ist PayMyBills.com sehr profitabel, während sich Microsoft immer noch abrackert, seinen zweiten elektrischen Versorgungsbetrieb zu bekommen; vielleicht wäre einer, der Georgia versorgt, eine nette Tempoveränderung.

Unternehmen, die das Henne-und-Ei-Problem nicht erkennen, kann man sich als Tropfen-auf-den-heißen-Stein-Unternehmen vorstellen: Ihr Business-Plan setzt voraus, daß 93.000.000 Menschen mit ihrer verrückten Geschäftsidee kooperieren, bevor sie wirklich funktioniert. Die unverschämt blödeste Idee, die mir jemals untergekommen ist, nannte sich ActiveNames. Deren dumme Idee war, daß sich jeder auf der Welt ein kleines Add-In in sein EMail-Programm installiert, das die Namen von Leuten auf deren zentralen Servern heraussucht, um die eigentliche EMail-Adresse zu erhalten. Anstatt nun den Leuten zu sagen, daß Ihre EMail-Adresse kermit@sesamstrasse.com ist, würden Sie Ihnen sagen, daß Ihr ActiveName "spolsky" ist, und wenn sie Ihnen schreiben wollen, müßten sie sich diese spezielle Software installieren. Bzzzzzzt. Falsche Antwort. Ich weiß gar nicht, wo ich anfangen soll, all die Gründe aufzuzählen, warum diese Idee niemals funktionieren wird.

Schlußfolgerung: Wenn man in einem Markt mit einem Henne-und-Ei-Problem ist, sollte man besser eine Rückwärtskompatibilität-Antwort haben, die das Problem auflöst, oder man wird eine laaaaange Zeit brauchen, bevor es losgeht (also ewig).

Es gibt viele Unternehmen, die das Henne-und-Ei-Problem erkannt und es intelligent besiegt haben. Als Transmeta seine neue CPU vorstellte, war es das erste mal seit langem, daß eine Firma, die nicht Intel war, zugab, daß wenn man eine CPU ist, und man eine Milliarde Leute dazu bringen will, einen zu kaufen, man besser x86-Code fahren können sollte. Und das nachdem Hitachi, Motorola, IBM, MIPS, National Semiconductor, und wer weiß wieviele Unternehmen sich noch vorgemacht haben, daß sie das Recht hätten, einen neuen Befehlssatz zu erfinden. Die Transmeta-Architektur nahm vom ersten Tag an an, daß jeder Business-Plan, der nach einem Computer ruft, der nicht Excel fährt, einfach nirgendwohin fährt.



Titel der Originalausgabe: Strategy Letter II: Chicken and Egg Problems  

Joel Spolsky ist der Gründer von Fog Creek Software, einer kleinen Software Firma in New York City. Nachdem er auf der Yale University graduierte arbeitete er als Programmierer und Manager bei Microsoft, Viacom und Juno.


Der Inhalt dieser Seiten stellt die persönliche Ansicht des Autors dar.
Copyright ©1999-2005  Joel Spolsky. Die Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky