Silverlight Brass Tacks

Bill Reiss' Silverlight Ramblings
My upcoming Silverlight book for beginners Hello! Silverlight 2 with Dave Campbell, available online now!



Pages

Recent posts

Navigation

Archive

Blogroll

Tampa Divorce Lawyer

North of Tampa in Lutz, Florida. A Tampa Divorce Lawyer focusing on family, divorce, and real estate law.

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

Silverlight Sports Game Contest Results

The TeamZone Sports Silverlight Sports Game Contest is over, and the judges have weighed in. We had some great entries but could only pick 3, so here they are:

First Place: Hook Shot by Andy Beaulieu

Second Place: Ball Blocks by Matt Casto

Third Place: John Brummel University's Blunderbuss Olympics Vol. 1 by David Sushil

You can check out the winners and all of the entries here:

http://www.teamzonesports.com/silverlightgamecontest

Posted: Sep 30 2008, 04:35 by Bill Reiss | Comments (1) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Latest version of Silverlight Streaming helper classes and SLSExplorer

I wanted to do a bit more to this project before posting it, but there is so much going on right now I'm not sure when I'll have the time and I thought that it's pretty useful as it is, as a sample and also as an easy way to get Silverlight apps up to Silverlight Streaming. So here's the link:

http://www.bluerosegames.com/SilverlightBrassTacks/page/Silverlight-Streaming-API-Helper-Classes-and-SLSExplorer.aspx

Some new featured for this version:

  • Subfolders are now handled properly, which is critical for DeepZoom and other Silverlight apps with assets in subfolders.
  • Queueing of create and upload commands and a progress window for displaying the queue status. Also a sample of how to upload an entire Silverlight application including subfolders.
  • When uploading a Silverlight XAP file, the application manifest will be generated for you and uploaded to the proper location.
  • Directory listing calls have been switched to the PROPFIND method instead of GET to properly handle subfolders.

What it could still use:

  • Queueing of other command types
  • A way to view a file (probably by launching a browser window)
  • A way to easily launch the test page for a Silverlight app instead of going to the Silverlight Streaming Admin site.
  • Cleanup
  • Exception handling
Posted: Sep 30 2008, 03:01 by Bill Reiss | Comments (2) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Silverlight 2 release looking like October according to Mary-Jo Foley

Mary-Jo Foley reports that according to her sources, Silverlight 2 is planned to ship in early October, she actually says "the first week" of October:

http://blogs.zdnet.com/microsoft/?p=1611

I really can't see it being the first week of October since RC0 just went out and there seem to be some crashes and other pain points that I would hope the Silverlight team addresses before RTW. Microsoft has always said it will ship when it's ready so I hope they stick to that and not put it out there too soon.

Posted: Sep 29 2008, 06:10 by Bill Reiss | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Another place to get your Silverlight (or any other) questions answered

You probably already know about the forums at http://www.silverlight.net as a good place to get an answer to your Silverlight questions and it's a great resource. It also has hours of video tutorials and other helpful guides. A forum, however, may not always be the most efficient place to get an answer to a question.

There is a new (well new to me, anyway) site called Stack Overflow http://www.stackoverflow.com based on Wiki technology that allows you to ask your programming questions on pretty much any topic. You tag your question with the proper categories and other programmers answer them. There are some interesting capabilities the site has which make it different from asking a question on a forum.

  • Once you reach a certain reputation (fairly quickly if you're answering questions), you can bump up and down the answers to a question so that the most popular answers bubble to the top.
  • Once your reputation grows even more, you can edit questions and answers to improve them. You can also re-tag questions to be in the proper categories.
Posted: Sep 29 2008, 02:24 by Bill Reiss | Comments (1) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Silverlight 2 RC0 text rendering 'improved'?

There have been a lot of threads on the forums complaining about Silverlight's text rendering. Here are a few:

http://silverlight.net/forums/t/29581.aspx

http://silverlight.net/forums/t/10518.aspx

http://silverlight.net/forums/t/17062.aspx

http://silverlight.net/forums/t/22103.aspx

In RC0, the text rendering has changed. It looks a bit darker and a bit clearer at certain resolutions, but I have also seen complaints about not enough antialiasing now with RC0. Some of it probably has to do with how clear your monitor is. If you're on an LCD screen, you're probably going to see more jaggies. I was never one who really thought the text looked terrible, but I applaud the Silverlight team's efforts to try to improve text quality.

So my question is, if you're one of those who have been complaining about how crappy text looked in Beta 2, do you think that RC0 is an improvement?

Posted: Sep 27 2008, 07:25 by Bill Reiss | Comments (6) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Breaking change to font embedding for Silverlight 2 RC0

All fonts embedded in the XAP file must now of of type Resource.

You can then specify the FontFamily as simply the name of the font file followed by the font name, separated by the pound sign, like this:

<TextBlock Text="Testing..." FontFamily="impact.ttf#Impact" FontSize="40"/>

From what I understand this change was made to bring it in line with WPF and to make it so that the font file isn't loosely packaged in the XAP to protect the font file slightly more.

Posted: Sep 26 2008, 11:43 by Bill Reiss | Comments (1) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Updated to Silverlight RC0 and now it's broke?

A quick fix when updating apps to RC0...if all you get is the "Install Silverlight" button, make sure your object type in your page is changed to

application/x-silverlight-2

instead of

applicatiion/x-silverlight-2-b2

And of course whatever machine you're using for testing should be running Silverlight RC0.

Posted: Sep 26 2008, 01:58 by Bill Reiss | Comments (5) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Silverlight 2 RC0 now available!

Scott Guthrie has announced that Silverlight 2 Release Candidate 0 is now available for download:

http://weblogs.asp.net/scottgu/archive/2008/09/25/silverlight-2-release-candidate-now-available.aspx

Go here to download it and get started:

http://silverlight.net/GetStarted/sl2rc0.aspx

Some key points. You should not update your live Beta 2 sites to RC0. This is being made available so that you can start getting your apps ready for the RTW release (coming soon). It will be very difficult for an end user to find and install RC0 on purpose, it's a developer's build for you to use for testing.

There are some new default control skins (very welcome in my opinion), some new controls, ComboBox, ProgressBar, and PasswordBox, and some major improvements to the control skinning model. Of course there are also a lot of bug fixes. There are also some display improvements like elements snapping to whole pixels to reduce the blurring on the edges, and some other improvements that I'll touch on in later posts.

Posted: Sep 25 2008, 19:27 by Bill Reiss | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Skyfire browser for Windows Mobile now in open beta

I don't have a Windows Mobile phone, heck I don't even have a smart phone, but I've seen people playing with the Skyfire private beta and it's pretty cool. It gets around having to have Silverlight or Flash installed on the mobile device by doing what seems like a "remote desktop" type solution (Skyfire is coy about the actual technology and doesn't go into details about how it works). So the server assists in the rendering, and the support Silverlight 2 Beta 2 and Flash, so you could actually view the Olympics Silverlight site on your mobile phone.

Skyfire has now opened up a public beta (US residents only so far it seems). So if you have a Windows Mobile phone go get it!

http://www.skyfire.com/

Posted: Sep 24 2008, 08:12 by Bill Reiss | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

''I'm a PC'' on MSN

If you go to MSN now, you'll be hit over the head with the I'm a PC ads. I think it's a bit over the top, giving you a movie playing automatically and a ton of images around the border. You can turn these images off pretty easily, but it's a bit too in your face for me. What you may also notice is that the ads and the border are done with Flash. Why not Silverlight?

I have to say that I agree with this decision. For something like advertising, you want your message to get out to as many people as possible, and right now, the best way to do that is Flash. The ugly truth is that there just aren't as many computers with Silverlight installed, and that's not a secret.

However, if you click on one of the ads, you'll end up here: http://imapc.lifewithoutwalls.com/

This site is done mainly with Silverlight, and I think it's pretty nicely done. So Flash for maximum exposure, but once someone is interested in learning more, they will probably not have a problem installing Silverlight for that. I think it makes good business sense and is a good balance of using their own technology versus getting the most eyeballs on your message.

Posted: Sep 23 2008, 06:16 by Bill Reiss | Comments (2) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Dogs Photomosaic Deep Zoom

I was inspired by Rob Burke's LOLCat photomosaic here:

http://robburke.net/2008/08/08/fractlol/

and needed a good test case for my Silverlight Streaming API helper class, so I created a photomosaic of my own. I also wanted an excuse to show off my 10 year old daughter's photography ability. I started with an awesome photo she took of our puppy:

001

Then I pulled a few thousand photos of dogs from Flickr (individual photos are licensed to the original owner) and fed it through AndreaMosaic http://www.andreaplanet.com/andreamosaic/. There are also a couple of surprises in it if you can sniff them out, all 3 of our pets actually make a cameo in this photomosaic.

Then I ran it through Deep Zoom Composer and uploaded it with my SLSExplorer (more on that hopefully tomorrow). It took about an hour to upload the 8000 or so files and 200MB that made up the deep zoom image, so mission accomplished. From what I understand, this is much better performance than most people have seen who have tried other methods of getting their applications uploaded. Again, more about that later. Here is a screenshot of the result (click the screenshot to launch the actual app) :

 photomosaic

And a link to it here: http://silverlight.services.live.com/invoke/66997/dogs/iframe.html

Posted: Sep 22 2008, 18:02 by Bill Reiss | Comments (3) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Interesting PDC Topics

You can learn a lot by going through the session abstracts for a conference. Here are some of my favorites with a Silverlight focus from PDC 2008.

Microsoft Silverlight 2 for Mobile: Developing for Mobile Devices

Amit Chopra, David D'Souza

In this demo-filled session learn how to extend your existing Silverlight 2 applications to work on Windows Mobile and how to build rich mobile Silverlight apps that access device peripherals such as camera; GPS or WiFi or the radio stack for location; as well as mobile web services. We also talk about tooling enhancements in Microsoft Visual Studio that support Silverlight app development on Windows Mobile, what to consider when delivering eye-popping UI on mobile, and help you understand the key differences from developing Silverlight apps for the desktop.

Microsoft Silverlight Futures: Building Business Focused Applications

Jamie Cool

What if you could develop your solutions with the ease pioneered by Microsoft Office Access, deploy them like an Internet application, and take advantage of the power of Microsoft .NET? Learn about an exciting new technology that is all about making business applications for RIA (Rich Internet Applications) much easier to build. In this session, hear how we've made n-tier application development as simple as traditional 2-tier, provided application level solutions to developers, and how we're doing all of this with the same .NET platform and tools on both the client and server.

Developing Applications Using Data Services

Presenter: Mike Flasko

In the near future, applications will be developed using a combination of custom application code and online building block services, including data-centric services. In this session we discuss advancements in the Microsoft development platform and online service interfaces to enable seamless interaction with data services both on-premises (e.g., ADO.NET Data Services Framework over on-premises SQL Server) and in the cloud (e.g., SQL Server Data Services). Learn how you can leverage existing know-how related to LINQ (Language Integrated Query), data access APIs, data-binding, and more when building applications using online data.

Posted: Sep 21 2008, 17:17 by Bill Reiss | Comments (0) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

Troubleshooting Silverlight Data Access

One of the most common questions on the forums has to do with web services and getting them to execute properly. I have done a couple of posts on this, now Tim Heuer has put together a webcast on this topic that covers some great troubleshooting tips and a couple of things I wasn't aware of before I watched it.

You can see the webcast here:

http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032386657&EventCategory=5&culture=en-US&CountryCode=US

One of the key tips was similar to my earlier post about using Fiddler to see your web traffic and easily see any errors. The problem with Fiddler is that it doesn't automatically display traffic to localhost, you can make it do that but you need to jump through some major hoops. This is important for Silverlight troubleshooting since one of the most common problems is that when you move a Silverlight app to your web server, it's still trying to hit localhost.

A better option, as Tim points out, is Nikhil Kothari's Web Development Helper:

http://projects.nikhilk.net/WebDevHelper/

It's an IE plugin and is able to track traffic to localhost without any extra configuration, it sits at the bottom of IE and shows you all of your web requests, including web service calls:

wdhelper

For those of you who are not familiar with Nikhil, he's the brains behind Script#, an amazing project which lets you write C# code and compile it to javascript, he was a major player on ASP.NET AJAX, and also created the Web Matrix tool. Lately he's been blogging about some Silverlight topics, I highly recommend checking out his blog:

http://www.nikhilk.net/

Posted: Sep 20 2008, 04:55 by Bill Reiss | Comments (1) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

The best laid plans...and some cool text stuff

Well that didn't last long, trying to post once a day about Silverlight...I'll try to do a double post to make up for it later, but here's a little teaser to what took up too much of my time last night and I didn't get a post in.

http://www.bluerosegames.com/fontpathsampleweb/fontpathsampletestpage.aspx

Here's a screenshot:

textpath

For those of you familiar with text in Silverlight, there are a couple of things it's missing that people have asked for. One is that you can't specify a Stroke, and the other is that you can't draw along a curve or distort your text.

How this sample works is that the font data is scraped from the font file and the path data is stored in an XML file that gets included in your Silverlight project. It is then converted at run time based on the text string specified into a Path object. So right away, you now have the ability to specify both a Fill and a Stroke for the text.

Then I run the path data through a transform layer (this is optional), which takes each point in the Path and transforms it to some other point. In the sample, it's a polar transform where Y is converted to distance from the center, and X is converted to an angle.

By running the text through multiple transforms, you could do even more interesting effects. The goal is to easily allow you to extend the functionality by creating your own transforms and hopefully making them available for others to use.

So what I'm trying to do now is encapsulate the code in this sample into a reusable control with full XAML support for specifying properties and transforms so that you could use this without any code behind.

Once I get this a bit closer to where it needs to be, I'll  making the source code available either on this site or through CodePlex, probably CodePlex because I'd like others to be able to contribute.

I think it's pretty cool, hopefully it's interesting to you as well.

Posted: Sep 19 2008, 09:21 by Bill Reiss | Comments (10) RSS comment feed |
  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under:

RSS feed now provided by FeedBurner

If you're syndicating this feed (all two of you), please update the feed uri with the following:

http://feeds.feedburner.com/SilverlightBrassTacks

Posted: Sep 17 2008, 15:47 by Bill Reiss | Comments (1) RSS comment feed |
  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Filed under: