(Questa #creazione è un’ennesima manifestazione della legge di Murphy, comunque, perché non posso ribadire mai abbastanza quanto ora sarà complicato categorizzare ogni cosa, ma se non lo facessi sarebbe inutile… però è una bella trovata, quella di far convergere in un solo luogo i #dati di #siti incompatibili.)
Bene, #Firefox mi sta facendo più o meno scimunire per bene per quanto riguarda il supporto alle #webapp progressive (su #mobile dico, su desktop non ci pensate nemmeno, Mozilla è capa tosta). Ho perso veramente le ultime ore a capire perché cavolo Chromium accetta di buon grado anche il più scarno dei #manifest, permettendo senza fatica di raggiungere l’obiettivo di una pagina web che ha la sua finestra dedicata che sembra nativa… mentre sulla volpe un sito si installa bene, un altro si installa ma manca l’icona, un altro ancora non si installa e quindi magari ha l’icona perfetta però si apre come scheda del #browser. 🥴️
Ovviamente, anche #Mozilla Developer Network manca di #informazioni soddisfacenti a riguardo: certamente potrei in teoria esagerare e implementare tutti i #metadati possibili, ma visto che viviamo nel mondo reale devo chiedermi qual è il minimo sindacale. Dopo qualche #test, non ho alcuna risposta definitiva, ma almeno delle linee guida generali di cosa mettere nel manifest si:
name, display: in teoria sono obbligatori, ma francamente anche se non lo fossero sarebbero da mettere ugualmente, quindi non ho manco provato senza; il nome della app serve, così come serve specificare se vuoi che vada a schermo intero o lasci almeno la UI del sistema operativo (e/o quella del browser, a cui io dico no grazie)
start_url, scope: non so se per solo uno dei due parametri o entrambi ma, se non si impostano correttamente, magari la #app si installa pure e funziona ugualmente (in loro assenza, da standard il browser dovrebbe usare l’URL corrente per le sue considerazioni), ma ho notato che su Firefox può succedere che l’icona non viene visualizzata; anche questi, quindi, è bene metterli
icons: questo è un array di oggetti che è ancora più #complicato, ma per farla breve, serve almeno un’icona che sia in formato PNG per far rilevare la pagina come #PWA, e nello specifico ne serve una che sia abbastanza grande (128×128 è il minimo credo? almeno sul mio dispositivo, in realtà non so se su altri cambia, però Chromium fa in ogni caso meno capricci) per avere una scorciatoia di lancio che abbia effettivamente un’icona, e non la prima lettera del nome; i parametri sizes e purpose rendono tutto ancora più incasinato, se si ha 1 sola icona si fa prima a settare entrambi come "any" (però intanto il type sembra si possa omettere)
Perché mi interessa tutto questo? Perché non solo dovrei sistemare le mie #applicazioni, che appunto non si installano tutte come dovrebbero (e per alcune dovrei anche implementare i Service Workers per farle andare offline, ma quella è un’altra storia), ma perché fin troppe app #web programmate da altri non hanno proprio la decenza di supportare un minimo lo #standard, essendo pensate come #siti vecchio stile, e quindi non le si riesce ad usare in maniera soddisfacente su mobile. Volevo fare un mio browser nativo (wrapper dell’Android System Webview banalmente) ai tempi come soluzione, però non solo credo rimarrà nel limbo per sempre, ma non potrei mai implementare tutte le cose che mi sono utili in navigatori completi come Firefox e di cui giornalmente giovo, quindi è chiaro che la soluzione vera è semplicemente apparare quest’ultimo. ⛏️
Questa #idea mi è venuta circa stamattina senza alcun trigger particolare (ormai le mie migliori sono sempre così), e ho provato a cercare “un modo per forzare qualunque sito come PWA su #Android”, cosa che avevo già fatto tempo fa senza arrivare a nulla, e ho quantomeno trovato un #userscript, questo qui. Ha però un sacco di problemi (tra cui quelli che mi sono scimunita per levigare un attimino), quindi tant’è che ho fatto il mio ora con lo stesso meccanismo: https://greasyfork.org/en/scripts/490784-pwas-anywhere. In pratica genera al volo un manifest e lo inietta in qualunque pagina se questa non include già un suo, così da farlo rilevare al browser. Testato su vari siti e, nonostante i punti ancora da sistemare, è meglio avere lui che non avere nulla; però tra tutti quelli su cui ancora non funziona, ci sono i sitarelli di Google, mannaggia (più tanti altri ancora non provati)… dovrò aggiustare, e qualche metodo lo ho già in testa. 😳️
#Idea in teoria molto semplice che potrebbe ridurre il problema della spazzatura sul #web, dei motori di ricerca che restituiscono risultati di qualità sempre più scadente a causa del #SEOSpam che non fa altro che aumentare, e tutte queste cose qui: servirebbe un sistema di valutazione da parte degli utenti per i risultati (che va a complementare i ranking algoritmici). Si potrebbe fare in tanti modi, ma uno con like+dislike sarebbe la cosa migliore, per la sua rapidità nell’uso che però risulta lo stesso in dati utili se usato da molti utenti. Alla fine è così che è nato Reddit, pensandoci, ma quelli erano anni diversi e il #problema che si stava cercando di risolvere era diverso da questo qui, quindi non centra se non in superficie. 👁️🗨️️
…Non so però come un grosso motore di #ricerca potrebbe fare a prevenire abusi di questo #sistema che lo renderebbero non solo inutile ma anche controproducente (risultati utili sotterrati da dislike disonesti, o quelli inutili portati su da like bottati). Tuttavia, probabilmente l’idea si può realizzare in casa, sfruttando qualcuno dei vari meta-motori che il mercato del software open-source offre (o creando un’estensione browser per motori mainstream), facendo in modo di garantire l’accesso alle votazioni soltanto ad utenti “fidati” (amici a cui si registra un account, persone che possono fornire un qualche tipo di verifica forte dell’identità, ecc…). Se avete maggiori #idee su questa questione magari possiamo provare a sviluppare qualcosa, francamente sono sempre più stufa di dover scavare per trovare #informazioni anche banali, sempre ‘sti cazzo di #siti#spam in cima. (O esiste già?) 🙄️
https://octospacc.altervista.org/wp-content/uploads/2024/01/image-6.pngLa nuvola dei #tag è integrata nel #CMS e l’avevo messa da subito sulla #home (ora spostata), mentre il resto è grazie a questo cosiddetto #SQLCharts.Se come me #amate queste robe, fatevi un giro, e magari datemi qualche #suggerimento su che #illustrazioni in più #programmare… ho anche modificato il #codice del plugin per fargli sputare il #source#SQL utilizzato per ciascun grafico, che potete #copiare ed usare sui vostri #siti. ❤️ (Se volete la stessa #modifica, sappiate che vi basta aggiungere, nel file wp-content/plugins/sql-chart-builder/functions.php, alla funzione guaven_sqlcharts_local_shortcode, la seguente stringa in una parte che preferite della zona HTML: <?php echo htmlspecialchars($sql);?>)
Potevo probabilmente sgraffignare codice #frontend di altro tipo per lo stesso scopo (anche se con una #UI un po’ diversa, ad esempio di vari #software del Fediverso), ma ho preferito questo di #Telegram perché non usa framework astrusi come React, solo #jQuery e quindi a farci #hacking si fa subito subito. ⚒️