Sviluppare 2.0
Se c'è una cosa che ultimamente mi appassiona fare è quella di sviluppare nuove features per T&C (o fare il porting di quelle attualmente esistenti), utilizzando amenità varie, come AJAX, mashup, ecc.., tipiche del cosiddetto Web 2.0
Un'applicazione 2.0 ha il notevole vantaggio di essere "figa", vantaggio che nella maggior parte dei casi serve solamente a far pensare all'utente: "Oooh, figa questa cosa!" e che pesa notevolmente sulla complessità di sviluppo e mantenimento.
Oltre alla difficoltà aggiuntiva dovuta allo sviluppo, dovuta alla necessità di dover conoscere un numero non indifferente di linguaggi (scripting server-side, HTML, Javascript, XML) i fattori di complessità spuntano fuori come funghi da tutte le parti:
- Necessità di gestire gli errori che possono avvenire a più livelli e possono essere di diverso genere
- Difficoltà di debug (anche se Firebug è un ottimo strumento trovare i nostri errori è comunque più difficile)
- Gestione della compatibilità cross-browser.
Quest'ultimo punto è secondo me il più problematico in quanto oltre a dover gestire l'intrinseca discrepanza di ogni browser da praticamente ogni standard, cosa che costringe gli sviluppatori a scervellarsi su hacks e workaround per Javascript e CSS, si aggiungono anche altre possibilità (a cui ho pensato mentre ero in bagno):
E se l'utente decide di disabilitare Javascript?
E se l'utente è disabile?
E se l'utente usa un browser testuale?
Esiste la "accessibilità 2.0"? Oppure bisogna prevedere ad una copia conforme del sito "in 1.0"?
Sinceramente non vedo quale sia il vantaggio, per me che programmo a tempo perso, di fare due versioni della stessa cosa...