Archive for December, 2008

What you need to develop Silverlight for FREE

December 16th, 2008

#1 Visual Studio Express 2008 with SP1
You can download an ISO with all the express editions or just the Web Developer edition. The only one you need is Visual Studio Web Developer 2008 SP1.

If you don’t have SP1 for Visual Studio 2008, get it here:

#2 Silverlight Tools for Visual Studio 2008 SP1

Download the tools for developing applications of awesomeness here:
If you want some offline documentation, you can download that here:

Optional: Expression Blend 2 Trial

This isn’t a requirement but it will give you a good place to start if you’ve never played with XAML. Download it here:
and don’t forget Blend SP1
or Expression Studio 2 Trial here:

Optional: Deep Zoom composer

Needed if you want to develop deep zoom applications:

Optional: Silverlight Toolkit from Codeplex

Nice set of components from the community for you to use or extend in your Sliverlight applications. Download it here:

Other Options

If you want to go hardcore, check out this article on developing Silverlight applications in Eclipse:

If you use Blender, the free open source 3D content creation suite, you might want to check out this XAML exporter. Not that it will fully work for Silverlight (it’s really for WPF). But it’s still pretty cool:

That’s it! Go forth and develop!

Don’t forget to check out for videos, blogs, and forums. More resources:

Silverlight , , , ,

Using LINQ to process RegEx matches

December 12th, 2008

Today I used LINQ to help implement a cleaner solution to a problem I was trying to solve. It’s really just some syntactic sugar and a chance to use a buzzword (LINQ).

My simple data class:

?Download download.txt
public class ReturnRecord
    public String FieldKey;
    public String FieldValue;

Basically, I needed to return an array with the key/value pairs found in a text document (of type ReturnRecord[]). RegEx was my obvious choice for parsing the text and finding the key value pairs. The keys and values will be decorated with #’s in the document.
Sample text:

?Download download.txt
String text = "Blah blah #key#value# blah blah.";

Here is my RegEx setup:

?Download download.txt
Regex regex = new Regex("#(.+?)#(.+?)#");
MatchCollection keyvalues = regex.Matches(text);

Now I can use a nifty LINQ query to create the array for me without having to write the usual for-loop plumbing. As you can see, LINQ creates the objects and initializes them for me in a single query.

?Download download.txt
List<returnrow> results;
if (keyvalues.Count > 0)
results = (from Match m in keyvalues
select new ReturnRow
   { FieldKey = m.Groups[1].Value, 
     FieldValue = m.Groups[2].Value }

All that’s left is to return

?Download download.txt

and I’m done. It’s that much less for me to maintain.

MSDN has some examples as well or, check out this post

.NET , ,

Driving Silverlight adoption

December 6th, 2008

What will drive Silverlight to widespread adoption?

Content, content, and more content.

That’s it. People need a reason to install the Sliverlight plugin. Entertainment is a great motivator. Videos, games, and interactive content.

Flash is the most popular video player on the web. Interactive web games are primarily made in Flash. Silverlight needs to make some inroads into the web entertainment market.

Or, they could just cheat and include it on Windows Update and ship it with every product they make.