Retrocompatibilità

Mele e appunti

Con la recentissima introduzione dei nuovi modelli di MacBook Pro, Apple ha anche aggiornato la pagina relativa a Mac OS X 10.7 Lion e ha reso disponibile un’anteprima per sviluppatori, scaricabile dal Mac App Store stesso (no, se il vostro account non è Premier o Select, ossia se non è a pagamento, non potrete scaricare Lion dal Mac App Store).

Cercando informazioni in rete, mi sono imbattuto nella notizia secondo cui Rosetta non sarà parte di Lion (qui uno dei tanti link che ho trovato, in inglese). Rosetta, lo ricordo, è quel pezzetto di software che permette di eseguire dentro l’architettura Intel quelle applicazioni più datate, scritte in codice PowerPC. La mossa era prevedibile — già in Snow Leopard Rosetta è un elemento opzionale, installabile solo se necessario — ma ciò non vuol dire che sia una mossa gradita, almeno per quanto mi riguarda.

Giusto per capirci, non c’entra nulla l’appassionato di Mac vintage che è in me. Non è questione di essere affezionati a un passato che non c’è più, o una reazione capricciosa alla filosofia del ‘guardare sempre avanti’ estremamente caratteristica di Apple dopo il ritorno di Steve Jobs nel 1997–98. È questione di non poter più utilizzare comodamente tutta una serie di applicazioni che a suo tempo ho regolarmente pagato (e non poco), e che non ho mai avuto l’esigenza di aggiornare, perché semplicemente vanno benissimo così. Non sto parlando di vecchi shareware (anche se ve ne sono), ma di software come Adobe Photoshop CS, Adobe Acrobat Professional 6, FileMaker Pro 6, Microsoft Office 2004. 

Acquistare versioni aggiornate di quei software è una spesa ingiustificata per l’uso che ne faccio, e al tempo stesso mi trovo a utilizzarli con sufficiente frequenza che non è fattibile (almeno per ora) abbandonarli. Con quel che verrebbero a costare la Creative Suite CS5 + Microsoft Office 2011 probabilmente mi ci comprerei un iPad 2 — e ora ha più senso che mi compri un iPad 2.

Non aggiornare a Mac OS X 10.7 Lion quest’estate sarebbe una mossa un po’ sciocca. È vero che teoricamente potrei benissimo andare avanti con Snow Leopard (forse persino con Leopard), ma una parte del mio lavoro richiede che io rimanga aggiornato con queste tecnologie. Per scrivere di Lion devo necessariamente provarlo e usarlo in prima persona sulla mia macchina principale. Certo, se nuotassi nell’oro come Zio Paperone, una cosa davvero utile per il mio lavoro sarebbe acquistare un Mac portatile nuovo come macchina per prove e test delle applicazioni più varie. 

Invece, la mancanza di Rosetta in Lion mi spingerà ad adottare una di queste soluzioni:

  1. Prendere tutte le applicazioni scritte per l’architettura PowerPC che uso tuttora (più di una dozzina) e spostarle su un Mac più datato, magari il Cube o uno dei miei PowerBook G4.
  2. Installare Snow Leopard su una partizione in uno dei miei dischi esterni, e riavviare il Mac da lì quando devo utilizzare quelle applicazioni.

Entrambe le soluzioni mi consentono di continuare a servirmi di quei programmi. In entrambi i casi, tuttavia, il flusso di lavoro ne risente pesantemente. Nel primo caso devo tenere a portata di mano l’altro Mac, nel secondo c’è l’ovvia scomodità di dover riavviare in Snow Leopard per poi ritornare in Lion. Penso di optare per la prima soluzione, però, e di appoggiarmi a Dropbox per lo scambio veloce dei dati fra le macchine.

Che seccatura, comunque. Ripeto, comprendo e in parte condivido questo continuo muoversi in avanti di Apple. È quella forza che la mantiene davanti agli altri, in fondo. Però trovo un po’ gratuito il pensionamento di Rosetta. Da un punto di vista tecnico sarebbe comprensibile se il mantenere la compatibilità all’indietro fosse un ostacolo serio allo sviluppo del sistema, oppure se significasse un tale decadimento delle prestazioni del Mac da essere un problema non ignorabile. Ma questi nuovi MacBook Pro, per fare un esempio, sono dotati di una potenza di calcolo eccezionale, superiore a quella di un Mac Pro di tre anni fa; Rosetta potrebbe continuare benissimo a funzionare così com’è senza compromettere l’esperienza utente. Già il mio ‘vecchio’ MacBook Pro di metà 2009, un Core 2 Duo a 2,66 GHz, fa girare applicazioni PowerPC con una velocità e reattività pari ad applicazioni Universal Binary o solo Intel. Ritengo quindi, per esclusione, che si tratti di una scelta ‘politica’ più che tecnica.

Io ho già inviato ad Apple il mio feedback di rito, e in fondo spero che da qui all’uscita ufficiale di Lion il destino di Rosetta possa cambiare; ma, come si suol dire, non trattengo il fiato.

The point of no return

Tech Life

My wife Carmen owns a 16 GB, first-generation iPod touch, and as you know it can’t be updated to iOS 4; the maximum firmware version supported is iOS 3.1.3.

The other day something quite annoying happened for the second time. There was an update available for one of the apps she has purchased and installed on her iPod. Along with other app updates, she downloaded it in iTunes. Then, as soon as she connected her iPod, iTunes performed the usual synchronisation process. When it was all over, she disconnected the iPod and went to use that app, which refused to open. After some attempts, we both figured out that the problem was that with the latest update, said app dropped support for iOS 3.x. Having now iOS 4 as a minimum requirement, it obviously can’t work on her iPod anymore.

That app cost her 3.99 Euros, but what really annoys me isn’t just a matter of money. I simply think there’s something wrong with this process.

One: iTunes should prevent installing app updates on unsupported devices, to avoid this kind of situation.[1]

Two: there should really be a solid failsafe procedure in case you install an app update that breaks backward compatibility. The trick of looking for the old .ipa file in the Trash and restoring it in iTunes may work, but it’s not an easy and reliable solution (case in point: she uses a PC and her Trash is set to automatically erase files that are moved into it). There should be some sort of Revert to Previous Version button or command.

Three: when an app update ceases to support iOS 3.x, developers should at least emphasise the change in the app description field in the App Store. This is really an instance in which I don’t mind READING A WARNING IN ALL CAPS. In this particular case, unfortunately, the developer’s website does not have updated information (it still says that the app requires iOS 3.1 or above), and the change in requirements wasn’t properly advertised.

Four: this is a general consideration, but another very welcome feature, in my opinion, should be the ability to manually turn off further update notifications for iOS apps. I have more than twenty apps that I chose to remove from my iPhone, and I’m not interested in downloading their updates for the time being, and at the same time I don’t want to remove them completely from iTunes either. Just a simple “Enable updates for this app” switch, turned on by default for all apps (the most reasonable setting), that I can turn off as I see fit.

It’s really a ‘point of no return’ situation. Carmen had to remove the app from her iPod touch, and won’t be able to use it again unless she upgrades the hardware, which is kind of ludicrous considering that her iPod touch still works perfectly (and lately looks even snappier than my iPhone 3G with iOS 4.2.1). If you’re going to comment something like She should have been more careful, please spare the advice. When there are more than 10 updates queued in iTunes people understandably just press “Update all”. A good interface design puts barriers in place to protect the users and avoid situations that inconvenience them, like this one.

 


 

  • 1. What’s puzzling is that sometimes iTunes does so: when I downloaded the free VLC Player app for iPhone, it refused to install it on my iPhone 3G. I had downloaded it without knowing that it wasn’t compatible with my hardware (it needed at least an iPhone 3GS if I remember correctly). So perhaps there is some kind of hardware check, but evidently not a firmware check before installing an update.

 

On modern productivity

Tech Life

An anecdote

Spring 1989, Senior high school, Technical drawing class. Usually we had two consecutive hours on Saturday mornings, but that Saturday both the Math and English language professors were indisposed, so the headmaster asked our Art History & Technical Drawing professor if she was willing to extend her class to four hours. She agreed, and most of my schoolmates were happy, because she was the nicest professor, and her classes were always interesting and fun to attend. Her plan for the unexpected prolonged morning with my class was to split us in five groups of five students each, and give each group drawing-related challenges. One group, for example, had to draw a complex composition, creating all the correct shades and shadows. Another had to choose an object, like a car or a train wagon, and draw it ‘technically’, trying to recreate the blueprints for it. My group was given the photo of a house, and we had to draw its site plan.

I was chipper and excited, both because of the assignment and because the other four in my group were the smartest of the class. When you’re among people you get on well with, people who are bright, intelligent interlocutors, you just know that you’re going to create something valuable, whatever the scope of the task. However, while I got to work at once on the photo of the house, taking measurements and attempting to obtain a reliable scale of the place to start drawing the site plan, my group fellows soon started discussing about the tools. L. remarked to P. how expensive-looking his set of Rotring rapidographs was, and P. started showing L. how the different pens worked, why he thought they were the best on the market, and some techniques to draw perfect lines without ink smudges or irregularities, then S. and C. — both very good at math — exchanged tips to perform a series of calculations with some time-saving shortcuts. It was a pleasure listening to them, believe me, but I was beginning to think that, to complete the task satisfactorily, it was time to, erm, actually get to work on it.

The professor must have read my mind, because she approached our drawing desk, and after listening to what was going on, she made a remark along these lines:

Loving the tools we use is a good thing, because you work better, but they should never steal too much focus from the task at hand.

In other words, learn to love your work/what you do more than the tools you use to get it done.

Read More

Mac App Store: qualche nota a margine

Mele e appunti

È passato più di un mese dal lancio del Mac App Store. Ero tentato di esprimere qualche opinione a caldo, ma ho preferito aspettare. Adesso eccomi qui, e devo dire che gli appunti presi durante la prima settimana di vita del Mac App Store non sono cambiati granché. Metto subito le mani avanti: non è un’analisi esauriente e approfondita, ma parziale e incompleta. Sono certo che ci vorrà ancora del tempo per poter valutare come si deve l’efficacia e la praticità dello Store, ma al momento le mie impressioni si trovano in quella parte dello spettro che sta fra il negativo e il non-interessato, e sono giocoforza influenzate da come io uso il Mac, da come io acquisto e installo i programmi — insomma, dalla mia esperienza.

1. Come molte delle azioni intraprese da Apple negli ultimi tempi, il Mac App Store è stato creato in primo luogo per venire incontro agli interessi di Apple e degli utenti; gli sviluppatori in questa lista arrivano terzi e ultimi. Che il Mac App Store avvantaggi Apple non credo sia necessario spiegarlo. Per l’utente finale è un’idea interessante: il processo di acquisto e installazione diventa un gioco da ragazzi in quanto è praticamente identico a quello delle applicazioni per gli iDispositivi; l’utente ha inoltre la garanzia di non installare nulla di sospetto o dannoso per il suo Mac (per vedere il proprio software pubblicato su Mac App Store occorre seguire linee guida piuttosto rigide, forse ancor più rigide rispetto all’App Store di iOS — e come avviene per la piattaforma iOS, anche qui i programmi sono sottoposti all’approvazione del gruppo di revisori di Apple); in più ho visto che alcuni software vengono venduti nel Mac App Store a prezzi più interessanti rispetto ai canali abituali. Le applicazioni di Apple, tanto per fare un esempio.

Agli sviluppatori tocca, al solito, rimboccarsi le maniche. Il primo dilemma, per loro, è decidere se entrare o meno nello Store. Beneficio: un canale di distribuzione installato su qualsiasi Mac aggiornato a Mac OS X 10.6.6, che permette al loro software di avere maggiore visibilità e raggiungere potenzialmente più utenti. Costo: una parte dei guadagni va ad Apple, e non è detto che il gioco valga la candela. Per gli sviluppatori che entrano con successo nello Store, e continuano al tempo stesso a vendere i loro prodotti attraverso il loro sito, c’è il problema degli aggiornamenti. Se l’utente possiede, per esempio, la versione 2.5 del Software XYZ, e Software XYZ viene venduto anche nel Mac App Store, quando si apre l’applicazione App Store sul Mac quel software risulterà “Installato”, ma quando uscirà la versione 3.0 del Software XYZ, l’utente non potrà aggiornare attraverso il Mac App Store. I percorsi di update viaggiano (per ora) su binari paralleli. L’applicazione acquistata fuori dallo Store si aggiornerà fuori dallo Store (o attraverso l’ormai popolare motore di auto-aggiornamento Sparkle, ossia quella finestrella che appare quando si lancia il programma e informa che “esiste una versione aggiornata del Software, vuoi scaricarla ora?”; oppure, in certi casi, tocca aggiornare manualmente andando al sito del produttore e scaricando l’aggiornamento); l’applicazione acquistata nel Mac App Store si aggiornerà attraverso il programma App Store, che segnalerà la presenza di eventuali aggiornamenti come avviene su iPhone e iPad.

Altro problema per gli sviluppatori, almeno per il momento, è l’impossibilità di offrire versioni dimostrative dentro il Mac App Store, così come di offrire prezzi scontati per gli aggiornamenti a pagamento quando un software viene aggiornato a una versione maggiore (esempio: di solito a chi acquista la versione 3 del Software XYZ non viene fatto pagare l’aggiornamento 3.0.1, o 3.1, o 3.5, ecc., ma il rilascio della versione 4 comporta un paid upgrade, che di solito ha un prezzo pieno per chi lo acquista per la prima volta, e un prezzo scontato per i clienti fedeli che arrivano da versioni precedenti).

2. Se quanto esposto al punto 1. suona macchinoso, beh, un po’ lo è. Ed è quel che mi ha fatto storcere il naso fin dall’inizio. La mia primissima reazione è stata: “Insomma, Apple ormai viene da un’esperienza quasi triennale con l’App Store per iOS — perché non aspettare qualche mese e fornire un Mac App Store con procedure ancor più semplici per tutti?”. Non nego che il meccanismo di acquisto con un clic e di installazione di un’applicazione, attraverso il Mac App Store, sia una pacchia per quegli utenti più inesperti, ma, diamine, appena il livello di esperienza sale di un poco, non si capisce perché uno debba ricorrere a un’applicazione esterna (App Store) per aggiornarne un’altra. A un software, App Store, che installa sempre e comunque tutto nella cartella Applicazioni e sempre e comunque tutto nel Dock. Sia chiaro: la cartella Applicazioni è da sempre il luogo caldamente consigliato ove tenere i programmi sul Mac, perché spostarli in altre cartelle può generare problemi (la suite iWork, per esempio, non viene vista da Aggiornamento Software se la si muove altrove o se si rinomina la cartella in cui risiede). Se sa quel che sta facendo, un utente può sempre spostare altrove le applicazioni che installa con Mac App Store, e può toglierle dal Dock se non vuole che appaiano lì. E ripeto, sono sicuro che il sistema di installazione attraverso il Mac App Store piacerà a molti. Per me (per me) semplifica le cose per un verso e le complica per un altro.

Un esempio recente: una settimana fa è uscita finalmente la versione 4 di Twitterrific per Mac. Su Mac App Store viene venduta a 7,99 Euro, e stavo per fare clic e comprarla subito, quando mi sono ricordato di avere regolare licenza della versione 3. Ho chiuso App Store, sono andato sul sito e ho visto che si poteva comprare la versione 4 a prezzo pieno — 9,95 dollari, cioè appunto circa 7,99 Euro — oppure era disponibile un prezzo ridotto per chi aggiornava dalla versione 3: 7,95 dollari (circa 5,90 Euro). Ho quindi acquistato Twitterrific direttamente dal sito, ho risparmiato 2 Euro, e ho la certezza che quanto ho pagato finisce interamente nelle tasche dei validi programmatori di Iconfactory, che se lo meritano. Ci ho guadagnato io, e ci hanno guadagnato loro. Si è trattato di soli 2 Euro, ma come sarebbe andata con software più costosi?

3. Conclusione provvisoria: Mac App Store mi appare ancora acerbo, e spero che gli sviluppatori continuino a mantenere un doppio canale di commercializzazione dei loro prodotti, anche se è più laborioso. Mi servirò del Mac App Store per ottenere quei programmi che vengono forniti solo ed esclusivamente nel Mac App Store, per il resto continuerò a comprare software e ad aggiornarlo al di fuori di Mac App Store, perché, per come utilizzo io il Mac, la ritengo la soluzione più comoda. Ben conscio che non è così per tutti. E di tanto in tanto aprirò l’applicazione App Store, per vedere che c’è di nuovo, un po’ come faccio con l’iTunes Store.

An unexpected search tool: AppZapper

Software

I am aware that it’s not the only software in its category, but when people ask me for suggestions about utilities for uninstalling applications, my recommendation has always been AppZapper. Not only because there’s still an older version of it that works under Mac OS X 10.4 Tiger, but also because, if you’re using Snow Leopard, AppZapper has a very interesting feature besides zapping your unwanted applications: a search tool menacingly called Hit List.

When opened, AppZapper’s primary interface is unassuming. Just drag the application you want to uninstall and it’ll be gone in a click.

But when you click on the switch on the upper right corner, you’ll be presented with the powerful, flexible Hit List feature.

I like the fact that it has Spotlight-like filters. You can begin to type the name of the application you’re searching for, or you can just ask AppZapper to show you, say, all applications that are bigger than 20 MB, not used in the Last Month, and have them sorted by Size. It’s really useful to have a glance at your usage patterns, in a way, because you might realise (as I did) that if you haven’t used certain programs for over 9 months, for instance, maybe they’re not that useful or essential to deserve space on your main hard drive. Yes, they might be old games you keep there for the occasional distraction (hey there Quake II), but also applications you downloaded on a whim, tried once or twice and forgot they were even there. That’s what happened to me, considering that when I bought my MacBook Pro I migrated a lot of old stuff from the 12-inch PowerBook G4.

Yes, I haven’t opened Automator in a year…

So yes, the primary function of this tool is to help you search and destroy a certain application and its whole ‘family’ of preference and library/support files, but I’m using it more and more often just to quickly find those files when I need to erase or modify them, without necessarily getting rid of a piece of software. I know where they’re located and could get to them via the Finder, but with AppZapper it’s a matter of a couple of clicks. Also, I can see at a glance whether there are related files (like caches) I may not be aware of. With AppZapper’s clean and efficient interface, it’s really a breeze.

For example, not too long ago, I was mildly annoyed by the fact that Tweetie kept showing outdated avatars of the people I followed. I used AppZapper to quickly reach Tweetie’s preference file, and thanks to its search tool I found out an interesting detail:

Things you discover during an investigation…

…which is the presence of two cache files (the ones with the clipboard icon), located in [my hard drive]/Users/[my Home folder]/Library/Caches. With a click on the small magnifying glass, I could instantly reach the two folders containing them, and delete the com.atebits.tweetie.profile-images folder, obviously after quitting Tweetie. I then reopened Tweetie and the avatar issue was solved (deleting the cache, the application was forced to re-download the most updated versions of the avatars).

It may be a silly example, but the point is that AppZapper is a fast search tool not only for a certain app’s location, but also for all its related files. How many times have you wanted to just get rid of a program’s preference file because the program was acting up, but you couldn’t find it in a timely fashion? If you’re like me, your Preferences folder inside your Home/Library folder contains thousands of files, and sometimes an application’s preference file name isn’t that easy to spot in a sea of com.xxx.yyy.plist files. Or maybe the file you need to manually edit or just examine isn’t even there but in one of the Application Support folders located in [hard drive]/Library/ or [hard drive]/Users/[username]/Library/. Or it’s a cache located in another place altogether. In these cases, I’ve found AppZapper to be the fastest search tool at hand. I’d love if Spotlight incorporated something like this, especially for reverse searches; that is: “Does the file com.mscape.iconographer.plist still have the application that originated it and other related files/caches, or not?”