| Comments

i saw over in the township of adam kinney that someone came up with a version of the sIFR concept.

for those who don't know, (scalable inman flash replacement) in simplest forms is a method for using css to annotate elements of text that you might want replaced with higher-quality/different/pick-your-word-of-choice typography.  it provided a method on sites to essentially say "hey if javascript is enabled and flash is installed, replace this plain text header with some whiz-bang custom font to make the user say ooooooooohhhh yea" or something like that.

filipe fortes, who apparently used to work on the wpf team himself, wrote a silverlight version of that methodology as a test of sorts i guess...turns out it looks pretty good.  he calls it sistr and is implemented by including one javascript file and a css class name.  looks like it is implemented using the downloader object in silverlight as well so it provides an "as needed" approach.

why should you care?  well, that's up to you.  but one thing sIFR solved (or attempts to) is those questions on accessibility with rich content.  since the text you are replacing is still there, it should present a more accessible site in the event you needed that (i.e., text readers, etc.).  of course ymmv on your particular implementation.

Sistr: Rich accessible typography in Silverlight

pretty cool.  the sample indicates that hyperlinks work, but i didn't see it working in the sample...maybe a slight bug, but great start nonetheless.

| Comments

while perusing the silverlight.net forums i found a question of "creating half circle in blend" and posted my answer (actually posted the xaml of my answer).

Manipulating Expressionrather than try to articulate it in text, which i started out doing and was failing in my own mind, i decided to do a quick screencast demonstrating what i did.  keep in mind i'm not a vector guy but did it the way i knew how.  i hope that someone can correct me with a super easier way of doing it, but until then i'm fine with my method :-).  essentially i used expression design to do most of the manipulation of creating the elements/images i would use in blend.  i think blend does well for some simple element tasks, but if you want to do some more complex things (not that this is a complex example, just making a point), you might be better served in design.  you can view this screencast by subscribing to my podcast feeds on the left area of my blog.

 

i hope this helps answer the question more visually of what i did.  any questions or methods of improvement are welcome in the comments.

| Comments

the expression team has made another drop of their blend tool.  the september preview of 'blend 2' is available on the site.  i installed it yesterday and it has some nice improvements for both client and silverlight development.  some better control over keyspline animations if you need them, more properties exposed on things you would have liked not to edit xaml on :-), etc.

have fun and get it!  you have to uninstall the august preview if you have it.  blend 1 (rtm) and blend 2 preview can run side-by-side (that's how i run them) fyi.

| Comments

in my previous sample i talked about creating custom expression encoder templates.  good times.  also jesse alluded to a something him and i have been working on with regard to what he calls "hyper video" and what i've previously referred to as 'timed overlays' in an example.

in going through both of these i found an issue that i forgot to write about (but a helpful commenter reminded me: thanks ernie!) with regard to using the expression encoder templates and asp.net ajax.

the problem

expression encoder uses a model of encapsulating silverlight and the media elements within an asp.net ajax control.  because they do that, they include the Microsoft AJAX client library (MicrosoftAjax.js) in the template output.  this poses a problem when you implement their code within an asp.net page that already has asp.net ajax in it! 

if you don't make any changes and have a ScriptManager in your code in addition to the template output, you'll see errors like Sys._application, yada yada.

the solution

the solution is two part.

first, you'll notice that in your expression encoder output you'll see the script reference to MicrosoftAjax.js.  if you are including a ScriptManager on your page for other ajax-ness, then you can remove this.  why? well because ScriptManager brings down the MicrosoftAjax.js file for you automatically (read: trust me, you don't need it).

second, you have to move your other javascript references from expression encoder to within the ScriptManager.  it will look something like this when completed:

<asp:ScriptManager id="sm" runat="server"> 
<Scripts>
<asp:ScriptReference Path="~/Silverlight.js" />
<asp:ScriptReference Path="~/BasePlayer.js" />
<asp:ScriptReference Path="~/PlayerStrings.js" />
<asp:ScriptReference Path="~/player.js" />
<asp:ScriptReference Path="~/StartPlayer.js" />
</Scripts>
</asp:ScriptManager>

this is only necessary if you have expression encoder template output as well as you are implementing asp.net ajax content on your page/application.

hope this helps.

| Comments

are you a student attending a US college?  here is the deal for you.  for a limited time you can get a copy of office 2007 ultimate for $60!  i don't normally post blog commercials this blatant but this is an amazing deal for college students in the US.  check out http://theultimatesteal.com for more details!