6 giugno 2008

Testare un sito su tutti i browser e risoluzioni

Chi fa un sito Web dovrebbe testarlo su diversi browser, variando risoluzione dello schermo, colori, sistema operativo, JavaScript e così via. E pochi hanno tempo/voglia/mezzi per farlo.

Per fortuna ci sono dei siti dedicati: il mitico Browsershots genera gli screenshot di un sito su tutte le combinazioni di browser/sistema operativo/risoluzione/JavaScript/Java/Flash:

Unico difetto: non permette di variare la dimensione dei caratteri. Sembra una sciocchezza, ma - almeno in Windows - font di sistema a 120dpi sballano molti layout. Non è come aumentare la grandezza dei font in Firefox o IE: i font del sistema operativo impattano anche su finestre, margini, ecc. Con gli schermi 16:9 e le alte risoluzioni, ci sono sempre più utenti che li ingrandiscono per riuscire a leggere qualcosa :-). Io sono tra questi e vedo molti siti che non sono compatibli. Piccolo esempio: guardate cosa succede su IE6+ ai famosi box stondati di RoundedCrnr (e a tutti i siti che li usano):

9 gennaio 2008

Amministrare un portale da cellulare

Dato che sono spesso fuori sede, ho progettato e implementato la piattaforma di QualeTeatro in modo che fosse facilmente amministrabile ovunque mi trovassi. Da interfaccia Web e soprattutto da... telefonino, in modo da sfruttare i tempi morti, magari in treno o in fila di attesa. Adesso poi che ho l'S730 (la qwerty a scomparsa è eccezionale!) ho veramente tutto a portata di mano!

Via cellulare posso approvare/editare contenuti in real-time, controllare lo stato del server, tarare il caching, forzare l'invio di alert e l'aggiornamento delle classifiche... Sotto sotto sono sempre un geek :-)

17 ottobre 2007

I-Load: il controllo ASP.NET definitivo per l'upload di immagini

Molti siti permettono all'utente di personalizzare le pagine inserendo delle foto personali.
Tecnicamente, la gestione delle immagini e dell'upload richiede diverse operazioni:

  • visualizzare la percentuale di avanzamento durante l'upload (utile per file grandi)
  • controllare la dimensione ed eventualmente ridimensionare
  • convertire il formato sul server, generare thumbnail, ecc.

Su Internet si trovano molti code snippet AJAX/ASP.NET, ma spesso bisogna perdere troppo tempo per trovare il codice, rivederlo (perchè non fate copia e incolla selvaggio, vero? ;-), integrarlo con altre routine scaricate, ecc.

Ebbene, in QualeTeatro mi sono affidato ad un completo e potente controllo ASP.NET: I-Load di RadActive. Con qualche click gestisce i problemi di cui sopra, e in più ha la funzione che ho sempre desiderato e non ho mai trovato: un editor client-side con anteprima e possibilità di ridimensionare, zoomare e tagliare l'immagine prima dell'upload. Fantastico!

I-Load

Vi invito a dare un'occhiata alla demo online: tutti quelli a cui ho segnalato il controllo sono rimasti piacevolmente impressionati. Unico difetto è la mancanza del supporto per la localizzazione dell'interfaccia, ma dovrebbe arrivare tra qualche settimana.

Last but not least - dal sito (ben fatto) in inglese non è subito chiaro, ma RadActive è una software house italiana: un motivo in più per scegliere il controllo :-)

7 ottobre 2007

Nasce il motore di ricerca del teatro: QualeTeatro

Superata la fase sperimentale, dal 1° ottobre QualeTeatro.com è ufficialmente in "beta pubblica"!

QualeTeatro.com

Non esisteva un sito con tutti gli spettacoli teatrali (anche quelli negli eventi locali o nelle piccole città), così - semplicemente - l'ho fatto :-) 

L'idea mi è venuta il 22 gennaio 2007; il 18 giugno era online la versione "alfa", che abbiamo poi perfezionato durante l'estate. Google ci ha mandato un po' di traffico e qualcuno ha linkato il sito, ma fino ad oggi non ne avevo ancora parlato: adesso che le funzioni di base ci sono e stanno iniziando le stagioni teatrali 2007/08, possiamo veramente partire!

[dalla presentazione del sito] 
"...puoi sapere tutto quello che sta succedendo (o succedera') intorno a te: trovi gli spettacoli, i giudizi e commenti degli utenti, le programmazioni dei teatri italiani. Anche su cellulare e Google Mappe. E non e' finita: quante volte ti sei perso uno spettacolo perche' nessuno ti aveva avvisato? Grazie al servizio Alert, puoi ricevere comodamente una email quando ci sono novita' sugli spettacoli della tua zona o del tuo attore preferito: Scopri le funzionalità di QualeTeatro"

QualeTeatro è una grande opportunità:

  • per gli Utenti: una mappa unica, completa e semplice da usare. Chi ama il teatro ha gli spettacoli a portata di click.
  • per Teatri, Scuole, Compagnie e organizzatori: con QualeTeatro uno spettacolo è visibile subito in tutta Italia. I visitatori non cercano foto, storie o recensioni (ci sono gli altri siti ben fatti), ma cercano gli spettacoli che possono vedere prossimamente: non è forse il momento migliore per farsi notare? Il pubblico occasionale non è mai stato così raggiungibile.

In puro stile Web 2.0, tutti possono inserire gratuitamente uno spettacolo: uno spettacolo in una piccola frazione può essere visibile come una prima alla Scala.

Troppe persone non vanno a teatro solo perchè non sono informate. Grazie alle nuove tecnologie ci auguriamo di contribuire alla promozione del Teatro italiano e di avvicinare sempre più persone - a partire dai giovani - a questa appassionante realta'.

Il sito è in beta e i dati sono parziali, quindi passaparola! Chi vuole contribuire alla nostra avventura potrebbe ad esempio:

  • segnalare QualeTeatro ad amici o conoscenti che vanno o fanno teatro
  • linkare il sito dai blog/forum
  • inserire qualche spettacolo della propria città

E ovviamente mandarci il suo feedback: critiche e suggerimenti sono essenziali per offrire un servizio sempre migliore.

Da oggi in poi parlerò spesso del "dietro le quinte" e dei problemi (tecnici e non) che si affrontano in questo genere di impresa: dedicato a chi vuole fare (o fa) Web 2.0.

5 ottobre 2007

La mega-falla di sicurezza nei siti del Centrosinistra

Veltroni sostiene che la Sicurezza dei cittadini è una delle sifde globali del Centrosinistra. Chissà se da oggi si preoccuperà anche della Sicurezza dei... server del Centrosinistra (!) 

Qualcuno lo aveva segnalato da tempo e la voce si è sparsa. Incredibile ma vero, i siti di DS & co. presentavano una grave falla di sicurezza che li rendeva facili prede per attacchi informatici. Battute a parte (ovviamente i partiti non si occupano di questi aspetti e si affidano a società informatiche esterne), vediamo cosa è successo.

Ieri sera, Emanuele mi passa un link che punta a LaNuovaStagione.it, il sito del comitato Walter Veltroni per il Partito Democratico.

Lo apro e, INCREDIBILE, vedo il Web.config del sito! Per i non addetti al settore, diciamo che è come se la FIA rendesse inavvertitamente visibili i segreti della Ferrari (è solo per capire, so che è assurdo... ;-)

Il Web.config di un sito ASP.NET contiene alcune impostazioni di configurazione, tra cui spesso la stringa di connessione al database e le password degli amministratori. Grazie a queste informazioni un malintenzionato può assumere il controllo completo del sito, modificare e cancellare informazioni e dati sensibili. In effetti non avevo mai visto un Web.config sprotetto su un sito professionale.

Ho rapidamente constatato che molti siti presentavano lo stesso problema:

  • lanuovastagione.it
  • dsonline.it
  • festaunita.it
  • saperidemocratici.it
  • italiafrica.it
  • veltroniperlitalia.it
  • diregiovani.it
Berlusconi

Dopo aver scartato l'idea di fare il defacing di dsonline.it con una foto adatta alla situazione (a vedere questo filmato, un hacker lo farebbe subito... :-), ho immediatamente informato i tecnici, che hanno poi risolto il problema.

Come è stato possibile aprire una così grave falla di sicurezza nei server?

Il Web.config non è accessibile direttamente (/web.config), come per default in tutti i siti ASP.NET. Però era possibile arrivarci da una pagina proxy (che chiameremo mostra.aspx), che da querystring accettava un virtual path e trasferiva il controllo alla pagina specificata. Quindi con /mostra.aspx?url=/web.config i controlli di sicurezza erano aggirati: ASP.NET concedeva l'accesso a mostra.aspx, pagina pubblica, ma caricava e restituiva il file protetto web.config.

Inutile dire che quando in un sito ci sono pagine proxy, è essenziale assicurarsi che accedano solo ad altre pagine autorizzate. Di solito sono ammesse solo pagine nella directory o in una sotto-directory fisica dove risiede la pagina proxy e non sono amessi i parent path, ovvero gli indirizzi che contengono ".." per risalire nella gerarchia delle directory. Ognuno faccia come vuole, ma in ogni caso i file .config non dovrebbero mai essere accessibili...

Rimando al post di Raffaele per le considerazioni tecniche sugli errori commessi sul sito. Consiglio anche il post di Alessio.

Chi volesse approfondire l'argomento sicurezza in ASP.NET può iniziare con Creazione di pagine e controlli ASP.NET protetti

3 ottobre 2007

L'importanza strategica delle piattaforme di sviluppo

Il successo di una piattaforma (sistema operativo o servizio remoto/Web) è decisamente legato alle possibilità di essere personalizzata e programmata con facilità. Si innesca un circolo virtuoso che favorisce la diffusione della stessa: l'interfaccia di programmazione è facilmente accessibile -> il programmatore la usa e crea programmi/estensioni utili/indispensabili -> l'utente si procura/usa la piattaforma solo per avere quel programma/estensione -> la piattaforma si diffonde e incentiva altri programmatori a svilupparci.

Bill Gates

Il Visual Basic, che fino a 10 anni fa era il linguaggio più utilizzato sul pianeta, ha avuto un impatto decisivo sulla diffusione di Windows. Oggi Microsoft non fa nemmeno più pagare le versioni base (ma piuttosto complete) dei tool di sviluppo, per arginare la diffusione dei pacchetti open source/gratuiti (Java, PHP, MySQL...).

Negli ultimi anni le quote di mercato sui client hanno iniziato a ridursi per Windows, con l'avanzamento di Linux e Tiger/Leopard. Guardando la home di Microsoft.com si intuisce che l'intenzione è di intervenire (di nuovo) sulla leva dei programmatori: la pagina iniziale di solito è dedicata a tecnologie di massa (Vista, Office, XBox), oggi è dedicata ai tecnici, con una pubblicità (immagine in alto) veramente d'effetto.

30 settembre 2007

Prevedere il prezzo delle aste di eBay

E' possibile prevedere come andrà a finire un'asta di eBay? Sembra impossibile, ma la risposta è sì.

eBay

Ecco un articolo che spiega come fare. Le tecniche "magiche" di data mining che stanno dietro sono le stesse usate da Amazon per suggerirci i libri preferiti oppure da Visa per isolare e bloccare i movimenti truffaldini sulle carte di credito.

Chi vende su eBay troverà anche qualche consiglio su come modificare/ottimizzare le aste per guadagnare di più: se si conosce il comportamento dei partecipanti, lo si può anche sfruttare ;-)

20 settembre 2007

Usare AdSense for Mobile da ASP.NET

Dato che Google non supporta ASP.NET per AdSense for Mobile, ho deciso di rimediare :-). ASP.NET offre un buon framework per le applicazioni mobile, ed è un peccato non poter utilizzare il nuovo strumento di AdSense.

Quindi ho implementato una classe C# che permette di utilizzare AdSense per Cellulari da ASP.NET (C# e Visual Basic .NET). Chi fosse interessato può scaricare liberamente la piccola libreria: l'articolo a corredo è in inglese, per renderlo disponibile anche ai programmatori stranieri.

2 settembre 2007

Generatore gratuito Web 2.0 per la favicon.ico

La favicon è l'icona associata ad un sito ed è visualizzata nella barra degli indirizzi del browser. (Anche questo sito ne ha una orrenda generata per default dal blog engine :-)

Per essere compatibile con la maggior parte dei browser, l'icona deve essere nel formato .ICO: quindi se avete una icona GIF o JPEG dovete in qualche modo convertirla. Se il vostro editor grafico non supporta il formato .ICO, potete cercare un convertitore gratuito sul Web. Ce ne sono tanti (basta cercare "free favicon" o "favicon converter"), ma qui voglio segnalare un nuovo sito Web 2.0 che permette di fare tutto online, in maniera semplice ed efficace: Favicon.cc.

L'editor AJAX è molto ben fatto, fornisce l'anteprima e gestisce le trasparenze. Il sito fornisce anche una galleria pubblica di favicon gratuite già pronte, pubblicate sotto licenza CC dagli stessi utenti del sito.

30 agosto 2007

Guadagnare 500.000$ al mese con 2 ore di lavoro al giorno

Se siete degli informatici smanettoni e (veramente) in gamba, potete diventare milionari. Le ore passate a studiare e programmare i computer - mentre gli altri se la spassavano a giocare a pallone - saranno ampiamente ripagate :-)

Ci è riuscito Markus Frind, il fondatore di PlentyOfFish.com, un sito di incontri online. Markus ha sviluppato e mantiene il portale da solo! Con una architettura hardware/software non troppo costosa ma super-ottimizzata riesce a gestire 45 milioni di visitatori al mese. Dopo un duro lavoro iniziale, adesso a Markus bastano 2 ore al giorno per le operazioni di manutenzione al sito.

Il modello di business è basato solo sugli introiti dai banner Google: grazie ai 30 milioni di hit giornalieri (500-600 al secondo!), ci sono abbastanza click da far incassare a Markus 6.000.000$ all'anno. Non credevo che si potesse arrivare a ricevere un assegno da quasi 1 milione di dollari da Google AdSense:

Assegno Google AdSense da 1 milione
Fonte: http://plentyoffish.wordpress.com/2006/06/07/small-companies-google-adsense-is-the-future/

Semplicemente sbalorditivo.

Maggiori informazioni: