martedì 28 dicembre 2010

Punti di vista

Ho letto un articolo che, tra l'altro, mi ha fatto notare come le filosofie di iOS e Chrome OS siano, per certi versi, opposte. Nel sistema operativo di Google ogni cosa è fatta sul web in un browser, in iOS le attività vengono svolte in piccole applicazioni locali che (spesso) includono un browser (o lo sostituiscono con un'interfaccia ottimizzata per l'hardware ed il sistema operativo).

Questa contrapposizione è molto sentita ultimamente anche tra gli sviluppatori: sviluppo per il web o un'app per una singola piattaforma?

Da notare che Apple produce hardware, mentre Google servizi su internet.

Questa contrapposizione mi ricorda quella creatasi anni fa tra le concezioni di Microsoft e IBM: la prima riteneva che alla lunga l'utente avrebbe pagato per il software e l'hardware sarebbe stato dato in omaggio, viceversa IBM riteneva preponderante il valore dell'hardware e che il software ottimizzato serviva solo a vendere l'hardware.

lunedì 27 dicembre 2010

To net or not to net?

Nonostante stia puntando molto sui dispositivi sempre connessi alla rete con Chrome OS (vedi post precedente), Google conosce bene i limiti di questi dispositivi e sembra che con Google Maps Mobile si muovi nella direzione opposta.

L'aggiornamento di questa applicazione per smartphone (novità disponibili attualmente solo per Android...), si basa meno sulla cloud e più sulle capacità di calcolo di questi dispositivi per migliorare l'esperienza d'uso dell'utente finale. La nuova versione, infatti, fa il rendering sullo smartphone, migliorando le possibilità di visualizzazione, zoom e riorientamento. Inoltre questo rende possibile mandare meno dati al dispositivo finale, scaricando il lavoro dei server di Google ed al contempo richiedendo meno tempo per il download delle mappe. Infine si è scelto di rendere possibile anche la navigazione con mappe scaricate quando il collegamento ad internet viene a mancare (metropolitane ed altre zone poco coperte o disturbate).

Nonostante Google sia promotrice di un mondo sempre collegato alla rete, questi miglioramenti dimostrano che, specialmente nel mondo mobile, spostare meno dati e farli elaborare all'utente finale ha degli indubbi vantaggi.

Eric Schmidt (CEO di Google), parlando di Chrome OS in un blog, scrive che: stiamo passando da un mondo di dischi affidabili e reti inaffidabili ad uno di reti affidabili e nessun disco ("So we've gone from a world where we had reliable disks and unreliable networks, to a world where we have reliable networks and basically no disks."). Ma ciò presuppone grande potenza di calcolo sui server, i cui costi ricadono solo indirettamente sull'utente finale. L'approccio tipo Google Maps, invece, riduce i costi per i server e sfrutta la sempre maggior potenza di calcolo venduta agli utenti finali.

Che il tempo del Network Computer sia finito prima ancora di cominciare?

mercoledì 22 dicembre 2010

Arriva il Network Computer?

Google porta avanti i lavori del suo sistema operativo per netbook: Chrome OS, nonostante il mercato sia molto cambiato da quando ha iniziato a lavorarci: oggi i netbook risentono molto della concorrenza dei tablet, che praticamente non esistevano quando partì il progetto.

Dopo il fallimento del Network Computer di Oracle (1997, dispositivo senza disco, processore poco performante, ma molto economico) ed il successivo fallimento della Java Station di Sun (in cui era coinvolto Eric Schmidt, l'attuale CEO di Google) ora ci riprova Google. Tutti questi dispositivi internet-dipendenti cercano di affrancarsi dallo strapotere di Microsoft con sistemi operativi diversi.

Ad impedire il successo dei tentativi precedenti non è il sistema operativo in quanto diverso da quello dominante, come dimostrano i successi dei primi netbook con Linux e quelli di iPhone/iPod Touch/iPad. La colpa sembra dunque legata alla troppa dipendenza da internet. Google scommette che in questi anni il problema sia stato risolto: la banda di connessione è aumentata in velocità mentre sono calati i costi, i servizi su internet sono aumentati sia in qualità che in quantità (grazie ad AJAX e LAMP) ed il browser è velocissimo. Infatti, proprio il browser Chrome è la vera interfaccia di Chrome OS: il browser come sistema operativo per le web-application.

Nessun costo di manutenzione, sicurezza, facilità d'uso, rapidissimo accesso ad internet, app installate su un dispositivo ed automaticamente disponibili su tutti i dispositivi con Chrome sono gli assi nella manica di questa soluzione. Ma a quali costi?

La sicurezza è intesa come sicurezza da virus, backup automatico di dati ed applicazioni, ecc., ma i dati dell'utente risiedono chissà dove, gestiti da chissà chi. Francamente non mi piace che i miei dati non siano sotto il mio controllo. Sarò paranoico, ma si dice che i programmatori lo siano e se questo è vero, Chrome OS non avrà il favore dei programmatori. Stallman fa notare che questo sistema riduce la sicurezza personale.

Un sistema operativo che dipende così strettamente da internet lascia poco spazio all'esplorazione del dispositivo, al "mettere le mani sotto il cofano". A questo ci ha già abituati Apple, direte voi. E' vero, ma mentre lo trovo sopportabile in un telefono, mi sembra una castrazione su un computer.

lunedì 20 dicembre 2010

Comunicare con un computer

La possibilità dell'uomo di impartire istruzioni a una macchina (nel senso di computer) è da anni relegata all'accoppiata tastiera e mouse. Negli ultimi tempi, però, si stanno diffondendo altri sistemi.

iOS ha portato alla ribalta l'interfaccia basata sul "tocco". Ma questa è scomoda su un computer vero e proprio: immaginate di lavorare al pc per più ore sempre con le braccia alzate a toccare lo schermo...
Le console da gioco stanno diffondendo altre interfacce basate sul movimento dell'utente, da ultimo il Kinect ha introdotto la "full body detection": ovvero la rilevazione del movimento di tutto il corpo. Anche se non precisissimo né velocissimo, sicuramente è un'interfaccia da esplorare e sviluppare.

Quale sarà il prossimo passo? nonostante sia stata già provata più volte in passato, sta tornando di grande interesse l'interfaccia basata sui comandi vocali, sia per smartphone, che per altri dispositivi come console, tv, computer per automobili, ecc.

Mi fa piacere che sia tornato l'interesse per l'interazione uomo-macchina e si stiano cercando nuove strade, anche molto avveniristiche.

domenica 5 dicembre 2010

Markdown

Mi capita spesso di scrivere documenti usando un semplice editor di testo.

Un editor di testo si trova su un qualsiasi PC (foss'anche vi), smartphone e altro. Inoltre, ho sempre preferito il contenuto alla forma.

Tuttavia, devo riconoscere che anche la forma ha la sua importanza. La forma di un testo è la sua formattazione. Come formattare del testo semplice?

Nell'era di internet si usano sempre più dei riferimenti ipertestuali: come inserirne in un file di testo in modo che da questo si possa creare facilmente del codice (HTML) per la pubblicazione su internet?

Finora ho risposto a queste esigenze limitando al minimo la formattazione ed inserendo dei caratteri speciali per evidenziare un link, la necessità di un link o del testo da rivedere. Il tutto va poi rivisto prima della pubblicazione.

Poi, mi sono imbattuto in Markdown.

Markdown è (1) sia un'utility che converte del semplice testo in HTML, (2) sia la semplice sintassi da usare per ottenere testo formattato, link ed immagini.

In questo modo è possibile scrivere con un editor testuale ed una sintassi molto più semplice di quella di HTML, delle pagine pronte per il web (come queto post).

Ad esempio, per avere del codice in grassetto basta usare: **grassetto** o __grassetto__; per avere il corsivo (italic): *italic* o _italic_.

Per i link: [esempio](http://url.com/)

Per le immagini: ![alt text](/path/img.jpg)

E molto altro ancora...

Potete provarlo con Dingus, un'applicazione web che trasforma il vostro testo e visaulizza sia il codice HTML corrispondente che un'anteprima del risultato.

E' proprio il caso di dirlo (Unix philosophy):

Write programs to handle text streams, because that is a universal interface.


Note

  • L'utility è scritta in Perl con licenza tipo BSD. Ne esiste una versione più recente scritta in Python, che mi ha dato risultati migliori.
  • Ci sono varie applicazioni per smartphone che usano questa sintassi, visualizzano un'anteprima ed esportano il codice HTML.
  • Questo post è stato scritto usando Markdown.

Approfondimenti: