Mainly Internet business, but also life mysteries and videogames

da Leopard a MacOs Mountain Lion; che Safari ragazzi…!

MacOs Leopard è stato, secondo me, uno dei migliori aggiornamenti, se non IL migliore Mac OS mai installato sui miei Mac.

La spinning Wheel di Excel ci perseguita!

 

Non solo le performance erano strabilianti, ma l’intero Core del sistema era stato riscritto per sfruttare finalmente a pieno i 64 bit delle macchine fino ad ogni processo possibile. Ad esempio, se volevate stampare in PDF da Safari (e non fate quella faccia pensando a Safari!), il Print to PDF integrato di Apple (non serve quel dinosauro sempre-più-inutile-Adobe per fortuna), il processo che Safari lanciava per la Stampa e quello successivo per il Rendering del documento da HTML a PDF erano tutti regolarmente a 64 bit.

 

MACOS LION, LA CADUTA — Poi è arrivato Lion. Un Leone è “meglio” di un Leopardo: il Leone è il Re della foresta. Ma qualcosa non ha funzionato. Intanto Lion esce dopo gli anni peggiori di Jobs, il progetto è tutto in mano al nuovo direttore dei sistemi Operativi che è sicuramente distratto da iOs, il sistema dell’iPhone. Quest’ultimo sta dando così tanti numeri (positivi) per Apple, che dedicarsi a iOS è un attimino più importante di MacOS, soprattutto perchè Android arriva per la sua prima volta a una versione decente (la 4.0).

Pertanto arriva Lion, sostituisce Leopard e la prima cosa che fa è stabilire che il sistema di esecuzione dei processi non è più fatto “ognuno per sè”, ma “tutto dipende dal lui”. Pertanto Safari perde il suo motore di rendering per le pagine Web che Lion rende esterno ed eseguibile da qualunque parte lo si voglia chiamare. In questo modo se avete un’altra applicazione che vuole gestire un documento Web, questa può farlo con la stessa completezza di Safari (sia Apple Mail, iWorks o anche Excel, Autocad, un gioco, iTunes, etc); geniale, ma se usate al 99% la sola applicazione Safari, in Leopard i processi di rendering erano tutti suoi, ora invece sono condivisi e in attesa che anche qualcun altro li voglia usare, diminuendone la potenza nominale a disposizione.

Fin qui tutto già collaudato: è come in iOs. Ma il Sistema Operativo, che ora gestisce il processo, può anche bloccarlo con “urgenza” se necessario (es. c’è poca Ram, l’hard disk è molto impegnato altrove, etc). Prima Safari si arrangiava da solo, ora Safari non fa altro che delegare e sperare che i processi esterni siano sempre veloci. Ma non è così. Quando si vuole stampare documenti Web in PDF, Safari chiede al processo di Rendering la pagina Web; poi chiede al processo PDF la trasformazione da Web a PDF; prima tutti e due i processi erano in Safari, con LION non più.

In questo modo le operazioni di stampa e Rendering RIPETUTE rispondevano dal 20% al 50% più lentamente di Leopard. Più il Mac era vecchio e peggio pesava la concorrenza dei processi.

 

MACOS LION E IL “WHITE PAGE BUG” DI SAFARI — Nel giro di pochissimo tempo, la produttività del mio Mac con LION era diventata la metà dei tempi di Leopard. Safari spesso “attendeva” per lunghi attimi che i processi si liberassero dallo “swap” dell’hard disk gestito del Sistema Operativo. Se iOs è abbastanza protetto e generalmente l’utente fa una cosa alla volta in un iPad o iPhone, MacOS non è altrettano “mono processo” e quando il processo esterno di Rendering crashava per qualche motivo, TUTTE le pagine che usavo in Safari tornavano come se fossero state appena aperte (chiamato da Apple come il “blank page” bug), e sottolineo TUTTE, non solo quella che aveva causato il crash (alla faccia dei processi separati!). Ma ancora più subdolo era che le pagine in cui era stata effettuata una login tramite sessioni AJAX, ad esempio Facebook, esse rimanevano collegate all’utente, ma la pagina Web mostrava la pagina nuova di login!

Ad un certo punto della sua vita, il mio Safari poteva aprire 2 nuove finestre, una andava su Facebook e una su Google Plus, loggava su entrambe, e quando Google Plus faceva partire il processo (esterno) di rendering per Flash, questo, impegnando per qualche secondo l’hard disk, mi permetteva di farlo crashare (semplicemente chiudendo la finestra!), e Safari, crashando, generava un LOGOUT non solo da Google Plus (causa del crash per colpa di Flash), ma anche da Facebook (pagina diversa e regolarmente connessa), senza che nessuno avesse cliccato “esci da facebook” o “esci da gplus”. Infatti le sessioni di Facebook non erano realmente chiuse e chiunque avesse fatto “Refresh” di nuovo  avrebbe trovato il mio Profilo aperto e non la login!

Con LION ci sono state parecchie update di Safari, ma nessuna ha migliorato questo problema, anche quando Apple pubblicamente fece una update dedicata. Ovviamente era solo “diminuito” il bug, ma era semplice riprodurle e lasciare pagine loggate apparentemente sloggate con la tecnica di flash.

In un cyber cafè, faccio loggare un utente su Facebook, crasho il sistema con un Applescript e Flash e se tu utente te ne vai scocciato, vado lì, reloado Safari e sono sul tuo Profilo di Facebook.

 

I CLOUD, U CLOUD WE ALL CLAIM FOR A BETTER MACOS — Ma i problemi non erano solo di Safari. L’introduzione di iCloud in LION è stata praticamente impercettibile lato utente, mastodontica lato performance; per portare il cancello di iCloud, LION è diventato un insieme di processi e controlli di rete. Per muovere una connessione, non aspettava i tempi morti, ma al boot tutto e tutti dovevano collegarsi al mondo il prima possibile.

La conclusione? LION è stato un MacOS che ha disimparato a fare il lavoro “vero” per iniziare a fare mille cose di iOs, inutili. Se la rotella di attesa di Excel era diventata meno frequente, con LION la rotella di attesa di Excel appariva più di ogni altra cosa, e la gestione dei FONT, probabilmente delegata al sistema operativo rallentava sempre di più l’utilizzo di ogni applicazione che usasse font in modo estensivo.

 

MACBOOK RETINA SAVE ME! — La conclusione è stata che per continuare a lavorare con LION, dovevo cambiare Mac… non con un Windows, quello no, ma con un nuovo Mac. I difetti di LION dovevano essere corretti dalla potenza di un nuovo Mac. E così è stato.

Il Macbook Retina Display ha vissuto 1 mese con LION, rendendolo veloce come il Leopard di 4 anni fa! Un bel piacere, ma anche rabbia. Insomma, il boot in 2 secondi, lo shutdown istantaneo di Leopard erano tornati e non erano stati miraggi solo di un tempo che fu.

 

MOUNTAIN LION, ORA SI RAGIONA — Oggi è arrivato Mountain Lion. Oggi per modo di dire, è un pò che gira. Negli anni bui di LION temevo per il peggio: che Apple avesse perso la via accecata da iOS e dalla concorrenza (di Android), che nessuno più in Apple vedeva le imperfezioni di programmatori pigri e quindi processi o sistemi fatti male rimanevano tali e nessuno li chiamava alla Domenica mattina per una ramanzina (vedi Jobs e l’icona di Google Mail sull’iPhone 1), che sarebbe sempre stato peggio visto che il bug di SAFARI non è mai stato fixato realmente, così come altri problemi fixati solo dopo moltissimi mesi (se non anni per il flicker al nero di alcuni schermi del Macbook Pro unibody).

Oggi c’è Mountain Lion. Il rendering è tornato veloce, il processo esterno non è più “crashabile” con facilità, e se muore, non genera un “blank page bug” di tutte le finestre aperte di Safari che ora è alla versione 6.0; certo è più difficile rallentare un Mac nuovo per poter causare il problema, ma la prova del fuoco è un Excel che ora gira senza rotella!

Speriamo Apple non voglia fare di MacOS un iOS; magari mi sbaglio, ma io vorrei lavorare con questo Mac e non fare Gesture dalla mattina alla sera o stare collegato alla iCloud 24h su 24. Se magari ogni tanto pensasse alle applicazioni “classiche”, saremmo tutti un pò più operativi. Un iWorks come quello che abbiamo non serve a nessuno.

Ah… con LION nessuna applicazione riusciva ad aprirmi 2 GB di file XML, nemmeno Oxygen o BBEdit (quest’ultimo dava un terribile messaggio di altri tempi “OUT OF MEMORY”); ora invece riesco ad aprirlo e anche a consultarlo eppure è cambiato solo il Sistema Operativo.

SAFARI 6.0, UN WEB MIGLIORE?  — E con il Retina Display e qualche sito con grafica Retina, il browsing di Safari 6.0 è indubbiamente migliore di Chrome o Firefox. Tra l’altro Chrome continua a rimanere a 32bit quando oramai Safari è a 64bit da parecchi anni sul Mac.

UPDATE 1 AGo 2012: Stanotte Chrome si è aggiornato alla versione 21.0.1180.57 con RETINA DISPLAY (anche se ancora a 32 bit) e ora è un bel vedere anche con Chrome e non solo con Safari 6.

Quindi, viva Safari 6.0!

 

P.S. E’ con piacere che racconto di questo bug di Safari 6.0! Ma come? Di già un bug? eh sì…

SAFARI 6.0, SCROLL FREEZING BUG — Aprite il Develop Menu di Safari 6.0, attivate il debug Javascript e dite a Safari di fare stopword all’errore se ne capitasse uno, navigate fino a quando (questione di pochi click…) un sito web qualunque vi dà un errore (o fate voi una pagina con un errore), il debugger si attiverà e metterà in pausa il sito per farvi debuggare l’errore. Se non togliete la PAUSA del debug, tutte le altre pagine web che aprirete, userete, navigherete, nuove o già aperte non potranno più … scrollare! EH sì, viva Safari 6.0 — attendiamo fix 😀

Vabbuò, viva iOS!

 

2 commenti

  1. Francesco

    Ciao, gran bel post e gran bel blog. Vai nei miei preferiti :D…
    Mi piacerebbe molto sapere cosa nel pensi di windows, magari mettendolo a confronto con osx ..

  2. Alessandro Bonzi

    Grazie! Ci penserò, ma è persa di partenza per qualcuno dei due OS…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.