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.