Silverlight is suppported on the Mac as you may well know, but not on the PPC-based versions. Occasionally we get questions from folks who have Intel-based Macs, but who cannot install Silverlight, getting an error indicating that their browser/OS isnt’supported.
So, for example, with the NBC Olympics site, you may see something like this:
In this case, for the Olympics, a really nice script was written to Maximise the UX of the application. I’m working on a white paper that will help you build one of these for your site, so that you don’t just get the default Silverlight install ‘badge’. The aim of this script is to guide you through installation, set your expectations, and instruct you when and whether to restart/refresh your browser etc.
install badge. This takes you to a Microsoft site where a server script sniffs your browser headers and directs you to the appropriate download. In this case, the Mac has sent it headers indicating that you are using a Power PC.
The issue here isn’t that the Mac isn’t supported, or that you have a PPC when you thought you had an Intel, or that MS have bad detection scripts ( ) but that the browser has been set to PPC emulation mode (aka ‘Rosetta’ mode).
To do this, open Finder, and select your ‘Applications’ in ‘Places’. Find the application (Safari or FireFox), right click and select ‘Get Info’. You’ll be taken to a screen that looks like the one below.
(Note to Mac OS X developers – would it not make sense to be able to do this from the spotlight bar? Right now this is a User-Hostile Experience don’t you think? 😉 )
If your Browser has the ‘Open Using Rosetta’ checkbox checked (it is unchecked in this screen grab), you will experience the broken behavior.
So, in order to make sure that Silverlight 2 works in your browser on your Mac, please make sure that you have the ‘Open Using Rosetta’ checkbox unchecked.
My question to the blogosphere is, does anybody know why the ‘Open Using Rosetta’ would be checked if not by user action? Are there any applications out there that would automatically or programatically set it?