Joel on Software

Joel on Software   Joel, szoftverekről

 

További "Joel on Software" cikkek magyar nyelven

További "Joel on Software" cikkek angol nyelven

E-mail a szerzőnek (angol nyelven)

 

Stratégia a színfalak mögött, II. rész: A tyúk-vagy-a-tojás problémák


Szerző: Joel Spolsky
Fordította: Berta Krisztián
2000. május 24.

A reklámok alapja a számonkérés nélküli hazugság. A legtöbb cég a reklámkampányához fogja a legkellemetlenebb tényt, kiforgatja ("hazudik") aztán ezt a hazugságot lenyomja az emberek torkán. Amolyan önbeteljesítő jóslatok. Például a repülőutak mind szűkösek és kényelmetlenek, a légitársaságok meg nyers és kellemetlen banda tulajdonképpen az egész polgári légiforgalmi rendszert a kínzásra találták ki. Úgyhogy szinte az összes légitársaság reklámja arról szól, milyen kényelmes és kellemes is repülni és mennyi gondoskodásban és kényeztetésben is lesz részünk az út minden perce alatt. A British Airways egyik reklámjában az üzletember a repülőn azt álmodja, hogy bölcsőben fekvő csecsemő; az emberi értelem tovatűnni látszik.... 

Lássunk egy másik példát. A papírgyárak letarolják nemzeti erdeinket tarvágnak évszázados erdőket, amelyek még csak nem is az övéik. Úgyhogy a reklámjaikban mindenképpen ősfenyvesek látszanak és arról mesélnek, mennyire fontos is számukra a környezet. A cigaretta halálos, tehát a reklámokban vidáman mosolygó emberek végeznek testgyakorlatokat a szabadban. És így tovább.

Amikor a Macintosh először megjelent, nem volt rá szoftver. Ígyhát az Apple készített egy hatalmas, csillogó katalógust, felsorolandó az "elérhető" szoftvereket. A lista feléehz kis betűkkel az volt írva, hogy "fejlesztés alatt", a másik fele meg egyszerűen megszerezhetetlen volt. Némelyik termék annyira béna volt, hogy senkinek sem kellett. De még a vastag, csillogó katalogus -- oldalanként egy-egy "szoftvertermék"-et csodásan lefestve -- sem tudta elkendőzni a tényt, hogy nem kapható szövegszerkesztő vagy táblázatkezelő a 128KB-os Macintoshra. Hasonló szoftvertermék-ismertetők készültek NeXT-hez és BeOS-hoz is. (Felhívom a tisztelt vakbuzgó NeXT- és BeOS-hívők figyelmét, hogy nincs szükségem tüzérségi támadásra a telibevert oprendszerekkel kapcsolatban. Mindenki írjon saját cikket!) Az ilyen ismertetők csak azt mutatják, hogy nincs szoftver a rendszerre. Ha ilyet látunk, meneküljünk:

Amiga, Atari ST, Gem, IBM TopView, NeXT, BeOS, Windows CE, General Magic; az elhibázott "új platformok" listája rettentő hosszú. Mivel ezek platformok, alapban nem túl érdekesek, amíg nincsenek szaftos szoftok rájuk. Néhány kivételtől eltekintve (és biztos kapok egy nagycsomó e-mailt az Amiga, az RSTS-11 és más misztikus rendszerek fárasztó támogatóitól), senki, akiben egy szikrányi realitásérzék is van, nem fejlesztene direkt százezres felhasználói táború rendszerre (pl. BeOS), amikor ugyanannyi munkával a százmilliós Windowsra is fejleszthet. A tény, hogy az ilyen különleges rendszerekre egyáltalán fejleszt valaki azt bizonyítja, hogy a profit nem az egyetlen motivációs tényező; a vallási buzgalom is él és virul. "Banyek, de jó neked. Tényleg írtál egy microEmacs klónt a Timex Sinclair 1000-re? Nem semmi. Itt egy százas, vegyél magadnak nyalókát!"

Nnnna. Aki a platform-bizniszben utazik, szenved az úgynevezett tyúk-vagy-a-tojás problémájától. Senki sem veszi meg a platformunkat, amíg nem futnak rajta jó szoftverek, és senki sem ír szoftvert, amíg a platformunknak nincs nagy feltelepített bázisa. Hoppá! Gordiuszi csomó, de a gordiuszi ördögi kör még jobb kifejezés.

A tyúk vagy a tojás probléma -- és annak változatai -- a stratégia legfontosabb, megértendő eleme. Persze e nélkül is elvan az ember, Steve Jobs karrierje például erre a meg nem értésre épül, kétszeresen is. A legtöbbünknek sajnos nem áll rendelkezésére Jobs Személyes Valóságtorzító Mezeje, úgyhogy kezdjünk el komolyan tanulni!

Első lecke: A tyúk-vagy-a-tojás probléma elsődleges területe a szoftverplatformok területe. De van más is: havonta hitelkártyacégek milliói levelek milliárdjaiban küldik el a számláikat az ügyfeleknek. Az emberek papírcsekkeket írnak, majd borítékok trillióiban visszaküldik őket. A borítékok bedobozolva kerülnek olyan országokba, ahol a kézi munka olcsó és ahol aztán feldolgozzák őket. De az egész ügylet meglehetősen drága: a legutóbbi összeg 1 dollár volt számlánként.

Ez számunkra, internetviselt emberek számára nevetséges.
- Küldjétek a számlát e-mailben - mondjuk nekik - majd kifizetem online. Mondjuk 0,0001 fillér lesz. Milliókat spórolhattok! Vagy valami hasonló.

És igazunk van! Úgyhogy a cégek próbálnak betörni erre a területre, melynek a neve Elektronikus számlaügyintézés. A egyik példa -- ki mas lenne? -- a Microsoft. Az ő megoldásuk, a TransPoint, a következőképpen néz ki: web site, odamegyünk, megmutatja a számláinkat, mi meg kifizetjük.

Szóval, ha a Microsoft rendszerén kapjuk a számlákat, pár naponta meg kell látogatnunk a weboldalt, hogy lássuk, milyen számlák jöttek. Ha havonta mondjuk 10 számla jön, ez nem nagy dolog. Viszont van egy másik baj: csak maroknyi kereskedő támogatja ezt a rendszert, úgyhogy a többi számlát máshol kell intéznünk.

Mindezt összevetve nem éri meg. Meglepne, ha egyáltalán 10 000-en használnák. Ígyhát a Microsoft megy és azt mondja a kereskedőknek:
- Számlázzatok a mi rendszerünkkel!
- Rendben - így a kereskedők - mennyibe kerül?
- 50 cent - válaszolja a Microsoft. - Sokkal olcsóbb, mint az eddigi 1 dollár.
- Legyen! - mondják a kereskedők. - Még valami?
- Ja igen - jut eszébe a Microsoftnak - kb. 250 ezer dollár, hogy telepítsük a szoftvert, összelőjük a rendszereinket és minden működjön.

És mivel a Microsoft rendszerének kevés felhasználója van, nehezen hihető, hogy valaki kiad negyedmilliót, hogy a 37 felhasználón fejenként fél-fél dollárokat spóroljon. Hát igen. A tyúk-vagy-a-tojás probléma ütötte fel ocsmány fejét. A vevők nem gyülekeznek, amíg nincsenek kereskedőink, kereskedők meg nem jönnek, ha nincsenek vevők. A Microsoft jól kiköltekezi magát, de kisebb cégeknél ez nem megy. Mit tehetünk?

A szoftverplatformok területén találhatunk megoldási ötletet a problémára. Fussuk át a szoftverplatformok történetét az IBM-PC megjelenésétől, érdemes.

Sokan úgy hiszik, az IBM-PC csak PC-DOS-szal futott. Nem így van. Amikor az első IBM-PC kijött, három oprendszerből is választhattunk. név szerint: PC-DOS, XENIX (meghatározhatatlan 8 bites UNIX változat, amit -- és nem én találtam ki -- a Microsoft terjesztett) és a UCSD P-System, amely olyan volt, mint ma a Java: kellemes, lassú, hordozható bájtkód, 20 évvel a Java előtt.

A legtöbb ember nem is hallott a XENIX-ről, vagy a UCSD fura cuccáról. A mai gyerekek azt hihetik, mindez a Microsoft hatalomátvételének köszönhető, amit az oprendszerek piacán marketingtámogatással véghezvitt. Vagy valami ehhez hasonlónak. Egyáltalán nem: a Microsoft akkoriban nagyon kis cég volt. Kigyúrt marketingizomzattal a Digital Research rendelkezett, akik egy egész más operációs rendszert írtak. Akkor miért a PC-DOS nyerte meg a hármas döntőt?

A PC-k előtt az egyetlen igazi megszerezhető oprendszer a CP/M, jóllehet a 10 000 dolláros CP/M gépek piaca meglehetősen szűk volt. A CP/P macerás volt, drága és barátságtalan. Aki megvette, azért tette, hogy szöveget szerkesszen, mert futott rajta egy nagyon jó szövegszerkesztő, a WordStar for CP/M. Az Apple II nem lehetett szöveget szerkeszteni, mert pl. nem voltak rajta kisbetűk.

Íme egy kevéssé ismert adat: már a DOS 1.0 is úgy lett tervezve, hogy beleépítették a CP/M kompatibilitást. Nem elég, hogy a hard core porgramozók által csak INT 21-ként emlegetett elegáns programozói interfészt nyújtott, de teljes mértékben támogatta a régi CP/M interfészt is. Majdnem tudta futtatni a CP/M szoftvereket. Valójában a WordStart úgy portolták a DOS alá, hogy egyetlen bájtját írták át. (Az Igazi Programozók még most is bármikor megmondják, melyik volt ez a bájt - én már rég elfelejtettem.

Ezt nem lehet elégszer elmondani. A WordStart egyetlen bájt átírásával portolták DOS alá. Hagyjuk ezt leülepedni.

Jó.

Érthető?

A DOS azért volt népszerű mert első naptól fogva volt alá szoftver. És azért volt szoftver, mert Tim Paterson úgy gondolta, beleírja a CP/M kompatibilitást is, mert abban a sötét korban valaki volt olyan okos, hogy figyeljen a tyúk-vagy-a-tojás problémára.

Tekerjünk előre. Az PC platform egész történelmében két olyan komolyabb paradigmaváltás történt, amely szinte minden felhasználóra kihatott: mindannyian átálltunk Windows 3.x-re, majd Windows 95-re. Csak kevesen voltak, akik másra váltottak. Microsoft-összeesküvés a világuralom megszerzésére? Akár ezt is hihetjük. Szerintem más, sokkal izgalmasabb oka van, ami visszavezet minket a tyúk/tojás problémához.

Mindannyian átálltunk Windows 3.x-re. A mondat legfontosabb része a 3. Miért nem álltunk át a Windows 1.0-ra? Vagy a Windows 2.0-ra? Vagy az ezeket kovető Windows 286-ra vagy 386-ra? Mert a Microsoftnak 5 verzióra volt szüksége, mire jól csinálta? Nem.

Az igazi ok ennél sokkal szövevényesebb és arra az ősi hardvertulajdonságra vezethető vissza, amely a Windows 3.0 által megkívánt Intel 80386 processzorban jelent meg.

  • 1. feature: A régi DOS programok úgy jelenítettek meg dolgokat a képernyőn, hogy közvetlenül a képernyő celláját reprezentáló memóriaterületre írtak. Ez volt az egyetlen, megfelelő gyorsaságú megjelenítés. De a Windows grafikus módban futott. Régebbi Intel chipeken nem tehettek mást a Microsoft mérnökei, mint hogy teljesképernyős módba kapcsoltak, ha DOS-os programot kellett futtatni. A 80386-oson azonban virtuális területeket és megszakításokat állíthattak be, úgyhogy az oprendszer értesült arról, ha egy program a képernyőmemóriába akart írni. Ígyhát a Windows a megfelelő szöveget a grafikus képernyőre írhatta.
  • 2. Feature: A régi DOS programok úgy hitték, egyedül az övék a processzor. Ennek eredményeképp nem igazán tudtak együttműködni. Az Intel 80386 képes volt "virtuális" PC-ket alkotni, amelyek teljesértékű 8086-ként funkcionáltak, úgyhogy a régi programok azt hihették, övék az egész számítógép, mégha közben egyéb programok is futottak azon.

Nos. Az Intel 80386-oson futó Windows 3.x volt az első rendszer, amely elfogadhatóan futtatott több DOS programot. (Gyakorlatilag már a Windows 386 is, de a 386-osok nagyon ritkák és drágák voltak nagyjából a Windows 3.0 megjelenéséig.) A Windows 3.0 volt az első verzió, amely elfogadhatóan futtatta a régi szoftvereket.

Windows 95? Nem gond. Szép, új 32 bites API, de tökéletesen futtatja a régi 16 bites szoftvereket. A Microsoft ennek a megszállottja, rengeteget költ arra, hogy minden elérhető régi szoftvert leteszteljenek Windows 95-ön is. Jon Ross, a SimCity for Windows 3.x írója elmesélte, hogy véletlenül bennehagyott egy hibát a SimCityben, ahol egy olyan memóriaterületet olvas, amit épp előtte szabadított fel. Igen. De jól futott Windows 3.x alatt, mert a memória ottmaradt. Most jön az izgalmas rész: A Windows 95 bétatesztelésén a SimCity nem működött. Microsoft lenyomozta a hibát és és spéci kódot adtak a Windows 95-höz, ami figyelt a SimCityre. Ha SimCity futott, olyan speciális memóriakezelést használt, amely ténylegesen nem szabadította fel azonnal a memóriát. Emiatt a visszamenőleges kompatibilitás iránti elhivatottság miatt álltak át az emberek Windows 95-re.

Talán mostanra már látjuk, mi a feloldása a tyúk-vagy-a-tojás problémának: visszamenőleges kompatibilitás, amellyel akár egy vagon tyúkhoz, akár egy vagon tojáshoz juthatunk bármikor, úgyhogy nyugodtan hátradőlhetünk és számolgathatjuk a pénzkötegeket.

Na, most vissza a számlákhoz. Emlékszünk még? Az a tyúk/tojás probléma, hogy cxsak a Con Edison-féle számlákat kapjuk meg, úgyhogy nem használjuk a szolgáltatást. Hogy oldható ez fel? A Microsoft nem találta ki. A PayMyBills.com és egy féltucat másik kezdő szilíciumvölgyi cég viszont egyszerre. Visszamenőleges kompatibilitást nyújtanak: ha a kereskedő nem támogatja a rendszert, akkor küldje a szutyok papírszámláit Palo Altóba, az Egyetem sugárútra, ahol egy csomó élő ember bontja a borítékokat és szkeneli a számlákat. Így az összes számlánk elérhető a website-jukon. Mivel a Föld minden kereskedője elérhető a rendszerben, a vevők szívesen használják azt, jóllehet elég furcsán megy a visszamenőleges kompatibilitás. (Az ostoba Visa-tag bankok az elektronikus számlát papírra nyomtatják, beborítékolják, elszállíttatják az 1500 mérföldnyire lévő Kaliforniába; ott aztán a borítékokat feltépik, (az értéketlen középhullámú rádiókat - melyek ára most csak 9 dollár 95 - reklámozó ostoba szórólapok beborítják a padlót,) a számlákat beszkennelik, amely aztán elektronikus kikerül a webre, ahova eleve kerülnie kellett volna.) De az ostoba visszamenőleges kompatibilitás dolog hamarosan a múlté lesz, mert a PayMyBills.com, ellentétben a Microsofttal, képes eladni a szolgáltatását a vevőknek, úgyhogy lassan ezt mondhatják az ostoba Visa-partner bakoknak:
- 93,400 ügyfeletek intézi nálunk a számláit. Nem lenne érdemes havi 93 400 dollárt megspórolni, ha közvetlen elektronikus összeköttetésünk lenne?
És hirtelen a PayMyBills.com nagyon nyereséges lesz, míg a Microsoft küszködik a második rendszer beindításával és ha Georgiát le tudják fedni, már örülnek.

A tyúk-vagy-a-tojás problémát felismerni képtelen vállalatokat gyakran úgy emlegetik, tű a szénakazalban cégek: az üzleti terveikben már 93 millió együttműködőt irányoznak elő, pedig az iszonyatos rendszerük meg nem is működik. Az egyik legfelháborítóbban ostoba ötlet amit valaha láttam az ActiveNames. Az volt a balga ötletük, hogy a világon mindenki feltelepít egy add-int, amely beépül a levelezőprogramba. Ez a kis modul a cég központi szerverén kikeresné, hogy az e-mailek címzettjeinek mi az aktuális címe. Tehát ezentúl nem kell azt mondanom az embereknek, hogy az e-mail címem kermit@sesame-street.com, hanem azt, hogy az ActiveName azonosítóm "spolsky", úgyhogy amikor írni akarnak nekem, telepíteniük kell ezt a speciális szoftvert. Zzzzz. Hibás válasz. Még elkezdeni sem érdemes azon okok listáját, amik miatt ez nem működhet.

Konklúzió: ha olyan piacon működünk, ahol aktív a tyúk-vagy-a-tojás probléma, a visszamenőleges kompatibilitás oldja meg a gondunkat; egyéb esetben sokáig tart az indulás (vagy örökre).

 

Egy csomó más cég is felismerte a tyúk-vagy-a-tojás problémát és okosan harcol ellene. Amikor a Transmeta bemutatta az új processzorát, hosszú ideje az volt az első alkalom, hogy egy nem Intel-közeli cég beismerte, hogy aki azt akarja, hogy a processzorát sokan megvegyék és használják, annak az x86-kódot futtatnia kell. Mindezt a Hitachi, a Motorola, az IBM, a MIPS, a National Semiconductor és még ki tudja hány másik cég után, akik abba a tévhitbe ringatták magukat, hogy jogukban áll feltalálni egy új utasításkészletet. A Transmeta architektúra az első perctől elfogadja, hogy az Excelt futtatni képtelen számítógépekkel sehova sem lehet jutni.



A fordítás alapjául szolgáló angol cikk címe: Strategy Letter II: Chicken and Egg Problems  

Joel Spolsky a Fog Creek Software alapítója. A Fog Creek egy apró szoftvercég, székhelye New York City. Joel a Yale egyetemen végzett, majd programozóként és menedzserként dolgozott a Microsoftnál, a Viacomnál és a Junonál.


Az itt olvasható oldalak egyetlen személy véleményét tükrözik.
Minden itt megjelenő tartalom ©1999-2005 Joel Spolsky. Minden jog fenntartva.

FogBUGZ | CityDesk | Fog Creek Software | Joel Spolsky