Compatibilità con i browser precedenti

Gestisco una bacheca per persone affette da una malattia neurodegenerativa che è alimentata da Discourse. Mantengo il software aggiornato seguendo l’elenco di sicurezza su Commit search results · GitHub e aggiornando ogni volta che c’è un problema di sicurezza. Tuttavia, questo ha l’effetto collaterale indesiderato di bloccare un numero crescente di utenti che hanno macchine più vecchie.

Ha bloccato un utente che si prende cura di suo marito e aveva accesso alla bacheca solo tramite un iPad che non riceve più aggiornamenti iOS/Safari e più recentemente un altro con un vecchio Chromebook che non può aggiornare Chrome a una versione compatibile. Capisco che ci sia una politica di supportare solo le versioni più recenti dei browser, ma quando dispositivi realizzati solo pochi anni fa non ricevono più aggiornamenti ma sono altrimenti pienamente funzionanti, impedire l’accesso a quella che, per molti, è una linea di vita vitale è estremamente frustrante.

L’intestazione della bacheca dice a questi utenti che esiste una versione con funzionalità ridotte che possono utilizzare, ma poiché la bacheca è solo ad accesso effettuato (a causa di problemi di violazione della privacy che abbiamo avuto in passato) e la versione con funzionalità ridotte non consente l’accesso, questa non è utilizzabile.

Idealmente, suppongo che ci sarebbe un flusso di aggiornamenti di sicurezza che non causasse l’arresto del funzionamento dei vecchi browser o almeno un avviso durante l’aggiornamento che determinati browser smetteranno di funzionare, in modo da poter avvisare gli utenti prima di applicare l’aggiornamento.

Ecco alcune citazioni dei nostri utenti al riguardo:

“Resto lì per supportare un’altra moglie tramite messaggi privati - è così angosciante che non saprai mai il caos che causa… Sono seriamente… distrutta😢”

“Mi dispiace suonare così arrabbiata… non posto da quando ho perso mio marito 17 mesi fa, ma accedo ancora quotidianamente e sono piena di disperazione”

“Penso di poter accedere alla bacheca nella biblioteca locale, ma è molto frustrante non avere accesso a casa”

“Voglio dire, posso accedere a ogni altro sito e alle banche, ecc., non ci sono problemi lì e loro aggiornano costantemente”

“Quindi, ho provato il tuo suggerimento di scaricare l’app e, sfortunatamente, non si installa. Indica che non è compatibile con il mio iPad. Senza dubbio questo è dovuto alla versione di iOS (di nuovo).”

“Questo è davvero frustrante! Non posso permettermi di sostituire il mio iPad ed è l’unica cosa che mi tiene in contatto con questa comunità”

“la bacheca è una linea di vita… me l’hanno strappata via e sospetto che molti altri”

15 Mi Piace

Questo è piuttosto tragico. Sfortunatamente, lo sviluppo di Discourse sembra essere sempre orientato al progresso e un paio di volte all’anno (mi sembra) c’è qualche tipo di cambiamento che esclude un’altra ondata di vecchi dispositivi o browser.

Il tuo caso potrebbe essere uno di quelli in cui l’utilizzo della versione stabile aiuterebbe, un po’. Ma qualsiasi tipo di politica di aggiornamento ti lascia vulnerabile al problema che vedi. E una politica di non aggiornamento ti lascia vulnerabile all’utilizzo di software obsoleto.

Non vedo una soluzione, se non quella di abbandonare Discourse per un altro software con una politica molto più generosa di supporto per i vecchi dispositivi e i vecchi browser. Non so quale potrebbe essere.

C’è anche la probabilità che questi vecchi dispositivi e browser siano essi stessi insicuri. Ma ciò potrebbe avere poca importanza se vengono utilizzati solo come dispositivi di comunicazione.

6 Mi Piace

È forse possibile installare un browser di terze parti? Sull’iPad o sul Chromebook?

Ho trovato questo per il vecchio iPad. Potresti anche essere in grado di installare altri browser.

Download and install Google Chrome - iPhone & iPad - Google Chrome Help.

Ecco un link per Chromebook che potrebbe aiutare.

Top 5 Chromebook Web Browsers 2024 [Ranked & Reviewed] - Alvaro Trigo's Blog.

Ma sono d’accordo, è sfortunato non avere una corretta retrocompatibilità con i dispositivi più vecchi. Mi chiedo se forse si potrebbe creare un plugin per affrontare questo problema con casi d’uso speciali come il tuo.

1 Mi Piace

Eppure quelli sono Safari, per quanto ne so. Ma comunque, quelli non possono superare il test di Discourse perché quel risultato proviene da iOS.

3 Mi Piace

Quindi installare un browser di terze parti come Chrome o Firefox e usarlo invece di Safari? No?

2 Mi Piace

Quelli non sono veri browser con i loro motori. Può essere descritto come se fossero solo delle skin.

3 Mi Piace

Non capisco. Mi scuso, stai dicendo che Google Chrome o Firefox ecc. non sono le versioni legittime di quei browser su iOS? Solo un browser Safari con una nuova veste grafica?

2 Mi Piace

Più simile a un motore di Apple con una nuova veste grafica, ma il risultato finale è molto simile. Apple sta limitando molto il suo ambiente.

4 Mi Piace

È davvero sfortunato, ma con Apple non sorprende. Ricordo che Microsoft provò qualcosa di simile con Windows 95 limitando le prestazioni dei browser di terze parti (beh, forse non proprio la stessa cosa) all’epoca di Netscape (ora conosciuto come Mozilla Firefox). Microsoft fu duramente colpita in tribunale e dagli sviluppatori web.

2 Mi Piace

Non sarebbe l’ideale. ma un’idea come usare una specie di browser web potrebbe essere usata come intermediario? Un po’ come la gente usa Tor?

Come forse uno strato di compatibilità in questo caso?

1 Mi Piace

Apple richiede a tutti i browser su iOS di utilizzare Apple WebKit.

Suppongo che il codice sorgente di Discourse possa essere modificato per consentire l’accesso pur mantenendolo di sola lettura (poiché sembra essere necessario per evitare che nel browser appaiano elementi che non sarebbe in grado di gestire).

5 Mi Piace

È davvero un peccato che Apple abbia intenzione di costringere i propri clienti ad aggiornare. Android può essere a volte un problema, ma ci sono opzioni disponibili.

Sono contento di non essere mai stato risucchiato nell’ecosistema dei dispositivi Apple. Ed è probabilmente troppo complicato per gli utenti in questo caso provare a installare un sistema operativo Linux sui loro vecchi dispositivi. Dato che Apple non è poi così completamente facile da usare.

3 Mi Piace

Beh, la questione della retrocompatibilità è molto spesso discussa e non è fattibile. Solo lettura con funzionalità limitate è ciò che Discourse offre quando i browser/OS sono giunti alla fine del loro ciclo di vita/supporto.

Se qualcuno è in grado di codificare un tale livello, va bene, ma sono totalmente sicuro che CDCK non lo supporti. È un po’ come il jailbreak sui cellulari Apple :wink:

2 Mi Piace

@codev quali sono i requisiti minimi del browser per "full featured", attualmente? (Mi dispiace, non sono sicuro di dove sia pubblicato/divulgato questo)

3 Mi Piace

Bene, ora che abbiamo la parte del thread illustrata ufficialmente su ‘attaccare Apple’ e su come ‘sono i peggiori’, sono curioso di sapere qual è la politica per la retrocompatibilità supportata. La maggior parte, se non tutti, i team di prodotto pubblicano la loro politica di retrocompatibilità, e alcuni sono più generosi di altri. Fortunatamente la tecnologia avanza e sfortunatamente questo pone una data di scadenza alla vita utile della maggior parte della tecnologia.

Riguardo al problema sollevato da @codev, sono anch’io curioso poiché stavo per implementare Discourse, tuttavia ho la possibilità di avere alcuni utenti con dispositivi datati. Come ha accennato @Ed_S, potrebbe essere qualcosa che devo considerare, per cercare altrove.

Personalmente uso tecnologia che ha più di 5 anni e ho familiari con dispositivi un po’ più vecchi. Non credo di essere l’unico. A merito di Apple, il loro hardware è solido (il che significa che di solito continua a funzionare bene oltre il software supportato) e in generale offrono una copertura generosa per la retrocompatibilità.

Il software e i framework di sicurezza avanzano costantemente, e sempre più in questi giorni, richiedendo aggiornamenti poiché così tanto è interdipendente. Accetto l’argomento di aggiornare per la sicurezza, tuttavia non supportare più una particolare versione di qualcosa perché non è più in fase di “rilascio” non significa che non ci siano utenti che utilizzano ancora quella tecnologia.

Se qualcuno dovesse sostenere: “Ehi, devo supportare clienti con browser non-SSL del 1993”, concordo che sia assurdo. Tuttavia, se stiamo dicendo che si può usare solo qualcosa che è stato rilasciato come N-1 (diciamo, rilasciato solo negli ultimi 18 mesi), beh, non tutti aggiornano ogni 6 mesi.

Firefox, ad esempio, fornisce ESR (release supportate estese) per piattaforme più vecchie. Questo è ottimo per Firefox e per coloro che necessitano di ESR. Tuttavia, diventa irrilevante se i fornitori, ad esempio Discourse, non supportano qualcosa a causa di un numero di versione del browser sciocco che non corrisponde alla loro stringa di versione minima predefinita / codificata. Se ci sono framework richiesti, quella è una cosa - se è semplicemente “la versione 1 non è uguale alla 2”, ma altrimenti funziona, allora è davvero sfortunato. Vedo sempre più questa mancanza di interesse nel supportare cose precedenti. È una tendenza deludente. Gli ingegneri di oggi nati alla fine degli anni '80 e negli anni '90 sono cresciuti in una cultura in cui “si deve sempre aggiornare”.

So di aver divagato, grazie per la licenza artistica. Non voglio perdere di vista la domanda originale di @codev. È importante, specialmente dove Discourse fornisce uno scopo così significativo nella comunicazione e nella comunità.

4 Mi Piace

Probabilmente puoi creare una versione molto semplificata dell’interfaccia utente che consenta l’accesso, i messaggi diretti e probabilmente la risposta tramite l’API di Discourse e servirla da un sottodominio diverso (o dalla stessa risorsa, con alcune regole intelligenti di nginx?)

In questo modo avrai ancora una funzionalità molto basilare per i vecchi dispositivi e rimarrai aggiornato con il backend di Discourse.

3 Mi Piace

Ok, ho trovato questo (riguardo alla mia domanda)

“Discourse è progettato per i prossimi 10 anni di Internet, quindi i requisiti minimi del browser sono elevati.”

Non sono sicuro di aver capito il messaggio, a meno che Discourse non si stia sviluppando all’interno di una macchina del tempo. Mi aspetterei che la maggior parte degli utenti nel 2030 non utilizzi il prodotto oggi. Forse mi sfugge qualcosa.

MODIFICA:
@Canapin qual è la politica di supporto del browser? Stabile attuale - 2 (N-2), o N-1, o solo “l’ultimo”?

Preoccupazioni sulla sicurezza evidenziate qui (più preoccupazione per l’utente che specifica per l’uso di Discourse, ne sono sicuro), non ci può essere davvero qualcosa che Discourse richiede che non sia supportato nelle librerie JS core che non sono cambiate molto negli ultimi 6 anni. Anche Gmail tramite il browser web su questi dispositivi più vecchi funziona bene, senza problemi. Preoccupazioni sulla sicurezza a parte, già notate qui.

4 Mi Piace

Ciao @codev,

Vorrei poterti dare il benvenuto nella nostra community in circostanze migliori.

Temo che le mie parole suoneranno piuttosto vuote in risposta, ma capisco la frustrazione che provi.

C’è un problema intrinseco al processo di evoluzione del software, e la gente spesso dice: “Il tuo software non supporta più il mio telefono, ma questo software simile lo fa; perché?”. Sfortunatamente, non c’è una risposta facile.

Apprezziamo che la tua community stia soffrendo. Possiamo vedere chiaramente l’angoscia e il dolore dei tuoi membri alla prospettiva di essere tagliati fuori dal loro sistema di supporto.

Dover andare in biblioteca per usare il computer non è assolutamente un sostituto per accedere alla propria rete di supporto quando e come se ne ha bisogno, così come la differenza tra usare uno spazio pubblico e condividere e contribuire dal comfort e dalla privacy della propria casa.

Questo ci preoccupa dato che la nostra missione è rendere la discussione online più facile per tutti e preservare quella discussione a lungo termine.

Siamo, come te, frustrati dal fatto che le persone non possano usare i dispositivi finché non si rompono letteralmente. Dispositivi a scatola nera come gli iPhone, tuttavia, devono continuare ad essere supportati e aggiornati dal fornitore o sono attivamente pericolosi da usare. Notiamo che Apple sta fornendo solo aggiornamenti molto limitati per le vulnerabilità più gravi di iOS 12 a questo punto e Safari è obsoleto da anni.

Discutiamo queste scelte critiche a lungo internamente. Facciamo del nostro meglio per supportarle il più a lungo possibile finché non diventa una sfida tecnologica immensamente complicata da mantenere nel tempo. Non è facile bilanciare queste scelte per garantire che funzionino al meglio per la maggior parte delle community senza sacrificare i nostri standard di sicurezza o la facilità d’uso.

Sfortunatamente, ogni scelta come questa ha degli svantaggi, e il tuo messaggio è un esempio doloroso e onesto dei problemi che speriamo di evitare il più possibile.

Non possiamo tornare sui nostri passi, ma continueremo a discuterne internamente. Discourse non funzionerà più su alcuni dispositivi, e questo accadrà di nuovo col passare del tempo. Si prega di notare che abbiamo già esteso il nostro supporto per iOS 12 di un anno e abbiamo fatto del nostro meglio per avvisare gli utenti che il supporto sarebbe presto stato rimosso.

La domanda rimane: come possiamo aiutare a risolvere questo problema per i tuoi membri che hanno bisogno di accedere e partecipare al tuo forum?

Puoi iniziare aiutandoci a capire la ripartizione dell’utilizzo dei dispositivi (con informazioni specifiche sui modelli) nella tua community, per quanto possibile?

9 Mi Piace

Ufficialmente,

Discourse supporta le ultime versioni stabili di tutti i principali browser e piattaforme:

  • Microsoft Edge
  • Google Chrome
  • Mozilla Firefox
  • Apple Safari

Inoltre, miriamo a supportare Safari su iOS 15.7+.

Da What is Discourse? | Discourse - Civilized Discussion

Per estendere queste parole, aggiungo che “Discourse supporta questa versione del browser o versioni successive” non significa necessariamente che una versione precedente di questo browser non funzionerà. Semplicemente non è garantito e potrebbe smettere di funzionare a un certo punto.

6 Mi Piace

L’ultima riga:

Inoltre, miriamo a supportare Safari su iOS 15.7+.

Implicherebbe quindi almeno N-1, o addirittura N-2 (nel caso di iOS) poiché l’ultima versione è la 16.3.x

Il problema con questa dichiarazione di supporto è che potenzialmente aliena un’intera classe di utenti che hanno client “tecnicamente compatibili”, tuttavia Discourse non si impegna a testarli. Come osserva @Canapin, “Semplicemente non è garantito e potrebbe smettere di funzionare a un certo punto”, questo è un modo per dire, usa a tuo rischio e pericolo. Ciò è anche diverso dal fatto che l’app web controlli la versione del client e utilizzi un elemento dell’interfaccia utente per comunicare che non è compatibile. O ancora peggio, limitare funzionalità che altrimenti “funzionerebbero”, tranne per il fatto che non riceve più test QA o di regressione e viene deprecata in nome di “nessuno sta testando questo ora o ha la larghezza di banda per farlo”.

Se fosse possibile supportare N-2 nella maggior parte dei casi in cui è applicabile, ci sarebbe una buona probabilità di supportare quasi l’80% della potenziale base di utenti del “client web”. Per N-2, nel caso di iOS, ciò significherebbe supportare Safari 14 / iOS 14.

Se la parola “supporto” è una parola scatenante, allora se fosse possibile consentire N-2 con l’avvertenza “in caso di problemi, aggiornare a un client supportato”, molte cose funzionerebbero ancora, magari non con l’esperienza più preferita (rendering dell’interfaccia utente, ecc.) ma almeno non si sarebbe bloccati dall’usare qualcosa. È dopotutto una bacheca, non Microsoft Office 365. (nessuna offesa intesa al team Discourse!)

3 Mi Piace