Jay ha risposto ad alcune domande sul minimalismo applicato alla programmazione, portandoci proprio alcuni esempi pratici legati allo sviluppo di questa app.
Com'è nata l'idea di "StayOnTask"?
Sono uno sviluppatore software, dunque mi trovo a lavorare in modo indipendente per lunghi periodi di tempo. Come molta altra gente, sono incline a navigare in internet o imbarcarmi in attività non produttive quando invece ciò che dovrei (e vorrei) davvero fare sarebbe finire il mio lavoro. Negli anni ho provato a creare piccoli script per mio uso personale, che fossero sottili e intrusivi e mi incoraggiassero a restare concentrato sul lavoro. Poi, circa sei mesi fa, ho acquistato il mio primo smartphone Android ed ho capito che sarebbe stata un'ottima piattaforma per questo tipo di applicazioni. Così ho deciso di crearne una abbastanza professionale da essere distribuita anche ad altri utenti.
"StayOnTask" è un'app molto semplice ed utile: dai molta importanza alla semplicità delle applicazioni? Ne tieni conto quando sviluppi?
"StayOnTask" non è così semplice come potrebbe sembrare all'utente finale, ma, in quanto sviluppatore, è mio compito gestire livelli di complessità che l'utente non sospetta e a cui probabilmente non penserebbe.
Ad esempio, quando "StayOnTask" scatta e domanda se si sta svolgendo il proprio lavoro, lo schermo del cellulare potrebbe essere bloccato: in questo caso, si dovrebbe prima sbloccare lo schermo e poi rispondere. Ovviamente non sarebbe una buona soluzione, perchè l'idea alla base dell'applicazione è proprio di mantenerti concentrato e non farti perdere tempo, nemmeno per sbloccare il cellulare.
Per rendere il tap immediato dunque, ho dovuto cercare un modo per bypassare il lock dello schermo.
Quindi, per rispondere alla domanda: è importante che gli utenti percepiscano semplicità nell'applicazione perchè la apprezzino, nessuno ama il software "complesso". Tuttavia, per far sì che un'applicazione appaia semplice, lo sviluppatore deve confrontarsi con una grande complessità.
"L'androide minimalista" è un blog che parla di minimalismo e di Android: hai mai sentito parlare di minimalismo? Cosa pensi di questa filosofia?
Si, ho sentito parlare di minimalismo. Penso che l'idea di applicare i principi minimalisti allo sviluppo software sia buona, ma vada impiegata nel contesto corretto.
Quando disegno l'interfaccia di un software o di un'applicazione web, cerco di considerare il giusto livello di astrazione in considerazione di quello che fa e delle persone che la utilizzeranno.
"StayOnTask" ha un livello di astrazione molto alto, e questo la rende un'app minimalista, ma alcune applicazioni devono necessariamente rivelare maggior complessità all'utente. Quando si gestisce il contenuto di un blog o di un sito web ad esempio, si vuole poter avere il controllo di ogni dettaglio: questo significa inevitabilmente rivelare un livello di complessità maggiore, con molte opzioni ed impostazioni. In questo caso cerco sempre di rendere semplice iniziare: voglio che l'utente inizi ad utilizzare l'applicazione in modo "minimalista", ma voglio altresì lasciargli intuire che c'è molto di più e che le opzioni più complesse sono utilizzabili se lo desidera.
Anche "StayOnTask" utilizzerà questo modello. Via via che aggiungerò funzionalità, saranno più numero se le opzioni e le impostazioni. Alcuni utenti non arriveranno mai neppure a leggerle: va bene. Gli "smanettoni" invece vorranno provarle e cambiarle tutte: va altrettanto bene
Sono previsti sviluppi futuri per "StayOnTask"? Quali?
Sto attualmente testando una versione dell'applicazione che regola automaticamente il tempo da lasciar trascorrere tra un controllo ed il successivo.
Ad esempio, se alla domanda "Stai svolgendo il tuo lavoro?" rispondi "no", il prossimo controllo arriverà tra meno tempo. Se invece rispondi "si" passerà più tempo prima della prossima attivazione.
Credo che questo accorgimento renda l'applicazione più efficace: se stai lavorando riduce il numero di interruzioni, se invece non sei produttivo, aumenta la pressione e ti spinge a dare di più.
Che genere di persone pensi possa trovare utile "StayOnTask"?
Penso sia un'applicazione ideale per studenti, scrittori, sviluppatori e chiunque lavori in modo indipendente.
Utilizzi qualche trucco per aumentare la tua concentrazione? Hai qualche dritta da condividere con noi?
Utilizzo "StayOnTask" quando sono al lavoro. L'ho creato innanzitutto per me stesso, quindi è ovvio che si adatta molto bene alle mie esigenze. Oltre a questo, credo sia molto utile fissare un programma per ogni giorno ed attenervisi fedelmente. Ho notato che se lavoro sempre allo stesso progetto, ora dopo ora, la mia produttività cala: mi è di grande aiuto decidere prima di iniziare che lavorerò per tre ore sul progetto A, poi due sul progetto B e via dicendo. Se continuassi senza interruzioni sul progetto A, lavorerei sempre più lentamente ed otterrei risultati inferiori al termine della giornata.