Silverlight and OS/X
I’m happy I got a Mac to have around while developing Quince.
Even if Silverlight is supposed to isolate you from browser-specific issues, we found that it’s quite important to have all the platforms you need to support available for testing.
When doing Silverlight development you will surely need to have some kind of interaction with the browser hosting the plugin. For Quince, the main areas of interaction were:
- the HTML Viewer control we use in the ‘View Pattern’ view
- the interaction with the browser’s history to support back/forward.
- supporting the mouse wheel for scrolling and for zooming in the Explore by Tag Relations view.
All of those features needed tweaking for Safari in OS/X, and for every other browser. But that was kind of expected.
What surprised us most was that we found the Silverlight performance in OS/X to be worse than the performance in Windows. We did not measure it, but we did not need to. In particular, in early versions of Quince, we forgot to stop some animations and the CPU consumption in OS/X was around 50% in OS/X and 8% in Windows.
We also had crashes or errors that only happened in a specific browser, including Safari in OS/X. We got runtime exceptions that only happen in one browser. In particular, Firefox looks to be the worse in that regard.
So, if you are doing Silverlight development, with the current state of the technology, you still need to test in all the browsers, and if your audience includes OS/X users, you need to have an OS/X machine around (perhaps a hackintosh could be enough …?). Perhaps this is not true for applications with simpler UIs, but it is the case for Quince.
Of course, if you were doing web pages with AJAX this would be much worse… It wouldn’t had been possible to build Quince with HTML+AJAX technologies.