L'ispirazione dell'esperimento che vi segnalo nasce esplicitamente da una funzionalità  di iPhoto, il software per la gestione di fotografie e immagini di Apple.Come mostra lo screenshot, si tratta di uno slider agendo sul quale è possibile ridimensionare al volo la dimensione delle thumbnail presenti nella libreria:John Berry di Agile Partners, è riuscito a riproporre il tutto in versione XHTML + Javascript grazie a 2 (ormai onnipresenti) librerie: Prototype e script.aculo.us.

Continua a leggere Ridimensionare immagini con uno slider

Categoria: Scripting

Chi ha letto solo qualcosa di Jacob Nielsen non si stupirà . Il guru dell'usabilità  ha lanciato il suo anatema contro l'uso scriteriato di Ajax nel suo ultimo Alertbox. Il titolo non lascia spazio a fraintendimenti: Why Ajax Sucks (Most of the Time).Il giudizio negativo ruota essenzialmente intorno ad un problema. Ajax 'rompe' il modello classico del web, quello disegnato da Tim Berners Lee per intenderci, un modello che poggia sulla pagina come unità  costitutiva minima e fondamentale. Puà insomma accadere, su un sito fortemente ajaxificato, che il nuovo contenuto visualizzato sullo schermo in seguito ad una certa azione, non corrisponda, come dovrebbe, ad una nuova unità  informativa autonoma (una pagina appunto) dotata, tra l'altro, di una sua URL univoca.Da qui i problemi derivati, come quelli relativi all'uso del tasto Back/Indietro o alle URL che smettono di funzionare o che non assolvono al loro compito precipuo.Cose già  dette ed evidenziate da altri, tutto sommato. Con un'eccezione. Mai avevo letto altrove che sui siti costruiti in doppia versione, Ajax e non-Ajax, la gran parte degli utenti ha mostrato di prediligere quella Ajax-free.Update/rettifica: come si dice 'cospargersi il capo di cenere' in tutte le lingue? E pirla? Prego, infierite pure. E grazie a skidx per il provvidenziale commento:L'articolo non è di Nielsen, è una sua parodia."Ajax Sucks" article is not by me An article is currently making the rounds (even featured on Slashdot) that looks very much like one of mine, until you read the very bottom of the page that clearly states that it is by another author and written as a spoof. Please don't send me comments on this article, since I had nothing to do with it.A mia discolpa posso solo dire che ho fatto il post (poi schedulato per oggi) appena la segnalazione del pezzo-bufala ha iniziato a circolare in rete e l'indicazione che di bufala si trattava era ben nascosta in fondo alla pagina, a differenza di quanto accade in questo momento. Certo, se avessi dato un'occhiata alla URL...

Continua a leggere La scomunica di Jacob

Categoria: Scripting

Alex Bosworth ha stilato una lista delle cose che vale la pena trattare con Ajax. Trovo che sia piuttosto sensata. Ecco la sintesi.Interazione attivata con i formGestione dell'interfaccia per dati con struttura gerarchica complessa (esempio: un thread di discussione su un forum)Comunicazione rapida da utente a utenteVoti e ratingFiltrare e/o ordinare datiAutocompletamento nell'immissione di testiSegue la lista delle cose per cui è inutile o sbagliato usare Ajax.Campi di ricerca stile Google SuggestSistema di navigazione principale di un sitoRimpiazzare grosse quantità  di testoManipolazione dell'aspetto grafico di una paginaWidget inutiliDa leggere anche gli esempi che Bosworth porta a supporto delle sue indicazioni.

Continua a leggere Ajax: per molto ma non per tutto

Categoria: Scripting

Tags: ,

Non si tratta del nome di un gruppo degli anni ottanta né di un'esclamazione... AHAH (Asynchronous HTML and HTTP), è una recentissima libreria che costituisce un'ottima alternativa ad AJAX per diversi motivi.Il primo è che, basandosi su semplici inclusioni asincrone di codice HTML (sia esso proveniente da un file statico o il risultato di un'elaborazione server-side) non necessita di parsing dell'XML come avviene per AJAX. Il secondo è che si tratta di una libreria estremamente leggera: si compone infatti di due sole funzioni per un peso inferiore al kilobite. Terzo ed ultimo, ma senz'altro il più importante, è la disarmante facilità  di utilizzo. Oltre alla già  citata pagina originale su microformats.org, ho trovato questa valida introduzione (l'implementazione è leggermente diversa, ma sempre molto concisa) e questo esempio molto semplice. Se non avete ancora avuto tempo o modo di provare AJAX, AHAH potrebbe essere un buon punto di partenza.

Continua a leggere AHAH …AJAX é diventato facile!

Categoria: Scripting

Tags: , , ,

Una cosa che mi ha sempre affascinato di Javascript è l'abilità  di sintesi e la capacità  di manipolare agevolmente elementi di pagina attraverso il DOM.Ho così pensato di introdurre due piccoli "esperimenti scientifici" ovvero il teletrasporto e la clonazione. (more...)

Continua a leggere Esperimenti “scientifici” con il DOM

Categoria: Scripting

Tags: ,

Rimaniamo in tema, almeno per assonanza, rispetto al post precedente. Parliamo infatti di Google Maps.In attesa di poter sfruttare a dovere la versione italiana, se mai arriverà , possiamo iniziare a giocare con il codice appoggiandoci a quella americana. Un ottimo punto di partenza potrebbe essere questo. Peter Rukavina ha creato l'ennesima applicazione che sfrutta le API del servizio. Si tratta di Charlottetown Transit Interactive Bus Map, una mappa interattiva e aggiornata in tempo (quasi) reale che monitora il traffico degli autobus di Charlottetown.La cosa interessante è che ha reso pubblico tutto il codice dell'applicazione, un mix di PHP e Javascript che si appoggia ad un db MySQL per i dati. Da studiare.

Continua a leggere Creare un’applicazione con Google Maps

Categoria: Scripting

Uno dei limiti dell'ormai ubiquo oggetto XMLHttpRequest è la difficoltà  di utilizzarlo per chiamate verso server diversi da quello su cui risiedono le pagine di una specifica applicazione.Le restrizioni non sono in realtà  intrinseche dell'oggetto in questione, ma discendono dalle impostazioni di sicurezza dei vari browser. Ci sono diversi metodi per aggirare l'ostacolo, alcuni li ho implementati io stesso (ed è tutto dire) per certi esperimenti da dilettante che vado facendo di tanto in tanto al posto di un Sudoku o di un Bartezzaghi sulla Settimana Enigmistica. Per una panoramica seria, invece, consiglio questo articolo uscito su XML.com. 3 le soluzioni proposte e analizzate con tanto di codice:Application proxies. Write an application in your favorite programming language that sits on your server, responds to XMLHttpRequests from users, makes the web service call, and sends the data back to users.Apache proxy. Adjust your Apache web server configuration so that XMLHttpRequests can be invisibly re-routed from your server to the target web service domain.Script tag hack with application proxy (doesn't use XMLHttpRequest at all). Use the HTML script tag to make a request to an application proxy (see #1 above) that returns your data wrapped in JavaScript. This approach is also known as On-Demand JavaScript.

Continua a leggere Superare i limiti di XMLHttpRequest

Categoria: Scripting

Le pop-under sembrano costituire l'alternativa moderna alle pop-up, dato che queste ormai non hanno storia grazie a browser e toolbar con il blocco.Chris Heilmann ha recentemente pubblicato How to create user friendly pop-under ads, un articolo molto dettagliato su come costruirle con CSS e Javascript. Nell'esempio la pubblicità  va a fondo pagina ma resta comunque visibile senza disturbare se Javascript è disabilitato. (more...)

Continua a leggere Pop-under con CSS e Javascript

Categoria: Scripting

Nella realizzazione di layout basati su CSS la fase di test è fondamentale: tipicamente si tende a inserire nelle sezioni principali del testo di riempimento (filler text in inglese) per verificare la robustezza del layout al variare della lunghezza delle colonne.Ritenendo questa operazione piuttosto noiosa, ho pensato di sviluppare un piccolo script che la può velocizzare molto: è infatti in grado di aggiungere dei link attraverso i quali potremo ottenere uno o più paragrafi di filler text, così da effettuare il testing del layout senza dover editare ogni volta il codice HTML.Ho preparato una pagina di esempio che usa lo script. (more...)

Continua a leggere Filler Text a richiesta

Categoria: Scripting

Sto lavorando ad uno script che molto probabilmente troverete nelle pagine di PRO tra breve. Un'operazione piuttosto ricorrente dello script è verificare se una stringa è contenuta all'interno di un'altra. Inizialmente il codice che ho usato era qualcosa del tipo: if(s.indexOf("stringa_da_cercare")>=0){     //fai qualcosa     } Sebbene sia un approccio semplice, trovo che sacrifichi un po' la leggibilità . Mi sono chiesto: ci sarà  un modo un po' più pulito per farlo? (more...)

Continua a leggere Prototipi in Javascript

Categoria: Scripting