Dave Morin (Facebook) – The story behind the facebook platform

Morin ha passato i primi minuti a presentare Facebook (ehi, io sono iscritto: se ci conosciamo, aggiungimi).

Facebook è una “techonogy company”. Hanno 43 millioni di utenti, 225.000 nuovi iscritti al giorno, 3% d nuovi ogni settimana, il doppio ogni 6 mesi, più del 50% fuori dagli USA.; oltre il 50% torna ogni giorno sul sito. Facebook è una piattaforma aperta: grazie agli standard API resi disponibili da Facebook, sviluppatori di terze parti possono proporre l’aggiunta di applicazioni che ne estendono le potenzialità.

Divide la piattaforma in 3 caratteristiche.

Deep integration (integrazione)

Se guardiamo le applicazioni che compongono Facebbok, come ad esempio quella per le foto, notiamo che come concezione sono molto semplici, e le funzionalità non troppo complesse. Eppure Facebook fa più traffico con le proprie applicazione scritte in poco tempo, piuttosto che quelle dedicate (come Flickr di Yahoo! per esempio). Il motivo, secondo Morin, è che sono integrate nel profilo dell’utente Facebook, quindi facilmente accessibili, con possibilità per gli altri di commentare e integrare facilmente.

Mass distribution (distribuzione di massa)

Quando un utente aggiunge una nuova applicazione, gli altri nel network hanno la possibilità di vedere che l’utente l’ha aggiunta. Se vogliono partecipare, commentare, integrare o vedere quello che sta facendo il loro amico, sono invitati ad aggiungere loro stessi l’applicazione, cosa che è super-facile.

Opportunity (opportunità)

Il modello di creazione di un’applicazione può essere sintetizzato in 3 elementi: crescita, interesse, guadagno. La piattaforma di Facbook cerca di ridurre i tempi della crescita grazie alla distribuzione di massa: più dell’80% degli utenti Facebook hanno aggiunto almeno un’applicazione.Facebook sta anche cominciando un percorso per pagare interessanti applicazioni sviluppate da terze parto.

Oggi ci sono più di 5000 applicazioni per facebook e più di 90.000 sviluppatori checi lavorano.

Questo intervento è stato scritto in live blogging dalla conferenza Future of Web Apps di Londra, il 3 e 4 Ottobre 2007. Leggi tutti gli interventi di Fucinaweb dal FOWA

Leah Culver (Pownce) – Web app do’s and don’ts

Pownce è una applicazione sociale, sviluppata in 4 mesi, con solo invito, lanciata a giugno. Leah ha presentato, schematicamente, i passi che sono stati seguiti nello sviluppare questa applicazione, con risorse limitate. Le riporto così come sono: nulla che non si sappia già, ma fa bene averle in una lista.

Hanno usato Django, un framework in phyton, perché:

  • è un web framework
  • è molto documentato e leggibile
  • genera automaticamente la parte di amministrazione per ognuna delle tabelle

Poi hanno usato S3, l’Amazon Simple Storage Server, perché

  • meno manutenzione necessaria
  • costa meno

Hanno usato AIR di Adobe:

  • lavora sia su Pc sia su Mac
  • molto facile da sviluppare
  • ingoraggia lo sviluppo di interfacce utente efficaci

Fare molto con poco

  • Pownce ha un team piccolo
  • solo uno sviluppatore web
  • è self-funded
  • lavorano con scadenze a breve tempo

Team piccolo, indossano scarpe diverse

  • ogni persona ricopre diversi ruoli
  • si aggiornano frequentemente
  • lavorano molto, per questo cercano soddisfazioni in quello che fanno

Open Source Tools

  • perché qualcuno ha già risolto il problema
  • e probabilmente meglio di come lo potresti fare tu

Tratta bene il tuo database

  • il database di Pownce è anche il suo collo di bottiglia
  • un solo database Mysql
  • velocizzare le query lente ha dato ottimi risultati all’odiermo Pownce
  • seguono suggerimenti

Caching

  • usare memchache
  • cusare il caching a livello di pagina e di oggetto
  • già dal lancio del sito

Usare le code

  • deciedere cossi può fare con le code
  • come spedire messaggi e note
  • un sistema che devono ancoa migliorare

Paginazione

  • ovunque sia possibile
  • è anche una buona pratica per l’interfaccia utente

Evitare la complessità

  • se le query sono troppo comples, evitarle
  • e chiedersi se servono davvero
  • in questa fase evitano visualizzazioni di dati complessi

Tenere i backup

  • usare la gestione delle versioni
  • dotarsi di un sistema per tornare a versioni precedenti del progetto
  • tenere traccia delle dipendenze e dei diversi aggiornamenti

Salvare quanto più dati possibili

  • Per capire cosa succede
  • Per applicare criteri quantitativi nell’analisi
  • Cercare di realizzare grafici sintetici dai dati ottenuti

Community

  • let user know what you’re working on
  • respond to indivisual bug reporters
  • inform users of bug fixes and new features

Questo intervento è stato scritto in live blogging dalla conferenza Future of Web Apps di Londra, il 3 e 4 Ottobre 2007. Leggi tutti gli interventi di Fucinaweb dal FOWA

Aggiornamento (15 Ottobre 2007): si parla di questo intervento anche su highscalability.com.

Paul Graham (Y Combinator) – The future of web startups

Mi sono perso la prima parte dell’intervento, ma mi ha colpito la considerazione di Graham riguardo l’università americana. Sostiene che lo studente che si trova a creare una propria startup con compagni di studio è oggi in grado di combattere la disparità dell’università americana, che è sempre più una possibilità solo per i ricchi. In questo modo può essere in grado di creare una rete di contatti (tra cui i cofondatori) già dalla scuola. Auspica che le aziende di domani non assumano guardando il titolo di studio, ma analizzando il “network sociale” che lo studente ha creato intorno a sé.

Altra nota: dopo l’acquisizione la produttività di sviluppatori e dipendenti della startup si riduce drasticamente. Da qui è chiaro come le leggi che regolano il lavoro in gruppo siano davvero complesse.

Questo intervento è stato scritto in live blogging dalla conferenza Future of Web Apps di Londra, il 3 e 4 Ottobre 2007. Leggi tutti gli interventi di Fucinaweb dal FOWA