Cell. +39 3479684755

Il Blog di Instant Websites

Frames addio e tabelle … demoni da scacciare?

E’ notizia di questi giorni: HTML 5 non includerà più i tag relativi ai frames. Certo, gli sviluppatori già evitavano l’uso dei frames come la peste da tempo e quindi si tratterà semplicemente di una presa d’atto della obsolescenza di un dispositivo deprecabile per una serie di motivi molto concreti. Discorso chiuso. Non ci mancheranno.

Più complesso, invece, il discorso riguardante le tabelle. I puristi dei CSS hanno smesso di impiegarle per la realizzazione dei layout a favore dei più flessibili e precisi tag div ed anche l’impiego per il semplice inquadramento dei contenuti di pagina è considerato da taluni in maniera negativa.

Personalmente, credo che in questo – così come su quasi tutto … – sia preferibile trovare una posizione intermedia che tenga da un lato conto dello sviluppo tecnologico e della necessità di evitare le “zuppe di codice” e, dall’altro, permetta di adottare senza preclusioni di tipo quasi ideologico soluzioni tecniche semplici ed efficaci.

Io non uso più da tempo il tag table per realizzare dei layout. Da quando ho acquisito una buona pratica dei CSS-P, semplicemente non ne sento più il bisogno e oltretutto è chiaro che i fogli di stile consentono un controllo molto superiore dei layout complessi.

Quando però mi trovo a dovere inquadrare dei contenuti all’interno di un div definito tramite CSS, non disdegno l’uso delle tabelle se questa soluzione si prospetta come più semplice ed immediata.

A titolo di esempio, prendiamo una pagina con molte miniature fotografiche cliccando le quali si aprono delle altre pagine del sito. Se le foto sono soggette a frequente aggiornamento è preferibile usare una lista non ordinata debitamente formattata tramite CSS, come ho fatto in questa pagina: http://www.lebarbiedifulvia.it/html/barbies/fantasy.html (fra le molte per le quali ho usato questa soluzione). In tale modo è infatti possibile aggiungere immagini in qualsiasi punto della lista senza dovere spostare le altre, inoltre se la pagina ha dimensione elastica le miniature si riallineano in automatico (a ciascuna voce li dell’elenco si assegna un float: left; mentre a ciascuna immagine si applica la regola: display: block; per affiancarle). Se però non si prevedono aggiornamenti e soprattutto il tempo disponibile per sviluppare il codice è molto ristretto, è molto più facile usare una tabella ed inserire le miniature nelle singole celle: è forse una strada tecnicamente errata? Assolutamente no…

HTML 5 manterrà l’uso delle tabelle e questo può fare comodo. Quindi, se non ci sono controindicazioni e nemmeno limitazioni, usiamole senza paura dei … demoni.

Prezzo del software: etica dell’acquisto (e della vendita …)

Le statistiche che periodicamente vengono diffuse sulla pirateria informatica sono drammatiche, quantomeno a sentire i produttori di software. Pare quasi che nessuno acquisti i programmi e che tutti li usino copiati, magari scaricati da qualche motore di P2P.
Nel frattempo le software house ricorrono a soluzioni sempre più complesse per impedire il riutilizzo abusivo dei loro prodotti: tipicamente, attivazione online (e relativa disattivazione) in attesa che arrivino i tenutissimi chip in grado di individuare le copie tarocche installate.

Personalmente, non posso fare a meno di rilevare alcune circostanze e pormele come punti fermi, in alcuni casi, e come dubbi in altri:

1) il software è una creazione intellettuale e, come tale, deve essere protetto dalla legge. Chi vuole fornire un programma gratuitamente, lo può fare, ma chi intende venderlo è altrettanto legittimato a guadagnarci. Ne’ il software, ne’ la musica, “devono” essere gratuiti per definizione.
2) il prezzo del software è, in moltissimi casi, assolutamente spropositato. Questa certezza si ha, in particolar modo, con riferimento agli update e quando vengono rilasciate nuove versioni nelle quali più che aggiungere nuove funzionalità importanti, sono state operate modifiche di facciata (se non, addirittura, corretti dei bachi …).
3) quasi sempre mancano politiche di prezzi differenziati che agevolino determinate categorie, come ad esempio l’utenza non professionale in generale. La Microsoft e la Adobe, ad esempio, rilasciamo le famose licenze educational che spesso vengono usate come escamotage dagli acquirenti per ottenere una copia lecita ma più economica (lecita come provenienza ma, a quel punto, non come utilizzo, diciamolo apertamente). Un’eccezione a questa manzanza è rappresentata proprio dalla scelta di Microsoft di offrire il pacchetto Expression Web a prezzo ridotto a coloro i quali dispongano di una licenza di Adobe Dreamweaver. Mi sembra una buona strada da percorrere.
4) i meccanismi di protezione del software generano delle situazioni obiettivamente ingiuste. Io ad esempio ho acquistato un regolare pacchetto Adobe Creative Suite Web Standard, corrispondendo all’uopo circa 1.300 euri. L’ho installato ed attivato sul PC principale … solo che ho anche un portatile, che uso quando tengo i corsi in giro. Bene: non posso installare il mio pacchetto anche lì se prima non lo disattivo sul PC principale. A me non pare giusto: non sarebbe un’altra persona ad usarlo, per scopi diversi, bensì sarei sempre io. Perché non posso reinstallarlo? Dovrei forse acquistare licenze multiple, secondo la Adobe?

A conclusione dell’articolo voglio menzionare un caso particolare relativo al prodotto Sony Vegas Movie Studio 8, successore di Vegas Video 7. Per chi non lo conoscesse, si tratta di un software per elaborazione video, di fascia medio-alta in quanto pur non raggiungendo la completezza di Premiere, risulta qualitativamente superiore alla maggior parte degli altri pacchetti presenti sul mercato.
Io ho avuto modo di testare Vegas Video 7 e di apprezzarne le qualità ma il prezzo era troppo alto perché io lo acquistassi (per uso personale).
Recentemente, Sony ha introdotto Vegas Movie Studio 8 e fissato un prezzo di vendita a partire da una trentina di euri per la versione base. Appena ho appreso questo, ho proceduto all’acquisto: ho una mia etica e, a fronte di un prezzo equo – diciamo pure conveniente – ritengo sia doveroso procedere a comprare una copia regolare, soprattutto in considerazione dell’uso professionale che ne avrei fatto (da quando sono diventato titolare di partita IVA).
Tutto bene … peccato che questa versione abbia una limitazione pesante, e cioè gestisca un massimo di 4 tracce video e 4 audio solamente. Troppo poco? Acquista la versione Pro e non avrai problemi … a parte che dovrai sborsare oltre 500 euri in più.

La mia personalissima conclusione: hanno ragione le case produttrici a combattere la pirateria e fanno bene ad auspicare che si sviluppi una maggiore etica personale negli acquirenti di software. Io penso che anche loro però dovrebbero fare la stessa cosa, nel rilasciare nuove versioni e nel fissare i prezzi. Probabilmente sono due utopie e le cose continueranno così come sono andate fino ad ora.

SWFObject ovvero la soluzione ideale per i filmati Flash

Gli sviluppatori di siti web e, in particolare, gli utilizzatori di Dreamweaver, sono bene al corrente della difficoltà concernente l’inserimento di filmati Flash in una pagina web.
Utilizzando infatti la funzione Inserisci – Oggetto multimediale – Flash contenuta in Dreamweaver CS3, si determina l’aggiunta del tag embed e quindi, in fase di validazione rispetto a XHTML 1.0 Transitional, l’avviso spietato ma inevitabile: “Il nome tag: embed non trovato nelle versioni attualmente attive”.

In parecchi si sono quindi mossi per risolvere il problema, ammesso che sia veramente tale e cioè ammesso che la validazione completa sia davvero una necessità per il Cliente.
La soluzione più valida, tra quelle che ho personalmente sperimentato, è SWFObject arrivato alla versione 2.1.
Si tratta di un leggerissimo script (JS) che consente di inserire un filmato Flash in una pagina senza ricorrere a tag deprecati e con estrema facilità, sulla base di una delle due procedure proposte e cioè static o dynamic publishing.

In pratica, con dynamic publishing si tratta semplicemente di:
1) richiamare la libreria tramite il codice:
<script type=“text/javascript” src=“swfobject.js”></script>
nella sezione <head> della pagina;
2) creare tramite CSS un box ID per il filmato ed inserirlo nella pagina , prevedendo il contenuto alternativo destinato a chi non disponga del plugin Flash Player e/o di javascript attivato;
3) inserire il filmato nel box tramite Javascript, con un codice del tipo:
<script type=“text/javascript”>
    swfobject
.embedSWF(“filmato.swf”, “box”, “400”, “300”, “9.0.0”);
   
</script>
dove filmato.swf è il nome del file Flash, box è il nome del contenitore, 400×300 sono le dimensioni del filmato e 9.0.0 è la versione minima richiesta del player (sono possibili altri parametri, vedi documentazione).
Se l’utente non ha il plugin Flash Player e/o ha Javascript disattivato, la degradazione è ottima perché viene mostrato il contenuto alternativo previsto dallo sviluppatore (tipicamente: “Scarica il plugin qui … attiva Javascript”).
E’ da notare che a livello di CSS, il box può anche avere dimensione definita in automatico; è inoltre possibile usare come dimensioni il valore 100% e determinare la scalatura delle dimensioni in funzione di quelle disponibili nel browser dell’utente.

Il dubbio che può essere sollevato è relativo, intuitivamente, al fatto che la visualizzazione corretta del filmato è subordinata non solo alla disponibilità del plugin da parte del PC dell’utente, bensì anche al funzionamento di Javascript che non deve essere disattivato.
A me personalmente questo pare un problema assolutamente secondario. Quanti sono i computer con JS disattivato in realtà? Inoltre: se l’utente per qualsiasi motivo ha deciso di rinunciare a JS, è molto probabile che abbia disattivato anche l’operatività dei plugin che gestiscono i contenuti multimediali ed il contenuto attivo in generale.
In soldoni: un utente di questo tipo sa bene che non potrà vedere granché al di là del testo semplice e non sarà certo il nostro sito a creare eccezione.

SWFObject con la relativa documentazione tecnica, può essere reperito qui: http://code.google.com/p/swfobject/

Un’ultima osservazione: la beta di CS4 non utilizza più il tag embed bensì, proprio, JS per inserire i filmati Flash a conferma che questa è la strada giusta.

Categorie

Archivi