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.

Kevin Rose – Lesson learned from launching web apps: the story behind Pownce and digg

Un altro intervento che si è svolto ieri, proprio in coda alla giornata, si è rivelato interessante.

Kevin Rose è uno dei fondatori di digg e si è soffermato a illustrare quelle che nella sua esperienza sono le strategie più efficienti nel creare un nuovo servizio web. Se non altro Rose si è dimostrato meno abbottonato dei propri colleghi, riuscendo a proporre qualche tema di discussione.

Per prima cosa Rose ha sottolineato come sia rischioso, e tutto sommato non necessario, abbandonare il proprio lavoro per buttarsi a capofitto in progetti del genere. Meglio cominciare dedicando le sere e i week-end, soprattutto per valutare se l’idea sia poi così buona.

Come conservare i soldi (per usarli successivamente):

  • Affidarsi a programmatori freelance, perché questo è il modo più economico per partire. Fare molta attenzione però a quello che viene prodotto, per evitare di trovarsi con un prodotto scadente in mano, per esempio con irrisolvibili problemi di prestazioni all’aumentare del traffico
  • Non compare i server, ma affittarli. Affittare un hosting che possa essere controllato remotamente, con accesso alla “shell”
  • Impiegare, ovunque sia possibile, prodotti opensource

Come fare i soldi. Per quella che è la sua esperienza:

  • Con l’advertising (es. Adsense)
  • Prevedendo degli account professionali a pagamento

Per far crescere un progetto così che nel tempo la base di utenti soddisfatti aumenti sensibilmente, è necessario introdurre periodicamente nuove funzionalità. Quelle che si sono rivelate vincenti in digg sono:

  • importare la rubrica contatti
  • avere la possibilità di aggiungere amici
  • spedire le storie via email (anche con un client di posta)

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