Cerca nel blog

martedì 19 marzo 2013

Le startup e il problema dell'uovo e della gallina

"OK cara, lo ammetto, ci siamo fatti un po' prendere
 la mano con questa storia del Viagra..." (di ecatoncheires - Flicker)
Articolo originale: Strategy Letter II: Chicken and Egg Problems

Nel precedente post sul perché i siti di dating non sono buone startup si è fatto riferimento al problema dell'uovo e della gallina. Tutti conoscono la famosa domanda "è nato prima l'uovo o la gallina?" diventata ormai icona delle domande senza risposta, ma più interessante è capire cosa significhi riferendosi alla realtà di una startup. Nel post segnalato Joel Spolsky ci spiega in cosa consiste e fornisce alcuni consigli su come individuarlo e combatterlo. Spolsky è un ingegnere informatico che è stato capo progetto alla Microsoft di Excel, oggi ha fondato una sua azienda e il noto sito web per programmatori Stack Overflow ed è anche un blogger molto conosciuto e nel suo blog fornisce consigli sullo sviluppo del software. Traduco liberamente il post in questione.

L'idea di una pubblicità è mentire senza essere scoperti. La maggior parte delle compagnie, quando eseguono una campagna pubblicitaria, semplicemente prendono la più sfortunata verità sulla propria impresa, la capovolgono ("la bugia") e la propongono come punto di forza. Chiamiamola "dimostrazione per ripetuta asserzione". Per esempio, i sedili in aereo sono scomodi e stretti e gli impiegati sono scortesi, anzi l'intero sistema aereo commerciale è progettato come una tortura. Per questo motivo tutte le pubblicità delle linee aeree vertono su quanto confortevole sia viaggiare con loro e su quanto sarete coccolati. Quando la British Airways mostrò una pubblicità con un uomo d'affari in viaggio che sognava di essere un neonato in una culla, capì che ogni senso di ragionevolezza era perduto. [Per rimanere ad una realtà più comprensibile al pubblico italiano pensate a quella pubblicità dove viene decantato il famoso tonno dalle pinne gialle dei mari del nord (notoriamente di qualità inferiore a quello pescato nel Mediterraneo) e alla sua caratteristica di "spezzarsi con un grissino" (quando il buon tonno dovrebbe essere invece sodo come una bistecca!) o alla pubblicità del cioccolato che contiene "più latte e meno cacao" ndNicola]

Avete bisogno di un altro esempio? L'industria cartiera sta completamente devastando le nostre foreste nazionali, tagliando senza pietà antiche foreste che nemmeno possiedono. Così la loro pubblicità mostra ovviamente vecchie foreste di pino e ci informa di quanto tengano conto del rispetto dell'ambiente. Le sigarette causano la morte, quindi le loro pubblicità mostrano la vita e personaggi immersi nella natura. E così via.

Quando il primo Macintosh fu venduto, non c'era software disponibile. Così Apple creò un gigantesco e patinatissimo catalogo di software etichettato come "disponibile". Metà del catalogo riportava in piccolo la dicitura "in sviluppo", l'altra metà non sarebbe mai stata creata ne allora ne mai. Ma anche possedendo uno spesso e patinato catalogo con un software per pagina, restava il fatto che non potevate comprare un programma di scrittura o un foglio elettronico da fare girare nei 128KB del Macintosh. Esistevano cataloghi software di questo tipo anche per NeXT e BeOS. (Attenzione fan di NeXT e BeOS: non ho bisogno che mi scriviate per dirmi quanto è bello il vostro sistema operativo, OK? Scrivete un vostro articolo). Insomma l'unica cosa che ti dice un catalogo del software è che non c'è software disponibile per la tua piattaforma. Quando vedete una cosa del genere scappate nella direzione opposta.

Amiga, Atari ST, Gem, IBM TopView, NeXT, BeOS, Windows CE, General Magic, la lista delle "nuove piattaforme" fallite potrebbe andare avanti. dato che sono piattaforme, per definizione, non sono interessanti in sé senza un corredo di software che vi giri sopra. Ma, con davvero pochissime eccezioni (e sono sicuro che riceverò tonnellate di email da noioso fan di arcane e misconosciute piattaforme come Amiga o RSTS-11), nessun sviluppatore di software con un minimo di senso commerciale scriverebbe intenzionalmente software per una piattaforma con 100.000 utenti (nel momento migliore) come BeOS, quando con lo stesso sofrzo potrebbe produrre per una piattaforma con 100.000.000 di utenti, come Windows [79% del mercato a Febbraio 2013 ndNicola]. D'altra parte il fatto che qualcuno scriva ancora del software per questi sitemi stravaganti significa che il profitto non è tutto: il fervore religioso è vivo e vegeto. Buon per te, caro. Hai scritto un simpatico clone di microEmacs per il Times Sinclair 1000. Bravo. Ecco un quarto di dollaro. comprati qualcosa di buono.

Dunque. Se sei tra coloro che creano piattaforme, probabilmente avrai a che fare con quello che comunemente si chiama problema dell'uovo e della gallina. Nessuno comprerà la tua piattaforma fino a che non avrà del buon software e nessuno scriverà quel software fino a che una ampia base di utenti non avrà comprato la tua piattaforma.Una sorta di circolo vizioso, un mortale nodo gordiano.

Il problema dell'uovo e della gallina, e le sue varianti, è il più importante elemento di strategia imprenditoriale da capire. OK puoi vivere anche senza capirlo: Steve Jobs ha fondato la sua carriera sul non capire il problema dell'uovo e della gallina, due volte. Ma il resto di noi non ha a disposizione il "Campo di Distorsione della Realtà" personale che Jobs aveva; quindi dateci dentro e studiate duramente.

Lezione uno. Il problema dell'uovo e della gallina riguarda generalmente chi produce piattaforme per software, ma esiste un altro problema dell'uovo e della gallina: ogni mese milioni di carte di credito costringono le varie compagnie ad inviare per posta miliardi di estratti conto ai propri clienti. La gente scrive degli assegni, li mette in busta e le posta indietro. Le buste vengono raccolte in grandi scatoloni e inviate in paesi dove il costo del lavoro è infimo, lì vengono aperte e controllate. L'intera operazione per quanto economica possa essere, costa alle compagnie più di 1$ a conto.

Per chi usa Internet, sembra uno scherzo. "Inviatemi l'estratto conto via posta elettronica, lo pagherò online e vi costerà molto di meno".

Avreste ragione. Così molte imprese si sono lanciate in questo mercato che prende il nome di Bill Presentment, una di queste è stata Microsoft. La loro soluzione, chiamata TransPoint, era questa: un sito web che ti avrebbe mostrato il tuo conto e tu da lì potevi pagare. Così se tu facessi parte del sistema Microsoft, per pagare i tuoi estratti conto dovresti fare visita al sito di tanto in tanto e se diciamo ricevessi una decina di estratti conto al mese, non sarebbe comodissimo, ma nemmeno una gran tortura. C'è un problema: le compagnie di carte di credito che lo usano sono poche, quindi se tu ricevessi fatture anche da compagnie che non sono nel sistema le dovresti pagare in altro modo.

Il risultato? Non ne valeva la pena. Mi sorprenderei se più 10.000 persone usassero questo sistema [ora è scomparso ndNicola]. Microsoft va dalle compagnie e dice "mandate le fatture attraverso il nostro sistema" e la compagnia "OK Quanto ci costa?" Microsoft: "50 centesimi che è molto meno del dollaro che spendete adesso!" compagnia "Bene! Niente altro?" Microsoft "Oh si, ci sarebbero da pagare i costi per l'installazione del software e per la connessione sono altri 250.000 dollari!"

E siccome Microsoft ha così pochi utenti è difficile immaginare che uno spenda 250.000$ per risparmiare 0,5$ per diciamo 37 utenti! Il problema dell'uovo e della gallina è rispuntato fuori! I clienti non verranno fino a che non avrete abbastanza compagnie, le compagnie non verranno fino a che non avrete clienti! Microsoft è abbastanza grande per permettersi errori del genere, ma una startup proprio no. Cosa potete fare?

Le piattaforme software ci danno un piccolo suggerimento su come ovviare a questo problema. Se guardiamo alla storia delle piattaforme software fin da quando venne introdotto il primo PC-IBM, scopriremo qualcosa!

Molte persone pensano che il PC-IBM richiedeva espressamente il PC-DOS. Non è vero. Quando venne introdotto il primo PC-IBM potevi scegliere tra almeno tre sistemi operativi: PC-DOS, XENIX (una debole versione ad 8 bit di Unix prodotta, e non sto scherzando, da Microsoft) e una cosa chiamata UCSD P-System che era, ci crediate o no, una cosa come Java: simpatico, lento, basato sulla portabilità del bytecode, il tutto 20 anni prima di Java.

Oggi, la maggior parte delle persone non ha mai sentito nominare XENIX o UCSD. Potreste pensare che ciò sia dovuto al fatto che Microsoft ha preso il sopravvento nel mercato grazie a gigantesche mosse di marketing.  Non è così. Microsoft era molto piccola e non era niente di paragonabile a quella che conosciamo oggi. La Microsoft di allora era la Digital Research che aveva un differente sistema operativo. Allora perché PC-DOS vinse questa gara a tre?

Perché prima dei PC, l'unico reale sistema operativo che tu potevi avere era il CP/M; tutto il mercato dei computer era basato sul CP/M, anche se era molto piccolo visto che un computer poteva costare 10.000$. Erano costosi e per niente facili da usare, ma c'era chi lo aveva comprato, per utilizzarlo come elaboratore di testi, perché c'era un ottimo programma di videoscrittura chiamato "Wordstar per CP/M" e l'AppleII non poteva fare video scrittura (tanto per cominciare non aveva le minuscole).

Ora il DOS 1.0 era stato progettato con una modalità di compatibilità verso il CP/M già integrata. Non solo supportava una nuova interfaccia di programmazione che i programmatori più scafati conoscono come INT 21, ma supportava totalmente la vecchia interfaccia di programmazione di CP/M. Poteva fare girare qualunque software disegnato per CP/M. Infatti Wordstar fu portato su DOS cambiando un singolo byte nel codice (un vero programmatore potrebbe dirvi quale, io l'ho dimenticato).

E' opportuno che lo ripeta. Wordstar è stato portato su DOS cambiando un singolo byte nel codice. Lasciate maturare la notizia.

Ecco.

Avete capito?

DOS diventò popolare perché aveva del software già il primo giorno. E aveva del software perché Tim Paterson aveva pensato di includere la compatibilità verso CP/M, perché a quei tempi qualcuno era stato abbastanza furbo da ovviare al problema dell'uovo e della gallina.

Torniamo rapidamente ai nostri giorni. Nell'intera storia delle piattaforme per PC, ci sono stati due grandi cambiamenti di paradigma che hanno coinvolto tutti gli utenti: tutti sono passati a Windows 3.x e tutti sono passati a Windows 95. Solo un ristretto numero di persone ha cambiato per qualcosa d'altro. Tutto merito del piano segreto di Microsoft per la conquista del mondo? Potete anche pensarlo, ma io penso che ci sia un'altra importante ragione dietro e che ha a che fare con il problema dell'uovo e della gallina.

Tutti sono passati a Windows 3.x. La cosa importante di questa frase è il 3. Perché tutti non sono passati a Windows 1.0? Oppure 2.0? O a quelli che seguirono? Perché Microsoft aveva bisogno di 5 versioni per imbroccare quella giusta? No.

La vera ragione consiste in alcune capacità che il processore Intel 80386 aveva e che infatti era richiesto per fare girare Windows 3.0.

  • Prima capacità: I vecchi programmi DOS mostravano le cose sullo schermo scrivendo direttamente in celle di memoria che rappresentavano singole locazioni dello schermo. Era l'unico modo per fare programmi veloci tale da farli sembrare anche buoni. Windows non lo permetteva, perché operava graficamente in maniera diversa. Nei vecchi processori gli ingegneri di Microsoft non avevano altra scelta che cambiare in modalità a tutto schermo una volta che veniva mandato in esecuzione un programma DOS. Dal 80386 invece si poteva creare una memoria virtuale e un set di interrupt per notificare al sistema operativo che un programma voleva scrivere su schermo. Windows avrebbe allora provveduto a tradurre la richiesta di accesso diretto allo schermo nell'equivalente grafico.
  • Seconda capacità: i vecchi programmi DOS davano per assunto che venissero eseguiti su un singolo processore. Per questo motivo non funzionavano bene insieme. Il 80386 aveva la capacità di creare dei PC virtuali, ciascuno dei quali agiva come se fosse un completo 8086, in questo modo i vecchi programmi DOS poteva pretendere di avere un intero computer a loro disposizione anche mentre altri programmi in esecuzione pretendevano lo stesso.

Quindi Windows 3.x sui processori Intel 80386 fu la prima versione che permise di usare, in maniera convincente, più programmi DOS contemporaneamente. Ti permetteva insomma di riutilizzare il tuo vecchio software.

Windows 95? Nessun problema. Una nuova API a 32 bit, ma la totale compatibilità verso i vecchi software a 16 bit. Microsoft era ossessionata da questa compatibilità, spesero una enorme mole di tempo e denaro nel testare tutti i vecchi programmi per PC. Jon Ross, che scrisse la versione originale di SimCity per Windows 3.x, mi disse che aveva lasciato un bug nel programma che rileggeva la memoria non appena era stata liberata. Su Windows 3.x non era un problema perché la memoria non andava da nessuna parte. Nelle versioni beta di Windows 95 SimCity non funzionava. Microsoft se ne accorse e indagò fino ad accorgersi del bu, quindi aggiungese una parte di codice specifica per SimCity che monitorava l'esecuzione del gioco in questione, nel qual caso veniva usato uno specifico gestore di memoria che permettesse al gioco di funzionare nonostante fosse buggato. Questa è il genere di ossessione verso la compatibilità a ritroso che ha permesso che tutti passassimo a Windows 95.

Avrete cominciato a farvi una idea di come ovviare al problema dell'uovo e della gallina: prevedere una modalità di compatibilità a ritroso che vi fornisca enormi carichi di galline e/o di uova fin dal primo giorno, quindi sedersi e cominciare a rastrellare soldi.

Ah. Torniamo un attimo al problema delle consegne di estratti conto, ricordate? Il problema uovo-gallina è che se puoi pagare solo i tuoi conti Con Ed, non userai mai quel servizio. Come risolverlo? Microsoft non ci è riuscita. PayMyBills.com (e un'altra dozzina di startup) si. Si doveva provvedere a fornire una totale compatibilità a ritroso: se la compagnia non supportava il sistema, bastava chiedere alla compagnia di inviare la posta alla startup, qui una serie di operatori avrebbero aperto le buste e scansionato il tutto. Adesso l'utente aveva tutti i suoi conti nel sito. Visto che ogni compagnia esistente era nel sistema. Gli utenti sarebbero stati soddisfatti e sarebbero cresciuti, permettendo a PayMyBills.com di andare dalle compagnie che non lo supportavano e dire "ho 93400 tuoi utenti, perchè non risparmi 93.400$ al mese e non fai una connessione diretta con noi?"

Le imprese che falliscono nel riconoscere il problema dell'uovo e della gallina possono essere viste come imprese che tentano di bollire l'acqua degli oceani: i loro business plan prevedono che 93.000.000 utenti siano d'accordo con il loro folle schema per funzionare.

Conclusione: se sei in un mercato con un problema uovo-gallina, è meglio che tu fornisca un meccanismo di compatibilità a ritroso per risolverlo. Molte compagnie hanno affrontato e risolto questo problema, quando Transmeta ha prodotto il primo processore ha dovuto ammettere che se vuoi produrre CPU non puoi fare a meno di fare girare codice per CPU Intel e ne produsse di compatibili.

Nessun commento:

Posta un commento

Non sono consentiti commenti anonimi; qualunque commento che reputerò maleducato, di spam o che non tiene alto il livello della discussione verrà cancellato. A mio insindacabile giudizio.

Related Posts Plugin for WordPress, Blogger...