Shine a Little [Silver]Light

by Michael S. Kaplan, published on 2008/10/16 11:31 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/10/16/9001396.aspx


Not a blog about VanVelzen, sorry to disappint any fans of his!

Just in case you have been too busy following the presidential race in the USA to notice, Microsoft did just release Silverlight 2.0.

Which is pretty cool in most respects.

One piece of the new version of Silverlight that I think is pretty cool that has not gotten a lot of public attention, I thought I'd talk about now.

Shawn Steele and Poornima Priyadarshini did a presentation at the recent Internationalization and Unicode conference entitled Globalization in Silverlight, which you can see the slides for if you go here on Shawn's blog.

Now if you download the slides and skip to slide 12 (when they started talking about globalization support) you'll see where the support is.

You will see something very interesting, I think! :-)

Remember almost a year ago in When yesterday's workaround becomes tomorrow's potential solution... where I talked about how the "WindowsOnly" culture, the one that does not rely on the .NET Framework's cache of data, can solve many of the interesting problems when .NET and its underlying host differ in results?

Well, Silverlight 2.0 takes the whole idea of "synthetic" globalization support to  whole new level, by simply not carting data around -- it relies completely on the host for the information....

As yet another cool bonus, the download got to be smaller because of this!

Now I don't want to be like mini and treat every example that seems to go in my direction as proof that I'm right -- Microsoft as a company is complex enough that on any given day one could probably find just as much to prove that the company agrees with me as that it does not. This is not mixed messages, it is just a huge number of people we're talking about!

But I am very happy about this direction, and in fact the only thing that is sadly weird about it would be the naming scheme given to the feature ("WindowsOnly") in light of the fact that it really is now not just Windows now. Luckily with all the data coming from the underlying platform that "appendix" is not something we have to pay too much attention to. :-)

I also loved the topic that started on slide 15 and continued for a lot of the rest of the deck, which mentions the differences between the OS X  view on a lot of these matters -- more examples were given in the talk and explaining how Silverlight worked to wrap things in a way to properly balance these two (not always consistent) viewpoints of the world I so frequently occupy. When it was going on I was one of several who was consulted about specific decisions and plans, and the issues were often fascinating.

I'd love to see a presentation that talked about nothing else, as this is a fascinating area. Maybe I'll cover a few of these issues here, under the premise that talk about the stuff I find interesting. :-)

And of course slide 19, which talks about sorting differences, will get my special attention. :-)

Here it is:

I like the principle behind this example myself, because it does show very directly how results coming from these two completely different operating systems might tend to vary.

Though I probably would have been happier if actual code points were also included, and maybe also the code used to return the results.

Looking at the strings themselves, the font did not give me the hints to understand where all of them came from.

I mean, clearly we have some hiragana and some katakana and some kanji and some mixes thereof, and people who don't know Japanese could get a little lost trying to understand the basis for the differences (and even people who know Japanese could have trouble here -- this just makes us all look random, right? <grin implied>).

To be honest, that is actually just me nit-picking about my favorite topic, I doubt most people would care about those kinds of details -- and that presentation would not have been effective had they dug in that way s it would have failed as an overview. Maybe I'll jump in there some time soon a there are some really interesting details here, too.

But anyway, take a look at the presentation as it does highlight the way globalization support happens there.

Sometime soon I'll talk about the next big question that is likely to be on many people's minds after they look at the slides. :-)

 

This blog brought to you by サチコ (U+30b5 U+30c1 U+30b3, aka KATAKANA LETTER SA, TI, and KO)


# jmdesp on 18 Oct 2008 9:07 AM:

So the only difference truly is that Vista classifie Katakana before Hiragana, and Mac S X after ?

I just checked my 新明解 dictionnary and it sorts クリンチ  before くりん, so Vista sems to be the one that's right.

But I'm really wondering about the 幸子 case included. 

Is the software smart enough to guess this is read Sachiko ? Because the enamdict dictionnary tells me this can be read Sachiko, Yukiko, Kouko, Koushi, Kazuko, Keiko, Kouji,  Sakiko, Takako, Toshiko, Tomoko, Miyukiko, Yuiko and Yukko. So it's an impossible task to guess the right one for for sorting, and all you can do is always sort kanji after hiragana and katakana.

# Mihai on 20 Oct 2008 12:41 PM:

If you dig a bit more in the Mac OS X APIs you will discover even more interesting problems.

For instance there is no way to compare two strings with a specified locale before version 10.5 (this is when Apple added CFStringCompareWithOptionsAndLocale).

And even in 10.5, you cannot query the system for the sorting locale specified by the user in System Preferences - International.

One of the main problems I have with Mac OS X in general: the APIs seem patched together, not designed with some real use case in mind.

But hey, what do I know? Maybe that's just me, and real Mac developers are happy as it is...


referenced by

2010/02/24 I have not, generally speaking, been a "flasher" (for the last few years at least!)

2008/10/24 Silverlight as Esau: selling its implementation for a pot of interface

go to newer or older post, or back to index or month or day