Device veri
123iPhone 15, 16 Pro Max e SE, Pixel 8, Galaxy S24 e Z Fold5, iPad Air, mini e Pro, Galaxy Tab e viewport da laptop fino a QHD. Dimensioni, densità dei pixel, touch, user agent e client hints cambiano insieme.
I browser di tutti i giorni ti mostrano il web come lo vedi tu. Oblo parte dalla domanda opposta: come lo vedono gli altri? Device, lingua, rete e accessibilità diventano controlli nella barra, non impostazioni sepolte in un pannello che chiudi per sbaglio.
Perché non basta DevTools
La modalità device di Chrome è ottima, e sotto Oblo usa lo stesso motore. Ma vive dentro i DevTools: è sparsa tra più pannelli, si azzera quando li chiudi, non si ricorda del sito alla visita dopo e non cambia la lingua che arriva al server. Oblo mette tutto in una barra e se lo ricorda sito per sito.
| Browser di tutti i giorni | Chrome DevTools | Oblo | |
|---|---|---|---|
| Dimensioni, densità, touch e user agent del device | No | Sìmodalità device | Sìtasti 1 2 3 |
| Lingua inviata al server (Accept-Language) | In parteper tutto il browser | In partesolo Intl, da Sensori | Sìper scheda |
| Fuso orario e geolocalizzazione | No | Sìpannello Sensori | Sìseguono la lingua |
| Impostazioni ricordate per ogni sito | No | Nosi azzerano chiudendo | Sì |
| Rete, CPU, movimento ridotto, contrasto, difetti della vista | No | Sìin quattro pannelli | Sìun solo menu |
| Errori della pagina visibili senza Console | No | In partesolo a DevTools aperti | Sìbadge nella barra |
| Controllo SEO e anteprima di condivisione | No | In parteaudit di Lighthouse | Sìpannello Pagina |
| Pagina aperta sul telefono (localhost → IP in LAN) | No | No | SìQR |
| HTTPS self-signed su localhost e *.test | In parteclic sull’avviso | No | Sìsolo host di sviluppo |
| Utente loggato e anonimo affiancati | In parteprofilo o finestra a parte | No | Sìisole |
01 · Un’emulazione che arriva fino al server.
iPhone 15, 16 Pro Max e SE, Pixel 8, Galaxy S24 e Z Fold5, iPad Air, mini e Pro, Galaxy Tab e viewport da laptop fino a QHD. Dimensioni, densità dei pixel, touch, user agent e client hints cambiano insieme.
Sugli iPhone recenti ci sono barra di stato, Dynamic Island e home indicator, con gli stessi safe-area-inset di Safari, in verticale e in orizzontale.
Trascina i bordi fino alla misura che ti serve. Sopra il device c’è un righello con i breakpoint di Tailwind: un clic su sm, md o lg e la larghezza si allinea.
Portrait e landscape con un tasto. screen.orientation e le media query sull’orientamento seguono.
Dieci locali pronti più qualsiasi tag BCP 47. Accept-Language, navigator.languages, Intl, fuso orario e geolocalizzazione cambiano insieme, e la pagina si ricarica perché anche il server se ne accorga.
Forza prefers-color-scheme sulla pagina senza toccare il tema del sistema.
02 · Le condizioni in cui naviga la gente vera.
Fast 4G, Slow 4G, 3G e offline; CPU rallentata 4×, 6× o 20×. Si salvano per sito insieme al device.
Stampa, prefers-reduced-motion, prefers-contrast e forced-colors, più la simulazione dei difetti della vista.
Aree di layout shift, paint flashing, bordi dei layer, contorni degli elementi e contatore FPS, dallo stesso menu.
Un badge rosso conta eccezioni JS, console.error e richieste fallite o con status ≥ 400 della pagina. Un clic le elenca e porta alla Console.
03 · I controlli che fai prima di andare online.
Title, description, H1, lang, viewport, canonical, robots, Open Graph, hreflang e alt delle immagini a colpo d’occhio, con l’anteprima di condivisione e la struttura dei titoli.
Blocca URL con i caratteri jolly (c’è anche l’elenco dei tracker comuni), aggiungi header, spegni JavaScript o la cache HTTP. Le regole restano salvate per sito.
Alla risoluzione emulata, cioè 1170 px di larghezza per un iPhone 15, oppure la pagina intera fino a 16.384 px. In una cartella o direttamente negli appunti.
04 · Le piccole cose che ti salvano la giornata.
I certificati self-signed sono accettati su localhost, 127.x, *.localhost, *.test, *.local e sugli IP privati. Altrove gli errori di certificato restano errori.
Un QR con l’indirizzo della pagina, dove localhost diventa l’IP in LAN: il telefono apre direttamente il tuo dev server.
Ogni isola ha cookie e storage suoi e ricorda i login anche dopo la chiusura: un admin e un ospite affiancati, ognuno nella sua isola.
Ogni sito riapre con il device, la lingua, il tema e le condizioni con cui lo stavi provando.
Cancella cookie (anche del dominio padre), localStorage, sessionStorage, IndexedDB, service worker e cache del sito, poi ricarica.
Ogni comando ha una scorciatoia globale e un tasto singolo, entrambi personalizzabili nelle Impostazioni.
Schede che si riaprono, completamento dalla cronologia, preferiti e il motore di ricerca che preferisci. Lo usi tutto il giorno, non solo per i test.
Limiti, detti chiaramente
Il motore è Chromium. Su iPhone e iPad coincidono dimensioni, touch, lingua e user agent, ma i bug di rendering propri di WebKit si vedono solo su un Safari vero.
Su Linux ci sono il pacchetto deb e l’AppImage per processori a 64 bit Intel e AMD: niente ARM, Flatpak o Snap per ora.
Le passkey del Portachiavi iCloud, di Chrome o del telefono (accesso con QR o Bluetooth) non sono disponibili. Su Mac Oblo ne crea di proprie con Touch ID: entra con un altro metodo e aggiungine una da Oblo nelle impostazioni dell’account.
Alcuni siti bloccano i browser che non riconoscono come Chrome, Safari, Firefox o Edge. L’accesso con Google funziona; con altri servizi, per il momento, può capitare.
In sviluppo Oblo 0.2, costruito direttamente su Chromium, risolve i problemi di compatibilità con i provider di identità, lo streaming protetto e le passkey. Arriverà prima su Mac Apple Silicon e subito dopo su tutti gli altri sistemi.
Download
Apple Silicon e Intel, macOS 13 o successivo
Versione: Apple Silicon · Intel
Installer per Windows 10 e 11, 64 bit
L’installer non è ancora firmato: se Windows mostra un avviso, scegli “Ulteriori informazioni” e poi “Esegui comunque”.
Pacchetto deb per Ubuntu e Debian, 64 bit
Apri il .deb con Centro software o installalo con sudo apt install ./oblo_*.deb. Su altre distribuzioni usa l’AppImage (serve libfuse2).