![]() | ||
Joel a szoftverről szoftvermenedzsment egyszerűen
| ||
Stratégia a színfalak mögött II. rész: A tyúk-vagy-a-tojás problémákÍrta: Joel Spolsky (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. Hívjuk ezeket „ismételt állítással bizonyításnak”. Például a repülőutak mind szűkösek és kényelmetlenek, a légitársasági dolgozók pedig egy 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éhez 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ó katalógus – 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 rakás 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 ené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 más 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 tízezren 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 – 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 tízezer 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.
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. Most térjünk vissza a számlákhoz. Megvan még a számlafizetés? Ott van a tyúk-tojás probléma, hogy csak a Con Edison-féle számlák jönnek meg, úgyhogy senki sem használja 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 szkenneli a számlákat. Így az összes számlánk elérhető a weboldalukon. Mivel a Föld minden kereskedője elérhető a rendszerben, a vevők szívesen használják azt, mégha a visszamenőleges kompatibilitás elég furcsa. Hiszen az ostoba Visa-tag bankok az elektronikus számlát papírra nyomtatják, beborítékolják, elszállíttatják az ezerötszáz mérföldnyire lévő Kaliforniába. Ott aztán a borítékokat feltépik, az értéketlen AM rádiós órákat – melyek ára most csak 9.95 dollár – reklámozó ostoba szórólapokat eldobják, 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. Bzzzz. 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. | ||