giovedì 25 giugno 2020

#M6 - Mese di riflessioni



Il mese di giugno non è stato particolarmente attivo.
Non avendo molte novità da riportare ho deciso di sfruttare questo aggiornamento per fare una riflessione sui vari "fronti" aperti.

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

Sto continuando a portare avanti il thread settimanale di "standup" nel canale Slack dei manutentori del linguaggio Java. Ad oggi continua ad essere uno sforzo senza alcuna partecipazione attiva da parte degli altri manutentori: la mia idea iniziale di sospendere questa attività dal mese di luglio è definitiva.
Non è stato comunque del tutto inutile: aprire questi thread mi ha permesso di tenere il canale informato dei miei avanzamenti e di poter interagire con i manutentori generali del progetto exercism che seguono tutti i canali dei singoli linguaggi.
Inoltre é indubbio che dichiarare pubblicamente i propri propositi della settimana responsabilizzi e spinga all'azione.

Sto procedendo anche con gli sviluppi della nuova versione.
Fino al mese scorso devo dire che non ero contento delle sensazioni che mi circondavano quando ci lavoravo: uno stato di ansia e di pressione.
Capendo che era una cosa insana, mi son preso del tempo per trovarne i motivi:
  • la mancanza di confronto con altri: essendo in pratica l'unico manutentore attivo per il linguaggio ho dovuto prendere molte decisioni sui problemi e dubbi che riscontravo nelle varie attività. Aver preso in solitaria queste decisioni ha caricato su di me un maggiore senso di responsabilità su quanto succede al progetto.
  • Il fatto che entro fine giugno ( non mi è chiaro se ad oggi sia ancora così) la nuova versione del progetto dovesse andare "in produzione" mi ha caricato di ansia: moltissime le attività da portare avanti e lenti gli avanzamenti.
    L'ansia arrivava dalla sensazione di "fallire" l'obiettivo e di sentirmene pienamente responsabile in quanto manutentore.
  • Il fatto di vedere tutto il proprio tempo assorbito su questo fronte o comunque sentirmi obbligato a dover mettere a disposizione tutto il tempo su questo per via della "scadenza" in avvicinamento.
    Il vedere tutto il tempo assorbito su questo oppure il portare avanti gli altri progetti con la sensazione di "sto togliendo tempo ad exercism/java e la scadenza di avvicina" mi causava ansia.
 Ragionandoci sopra sono arrivato a queste conclusioni:
  • se contribuire in modo volontario a un progetto deve portare queste brutte sensazioni, tanto vale chiudere l'esperienza.
  • Se la scadenza non verrà rispettata non ha senso sentirmi l'unico responsabile di questo "fallimento": non si tratta  di un mio progetto, io sono solo una persona che in questo momento aiuta a portarlo avanti.
  • Se ho paura che tutto il mio tempo a disposizione sia assorbito dal progetto, devo essere chiaro sul tempo che voglio dedicare settimanalmente e attenermi forzatamente a quello.
  • Esistono linguaggi all'interno del progetto portati avanti da un unico contribuitore ed esistono canali Slack generali dove confrontarsi con tutti i manutentori. Se ho dei dubbi oppure ho bisogno di un opinione quello è il posto giusto dove chiedere.

La situazione é migliorata. Ora: faccio quello che riesco rispettando il tempo che ho deciso di dedicare al progetto, ho rotto il ghiaccio nella chat generale e se ho dubbi o problemi domando a cuor leggero, lì ci persone disponibili che rispondono in tempi molto rapidi, e quando porto avanti i miei altri progetti sono molto più tranquillo.

Cosa mi porto a casa da questo ?

inutile fare il guerriero indomito che avanza a spada tratta, se una situazione non si vive bene meglio fermarsi ed essere chiari e sinceri con se stessi per ripartire con uno spirito migliore.

Piani futuri

Procedere col programma di sviluppi della versione v3.

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

Attualmente sto sviluppando una funzionalità di cui sentivo la mancanza da parecchio tempo e che mi è stata richiesta anche nei suggerimenti del sondaggio: la possibilità di riordinare le richieste salvate.
Lo sto sviluppando permettendo il riordinamento via drag and drop.
Per questa operazione sto sicuramente utilizzando più tempo del necessario, ma ho deciso di affrontare uno sviluppo incrementale facendo varie prove a parte:
prima ho capito come utilizzare le webapi messe a disposizione del browser per gestire il drag and drop e ora sto provando a integrarle  nel framework javascript che utilizzo per lo sviluppo di Resting (knockout.js) in un piccolo esempio.

Da questo mese ho deciso di non riportare più i numeri mensili dell'estensione ( download e utenti attivi): mi sono accorto che questi numeri non aggiungono alcun valore all'aggiornamento sul progetto.
La mia idea in questo blog è raccontare un'esperienza e Resting è solo un frammento di quello che voglio raccontare, per cui i suoi numeri non sono così importanti all'interno mio racconto.
Se qualcuno ha un altro parere in merito, lo scriva qui nei commenti dell'articolo o me lo faccia sapere attraverso un altro dei miei canali.

Piani futuri

Concludere la funzionalità di ordinamento e rilasciare una nuova versione di Resting.
Riuscire a implementare la funzione di drag and drop in Knockout.js come una libreria così da poterla pubblicare e mettere a disposizione di chiunque.

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 

Il mese scorso ho pubblicato il mio primo articolo su dev.to cercando di condividere quello che ho imparato sulla gestione degli eventi  in Elm (link all'articolo).
Ho usato l'articolo per lo più come strumento per me stesso: mi ha permesso di interiorizzare meglio quanto imparato.
Qualche giorno dopo ho comunque deciso di pubblicizzare l'articolo sul mio account Twitter ( non potevo lasciare all'oscuro i miei ben 40 followers :D)




A sorpresa mi sono ritrovato all'interno del numero 21 della newsletter settimanale di Elm




Sicuramente si è trattato della classica fortuna da principianti :D, ma voglio portare a casa comunque un insegnamento:

se si hanno pochi followers usare un hashtag attinente può aumentare la visibilità

Piani futuri

Ho riscontrato un bug da approfondire e sopratttutto correggere :D.


 Puntate precedenti

Risorse


martedì 2 giugno 2020

#M5: Si riparte

Piccolo aggiornamento per questo mese:
  • ripartono gli sviluppi di Resting,
  • una nuova versione per ts-converter e un articolo su quello che mi ha fatto imparare.


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

Secondo le risposte del sondaggio l'utente medio usa Resting circa una volta alla settimana per eseguire dei test funzionali sui propri servizi e vorrebbe che Resting permettesse di costruire richieste HTTP più ricche e complete (maggiori dettagli qui).
Concentrandomi su questo ho analizzato la lista di issue del progetto e i consigli espressi nel sondaggio e ho identificato quattro attività che dovranno far parte della versione 2.0.
Queste attività forniranno la traccia per definire quando l'estensione sarà completa per un nuovo rilascio maggiore.

Numeri del mese


Utenti attivi (-6,1%)


Aprile:1.405
Maggio: 1.322

Download (-26,3%)


Aprile:  384
Maggio: 283 

Piani futuri

Riprendere in mano il codice e iniziare le attività di sviluppo

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 

E' arrivata una richiesta di miglioramento che ha portato alla pubblicazione della versione 0.3.0.
Con questo rilascio si è attivato un piccolo circolo virtuoso che spero di poter continuare.
Grazie alla richiesta arrivata ho:
  • imparato come gestire gli eventi in Elm,
  • migliorato ts-converter,
  • deciso di condividere quanto imparato su Elm pubblicando un articolo su dev.to.
Open Source è condivisione non solo di codice, ma anche di esperienza e contenuti e l'articolo è un altro passo in questa direzione.

Piani futuri

La mia idea per questo progetto é intervenire nel caso ci siano errori e valutare ogni richiesta di funzionalità aggiuntiva che arriverà.


 Puntate precedenti

Risorse


giovedì 28 maggio 2020

#A5: punto zero

il centro ( fonte: wikipedia )
L'aggiornamento di questo mese è particolare, perché non ho nulla da mostrare, nulla di significativo creato, mi sono mosso nello spazio delle idee, ma sono tornato al punto zero, all'origine.

A che punto siamo

Progetti passati


I progetti che ho chiuso i mesi precedenti ( opensource analyzer, registra spese, browser diary, github action sql check) sono chiusi. Non ho in programma di lavorarci, ed è meglio così. Mancano di una visione chiara, a tendere, e non rispondono ad una mia esigenza quotidiana, continua, pressante.

Il confronto col lavoro di Mirko é utile, perché su tutti i suoi progetti Resting, che seguo con interesse ( e contribuisco con commenti ed issue ) é un esempio. Lui é riuscito a trovare un progetto che risponde ad una sua esigenza, rispetta i suoi valori ed il suo modo di intendere questa professione.

Ed io ?

Vi avevo lasciati lo scorso mese con l'obiettivo seguente:

In generale l'obbiettivo del prossimo mese è quello di trovare un nuovo progetto sul quale focalizzare le forze. 

Ci sono riuscito?

In parte..

Google analytics reports


Ho speso questo mese a scartare idee che avevo segnato ed a provare a realizzare uno spunto che avevo scritto su queste pagine mesi fa:

Nello scrivere questo blog mi sono accorto come per i miei progetti conti tenere d'occhio alcune variabili chiave: quanto è usato un mio progetto.
Per fare questo uso google analytics ( e funziona perfettamente!), ma così complesso che ci si trova spiazzati per la quantità di opzioni e personalizzazioni possibili.
Mi sono chiesto: posso fare di meglio ?
Posso creare uno strumento online che mi permetta di fare login col mio account google analytics, dare i permessi corretti, selezionare i siti web censiti ed impostare un report periodico (settimanale/mensile) inviato direttamente via email ? Coi soli dati essenziali ?
Guardandomi in giro ci sono già soluzioni del genere, ma sono o altrettanto complesse o troppo semplici.
Da valutare il prossimo mese seriamente, dopo la chiusura di Registra Spese 


Ho quindi investigato nelle api di google analytics ed ho creato un piccolo programma che va a leggere in modo programmatico dalle stesse le visite, usando come riferimento i miei stessi progetti di cui sopra.

E poi mi sono fermato.

Non perché ci siano difficoltà tecniche ( forse qualcuna ), ma un simile progetto mi sono accorto che non va a rispondere ad una mia esigenza, perché quindi spendere altro tempo, su una strada che non é quella che voglio seguire ?

Systemd per spring boot


Seguendo degli spunti lavorativi ho creato un semplice repository questo mese, relativo al creare un servizio su linux che avvi un applicativo java che usi spring boot, lo trovate qui.


Non é un progetto ( o side project ), ma è una soluzione ad un problema che ho affrontato e risolto.
Ho trovato numerose soluzioni su internet, ma nessuna che facesse al caso mio, e me la sono creata.

Contributi ad altri progetti


Ho inoltre aperto alcune issue su progetti che seguo:

Penso che comunicare, aiutare, segnalare sia importante. Le proprie idee, se confrontate con gli altri civilmente, fanno crescere entrambe le parti.

Prossimi passi

Voglio continuare su questa strada, cercando il progetto che fa per me, che risolve un mio problema e che possa portare avanti in autonomia.

Male che vada, a forza di muovermi attorno al punto zero, avrò esplorato numerosi luoghi, che non tutti vedono o cercano di vedere.


sabato 2 maggio 2020

#A4 - Github action in azione

Questo aggiornamento non porta con se nuove idee o prodotti, ma un esperimento nel mondo dell'automazione legeto allo sviluppo di software su github.

In generale dopo aver chiuso le idee in sospeso sto cercando di focalizzarmi nuovamente su una linea precisa, ma complice il periodo di quarantena, non riesco a "mettere a terra" le idee

Github action sql check


Cos'è ?

Le github action sono "azioni"  che si possono attivare su github nel proprio repository di codice per analizzarlo, compilarlo, validarlo. Eventualmente queste azioni sono pubblicabili in un registro pubblico (ed anche monetizzabili).
Nel mondo dello sviluppo software il tema dell'automazione delle operazioni ripetitive è molto sentito e personalmente al lavoro usiamo un altro strumento ( Jenkins ). L'importanza crescente di github (anche alla luce delle ultime scelte commerciali, che lo rendono gratis per i team senza limiti di dimensione) è tale che un esperimento per capire come funzionano le github action penso sia doveroso per farsi un'opinione informata.
Relativamente al mio esperimento, l'obbiettivo di questa action è al push su github di un file sql, invocare una validazione della sintassi dei comandi sql nel file e ritornare il risultato della validazione.

A che punto siamo ?

L'action è disponibile su github ed è opensource, il repository lo trovate qui.

Attualmente su github trovate una prima rudimentale versione, per cui sono aperto a suggerimenti se avete già visto/implementato una soluzione simile.

L'insieme delle tecnologie coinvolte è variegato:
  • java11
  • gradle
  • validazione dell'sql tramite JsqlParser
  • docker
  • github action

Il controllo è volutamente basilare e migliorabile, quello che mi premeva é provare sul campo quanto sono flessibili le github action e quanto tempo ci vuole per metterle in campo.
Diciamo che in cinque giorni (lavorando un paio di ore la sera), con un pò di sforzo, sono riuscito partendo da zero ad avere qualcosa di funzionante, ma con qualche difficoltà ( con un totale circa di 6-8 h di lavoro).
La prima è proprio la documentazione, sembra ben strutturata, ma è molto frammentaria su molteplici fronti, per cui dubito di usare le github action per progetti più complessi.
Uniamoci poi alcune scelte di modo di lavoro piuttosto forti ( mancanza di un'ide dedicata qui si fa sentire), tra cui l'assurdo problema di come passare variabili di ambiente da uno step all'altro del workflow. Sono io ad aver capito male oppure no ? Qualcuno ha trovato una soluzione su come passare valori da un job all'altro per concatenarli ?

Sono curioso di convidere esperienze su questo, venendo da Jenkins mi trovo decisamente meglio in un ambiente "neutrale" rispetto al repository git, con un supporto minimo da parte di un'ambiente visuale, però il supporto sempre maggiore che hanno le github action ( e github in particolare ) è fonte di confronto naturale, a mio avviso.

Piani futuri

Relativamente a questo esperimento lo considero chiuso, lo espanderò in futuro se avessi bisogno di usare questa action su miei repository su github.

In generale l'obbiettivo del prossimo mese è quello di trovare un nuovo progetto sul quale focalizzare le forze.

#M4 - Tirare le somme



Questo mese ho:
  • tirato le somme sul sondaggio aperto per Resting,
  • fatto una retrospettiva sull'esperinza fatta alla mia prima hackathon.


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

Maratona di refactoring

Fra gli obiettivi del mese mi ero proposto di individuare e definire alcune attività di refactoring per il codice di Resting con lo scopo di eliminare un po' di debito tecnico che ho accumulato per arrivare alla v1.0.0.
Essendo un esperimento ho deciso di limitarmi a tre attività ben isolate ed affrontabili indipendentemente dalla conoscenza generale del restante codice.
Il risultato è questo.
Ho lanciato questa piccola "maratona" asincrona nel gruppo SoCraTeN di cui faccio parte, ma è un'attività aperta a tutti, quindi se qualcuno fosse interessato a partecipare basta che si faccia sentire nell'issue che gli interessa.

Sondaggio

E' tempo di chiudere il sondaggio lanciato negli ultimi giorni del mese di febbraio per pianificare le attività di sviluppo del prossimo rilascio maggiore di Resting.
Nell'aggiornamento di marzo ho fatto una prima analisi basata sui dati parziali del mese scorso.
Il sondaggio si conclude con 26  risposte pari a circa l' 1,8% degli utenti attivi.
Mi ero prefissato un obiettivo del 5% in tutta incoscienza, ma credo di potermi ritenere soddisfatto.
I risultati arrivano totalmente dal target d'interesse: 20 risposte su 26 sono state date da utenti di Resting.



L'utente tipo di Resting lo utilizza almeno una volta alla settimana per fare del test funzionale sulle API





Alcune osservazioni in merito per quanto riguarda i suggerimenti su dove concentrare i miglioramenti:
  • la possibilità di costruire richieste HTTP più complete è il tema che ha preso più voti medio-alti,
  • la richiesta di funzionalità di organizzazione e salvataggio dei propri dati interessa mediamente,
  • la richiesta di strumenti per l'analisi della risposta delle API è il tema più contrastante: riceve sia il più alto numero di voti di grande interesse, sia di scarso interesse.





A chiusura del sondaggio ho lasciato una sezione opzionale dove lasciare liberamente suggerimenti, sono molto soddisfatto che 5 utenti abbiano scelto di lasciare i loro consigli.


Numeri del mese

 

Utenti attivi (-1,9%)


Marzo:1.431
Aprile:1.405

Download (-20,3%)


Marzo: 482
Aprile:  384

Piani futuri

Il prossimo obiettivo è identificare una lista di attività da implementare sulla base del risultato del sondaggio.

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

Qualche mese fa sono entrato a far parte dei manutentori del progetto exercism/java con l'obiettivo di aiutare a portare a termine le molte attività in programma per il rilascio della versione 3 della piattaforma.

Java-representer

java-representer è un'applicazione che legge la soluzione di un esercizio scritto in Java e ne crea una rappresentazione normalizzata.
Lo scopo é riassumere soluzioni simili in una stessa rapprensentazione così da semplificare e in parte automatizzare il lavoro dei tutor.
Ho implementato la prima versione completa dei requisiti, ora mi sto dedicando a provare lo strumento su varie soluzioni di problemi e a correggere i relativi errori che ne escono.

Partecipazione

Sul fronte partecipazione sto tenendo aggiornati gli altri manutentori delle attività che faccio settimanalmente nel canale slack del progetto.
Un paio di mesi fa ho proposto di introdurre un thread di discussione settimanale dal nome weekly standup dove ogni manutentore dichiara se riuscirà a dedicare del tempo al progetto e su cosa si propone di lavorare.
Lo scopo era "smuovere le acque" di un canale che sembrava deserto.
Mi sentivo demotivato non avendo alcuna notizia dalle altre persone coinvolte nel progetto e ho pensato che la stessa cosa potesse accadere anche ad altri.
La proposta è stata accettata e mi sono preso il compito di lanciare il thread ogni inizio settimana. Al momento non sta avendo grande successo, ma la mia intenzione è di continuare comunque almeno fino alla fine di giugno, data in cui secondo i  piani dovrebbe essere pubblicata la nuova versione v3.

Piani futuri

Concludere i test su java-representer e fare deploy dell'applicazione sull'infrastruttura di progetto.

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 

  • Ho elaborato i feedback ricevuti e li ho implementati nella versione 0.2 del progetto 
  • Ho rilasciato l'estensione anche per Google Chrome pubblicandola sul Chrome Web Store

Piani futuri

Per il prossimo mese non ho obiettivi per questo progetto

Hackathon covid

Nel weekend del 28 e 29 marzo ho partecipato insieme ad altri membri del gruppo SoCraTeN ad una hackathon totalmente in remoto a tema Covid-19.
E' stata la mia prima esperienza in un hackathon e per di più l'abbiamo gestita totalmente in remoto utilizzando il canale slack del gruppo e zoom per i momenti corali in videoconferenza.
Il risultato del nostro sforzo è stata la creazione di un bot telegram con un duplice scopo:
  • semplificare il lavoro di monitoraggio e raccolta delle informazioni sui posti letto di terapia intensiva e semi-intensiva del territorio da parte della Centrale Unica di emergenza.
  • accentrare le richieste di ricovero di un paziente in altre strutture sul territorio

Il codice del progetto è stato rilasciato su Github con licenza MIT e si può trovare qui
Ho pubblicato un post in Linkedin con maggiori dettagli sui risultati prodotti.

Quest'esperienza mi ha portato alcune conferme:
  • con gli strumenti attualmente a disposizione si riesce a gestire tutto il processo e il lavoro in remoto, 
  • l'importanza di semplificare e scavare nelle proposte per arrivare al nocciolo di uno scenario che dimostri l'idea,
  • accettare tranquillamente di fare cose che non si conoscono,
  • la proattività è una chiave importante per il lavoro di squadra,
  • dare maggiore priorità alle attività che sbloccano il lavoro degli altri.

 Puntate precedenti

Risorse


giovedì 2 aprile 2020

#M3 - Confrontarsi con l'open source

Questo mese ho ragionato sul concetto di Open Source, sul fatto che non riguardo solo il codice, ma che sia un concetto più ampio e riguardi innanzitutto il confronto e la condivisione fra le persone.
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.
Mi sono dato l'obiettivo di raggiungere la partecipazione del 5% degli utenti attivi (quindi circa 70 risposte).
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:
Inoltre, cosa più importante per raggiungere il target di utenti giusto, ho integrato un piccolo popup all'interno di Resting.

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.

Forms response chart. Question title: Did you ever used Resting ?. Number of responses: 18 responses.



Già si può fare qualche considerazione sulla tipologia di utente che usa Resting.


Forms response chart. Question title: How many time do you use them ?. Number of responses: 18 responses.



Forms response chart. Question title: What do you use these tools for ?. Number of responses: 18 responses.



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


Forms response chart. Question title: Where would you like improvements in Resting ?  [1 low - 3 high]. Number of responses: .

 Alcune considerazioni a riguardo:
  • 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 )
Nell'aggiornamento del mese prossimo farò altre considerazioni sull'andamento del sondaggio

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.
Mi ha anche gentilmente allegato il grafico dei suoi utenti attivi nel tempo, dalla prima pubblicazione a oggi.
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.383
Marzo 1.431


Download (-11,2%)

Febbraio: 537
Marzo: 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