Negli ultimi due giorni sono stato nuovamente attratto nel "vortice" di Wikipedia: leggo, seguo links di ogni sorta, e con la scusa di tradurre due o tre articoletti dall'edizione anglo-americana a quella italiana leggo apprendo talune preziose informazioni. Come spesso accade, anche questa volta mi sono soffermato sui brani riguardanti Plan9, il sistema operativo sviluppato nei Bell Labs come alternativa distribuita a Unix: mi affascinano molti aspetti della sua organizzazione, e l'innovazione e la creativita' permeano ogni piccolo particolare.
In particolare, questa volta ho approfondito la nozione del plumber: esso e' un demone che si occupa di gestire automaticamente la clipboard, selezionando in modo autonomo in base ad un set di regole predefinite le applicazioni disposte ad accogliere il dato "plumbed" dall'utente come alternativa al piu' classico "copia&incolla" (ove e' necessario esplicitare l'applicazione di destinazione).
Ho meditato, ed ho concepito l'idea del plumb inverso: invece di avere un demone che sceglie l'applicazione in base all'informazione, perche' non selezionare l'informazione in base all'applicazione? Questa domanda puo' apparire priva di significato se si pensa alla classica modalita' di interazione col PC cui siamo abituati, ma acquista nuovo valore se contestualizzata in Lobotomy ed ancor piu' se ci si rifa' al proposito di astrarre, per mezzo del filesystem relazionale Hyppocampus, i dati e la loro formattazione.
Immaginiamo di avere il client di posta, con la sua bella rubrica, ed un editor grafico. Se io selezionassi un singolo contatto (che, come descritto non molto tempo addietro, viene trattato come un singolo elemento nel filesystem e puo' essere pertanto singolarmente trattato nell'interfaccia grafica) da una parte e lo trascinassi dall'altra, chiaramente l'informazione non avrebbe senso per il programma abituato a vedersi arrivare immagini e foto. Ma qui interverrebbe il "plumb inverso": intercettando l'operazione, potrebbe cercare nel filesystem le immagini che hanno come metadato META_PEOPLE_INTO_PICTURE (ebbene si: e' mappato pure questo parametro nella lista inclusa in LibHyppo :-P ) il riferimento al contatto appeso al cursore del mouse dell'utente, farne scegliere una a quest'ultimo (con una interfaccina temporaneamente messa in primo piano, simile ad Expose'), e sostituire prontamente l'elemento in clipboard, si' da far arrivare all'applicazione destinataria una informazione consona al suo utilizzo.
Gli utilizzi sono infiniti: potrei trascinare file di testo sul player musicale e sentirlo recitare, trascinare un file sul programma di archiviazione ed avere un riferimento al .tar.gz in cui si trovava originariamente, un documento PDF sul browser ed essere diretto alla pagina web da cui lo avevo scaricato, la foto di un amico sul tool di instant messaging ed aprire una sessione di chat con lui...
Probabilmente nei prossimi giorni scrivero' un paper descrittivo con qualche mockup da pubblicare sul sito primario del progetto: rimanete in linea ;-P !
Nessun commento:
Posta un commento