È una rarità, e forse non è per tutti, però vi garantisco che cercarla, in un modo o nell’altro, vale sicuramente la pena. FoldingText è un software particolare, le cui ambizioni sono molto più elevate di quelle di un semplice sistema di gestione delle liste e dei progetti (come fa il precedente TaskPaper sempre di Hog Bay Software) e consente di lavorare a cose più ambiziose.
In particolare, FoldingText nasce con lo scopo di fornire al semplice testo molte più dimensioni rispetto a quella a cui siamo solitamente abituati con il Markdown, che a pensarci bene è già una non piccola rivoluzione di per sé. Il linguaggio di marcatura semplice inventato da John Gruber è uno strumento potente per avere testi che non diventino obsoleti per via di formati impossibili da codificare senza le specifiche del loro creatore e comunque non siano illeggigili (come l’HTML) se vengono “guardati” dall’occhio umano.
FoldingText è l’editor Markdown pensato per avere invece la produttività al suo centro. Un sistema per lavorare con qualcosa di diverso da una videoscrittura (anche se può tranquillamente fare questo mestiere) e invece avere le potenzialità d’uso di un outliner, di una to-do list, e molto di più. Come il “fold” e, quasi per primo, il “focus”. Vediamo più in dettaglio di cosa stiamo parlando.
Le caratteristiche di FoldingText
Siamo di fronte a un vero editor Markdown di impostazione “minimalista”, anzi a uno dei veri pionieri del genere (l’autore Jesse Grosjean, è anche il creatore di WriteRoom) e come tale si presenta “scarno al punto giusto”. La finestra di scrittura è semplice, non contiene “niente” se non la barra del titolo in alto (che non scompare) e in basso a destra il contatore delle parole scritte. Non è possibile cambiarla in conta-caratteri, almeno apparentemente.
Un’altra caratteristica del software è che salva nel formato “.ft”, anche se accetta ovviamente la modifica dell’estensione in qualsiasi modo si voglia. Questo perché l’estensione in qualche modo, secondo l’autore, dovrebbe servire a dichiarare meglio il tipo di struttura del Markdown utilizzato. Il linguaggio di marcatura leggera non ha uno standard unico ben definito ma un certo numero di dialetti (circa una ventina) alcuni dei quali utilizzano dichiarazioni nel testo del documento (all’inizio o alla fine, tipicamente). La scelta di FoldingText è intelligente ma al tempo stesso pericolosa. Consente infatti di distinguere bene senza problemi o rischi di “sbavature” (righe spurie che rimangono nel rendering di un documento perché quel particolare interprete non sa come gestirle) ma al tempo stesso limita un po’ la compatibilità soprattutto con alcuni editor su iOS, che aprono solo cose con estensione “.txt” e “.md”.
Come detto, FoldingText può essere usato per fare molte più cose che non semplicemente del Markdown: outlining, to-do, altro. Le azioni sono contenute nel menu “Format” (che contiene le cose che sono necessarie per la formattazione del testo in Markdown più alcune inedite) e “Organize”, che gestisce invece la parte di outliner con la particolarità del “folding”. Sì, perché come vedremo tra un attimo, il testo di FoldingText fa come ci si aspetterebbe che faccia dal nome stesso del programma: si “piega”. Cioè si comprime all’interno di un titolo grazie a maniglie che lo possono piegare, e questo consente di spostarlo e muoverlo come si vuole.
Infine, l’architettura di questo software è particolare perché non ha preferenze ma al loro posto c’è la gestione dei plug-in. I quali consentono di fare molte più cose, visto che la comunità di appassionati di FoldingText è piuttosto ampia. Attualmente meno vivace che in passato, ma decisamente ancora molto ampia. Vediamo però in concreto come funziona il software.
Prova su strada della app
La prima cosa dell’approccio al Markdown che si nota con FoldingText è l’eleganza. I documenti MD aperti in questo editor vengono renderizzati e nascondono la sintassi (asterischi, trattini bassi, struttura dei link e via dicendo). Se però si va sopra con il cursore ad esempio a un link, ecco che viene rivelata la struttura del link (piuttosto complicata ma piacevole come sempre).
Nel caso del link, questo è interessante per un paio di motivi. Da un lato l’implementazione è moderna e completa (sono supportati sia i link in linea che per referenza) dall’altro perché, se anziché spostare il cursore si va con il mouse sopra il link, è possibile cliccarlo per seguirlo nel browser, cioè il link diviene attivo. Questo è molto interessante per chi ad esempio vuole usare FoldingText per leggere documenti, oltre che per scriverli: negli altri editor di Markdown bisogna avere un modo per renderizzare il testo per poter seguire il link direttamente.
Ma veniamo alla parte “folding”. Se si fa partire una lista, l’app comincia a considerarla come una lista di cose da fare, né più né meno che come fa TaskPaper. Se si mette una tag (una parola singola preceduta dal segno della chiocciola “@”) è possibile scatenare delle azioni, come ad esempio il “@done” di una riga di un to-do.
Ancora, è possibile, cliccando sul segno del cancelletto che indica i livelli dei titoli e che non viene invece mai nascosto, far collassare tutto quel pezzo di testo e ridurlo al solo titolo. A questo punto è possibile spostarlo per riorganizzare un documento piuttosto complesso, oppure semplicemente nasconderlo per focalizzarsi su una sola parte del testo. Viene inoltre rispettata la gerarchia, cioè un titolo di terzo livello dentro uno di secondo livello, “scompare” se si collassa quest’ultimo e si sposta “in solido”.
Un triangolo nero in alto a sinistra permette di far tornare fuori tutto in un colpo solo. E non è tutto. Perché ci sono anche i “modi”. Si tratta di una serie di cose che scatenano comportamenti dell’app. Un esempio? Che ne dite di far partire una lista di to-do con quadratino ceccabile? O un timer di cucina scritto in maniera molto semplice (anche se in inglese)?
I modi di FoldingText
Esempio di to-do: basta scrivere “Spesa.todo” e il sistema lo implementa con questo sistema. Guardate qui sotto (il rendering corretto è solo nella schemata presa da FoldingText, in HTML come questa pagina invece compare una normale lista):
Spesa.todo
– comprare il pane @done(2015–08–28)
– comprare il latte
– comprare i biscotti
In questo modo, non c’è che dire: si fanno tante cose! E quando si clicca sul quadrato, non solo compare il segno di spunta, ma anche la relativa tag “@done” con l’aggiunta tra parentesi della data in cui è stato completato quell’elemento. Non male. Ma c’è di più!
Parliamo ad esempio del “Timer”. Anche qui: l’esempio rende meglio l’idea (anche qui, il rendering è diverso a seconda se si guarda nell’app dove è stato scritto questo testo e la cui schermata è in allegato, oppure nella conversione in HTML):
Pasta.timer
Start : Aug 28, 2015 11:27:18 AM
Bollire l’acqua 10 minutes
Salare l’acqua 1 minute
Cuocere la pasta 8 minutes
scolare 1 minute
Come funziona: basta scrivere una parola (il titolo dell’attività) seguito da “.timer” e si entra in modalità Timer. Quindi, a capo, un rientro di tabulazione e l’attività che segue con l’indicazione della durata (X minutes oppure Y hours scritto da qualche parte nella riga). Quando abbiamo finito, cioè il conteggio è andato a zero, appare (e suona) un allarme sul Mac. Mica male no?
I plugin di FoldingText
La cosa fin qui non sarebbe già male, se non fosse che poi si apre una parte davvero interessante, ma che il vostro recensore ha solo lontanamente sfiorato: i plugin. Ce ne sono davvero tanti (si può dare un’occhiata a questa pagina) e il sistema di inserimento/gestione è davvero facile. Si clicca “Mela-,” nell’app, si apre il gestore dei plugin, si preme il pulsante che porta alla pagina di cui sopra, si pare intanto anche la cartella che li conterrà, si scaricano quelli che si vuole, si spostano nella cartella dedicata, si riavvi al’app ed eccoli pronti! Non male, no?
Le potenzialità di espansione di questa app sono davvero moltissime, però c’è un problema. Il suo autore sta cercando di far andare avanti una nuova strategia per la gestione delle sue app. Sono momentaneamente abbandonate quelle su iOS (tant’è vero che, come vedremo tra poco, ci sono altre due app che possono fare benissimo al posto di quelle di Hog Bay Software). Invece si è pensato di fermare anche TaskPaper, che sostanzialmente fa tutto quello che deve fare (e verrà aggiornato tramite bugfix e cose simili per mantenerlo al pari con le differenti versioni del sistema operativo) mentre il problema vero arriva per FoldingText.
Il software oggi è alla versione 2.0.2. La 2.1 è da tempo in attesa, ma arriverà presto grazie a un altro sviluppatore che affianca Jesse Grosjean. L’idea è di non cambiare in maniera radicale il software per non fargli perdere la compatibilità con tutto quelli che lo utilizzano, mantenendolo in uno stadio di aggiornamento, bugfix e minime release di mantenimento quando cambiano “pezzi” del sistema operativo di Apple che potrebbero generare incompatibilità. Questo non è un segno di abbandono, ma esattamente il contrario: porta con sé l’idea che il software sia nella sua piena maturità e adesso possa continuare esattamente così.
Invece per il futuro Hog Bay Software ha deciso di lasciar perdere la sua strategia di portare dentro Atom (che vedremo prossimamente) il funzionamento di FoldingText, e invece ha deciso di implementarlo separatamente, senza più Markdown e con un nuovo nome e nuove funzionalità. Vedremo cosa succederà nei prossimi mesi.
Conclusioni
FoldingText è un notevole pezzo di software. Si basa sul testo semplice, utilizza il Markdown con una variante che consente di fare ben più che non semplice videoscrittura. È infatti possibile utilizzarlo per liste, to-do, outline, ma anche per funzionalità avanzate (timer, checklist e via dicendo). In più, la possibilità di utilizzare le tag e una funzionalità di ricerca avanzata basata su espressioni regolari, oltre a una architettura a plugin e alla compatibilità con AppleScript, lo rende uno strumento davvero potente.
In sostanza, ha due modi di uso: per gli utenti “normali”, che usano le funzioni base, e per quelli invece “avanzati”, che possono implementare una serie di altre attività trasversali con script e plugins che permettono di fare davvero molto anche passando dal Finder e verso o da altre app.
Il futuro è stabile e al tempo stesso pieno di incognite. C’è chi sostiene che il Markdown serva ad altro (scrivere, soprattutto, e non gestione di outliner e to-do) e che cercare di estenderne troppo le funzionalità renda le cose semplicemente complesse. Perché se da un lato sposta la complessità dall’interfaccia al testo, dall’altro richiede competenze molto forti nel MD e capacità di gestire semplici testi che in realtà diventano piuttosto complicati. Vedremo come evolveranno le cose, comunque il livello di stabilità al quale è arrivato FoldingText sembrerebbe essere dettato sia dalla maturità dell’app che dall’impossibilità di andare oltre (non a caso lo sviluppatore è passato oltre): questo potrebbe essere un limite ma anche un grande vantaggio.
Pro:
– leggero e compatibile: testo puro con poca CPU
– molto potente, da plugin ad Apple Script
– flessibile: fa cose che nessun altro editor fa
Contro:
– non verrò fatto crescere oltre
– richiede una buona competenza sul Markdown
– richiede avere idee chiare su cosa fare, perché la sua interfaccia non “guida” dentro i possibili flussi di lavoro