Ormai qualche mese Marco Arment, uno degli sviluppatori di Tumblr, rilasciava un semplice servizio web piuttosto interessante: instapaper.
Ne scrissi già a suo tempo, palesando alcune perplessità sulle scelte effettuate da Instapaper.
Poco dopo mi capitò di avere un paio di pomeriggi liberi e siccome l’applicazione è piuttosto semplice decisi di provare a riscriverla applicando alcune modifiche, in particolare:
* un feed RSS “attivo” (vedi oltre)
* una versione per iPhone/iPod che si presenti come un’applicazione nativa
* interfaccia localizzabile

La prima versione “alpha” risale ai giorni del TorinoBarcamp, dopodiché lavoro, vita e pigrizia hanno preso il sopravvento e per un bel po’ il progetto è stato accantonato.
Poi, in occasione dell’ExperienceCamp, ho ricevuto un paio di impressioni che mi hanno spinto a rimboccarmi le maniche e cercare di rendere presentabile il progetto.
Già che c’ero, ho pensato che sarebbe stato bello sperimentare la procedura di registrazione “semplificata” proposta da Folletto in occasione dello stesso ExperienceCamp.

Ed ecco che finalmente, complici un paio di voli, Filo è pronto per una beta pubblica :)

filo logo

Vorrei ribadire che questo non vuole essere un ammazza facebook: è un gioco nato per curiosità personale e costato quasi zero in termini di tempo e risorse. Tuttavia, in quanto tale, si presta molto bene a sperimentazioni sviluppi.
Filo ha uno spazietto su google code dove è possibile notificare problemi o richiedere nuove funzionalità, per cui se vi viene in mente qualcosa che considerate valga la pena di implementare, se trovate qualche errore (ce ne sono parecchi, credetemi), o se identificate qualche campo di miglioramenti, sentitevi liberi di aprire un ticket.

Quelle che seguono sono le caratteristiche principali di Filo, i suoi difetti attuali ed alcune delle propsettive per il futuro.

Cos’è

Essenzialmente Filo è un servizio che ti permette di tenere traccia delle pagine web che ti interessano ma che, al momento, non hai tempo di leggere.

Ma non c’era già del.icio.us / ma.gnolia / $altroserviziodisocialbookmarking?

Ni. I servizi esistenti sono tipicamente pensati per permettere di catalogare e condividere indirizzi. Ciò presuppone che uno il documento l’abbia già letto.
Al contrario, Filo permette semplicemente di gestire una coda di documenti che vorremo consumare in futuro, senza necessariamente sapere cosa contengono.

Come funziona

Filo permette di aggiungere url manualmente, tramite una form accessibile via web, o utilizzando un bookmarklet.

filo_bookmarklet.jpg

L’utilizzo del bookmarklet è (spero) semplicissimo: per installarlo basta trascinarlo nella barra dei bookmark. Da questo momento, cliccando sul bookmarklet si inserirà nella coda di lettura su Filo il documento visualizzato dal browser in quel momento (ad esempio questa intervista a Clay Shirky, che vi consiglio caldamente).

filo_save.jpg

Un link in coda è chiamato nodo.
I nodi vengono visualizzati in ordine di inserimento cronologico inverso, un po’ per abitudine e un po’ come incentivo a consumarli, nella speranza che i documenti più vecchi non finiscano con l’ammuffire in fondo alla lista.
È possibile recuperare i nodi archiviati e reimmetterli nella coda di lettura, o “ignorare” quelli attualmente in lista. È anche possibile cestinare un nodo. Al momento, non è possibile recuperare elementi dal cestino.

filo_commands.jpg

Come accedere al servizio

Le procedure di registrazione e autenticazione su Filo sono state ridotte ai minimi termini: basta inserire la (una) propria mail nella form presente in homepage; se esiste un utente registrato con quell’indirizzo email verrà richiesta la password, altrimenti verrà creato al volo un utente e una mail di conferma sarà inviata all’indirizzo specificato.

filo_login_disabled.jpg

filo_signup.jpg

filo_login_enabled.jpg

Nota: la versione iPhone utilizza un sistema di autenticazione più tradizionale.

Localizzazione

Al momento l’interfaccia di Filo è disponibile in Italiano e Inglese.

Utilizzo da cellulari

Filo è già pensato per l’utilizzo da cellulare (in realtà il CSS necessita ancora di qualche martellata). Esiste inoltre una versione ottimizzata per iPhone / iPodTouch all’indirizzo http://filo.m.bzaar.net

filo_iphone.jpg

Nota: potete accedere a questo indirizzo con qualsiasi browser, è che sull’iPhone fa più figo.

Integrazione con news reader

Filo crea un feed RSS personale per ogni utente. Questo feed può essere importato in tutti i comuni lettori di feed (ad es. Google Reader, Netvibes, NetNewsWire). Ogni qualvolta si accederà ad una pagina cliccando su un elemento del feed, il relativo nodo in Filo sarà contrassegnato come letto, e sparirà dal feed al prossimo aggiornamento.

Tecnicalia
Filo è scritto in Ruby, utilizza Ruby on Rails e si appoggia ad un database MySQL.
La logica lato browser è resa possibile da jQuery, ed il sito dovrebbe degradare senza troppi problemi. L’interfaccia iPhone è implementata utilizzando la libreria iui.
Buona parte dell’applicazione è stata scritta seguendo il Behavior Driven Development, utilizzando rspec.

Problemi
. siamo su Dreamhost. Ora, Dreamhost e Rails non vanno molto daccordo. Abbiate pazienza se il sito è lento e ogni tanto la connessione col DB crasha.
. come scrivevo prima, non ho ancora testato il comportamento di filo in assenza di javascript.
. la form di registrazione / login deve ancora essere testata a dovere (sì non avevo voglia di scrivere rspec per le viste).
. il CSS, specie per la visualizzazione dei dettagli di un nodo, è da sistemare
. la form di impostazioni utente ha bisogno di un po’ ottimizzazione/semplificazione.

Evoluzioni Possibili

. supporto di OpenID
. funzioni “sociali” per condividere le code di lettura o per commentare i link altrui
. letture consigliate
. lettura offline