Google Earth Flight Simulator

September 4th, 2007 by Gian Carlo

Marco Gallotta sembra essere stato il primo a ’scoprire’ una hidden feature in Google Earth 4.2: un flight simulator.

Google Earth Flight Simulator

Stamane ho voluto provare io stesso. Ho installato la nuova versione, ho premuto i tasti Ctrl+Alt+A et voilà: mi si è aperto un Flight Simulator! Carramba che sorpresa!

Essendo in fissa per tutto ciò che vola o che simula il volo, beh mi sono messo subito in pista, per così dire. Partenza da Kathmandu con un SR22 (ma si può scegliere anche un F16) e voletto con comandi da tastiera. Da tastiera è difficile essere ‘proporzionali’ nei comandi quindi sopratutto il rollio è una tragedia, però se consideriamo che davvero si può volare in tutto il mondo questa si che è una bella novità per i GE users.
Questo l’elenco dei controlli.
Considerando inoltre che questa è la prima relase sono certo che alcune cosette ‘mancanti’ come le visuali e più modelli saranno disponibili nelle prossime releases.

Noi non ci muoviamo… per almeno fino alla fine del “mio” mandato

July 30th, 2007 by Gian Carlo

No, non lo dice uno qualsiasi dei nostri italici politicanti - ma potrebbe averlo detto Mastella, a pensarci.

G.W. Bush

Oggi il primo incontro, con relativa conferenza stampa tra George W. Bush (USA) e Gordon Brown a Camp David dopo l’uscita di Tony Blair dal governo Inglese. Bush: “la guerra in Iraq durerà a lungo” e “Brown resterà al mio fianco”. Una frase che ribadisce “l’impegno” unilaterale delle forze militari sul campo iracheno. Era ovvio, ora chissà cosa ne pensa la controparte.

La situazione si farà sempre più seria, ed hanno anche dichiarato di “essere d’accordo nel chiedere nuove sanzioni contro l’Iran, per impedire l’avanzamento del progetto nucleare di quel paese”.

E’ chiaro che l’uso improprio - in Iran é evidentemente mascherato da una “lecita” necessità energetica, e quindi, in pratica… noi gli puoi dir niente - di sostanze pericolose, radioattive e tossiche da parte degli esponenti del filone jihadista a livello globale, effettivamente è un gravissimo problema e questi ’signori’ potrebbero combinarne qualcuna proprio grossa con conseguente reazione ‘nucleare’ della parte ‘lesa’.

You need to upgrade your Flash Player
What Barry says.
© 2004 knife-party.net

Insomma l’incontro di oggi è una chiara dichiarazione: “noi non ci muoviamo per almeno fino alla fine del mio mandato”. E speriamo che la mano non gli sfugga, sui comandi.

XML newsticker con jQuery (Ajax)

July 19th, 2007 by Gian Carlo

Un post brevissimo, per appuntare qui un altro ‘giant leap’ nella mia curva di apprendimento di jQuery e tecnologie Ajax. Stavolta (per un progetto reale) ho realizato un paio di prototipi di newsticker(s) in Ajax con jQuery che si prendono i dati da un file XML. E’ qui la differenza. Con jQuery è molto sempice fare il parsing di un file XML ed è molto semplice applicargli degli effetti.
Fading | Scoll continuo con pausa in hover

jQuery 1.1.3: 800%+ Faster, still 20KB

July 2nd, 2007 by Gian Carlo

John Resig, ideatore e lead developer di jQuery JS library, ha annunciato oggi la release della versione 1.1.3 che come potete verificare voi stessi dallo slick speed test, il DOM traversal (selettori CSS e XPath) è ora più veloce dell’800%!
In 4 punti:

1. We’re over 800% faster than we were in jQuery 1.1.2.
2. We’re the fastest framework in the most popular browser, Internet Explorer 6.
3. We’re the only framework that doesn’t give incorrect results.
4. And all of this comes at no expense to you ― jQuery is still the same 20KB that you’ve come to expect and enjoy.

Tutto ciò, con mia grande soddisfazione dimostra che quando quasi un anno fa ’scoprii’ jQuery e pensai che questa davvero sarebbe stata una javascript revolution per i designers non mi sbagliavo.

rcmovie.de

June 28th, 2007 by Gian Carlo

E’ da un paio di settimane che ho scoperto un bellissimo sito tedesco di filmati relativi al mondo r/c; é tedesco, e in Germania si sà, il modellismo è un’istituzione da decenni. Vi invito a vedere cosa c’è oggi sul mercato, a livello di elicotteri ed aerei a turbina (turbine per il mondo r/c, copie ‘ridotte’ delle vere turbine full-scale) o mega-progetti elettrici con assorbimenti di 2000-3000 Watts, o con motori 250cc a 4T su aerei riproduzione della seconda guerra mondiale… insomma rcmovie.de oltre a condividere con questo sito il player flv, è ricchissimo di filmati entusiasmanti e si sta rapidamente guadagnando la fama del portale n.1 per i video r/c.

You need to upgrade your Flash Player
Un giro bello aggressivo a bordo di un Trex 600
© cbdane, YouTube

L’elicottero nel video, invece è un Align T-Rex 600; da come “suona” va almeno ad 8 celle; anche io avevo tentato di vedere cosa succede a mettere una telecamera a bordo del mio Quick EP10 5s, ma questo elicottero, ovviemente, è un tantino più “motorizzato”.

Visto che siamo già in questo post, aggiungo questo filmato da vedere: un volo in FPV (First Person View) a bordo di un T-Rex 450 - che non è come mettere una telecamera e volare, qui le immagini vengono trasmesse a terra ad un paio di video goggles e quindi con questo nuovo ‘punto di vista’ (prima persona) , si vola. Anche di questo argomento ci sarebbe da parlare ore… e a me piacerebbe acquistare un apparato wireless di trasmissione audio-video assieme a dei video goggles e ‘pilotare’ i miei modelli come se fossi a bordo… si ma… ($$$).

jquery.slideviewer.js

June 21st, 2007 by Gian Carlo

Dopo avere sperimentato un altro pò con la galleria di immagini realizzata nel precedente post, ho realizzato il mio primo plugin ufficiale per jquery: slideViewer.

  • 1/4
  • 2/4
  • 3/4
  • 4/4
This is the Spirit panoramic camera’s "Lookout" panorama, acquired on the rover’s 410th to 413th martian days, or sols - Feb. 27 to Mar. 2, 2005. The view is from a position known informally as "Larry’s Lookout" along the drive up "Husband Hill."
Image Credit: NASA/JPL-Caltech
Gallery powered by jQuery slideViewer 1.1

Si usa molto banalmente; si parte da una lista non ordinata (UL) con dentro delle immagini. Gli si dà un ID (id=”marspanorama”) ed una classe (class=”svw”) e in perfetto stile jQuery gli si ‘applica’ il plugin dopo avere atteso che sia il DOM sia le immagini si siano caricate:


$(window).bind("load", function() {
$("div#marspanorama").slideView();
});

27 giugno 2007: enhanced tooltips
Una cosa che mi ha portato a verificare se un altro plugin poteva essere integrato in slideViewer opzionalmente, e cioè che potesse funzionare con o senza altri plugin estendendo le sue features, è stato il numero di feedback ricevuti sulla discussion list di jQuery.

Commenti come questo, proprio dall’inventore dell’utilissimo toolTip plugin mi hanno fatto molto piacere:

Now, how cool is that? Great stuff. I love the backinout easing. I consider integration of plugins the toughest part of all plugin development, nice to see some great work getting done on that matter :-)

In un paio di giorni (non full-time eh, ho anche gli elicotteri da far volare…) ho integrato il tolTip plugin e ho reso parametrizzabili il tipo di animazione e la sua durata. Il tutorial con gli esempi sono sempre alla stessa pagina comunque posto in queste due righe:


$("div#mygalthree").slideView({
easeFunc: "bounceinout",
easeTime: 2400,
toolTip: true
});

Si tratta del comando che diamo nell’head della nostra paginetta html se vogliamo creare un galleria di immagini che abbia 2 secondi e quasi-mezzo di durata della transizione tra un foto e l’altra, e che rimbalzi per esempio tramite la funzione bounceinout. Ah appunto, vogliamo anche un tooltip un pò gajardo…

et voilà, slideViewer plugin per jQuery.

Got it, thanks. Fantastic, most lightweight/best slide carousel out there. money. :-P
— E.

Una lista di siti che usano jquery.slideviewer aggiornata al 01/04/2008:
Zachary Zavislak Photography
Di Stefano landscaping
Rival Songs

jQ stripViewer

June 8th, 2007 by Gian Carlo

Come probabilmente si é capito da vari post su questo sito, tra i miei interessi al momento c’è jQuery, questo framework JS che sta rivoluzionando il mio modo (ma non solo il mio) di scrivere javascript (il behaviour di una pagina).
Inspirato dagli effetti in dynamic HTML di questo sito e dalle ormai ‘vecchie’ interfacce in Flash tutte sliding e rimbalzanti, mi sono detto: ma perchè non farne una con jQuery?

stripViewer demo

Di componenti slideShow in js o scritte anche con jQuery già ce ne sono, quindi non mi sono inventato nulla di nuovo, ma ho creato una base su cui lavorare. L’obiettivo é arrivare alla realizzazione di un plugin jQuery per visualizzare delle immagini in una mini-gallery e tale gallery dovrebbe essere parametrica cioè funzionare a prescindere dal numero e dimensione delle foto. Un motore che vada bene per foto grandi e piccole e basato sull’ormai standardizzato concetto che il javascript nelle pagine deve essere “degradabile” e cioè che se l’utente non ha l’interprete JS abilitato nel browser, semplicemente non vede gli “effettini” ma ha accesso comunque ai contenuti.

E così ho creato uno stripViewer (no, non ci sono donnine nude; per strip intendo una ‘fascia’, e cioè un’immagine lunga di cui si vede solo una porzione), e cioè un componente che ‘muove’ con un effetto easing le immagini della gallery, rivelandone solo una alla volta. Il tutto a partire da un markup semplicissimo, come questo:

<ul>
<li><img width="200" height="100" alt="307 r/c airliner" src="stripViewer01.jpg" /></li>
<li><img width="200" height="100" alt="307 r/c airliner" src="stripViewer02.jpg" /></li>
<li><img width="200" height="100" alt="307 r/c airliner" src="stripViewer03.jpg" /></li>
<!-- eccetera -->
</ul>

Ok vediamo nello specifico che ci facciamo con questa lista. La lista è una banalissima lista flottata (così tutti i LI sono orizzontali) e all’interno di ogni LI abbiamo messo un’immagine.
Ok una lista di immagini. Bene, ci mettiamo intorno una DIV col seguente stile:


#stripViewer {
position: relative;
width: 200px;
height: 100px;
overflow: hidden;
border: 5px solid red;
margin: 2em 0;
}

Bene, si vede che questa DIV funge da maschera per il suo child (la lista UL) e ne rivela solo 200px; quindi tutte le immagini le dobbiamo fare 200px? Si, fino a che non avrò reso parametrico il valore width del container della lista…
Ok e ora?
Ora creiamo l’interfaccia. Una serie di ‘bottoni’ che comandino la gallery.
Partiamo sempre da una lista. Le liste, ricordate, sono la chiave per scrivere la struttura di un sito: tutto può essere una lista.


<ul>
<li><a href="#">&nbsp;</a></li>
<li><a href="#">&nbsp;</a></li>
<li><a href="#">&nbsp;</a></li>
<li><a href="#">&nbsp;</a></li>
<!-- tanti Li quanti sono quelli della lista immagini -->
</ul>

Ok, a questo punto aggiungiamo un pochino di javascript (jQuery).

var steps = $("#stripViewer>ul > li > img").attr("width");
$("#stripTransmitter ul").find("a").each(function(i) {
$(this).append( (i+1) );
var cnt=-(steps*i);
$(this).click( function() {
$("#stripViewer ul").animate({ left: cnt}, 750, 'expoinout');
});
});

Vediamo come funziona:

var steps = $("#stripViewer>ul > li > img").attr("width");

Qui cerchiamo la dimensione delle immagini nella lista. Si, devono essere tutte della stessa larghezza (ma lavorerò anche su questo per svincolarla dalle dimensioni fisse e renderlo così parametrico).
L’attributo width delle immagini mi torna 200px.
Ok quindi gli step da fare sono tuti da 200. Ad ogni click ’scorro’ sull’asse x di 200px o multipli di esso (a seconda del tasto premuto).

$("#stripTransmitter ul").find("a").each(function(i) {
$(this).append( (i+1) );

Qui per ogni tag A nella mia lista in “div#stripTransmitter” stampo (.append()) il numero. Otteniamo così una lista con bottoni numerati da 1 a n.

E ora la parte divertente:

var cnt=-(steps*i);
$(this).click( function() {
$("#stripViewer ul").animate({ left: cnt}, 750, 'expoinout');
});

Qui la variabile cnt vale 200(steps) moltiplicato l’iteratore (i) quindi varrà 200, 400, 600 ecc.
Sul click di questi tag A nella nostra lista in “div#stripTransmitter” usiamo il metodo .animate() per dire che ci spostiamo a sinistra, quindi negativamente (-) per i pixel passati da steps , in 750 millesimi di secondo con animazione easing di tipo “expoinout”. per funzionare necessita ovviamente di jQuery Easing Plugin v1.1 ma se usassimo i metodi built-in di jQuery ci basterebbe scrivere “slow” al posto di “expoinout” e funzionerebbe lo stesso, ma senza easing effect.

Et voilà, uno stripViewer con jQuery.
Demo1: stripViewer di un’ unica immagine lunga
Demo2: stripViewer di una serie di immagini in una lista

Enjoy!

Google Maps Street View

June 5th, 2007 by Gian Carlo
Google Maps - Street view of San Francisco Bay Bridge

Street View é una nuova feature di Google Maps che permette di navigare panorami (Adobe Flash) a 360 gradi, ad alta risoluzione, ad altezza della strada di varie (per ora, poche) città degli Stati Uniti. Google ha investito $25 (milioni) per l’operazione ed evidentemente per scattare tutte queste foto ha sguinzagliato i suoi “geeks” in giro per le città. Ecco il tipo di macchina fotografica impiegata.

La cosa simpatica che sta avvenendo, mentre questa nuova feature viene sempre più usata, é che ci sono siti che raccolgono le stranezze di Street View e cioè foto di persone e cose, che a causa dell’adattamento e della post-produzione necessaria a ricreare tutti questi panorami in Flash, appaiono stravolte nelle sembianze, addirittura senza faccia, o immortalati quando meno se lo aspettavano…. guardate un pò voi. Ma chissà cosa dicono le persone fotografate. Avranno dato l’autorizzazione a Google per diffondere le loro foto? Non credo proprio, si vede chiaramente che queste foto sono state scattate in maniera pseudo-automatizzata (ogni tot. metri).

With Street View, you can virtually explore city neighborhoods by viewing and navigating within 360-degree scenes of street-level imagery. It feels as if you’re walking down the street!

Io già ho visitato ‘a piedi’ tutta l’area vicino al bay bridge a San Francisco e vi assicuro che questa nuova feature é davvero fantastica e certamente diverrà popolare molto presto. Provate voi stessi.

Queste le città visibili ad oggi: San Francisco Bay Area, New York City, Las Vegas, Denver and Miami.

CSS3: si ma quando?

May 29th, 2007 by Gian Carlo
www.css3.info

Ieri mi sono imbattuto in questi due post: Is it time for CSS 2.2? di Roger Johansson e CSS2.2 di Andy Budd.

Si tratta di un paio di riflessioni sull’ argomento Cascading Style Sheets e sulla lentezza con la quale il W3C sta lavorando: é infatti dal 1999 che si attende la release ufficiale dei “moduli” CSS3 (cioè delle specifiche da implementare nei browser al fine di supportare la nuova sintassi CSS3).

The early pace of CSS development was pretty impressive. First proposed by Hakon Lie in Oct 1994, CSS1 became one of the first W3C recommendations in Dec 1996. Nipping at its heals, CSS2 became an official recommendation in May 1998, just 18 months later. By June 1999 the first 3 draft modules of CSS3 had been published, and in their ground breaking book published that same year, Bert Bos and Hakon Lie postulated that CSS3 would arrive sometime in late 1999.
Over 7 years later, and we’re still waiting. This begs the question, what went wrong?

Per noi designers e developers, già avere il pieno supporto da parte di tutti i browser in circolazione, almeno della sintassi CSS2.1 già sarebbe cosa buona perchè non dovremmo usare selettori differenti per ogni tag a seconda dei browser (sopratutto per Microsoft Internet Exploder, che anche nella versione 7 non ce l’ha fatta a supportare almeno un paio di selettori decenti… ma si sapeva… infatti io ancora non me lo sono installato).

Solo Mozilla/Firefox supporta quasi del tutto la sintassi CSS2.1 ma addirittura supporta alcune delle cool features di CSS3 come i multicolumns layout, rounded corners, alcuni potenti selettori di attributo…
Il problema dei CSS riguarda in generale anche il futuro del web perchè se i browser vendors da un lato hanno enormi difficoltà ad implementare le direttive W3C, c’è anche da dire che il W3C stesso sta impiegando troppo tempo a definire il futuro del web, dimenticandosi nel frattempo del presente. Comunque se volete dare un’occhiata alle ‘cool features’ di CSS3 (cool features per designers, ovviamente) guardatevi questo sito e il PDF che Andy Budd aveva preparato per una recente conference sui web standards in Scozia.

Vini nel Mondo

May 15th, 2007 by Gian Carlo

Vini nel mondo.org è il sito di una delle più importanti rassegne d’incontro tra produttori e consumatori di vini, ambientata in una città gioiello, quale è Spoleto.

Dal 1 al 3 giugno prossimi, Spoleto torna ad essere la capitale italiana dell’eccellenza enologica. Il programma dell’ appuntamento del vino per gli appassionati, prevede una ricca esposizione di cantine ed etichette, un fitto panorama di degustazioni, incontri e spettacoli, un’importante asta di beneficenza e, per il pubblico del sabato notte, una scintillante seconda Notte bianca del vino.

Vini nel Mondo 2007 - www.vininelmondo.org

Quest’anno siamo alla terza edizione e per il secondo anno consecutivo ho curato la direzione tecnico-creativa ed il graphic design del sito; a differenza dell’anno scorso però, non ho sviluppato il markup ed i CSS perchè questi ultimi sono stati realizzati da una società di giovani professionisti di Spoleto che hanno anche realizzato un bel CMS in PHP.

Il risultato finale è un bel portale, che rispecchia in pieno quanto già ideato da Meet per il BTL; abbiamo usato SlideShowPro e jQuery (thickbox e curvy corners) e devo dire che sono stati implementati in maniera egregia.

Un sito moderno dunque, facile da navigare e pieno zeppo di contenuti.

Correte a Spoleto dal 1 al 3 giugno e… buoni vini nel mondo a tutti!