{title}
{published}
{createImage(thumbnails[0].url,thumbnails[0].width,thumbnails[0].height)}
{youtube(link)}
{user.nickname}, liked this
{body}
{createImage(avatar,64,64,null,nick,nick)}
{nick}
{createImage(avatar,null,null,null,nick,nick)}
{nick}
friendfeed google profile facebook profile blogger profile linkedin profile last fm profile home
{description}



 
{youtube(path)}
Visualizzazione post con etichetta sport. Mostra tutti i post
Visualizzazione post con etichetta sport. Mostra tutti i post

[questo post si compone di diversi pezzi +o- tecnici, prendete pure solo ciò che vi serve :D ]

Oggi vi parlo anche di 2 servizi completamente differenti e di come li ho dovuti/voluti correlare.

Nokia Sports Tracker

Nokia sports tracker è un servizio offerto da nokia che raccoglie i propri dati da un software, disponibile per un certo numero di cellulari nokia, in grado di tracciare la propria attività fisica. Il programma, una volta installato e attivato, utilizza diversi elementi del telefono in uso per raccogliere i dati di cui ha bisogno: ricevitore GPS per la localizzazione, accelerometri per il contapassi, media player e le foto scattate durante l'attività per abbellire il tutto (vedo anche un heart rate sul sito ma non so come venga rilevato, il mio telefono non ha nulla per farlo e quindi non lo fa).
I dati così raccolti possono essere uploadati sul servizio con un paio di click e concorrono a creare una tabella di allenamento come la mia. Cliccando sul singolo "workout" è possibile visionare i dettagli dello specifico allenamento comprendenti la mappa del percorso effettuato, dove e quali canzoni sono state ascoltate durante l'allenamento, tempi, velocità medie...
Potete scaricare il software Sports Tracker direttamente dal sito della nokia.
E' possibile associare il profilo d'allenamento al proprio profilo OVI se se ne possiede uno.
[PLUS: nell'home page è possibile visualizzare chi si allena vicino a voi: a qualcuno potrebbe interessare]

Sfortunatamente ad oggi Nokia Sports Tracker non fornisce un feed con l'elenco dei propri allenamenti. Ecco dove entra in gioco yahoo pipes.


Yahoo pipes è una piattaforma che permette di "rimontare il web". Pipes mette a disposizione diversi oggettini (black boxes) ognuno (non proprio ognuno) atto a ricevere un ingresso e a fornire un'uscita.
Tra le entrate è possibile utilizzare risorse presenti sul web, siano esse semplici pagine html, feed RSS, JSON: insomma, qualsiasi cosa raggiungibile col vostro browser è utilizzabile anche come ingresso per yahoo pipes.
Montando insieme i pezzettini è possibile ottenere come uscita finale un feed disponibile sia sotto forma di RSS che sotto forma JSON.
E' vero che per montare una pipe non c'è bisogno di scrivere neanche una riga di codice (al max qualche semplice regular expression) ma sinceramente non mi sembra sia possibile per chiunque costruirsi la propria pipe senza un minimo di nozioni da programmatori; ma potrei sbagliarmi. Secondo yahoo bastano pochi minuti per imparare.
E' vero invece che ognuno può riutilizzare le pipe altrui.



Io non so farvi una serie di esempi dell'utilità di yahoo pipes, ma posso dirvi a cosa è servito a me.

Nokia Sports Tracker Feed grazie a Yahoo Pipes
Se avete aperto il link qui sopra in questo momento state guardando il feed dei miei allenamenti su sportstracker. Sostituendo lo "Sports Tracker User ID" è possibile visualizzare il feed di qualsiasi utente di sports tracker.

Qui entriamo un po' nel tecnico, salta pure a piè pari alla prossima sezione ;)

La pipe che ho costruito si compone di alcuni pezzettini che ora vi elencherò. Potete vedere la pipe nella sua nudità (previo login tramite account yahoo) cliccando sul tasto view source presente nella pagina della pipe.


  1. Il primo pezzetto è un Text Input (categoria User Inputs). Non prende ingresso proprio perchè l'ingresso è fornito dall'utente che utilizza la pipe. Nel nostro caso servirà ad ottenere l'user id dell'utente di cui vogliamo vedere il feed
  2. L'uscita del pezzo precedente finisce dentro un componente Url Builder (categoria Url) e fornisce in uscita un URL composto da alcuni pezzi configurati + l'ingresso di cui prima. Nel nostro caso l'url utilizzato è l'url di una chiamata ajax interna al sito sports tracker [si, c'è voluto un minimo-minimo di reverse engineering per ottenere questo url]
  3. Il terzo pezzo è un Fetch data (categoria Sources): riceve in ingresso l'url generato dal pezzo precedente e fornisce in uscita una rappresentazione a oggetti di ciò che ha letto da tale url. Nel nostro caso si tratta di un array di elementi di cui ogni elemento contiene i dettagli di un allenamento. Ogni elemento della lista sarà riferito come item, ogni elemento di un allenamento come item.campo (ad esempio la distanza percorsa sarà item.distance)
  4. Il feed che vogliamo in uscità sarà un feed RSS. Per rispettarne alla meno-meglio lo standard ogni item dovrà contentere i campi link, title, description e pubDate. Per i primi due utilizziamo il componente rename (categoria operators) che permette di rinominare o copiare i campi di ogni item. Copiamo così il campo id come campo link, e il campo startUTC come campo title e come campo pub. Questa è una lavorazione intermedia: proseguiamo.
  5. Il prossimo pezzetto è il pezzo RegExp (sempre da operators) che permette di applicare delle sostituzioni tramite regular expression ai valori dei campi di ogni item. Con questo trasformeremo il valore di link (che in questo momento contiene solo l'id dell'allenamento) nel suo indirizzo intero (aggiungendovi davanti http://sportstracker.nokia.com/nts/workoutdetail/index.do?id=), trasformeremo il titolo che in questo momento contiene solo data e ora dell'allenamento in "workout of data/ora" e trasformeremo pub (anche lui contente data e ora) invertendo anno e giorno e sostituendo i punti con degli slash / (ci servirà dopo in questa forma)
  6. Questo pezzetto è un loop (da operators) con un simple math (da number) innestato. Con questo pezzo trasformeremo il campo distanza da metri a km dividendone il contenuto per 1000
  7. Un altro loop ci aspetta questa volta con uno string builder (da string) innestato. Questo string builder ci aiuterà a costruire il campo description montando assieme distanza (item.distance) e tempo di percorrenza (item.duration)
  8. Un terzo e ultimo loop ci aiuterà a comporre pubDate. Questo è il campo più intricato di tutti poichè deve avere una certa forma ed è gestito in maniera "particolare" da yahoo. Infatti il campo che andremo a comporre non sarà pubDate ma bensì y:published. Penserà poi yahoo pipes a creare il campo pubDate nel feed finale. Per comporre y:published basterà usare un date builder (da date) e dargli in pasto il campo pub precedentemente preparato.
  9. l'ultimo pezzo è il Pipe Output che invia il risultato delle precedenti modifiche al mondo esterno.
NOTA: sfortunatamente l'orario che finisce nel titolo è nel fuso orario UTC (circa GMT) e con le mie conoscenze attuali di yahoo pipes non saprei come farlo cambiare in base all'ora solare/legale (oggi noi siamo GMT+2, il mese scorso eravamo GMT+1) per cui l'ho lasciato UTC piuttosto che portarlo a GMT+1. Il problema non si pone per il campo pubDate poichè quella data/ora riporta anche il proprio fuso orario di riferimento per cui può essere adattata in base all'osservatore.



Il tuo feed Sports Tracker
Se volete riutilizzare la pipe, ad esempio per importare il vostro feed di allenamenti su friendfeed come ho fatto io, prendete questo indirizzo
http://pipes.yahoo.com/pipes/pipe.run?SportsTrackerUID=252757&_id=656b4f700c19f5eb398c35308a9177ac&_render=rss
e sostituite 252757 con il vostro nokia sports tracker user id. Ottenere il proprio user id non è immediato; dovete recarvi sulla pagina del vostro profio sul sito sports tracker e visualizzarne il sorgente [solitamente, qualsiasi browser stiate usando, tasto dx,  "View Page Source" oppure "View HTML" oppure qualcosa di simile insomma]. Verso la fine della pagina troverete un pezzo simile a questo:

 

potrete quindi facilmente distinguere il vostro user id. [Se qualcuno conosce un metodo più pulito m'avvisi!!]

 

I Giochi Olimpici antichi furono delle celebrazioni atletiche e religiose, svolte nella città della Grecia antica.
L'origine degli antichi Giochi Olimpici si è persa, anche se esistono molte leggende circa le loro origini.
Il motto dei giochi olimpici è Citius, altius, fortius, ovvero "Più veloce, più alto, più forte".
Ora la definizione di grande evento comprende una grande varietà di iniziative che
richiedono importanti investimenti, l’adozione di tecniche di marketing sul
mercato internazionale, la grande partecipazione dei mass media di tutto il
mondo (Carreras i Verdaguer, 1995). Il problema è quello di distinguere il grande
evento da un evento comune, senza originalità, ripetitivo e, quindi, di scarso
interesse per l’opinione pubblica.
Non è sufficiente organizzare
una grande manifestazione: questa deve avere un impatto positivo sul comparto
dei consumi turistici, deve contribuire ad aumentare la domanda nel settore
dei trasporti, del commercio e delle altre attività produttive.
Articolo apparso su "Le Monde" : "testimoni affidabili hanno riferito che 400 persone sono state uccise nella sola regione di Lhasa. Uccisi da colpi d'arma da fuoco, mentre i manifestanti erano senza armi".