L'aspetto che più mi appassiona dell'Open Source è la possibilità di confronto e condivisione di idee e opinioni.
Potrei riassumere il significato che personalmente do all'Open Source con "collaborare con gli altri".
E' con questo spirito che ho portato avanti le attività di questo mese:
- ho chiesto agli utenti di Resting cosa vorrebbero nella prossima versione maggiore,
- ho chiesto un'opinine ai creatori di estensioni simili a Resting,
- ho pubblicato una nuova estensione con il relativo codice,
- ho iniziato a partecipare a un progetto con altre persone.
Cos'e' Resting
Resting è un'estensione per il browser Firefox che permette di analizzare e testare velocemente API sia HTTP che REST.A che punto siamo
Cambio licenza
Resting ha cambiato licenza passando da MIT a GPLv3.Era il mio obiettivo da un po' di tempo e con l'uscita della versione 1.0 i tempi erano maturi.
Sono conscio che sia un progetto puramente personale che non attirerà mai chissà quali attenzioni.
La mia è più un'azione etico-politica: ho creato Resting per risolvere un mio problema e per aiutare persone come me. Sto cercando di creare una piccola comunità di utenti e contribuitori intorno al progetto e vorrei che rimanesse libero e accessibile a tutti per sempre anche se un giorno non me ne dovessi più occupare io.
Resting v2.0
Come discusso nello scorso articolo ho lanciato un piccolo sondaggio di circa 5 domande per raccogliere un po' di dati con due obiettivi:- capire che tipo di utente usa Resting,
- pianificare la versione 2.0 con le funzionalità più utili per chi usa lo strumento.
Francamente non so se sia una percentuale plausibile o difficilmente raggiungibile, questa è la mia prima esperienza nel mondo dei sondaggi.
Ho fatto un po' di promozione in rete:
- Pinned Tweet su Twitter
- Post su Indiehackers
- Post nel gruppo Side-projects in Linkedin
- Pinned issue su Github
- Nella sezione roadmap del readme di progetto su Github.
Al momento, dopo circa un mese dalla pubblicazione, il sondaggio ha totalizzato 19 risposte.
Posso ritenermi già soddisfatto perchè le risposte sono arrivate quasi esclusivamente da utenti di Resting.
Già si può fare qualche considerazione sulla tipologia di utente che usa Resting.
Sono utenti che utilizzano lo strumento per fare test funzionale alle proprie API con un utilizzo almeno settimanale.
Vediamo ora le loro richieste per Resting
- Circa il 50% degli utenti considera importante avere strumenti per creare richieste HTTP più complete e per gestire e organizzare il proprio catalogo di API.
- Il 30% degli utenti ritiene essenziale migliorare gli strumenti di analisi della risposta delle API ( attualmente un punto poco sviluppato in Resting )
Confronto
Ho scritto un'email ai creatori di RESTED e RESTer, le due estensioni per Firefox simili a Resting, per chiedere un loro parere a proposito del successo dei loro progetti. In particolare ho voluto una loro opinione sulle azioni da compiere per raggiungere una buona interazione con la propria community.Ho ricevuto risposta dal creatore di RESTer, ecco i punti più interessanti:
- ha creato RESTer per risolvere un proprio problema,
- non ha fatto alcun marketing al progetto: ne ha solo parlato ad amici e conoscenti,
- non ha idea del perché ha così tanti utenti.
Osservando il grafico si vede una crescita quasi verticale degli utenti a inizio novembre 2017.
In quel periodo Mozilla ha rilasciato la prima versione del nuovo Firefox Quantum (la v57.0) e ha deprecato ufficialmente tutte le estensioni che si basavano sugli standard precedenti a webExtension disattivandole.
RESTer, che supportava già il nuovo standard, ha ricevuto le attenzioni dei molti utenti che utilizzavano estensioni non più funzionanti.
Al momento nessuna risposta dal creatore di RESTED, ma mai dire mai.
Content marketing
Un anno fa con l'aiuto di Alberto ho pubblicato su Medium una piccola serie di articoli per promuovere Resting.Devo ammettere che questi articoli non hanno avuto granché successo: ogni articolo ha ricevuto al massimo una ventina di visualizzazione nel corso di un anno.
A sorpresa, a inizio 2020, uno di questi articoli ( Create hello world REST API ) ha iniziato ad avere un piccolo traffico di visualizzazioni (circa 20 visualizzazioni settimanali).
A inizio mese ho modificato l'articolo introducendo dei collegamenti ad altri articoli della serie per sperimentare se potessero aumentare anche le visualizzazioni di questi.
Il risultato a un mese è deludente: le persone che visitano l'articolo, non visitano gli altri articoli segnalati.
In generale le visualizzazioni non si sono mai concretizzate in download di Resting.
Numeri del mese
Utenti attivi (+3,5%)
Febbraio:1.383Marzo 1.431
Download (-11,2%)
Febbraio: 537Marzo: 482
Piani futuri
- Organizzare una piccola maratona di refactoring per Resting, su consiglio di un membro del gruppo locale SoCraTeN di cui faccio parte.
- Analizzare i dati del sondaggio e pianificare la versione 2.0 in base a quanto raccolto.
Cos'è exercism/java
Exercism è una piattaforma educativa per imparare/migliorare a programmare.Propone problemi da risolvere in molti linguaggi di programmazione con la possibilità di esercitarsi da soli oppure confrontarsi con un tutor.
Fra i linguaggi supportati c'è Java (che da ora chiamerò exercism/java)
A che punto siamo
Ho scoperto exercism/java durante l'Hacktoberfest di due anni fa facendo un paio di contributi.Ho continuato saltuariamente a contribuire dopo l'evento e durante l'Hacktoberst dell'anno scorso ( una volta presa confidenza con il funzionamento di un progetto è un peccato non sfruttarla).
A inizio gennaio ho risposto alla chiamata di ricerca di nuovi gestori per
exercism/java: intorno a giugno uscirà la nuova versione della piattaforma e il progetto ha un gran bisogno di partecipazione.
L'obiettivo che mi sono dato per questa esperienza è collaborare con altre persone, confrontarmi con altri modi di pensare e imparare da chi gestisce un progetto strutturato e con grande partecipazione di utenti, gestori e contribuitori.
Ammetto che le cose non stanno andando come pensavo all'inizio: tutti i maintainer di lunga data del progetto exercism/java hanno lasciato nell'esatto momento in cui noi nuovi abbiamo dato disponibilità a partecipare.
Rimane molto però da imparare, soprattutto per quanto riguarda l'organizzazione dei vari team e dei progetti in sè.
Piani futuri
- Terminare la prima versione del tool che mi sono offerto di sviluppare seguendo i requisiti del progetto.
- Partecipare al canale slack dedicato a exercism/java confrontandomi con gli altri gestori.
Cos'è ts-converter
Ts-converter è una piccola estensione per browser che permette di trasformare un timestamp in una data leggibile.E' un progetto free software con licenza GPLv3.
A che punto siamo
Ts-converter nasce con due obiettivi:- Risolvere un mio problema: ogni giorno lavoro con un sacco di timestamp e ho bisogno di uno strumento:
- velocemente accessibile,
- disponibile offline,
- con una interazione semplice.
- Iniziare a giocare con Elm su un progetto piccolo ma reale
Piani futuri
- Raccogliere qualche feedback (se mi volete aiutare potete scaricare l'estensione qui)
- Pubblicare l'estensione per Chrome
Puntate precedenti
Risorse
- Hacktoberfest: hackathon annuale che si svolge nel mese di ottobre per invogliare a contribuire su progetti Open Source presenti su Github.
- SoCraTeN: gruppo trentino di software craftmanship
- Resting: https://addons.mozilla.org/en-US/firefox/addon/resting
- Rester: https://addons.mozilla.org/en-US/firefox/addon/rester
- Rested: https://addons.mozilla.org/en-US/firefox/addon/rested
- Exercism: piattaforma per imparare o migliorare a programmare