Archivio > Semantica, Accessibilità > Singolo: Cosa vorrei da un CMS

Cosa vorrei da un CMS

Si parla sempre più spesso di CMS (Content Management System) versatili e flessibili, adatti a gestire un blog così come un sito aziendale, la propria homepage così come un grande portale. Ne esistono tanti a codice aperto, ed altrettanti sotto licenza commerciale; ognuno ha il proprio numero di versione, i propri bugs (voce su Wikipedia), le proprie caratteristiche, e ovviamente le proprie funzionalità che lo rendono interessante, orginale, o scadente.
E' la realtà del momento, e su questo non c'è dubbio.

La qualità del codice generato da uno script è spesso capace di influenzare radicalmente il mio giudizio finale. Sono alla ricerca di qualcosa che sia perfetto, e che ovviamente non esiste.

Non metto in dubbio che sia un atteggiamento criticabile, ma il punto è che, secondo me, alla base di un buon CMS ci deve essere del buon markup. Nessuna caratteristica o funzionalità vale quanto un'applicazione semantica, accessibile, usabile, immediata.

Perchè?
Perchè non è più il tempo delle pagine in HTML 4.01 fatte con Word o FrontPage, e penso che su questo siano tutti d'accordo. I tempi sono cambiati, e in questo senso forse dovrebbero adeguarsi tutti ai nuovi concetti e filosofie (che parolona!) alla base della creazione di documenti e applicazioni web.

Purtroppo non è così.

It is necessary to evolve HTML incrementally. The attempt to get the world to switch to XML, including quotes around attribute values and slashes in empty tags and namespaces all at once didn't work. The large HTML-generating public did not move, largely because the browsers didn't complain.

E' necessario evolvere HTML incrementalmente. Il tentativo di convincere il mondo a passare ad XML, con i valori di ogni attributo inclusi fra apici e slash nei tag e namespace vuoti, tutto ad un tratto non funziona. Il vasto pubblico che sfrutta HTML non si muove, specialmente perchè i browser non reclamano.

E' questo secondo me il problema principale. I browser non reclamano. E' un'affermazione azzardata, perchè in fondo questo permette loro di offrire della retrocompatibilità preziosa.
Ma perchè la presenza di questo grande, pigro pubblico, inevitabilmente implica la necessità di un passaggio graduale verso il markup rigido e flessibile che risponde al nome di XML? Sono stati accellerati i tempi?

Ci troviamo in una situazione in cui da una parte ci sono i puristi, e dall'altra i recidivi. Tornando indietro si rischia di annullare tutti i grandi miglioramenti portati col tempo. Andando avanti si lasciano egoisticamente indietro tutti gli altri.
Tim Berners-Lee è stato molto diplomatico, ed ha pensato di creare nuovi gruppi di lavoro che si occupino di creare un ponte di collegamento fra le due parti, concedendo comunque ai vecchi working groups di continuare a scrivere nuove specifiche (vedi ad esempio XForms e XHTML 2.0).

Questa decisione secondo il mio modesto punto di vista non è nemmeno tanto sbagliata, sebbene a me sembri soprattutto forzata a causa del discreto successo dei linguaggi XML-based. Gli sviluppatori non si adeguano alle nuove specifiche, perchè i browser non sono pignoli quanto basta.

La cosa più grave, in tutto questo discorso che ho cercato di portare avanti, è che proprio i CMS, usati praticamente ovunque, non sono capaci di fornire alternative veramente valide. In pochi esempi ho avuto l'onore di osservare layouts e templates costruiti con una certa cura.

Probabilmente manca ancora il senso dell'ordine, della chiarezza, della responsabilità: forse c'è poco interesse per linguaggi come HTML e CSS, considerati o troppo semplici, o troppo semplicistici. Si finisce quindi col trascurare la parte strutturale di una pagina, per andare a sbattere la testa su tutto ciò che riguarda i linguaggi di scripting e programmazione (ad esempio Javascript/AJAX e PHP).

Io personalmente non trovo giusto tutto questo, ma forse mi sbaglio. Voi che ne pensate?

Approfondimenti

L'articolo è stato di tuo gradimento? Puoi controllare che vi sia altro di tuo interesse nelle categorie e , oppure iscriverti al notiziario RSS e seguirmi su per restare sempre aggiornato sulle ultime pubblicazioni.

Pubblicato lunedì 18 dicembre 2006.

Discussione [9]

  1. Roberto aggiunge:

    [Immagine] Segue l'intervento di Roberto

    Ogni volta che provo un uno script quello del codice prodotto è uno dei primi punti che analizzo… e purtroppo sono giunto alla tua stessa conclusione sulla bontà di quest’ultimo.

    Per il resto mi sento di concordare al 90% con le tue conclusioni: a prescindere dagli sviluppatori, credo che parte del problema sia anche quello di educare gli utenti. Guarda cos‘è successo con l’avvento di FF o degli altri browser ( quasi )standard: migliaia di siti scritti male e/o “ottimizzati” per IE (e quindi non standard e visualizzati male o non visualizzati affatto negli altri browser) non sono stati percepiti come tali, offuscando in tal modo il buon lavoro svolto dagli sviluppatori di gecko/khtml/opera, tanto da far continuare a scegliere il browser di MS da gran parte degli utenti di Win… con buona pace degli standard web.

    P.S. ho visto che ti sei iscritto su blogbabel ;)

  2. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao Roberto! (dovrei erigere una statua in tuo onore per la fedeltà che dimostri nei confronti di questo blog. :-P)

    Sono d’accordo con te. Forse sono un pò più “cinico”, nel senso che secondo me un minimo di severità in più non guasterebbe.
    In fondo, i programmatori sanno benissimo che ogni linguaggio ha la sua sintassi rigida e precisa che non è possibile violare. Se in PHP non metti un punto-e-virgola dopo ogni istruzione, l’interprete segnala l’errore, fine della storia.
    Nel nostro contesto invece è diverso, c‘è molta tolleranza, ognuno fa bene o male come gli pare e piace (parlo soprattutto di HTML e CSS), senza risentire di gravi conseguenze. Ci hanno provato con XML, e di conseguenza XHTML, ma evidentemente si aspettavano un interesse maggiore.

    Sia chiaro che non voglio giudicare niente e nessuno, è semplicemente un parere. Probabilmente, il vero punto di forza e il vero tallone d’Achille del web sta proprio in questa grande libertà di scelta e di pensiero.

  3. ShinRa aggiunge:

    [Immagine] Segue l'intervento di ShinRa

    Concordo sul fatto che una maggiore rigidità non avrebbe guastato ma d’altro canto occorre tenere presente che se da una parte abbiamo “sviluppatori” dall’altra abbiamo un numero decisamente maggiore di semplici utenti e forse il ragionamento di fondo si riduce al pericolo che installando un browser “intollerante” i semplici utenti non capirebbero la differenza tra un sito malfunzionante per colpa del codice e uno malfunzionante per colpa del browser col conseguente rischio di vedere ulteriormente diminuita la distribuzione del suddetto browser “intollerante”.

    Penso che in fondo si tratterà solo di una questione di tempo, il continuo evolversi del Web porterà prima o poi all’inevitabile scomparsa di tutti quei siti che non si adatteranno agli standard, vuoi perchè spariranno dai motori di ricerca, vuoi perchè i giovani utenti di oggi saranno i veri utenti di domani e cresceranno con una generazione Web anni luce più avanti rispetto a quella in cui siamo cresciuti noi.

    Il tutto, per tornare in tema, al grande evolversi di questi citati CMS che stanno (fortunatamente) prendendo sempre più piede.

  4. ShinRa aggiunge:

    [Immagine] Segue l'intervento di ShinRa

    Il tutto, per tornare in tema, anche grazie al grande evolversi di questi citati CMS che stanno (fortunatamente) prendendo sempre più piede. :)

  5. Andre aggiunge:

    [Immagine] Segue l'intervento di Andre

    I browser non saranno anche pignoli quanto basta, ma è giusto così. Se lo fossero, si arriverebbe ad una situazione in cui sui due piatti della bilancia avremmo da una parte i vantaggi di avere codice well formed, dall’altra l’impossibilità di leggere correttamente i siti che il codice ben formato non l’hanno.

    IMHO la leggibilità deve venire sempre prima di tutto e va assolutamente salvaguardata. Perciò è stato adottato un approccio graduale, secondo me in sostanza giusto.

    E’ indubbio che comunque l’interesse che uno può avere verso HTML è maggiore rispetto a quella che può avere verso XML, il quale richiede certamente più “impegno”.
    Le colpe sono disparate. Vedo che ancora tantissimi (in Italia, perlomeno) se ne fregano di XML, e pensano che i CSS siano solo un qualcosa di accessorio.

    Come ho letto da qualche parte, una volta un tizio ha detto “Mi piace IE, perchè qualsiasi schifezza scrivi, lui la legge”. Ecco dove siamo andati ad impantanarci.
    In quella caverna buia dove non importa come scrivi il codice, basta che si veda.

    Una fettina di colpa secondo me l’hanno anche i forum. Il BBCode, e l’ho scritto anche in un mio post sul blog che sarà pubblicato tra un po’, è quasi interamente basato su HTML, ed è un fiorire di tag annidati, distanti anni luce da un qualsiasi senso di semanticità del codice.

    Così la gente non ci pensa neanche a sforzarsi per imparare cose nuove. Compresi, e questa è la cosa più scandalosa, quelli che lo fanno di professione.

    Tirando le somme del mio sproloquio. I browser non possono tagliare fuori migliaia e migliaia di pagine, perchè non sarebbe del tutto giusto.

    La difficoltà sta nello spiegare come mai scrivere XHTML non valido è una cosa da evitare. Per PHP, come dici tu Simone, è facile: lo script si blocca.
    IMHO la questione sta nell’educare correttamente la gente alle novità del markup e della presentazione delle pagine, in generale e ai possibili e molteplici vantaggi di tali novità (microformati, tanto per dirne una).

    Per come la vedo io, nello scenario specifico italiano le cose non stanno andando in quel senso. (Mamma mia quanto ho scritto!)

  6. eKoeS aggiunge:

    [Immagine] Segue l'intervento di eKoeS

    Ciao anche a te Ivan, grazie anche a te della risposta. ;)

    E’ verissimo quel che dici sulla semplice utenza, nonostante, secondo me, una situazione del genere si sia venuta a creare anche e proprio con l’avvento di browser decisamente troppo pazienti.

    Quel che dispiace è leggere messaggi di T.B. Lee come quello sopracitato, dove si dipinge l’XML quasi come un fallimento. E quel che mi dispiace è anche continuare a notare una grande noncuranza lato-markup verso la maggior parte dei CMS.
    Io sinceramente non riesco a trovare il lato positivo. Che questi script facilitino notevolmente la gestione di un sito, su questo non ci sono dubbi (d’altronde, mancherei di coerenza affermando il contrario, visto che uso textpattern per gestire questo blog :-P). Ma d’altra parte non voglio nemmeno rinunciare a codice HTML semantico.

    In fondo, grazie a queste applicazioni, la gente nutre meno interesse nei confronti del codice: è da considerare un vantaggio o uno svantaggio?

    Sia chiaro per l’ennesima volta che qua non si vuole denigrare il lavoro altrui. Io mi guardo intorno e noto con delusione che i fatti stanno così: c‘è ancora poca sensibilizzazione da parte degli sviluppatori, figuriamoci da parte degli utenti.

    Roger Johansson ironicamente propone di marcare ogni tabella usata non-semanticamente con un bordo di 5px, in modo tale che gli utenti si rendano conto dell’errore.
    Tralasciando il lato comico della questione, quello su cui rifletto è come i browser potrebbero in qualche modo equilibrare la situazione. Risposte non ne ho, ma qualche certezza c‘è.
    Lo stesso IE (e non voglio citare FrontPa ... ops, l’ho appena fatto..), col passare degli anni, ha spesso contribuito a rendere scadenti migliaia di pagine, con sintassi e costrutti inesistenti (i famos(tr)i filtri CSS per creare gradienti, ombreggiature, e chissà cos’altro): l’unica cosa che si salva forse sono proprio i commenti condizionali, che hanno almeno permesso di differenziare i comportamenti delle pagine nei confronti di quest’ultimo.

    Non è stato un bene, così come non è stato un bene affidarsi ai primi editor WYSISWG: in fondo anche quelli cercavano di automatizzare le operazioni dietro alla creazione di documenti web. Il problema è che se dietro a tutto ciò non c‘è del buon codice, il risultato non può che continuare ad essere insoddisfacente.

    Detto questo, sono d’accordo con te col dire che probabilmente è solo una noiosa questione di tempo. Peccato, ripeto, che la situazione attuale non sia delle migliori.

    Aggiunta: Ne approfitto per rispondere anche ad Andrea :)

    IMHO la leggibilità deve venire sempre prima di tutto e va assolutamente salvaguardata. Perciò è stato adottato un approccio graduale, secondo me in sostanza giusto.

    Se le cose fossero andate diversamente forse non ci sarebbe stato bisogno di un approccio così graduale, ma comunque è una scelta che non critico (così come ho scritto nel post).

    E’ indubbio che comunque l’interesse che uno può avere verso HTML è maggiore rispetto a quella che può avere verso XML, il quale richiede certamente più “impegno”.

    Per come la vedo io, non è una questione di impegno, ma di interesse. Chi produce HTML non-standard secondo il mio punto di vista non ha il più minimo interesse a sapere come funziona il meccanismo, ma è cosciente del fatto che nessuno gli dirà mai niente, proprio perchè (così come dici te qualche riga più in basso) l’importante è che il codice si veda, con o senza errori. In programmazione non si è mai sentito parlare di cose del genere, giusto?

    Una fettina di colpa secondo me l’hanno anche i forum. Il BBCode, e l’ho scritto anche in un mio post sul blog che sarà pubblicato tra un po’, è quasi interamente basato su HTML, ed è un fiorire di tag annidati, distanti anni luce da un qualsiasi senso di semanticità del codice.

    Sarò ben lieto di leggere l’articolo, anche sui forums ci sarebbe da parlare ore ed ore! Tempo fa stavo studiando un metodo per rendere il layout generico di un forum il più semantico possibile, e sono arrivato alla conclusione che forse, in quel contesto, le tabelle ci potrebbero anche stare. Ho realizzato una pagina d’esperimento dove mi limitavo a rendere semantica una tabella, ma poi mi sono reso conto che il problema non sono solo le categorie, ma l’intero set di templates.
    Sì, decisamente anche i forums hanno la loro colpa.

    IMHO la questione sta nell’educare correttamente la gente alle novità del markup e della presentazione delle pagine, in generale e ai possibili e molteplici vantaggi di tali novità (microformati, tanto per dirne una).

    Bisognerebbe scoprire quanti veramente apprezzerebbero questi vantaggi. O almeno, quanti ora apprezzerebbero. Ancora una volta, nel contesto attuale per qualcuno può essere controproducente, visto che è altrettanto lecito scrivere codice non-semantico/accessibile, e così via.

    Spesso (ne ho parlato in uno dei primi post di questo blog) ho sentito dire:

    Non importa la qualità del codice, ma il tempo che impieghi a scriverlo

    o anche:

    Standards web: è roba per voi smanettoni

    Quanti, quindi, ora sarebbero disposti ad essere educati secondo altre regole? Non è una domanda provocatoria, perchè è un argomento su cui sto riflettendo anche io.

    Personalmente ritengo che coloro i quali passano ad XHTML/XML (e, in sostanza, scoprono un mondo tutto nuovo :-P) siano soprattutto appassionati, persone che non dipendono da nessuno e che a nessuno devono dimostrare niente. Attualmente, quindi, si tratta soprattutto di una scelta. Anche in questo caso, mi chiedo: è un vantaggio o uno svantaggio?

    Volevo concludere questo messaggio così prolisso premettendo che tutto ciò che scrivo non vuole essere in qualche modo imposto a nessuno, e che si tratta solo ed esclusivamente di pareri che spero sempre di condividere con qualcuno (così come è successo in questo caso), apprezzati o contestati. Non vorrei che i miei post venissero interpretati in modo errato, facendomi sembrare una persona presuntuosa ed arrogante che vuole imporre a tutti la propria soggettività. Non è assolutamente così.

    Grazie a tutti per i commenti,
    Simone

  7. Andrea@BV aggiunge:

    [Immagine] Segue l'intervento di Andrea@BV

    Quante cose sacrosante.
    Purtroppo gli standard sono un miraggio per troppi pseudowebsviluppatori, a me ultimamente una persona mi ha dato dell “esaurito” perché ho criticato l’uso abbondante di tabelle nel layout di un sito (non mio!) realizzato da poco con ASP, db Access e spacers a non finire.
    Io non darei molta colpa al BBcode, quanto più agli editor WYSIWYG, che combinati a un browser come IE danno quintali di codice ridondante e porcherie varie. Se gli sviluppatori (o pesudo tali) si svegliassero, anche gli utenti comuni di un sito (o forum, o altro) potranno avere strumenti per scrivere le proprie cacchiate in xhtml valido, continuando a non capirci niente, com‘è giusto che sia.
    Vedo che nel mio CMS preferito (Drupal) c‘è un nuovo modulo, un editor WYSIWYM... a quanto pare questo nuovo strumento potrà migliorare la situazione?
    Vabbé vi saluto che devo finire il mio nuovo sito con FrontPage, mi manca solo la scritta nel footer “Ottimizzato per Internet Explorer” :D

  8. Marco aggiunge:

    [Immagine] Segue l'intervento di Marco

    Ciao eKo, sono Lippa, sto per scrivere una boiata quindi preparati a censurarmi... :P Secondo me hai ragione sull'eccessiva "bonta'" dei browser che accettano un po' tutto quello che gli viene passato in output, ma il problema purtroppo si presenta con ogni linguaggio; ci si avvicina sempre di piu' verso gli utenti pigri perdendo spesso chiarezza nei codici. Quello che intendo e' che anche il tuo esempio sul PHP non tiene conto del fatto che il PHP stesso e' vittima come CSS e HTML di utenti poco capaci o poco volenterosi a causa della liberta' offerta nella dichiarazione di qualsiasi elemento (classi, variabili, etc.) e questo vale per tutti i linguaggi che puntano a fornire una sintassi ed un sistema sempre piu' semplice per l'utente principiante. Io a scuola sono costretto a fare Pascal come linguaggio di programmazione, e noto che l'utilita' a livello informatico e' quasi zero ma la sua rigidita' nel forzare l'utente a dichiarare con criterio tutto quello che utilizza nel programma mi ha molto aiutato nello scrivere codici in PHP, HTML e CSS. Ora mi sforzo anche io se devo fare qualcosa di serio a farlo come si deve e preferisco applicazioni meno ricche di funzioni ma fatte da me con la sicurezza di aver dato il massimo sotto questi punti di vista. Ancora non sono in grado di tirar fuori ottimi lavori dal punto di vista della sintassi, della semantica e di tutto il resto ma sento che il limiti che sto imparando a impormi mi portano sempre piu' verso la direzione giusta!

    Occorre spingere chi approda in questi campi a cercare la perfezione e a non accontentarsi mai!

  9. Helmakil aggiunge:

    [Immagine] Segue l'intervento di Helmakil

    Integrare un codice pulito, corretto e magari ordinato con un CMS è estremamente complicato e non porta a vantaggi "visibile". Il "webmaster" medio ha imparato a fare i siti con front page, poi suo cugino gli ha consigliato di usare php nuke e lui, dopo un mese di tentativi, l'ha installato con la skin aqua. Mettersi a fare un codice semantico ed ordinato, magari utilizzando anche un sistema di template, e gestirlo con php non giustifica lo sforzo. Credo che a questo non si avrà mai una soluzione: I browser continueranno a mantenere la compatibilità con i vecchi standard, pena la perdita di utenza (tutti quelli che non riescono a vedere il loro sito fatto con front page, o quello dell'amico). Gli sviluppatori, invece, continueranno a privilegiare la facoltà di utilizzo rispetto alla qualità (sai che scatole scrivere ogni volta nel forum, per il ragazzino di tredici anni...) Forse l'unico modo per avvicinare l'utente medio ad un markup semantico è creare WYSIWYG che lo permettano, o tool interni ad essi che elimino il codice non valido e semantico. Ma è principalmente una questione di cultura: facciamo sapere a tutti dei vantaggi provenienti dall'utilizzo di un h1 dove deve essere usato, delle differenze tra em, strong e font,span ecc, e forse a lungo andare si otterrà qualcosa, sebbene credo rimarrà sempre il ragazzino che fa il sito non valido per il negozio della zia :D

Discuti

Il blog è in sola lettura.

Paginatura: