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 IV: Blähware und der 80/20 Mythos


Von Joel Spolsky
Aus dem Englischen von Hartmut Ludwig
Redigiert von Christian Theune
23. März 2001

Version 5.0 von Microsoft's Tabellenkalkulations-Flagschiff Excel kam 1993 auf den Markt. Es war definitiv riesig: Es benötigte volle 15 Megabyte Plattenplatz. Damals konnten wir uns noch gut an unsere ersten 20 MB Festplatten im PC erinnern (um 1985 herum), und deshalb schienen 15 MB auf jeden Fall sehr viel zu sein.

Zu der Zeit als dann Excel 2000 herauskam, benötigte es kolossale 146 MB... eine Zunahme um fast das Zehnfache! "Verdammte, schlampige Microsoft-Programmierer", richtig?

[Image]

Falsch.

Ich könnte wetten, Sie erwarten nun, dass ich einen weiteren von diesen langweiligen Artikeln schreibe, die überall im Netz zu finden sind und sich über "Blähware" (bloatware) beschweren. Heul, heul, heul, das Zeug ist so aufgebläht, o weh mir, edlin und vi sind so viel besser als Word und Emacs, denn sie sind schlank, und so weiter.

Ha ha! Reingelegt! Ich werde keinen solchen Artikel schreiben, denn es ist einfach nicht wahr.

1993 belegte Microsoft Excel 5.0 unter Berücksichtigung der damaligen Festplattenpreise, Speicherplatz im Wert von ungefähr 36$.

Im Jahre 2000, unter Berücksichtigung der geltenden Festplattenpreise, belegte Microsoft Excel 2000 in etwa Platz für 1,03$.

(Diese Berechnungen sind inflationsbereinigt und basieren auf den Festplattenpreisen von hier.)

In Wirklichkeit, scheint es also fast so zu sein, als würde Excel in der Tat kleiner!

Was genau ist aber eigentlich "Blähware"? The Jargon File beschreibt sie abfällig als "Software, die geringe Funktionalität bietet, während sie eine unverhältnismäßig große Menge an Platten- und Hauptspeicher belegt. Der Begriff wird besonders im Zusammenhang mit Betriebssystem- und Anwendungsupdates verwendet. Er ist besonders verbreitet in der Windows/NT Welt, aus der er auch stammt."

Ich schätze diese Jungs hassen einfach Windows. Mir ist schon seit 10 Jahren der Hauptspeicher nicht knapp geworden, genauer seit der Einführung des virtuellen Speicher mit Windows 386 (1989). Und der Preis für Festplatten ist mittlerweile auf 0,0071$ pro Megabyte eingebrochen und fällt weiter, wie ein Schaf, das vom Baum springt um fliegen zu lernen.

Vielleicht hat ja Linus Åkerlund eine Erklärung. Auf seiner Webseite schreibt er: "Der große Nachteil an diesen aufgeblähten Programmen ist, dass man ein riesig großes Programm in den Speicher laden muss, selbst wenn man nur eine winzig kleine Sache damit machen will. Es frisst deinen kompletten Speicher auf ... du nutzt dein System einfach nicht effizient aus. Dadurch scheint dein System aber weniger leistungsfähig zu sein als es tatsächlich ist, und das ist vollkommen unnötig."

Ohhh. Es frisst also den ganzen Speicher. Ich verstehe. Eigentlich, nun, nein, eigentlich tut es das nicht. Schon seit Windows 1.0 (1987) lädt das Betriebssystem nur die Seiten, die gerade genutzt werden. Wenn man eine 15MB grosse Programmdatei hat und der Code, den man benutzt, nur Speicherseiten im Umfang von 2MB benötigt, werden auch immer nur diese 2MB von der Platte in den Arbeitsspeicher geladen. Tatsächlich ist es so, dass bei den modernen Versionen von Windows das Betriebssystem sogar automatisch diese Seiten auf der Festplatte neu sortiert, wenn sie fragmentiert sind, so dass sie aufeinanderfolgend abgespeichert sind. Dies sorgt dafür, dass das Programm beim nächsten Mal noch schneller geladen wird.

Und ich denke niemand wird bestreiten, dass bei den heutigen hochgezüchteten und spottbilligen Rechnern das Laden eines riesigen Programmes immer noch schneller geht, als das Laden eines kleinen Programmes vor fünf Jahren. Also, wo liegt das Problem?

RA Downes gibt uns einen Hinweis. Es scheint so, als hätte er Stunden damit verbracht, ein kleines Microsoft Utility zu sezieren, weil er offensichtlich über die Tatsache erzürnt war, dass es ein ganzes Megabyte groß ist. (Das sind 3,15 US-Cent Plattenplatz zu dem Zeitpunkt, als er den Artikel geschrieben hat). Seiner Meinung nach sollte das Programm rund 95% kleiner sein. Der Witz ist, dass das RegClean-Utility, welches er auseinandernahm, ein Programm ist, von dem Sie wahrscheinlich noch nie etwas gehört haben. Es durchsucht Ihre Windows Registry, um Einträge zu finden, die nicht länger benutzt werden und diese zu löschen. Man muß schon irgendwie etwas zwangsneurotisch veranlagt sein, um sich für die Bereinigung der unbenutzten Teile der Registry zu interessieren. Daher schöpfe ich langsam den Verdacht, dass das Ereifern über Blähware eher ein Problem der psychischen Gesundheit darstellt, als ein Problem der Software.

In der Tat gibt es eine ganze Reihe gewichtiger Gründe, die für Blähware sprechen. Zum Einen können Programmierer, wenn sie sich nicht um die Menge ihres Codes zu sorgen brauchen, das Produkt schneller fertigstellen. Und das bedeutet, dass man mehr Funktionen einbinden kann. Diese wiederum machen unser Leben leichter (wenn man sie benutzt) und tun für gewöhnlich nicht weh (wenn man sie nicht benutzt). Wenn Ihr Softwarehersteller aber kurz vor der Auslieferung anhält, und dann noch zwei Monate damit verbringt den Code auf die Hälfte zu komprimieren, dann wird der Vorteil, der Ihnen daraus entsteht, für Sie kaum wahrnehmbar sein. Eventuell, aber wirklich nur eventuell, könnte der Vorteil darin bestehen, dass Sie einen weiteren Duran Duran MP3-Song herunterladen können, falls Sie dazu tendieren ihre Festplatte immer randvoll zu machen. Der Nachteil aber, zwei weitere Monate warten zu müssen hingegen ist deutlich wahrnehmbar, und der Verlust der Softwarefirma, die zwei Monate auf die Verkaufserlöse verzichten muss, ist noch viel schlimmer.

Eine Menge Softwareentwickler lassen sich von dem alten Mythos der "80/20" Regel verleiten. Es scheint ja auch sehr vernünftig zu sein: 80% der Leute benötigen nur 20% der Features. Also liegt der Schluß nahe, dass man nur 20% der Funktionalität implementieren muss und immernoch 80% soviele Lizenzen verkaufen kann. 

Unglücklicherweise sind es aber nie die gleichen 20%. Jeder benutzt einen anderen Teil der Funktionen. In den letzten 10 Jahren habe ich wohl von dutzenden von Firmen gehört, die wild entschlossen waren nicht gegenseitig aus ihren Fehlern zu lernen, und daher versuchten "Light"-Versionen von Textverarbeitungssystemen herauszubringen, die nur über 20% der Funktionalität verfügen. Diese Geschichte ist so alt wie der PC selbst. Meistens läuft das folgendermaßen ab: Die Firma stellt das Programm einem Journalisten zur Verfügung, der es beurteilen soll. Das tut er, indem er das neue Programm gleich dafür benutzt seinen Artikel zu schreiben, und versucht dann die Funktion "Wörter zählen" zu finden, die er benötigt, weil die meisten Journalisten klare Vorgaben über die Anzahl der Wörter erhalten. Aber das Feature gibt es nicht, denn es gehört zu den "80%, die niemand braucht". Das Ganze endet damit, dass der Journalist versucht einen Artikel zu schreiben, der einerseits die Behauptung untermauert, schlanke Programme seien gut und fette schlecht, während er andererseits feststellt, dass er das verdammte Ding nicht benutzen kann, weil es seine Wörter nicht zählt. Würde ich für jeden Fall, in dem so etwas passiert, einen Dollar bekommen, wäre ich sehr froh.

Wenn Sie anfangen Ihr "Light" Produkt zu vermarkten, und den Leuten erzählen "Hey, es ist schlank und nur 1MB gross.", sind die Meisten damit ziemlich glücklich. Dann aber fragen sie, ob denn ihr wichtigstes Feature vorhanden ist, das ist aber nicht der Fall, und deswegen werden sie Ihr Produkt nicht kaufen.

Die Quintessenz ist: Wenn ihre Strategie "80/20" ist, werden sie Probleme bekommen, ihre Software zu verkaufen. Das ist einfach die Realität. Diese Strategie ist so alt wie die Softwareindustrie selbst, und sie zahlt sich einfach nicht aus. Was mich überrascht ist, dass so viele Geschäftsführer von kurzlebigen Unternehmen glauben, dass es funktionieren wird.

Jamie Zawinski bringt es in ihren Ausführungen über die ursprüngliche Netscape-Version, die die Welt verändert hat, auf den Punkt: "Auch wenn es einfach zu behaupten ist, Mozilla [Netscape 1.0] ist nicht so gross, weil es voller nutzlosem Müll ist, sondern Mozilla ist so gross, weil Eure Anforderungen gross sind. Eure Anforderungen jedoch sind so gross, weil das Internet gross ist. Es gibt eine Menge schlanker Webbrowser auf dem Markt, die scheinbar zufällig fast alle nichts Sinnvolles machen. Aber unser Ziel war es eben nicht, ein einzelnes kleines Glanzstück herzustellen, als wir Mozilla schrieben."



Titel der Originalausgabe: Strategy Letter IV: Bloatware and the 80/20 Myth  

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