Tuesday, August 28, 2007

GOA - What is GOA WinForms? - System.Windows.Forms for Adobe Flash and Microsoft Silverlight

Impressive set of Windows Forms controls for Silverlight, currently under development. 

What is GOA WinForms?

GOA WinForms is an implementation of the standard System.Windows.Form .NET library for both Adobe Flash and Microsoft Silverlight. It allows .NET developers to write standard WinForms applications that will run on these two RIA platforms.

GOA - What is GOA WinForms? - System.Windows.Forms for Adobe Flash and Microsoft Silverlight

Monday, August 27, 2007

IIS configuration instructions for hosting the 1.1 Quickstart samples - Silverlight

The documentation I found for configuring IIS with Silverlight doesn't seem to work in my case. After creating the Devsamples virtual directory and creating the Mime types below, I received a type error in the web config.  This was resolved by deleting the devsamples directory and specifying the directory name as Quickstarts instead.  I also had to set the ASP.NET extensions to 2.0.



XAML file

IronPython file

Managed Jscript file

.NET Symbols file

IIS configuration instructions for hosting the 1.1 Quickstart samples - Silverlight

Silverlight presentation material - Laurent Duveau


Recently I was looking for Silverlight powerpoint to download in order to give a presentation in my company. Here are some nice content I found :

Scott Guthrie (obviously) did some talks during the year and is kind enough to share his slides :



Tim Sneath provides 2 great presentations, one for Silverlight 1.0 and the other for Silverlight 1.1 :


Silverlight presentation material - Laurent Duveau

Silverlight 1.1 (Alpha) cross domain webservice access makes mashups tricky - Jon Galloway



Any web mashups, by definition, require cross-domain calls. Those cross-domain calls may happen on the client (in the browser) or on the server. Regardless of the client technology (AJAX, Flash, Silverlight, etc.), cross domain calls on the client are always more complex that server-side cross-domain calls, and for good reason. It's tricky in AJAX, and it's downright difficult in Silverlight. You'll know that Silverlight development has become more widespread when you hear a lot more complaints about this problem.

I previously wrote about using a static port to eliminate this problem when you're calling back to your own server but Silverlight is detecting a cross-domain call. That's caused by the ASP.NET Development Server running the different projects on different ports (e.g. website on localhost:1234 and webservice on localhost:5678), and you can work around it by just putting the website and webservice in one project with a static port. However, there are plenty of times when you'll want to make a cross-domain call, so we've got to get this figured out.

While helping Rob Conery work through some problems connecting to Amazon Web Services this past week, I wrote up some notes on the issue.

Jon Galloway

Wednesday, August 22, 2007


More than just your average Silverlight app... but you need .NET 3.5 - Silverlight's big brother. 

Xaml Browser Applications are WPF applications that run in the browser on Windows XP, Windows Server 2003, or Windows Vista.  With .Net 3.0, they could run in IE only.  With .Net 3.5 (beta2 shipped in July 2007), it can also run in Firefox on Windows.

Source: XBAPs

Blogs - Silverlight Rocks!


Welcome to Silverlight Games 101

On April 30, 2007, Microsoft announced Silverlight 1.1 which I feel will change web development forever. Silverlight 1.1 allows developers to create rich cross-browser and cross-platform web applications using managed code such as C#. This blog will focus...

Source: Blogs - Silverlight Rocks!

Jesse Liberty - Silverlight Geek


Question: What is in Silverlight.js? (really)

Question: Where is the magic?  Answer: The plug-in.

 First, what is in Silverlight.js.  That one is easy; you can open it up; it is a text file. You'll notice that it is not easy to read. Conspiracy theorists will posit that this is to discourage you from deconstructing it, but let's face it; we could have made it a lot harder. Nope, it is the way it is to make it incredibly efficient for the browser. If you want to deconstruct, it is painfully easy; put it in word, do a search and replace replacing semicolon with semicolon/newline, and then replace variable names like a and b with something more meaningful.

What you find, no surprise, is that one of the main jobs of Silverlight.js is to (a) see if you have the right plug-in on your machine and if not offer you the opportunity to download it and (b) set the code so that the plug in for your OS and browser is used.  Nothing very special and you can safely ignore this file once you've satisfied your curiosity.

The one thing to remember is that if you build your application and test it and it asks you to download the plug-in, the first thing to check is whether you have the right version of Silverlight.js. Remember, also, that (at least for now), Silverlight 1.0 is self-updating but Silverlight 1.1 is not.

The second question is about the plug-in. When you are developing an application you do not see the plug-in. It does not show up in your list of files in your project. While you cannot step into the plug-in's code, you can double click on the plug-in (e.g., in the handleLoad function) and drag it into the watch window, where you can easily see its methods, events and properties. It makes for fascinating reading and a good adjunct to the Silverlight help files.

Source: Jesse Liberty - Silverlight Geek

tafiti - Silverlight live search

Silverlight tafiti is a graphical search based on Windows Live! Search, displaying results on a clipboard, and allowing drag and drop to glass folders.

Click on the tree for some more visualization, similar to the old SiteServer web navigation tree.

Monday, August 20, 2007

Malaysia Florist, KL Florist, Ipoh Florist, Penang Florist - Flower Deliveries

One of the first storefronts to adopt Silverlight technology, with a Shopping Cart feature. 

Malaysia Florist, KL Florist, Ipoh Florist, Penang Florist - Flower Deliveries

Stepping back - SOA vs. REST-fulness

 This weekend I had limited success with getting a GridView in c# to data bind to Astoria.  The piece that really got me stuck was the authentication (it's BASIC!) and I still can't figure out how to get back in to edit the EDM, or how to bind the xml to a dataset.

Of course, I'm probably doing it the hard way since I haven't looked at the Astoria for Silverlight tools for Orcas yet.  RTFM I guess....

In the meantime, I managed to get some photos and videos from my China trip into the Microsoft Silverlight Surface demo, with impressive results.

Since I'm studying for my next BI exam, and building a lunch & learn presentation, I'm really going deep into the technology behind all these components.  One technology that seems to be taking over the world faster than a Facebook app is REST & the concept of Service Oriented Architectures.

If SOA is about "services" and REST is about "resources", aren't they fundamentally different things?

I also often hear the REST proponents claim that SOA is not really an architecture because it does not define specific architectural constraints.

But that's because SOA and REST operate at different levels in the architectural spectrum.

  • SOA is an enterprise architectural style that focuses on understanding what services the business needs, rationalizing those services into capabilities, and deciding what software should be implemented to support those capabilities. But it stops at the point of specifying how to go about implementing a capability. It does suggest that the approach taken when implementing the capability should support concepts like loose coupling, interoperability, flexibility, reusability, and evolvability. 
  • REST is a software architectural style that can be used to implement those capabilities. If you abide by the constraints defined by the style, your resulting systems should benefit from a number of desirable qualities, such as simplicity, scalability, performance, interoperability, and evolvability.

It should be clear that SOA and REST are complementary.

Astoria is a good example of REST at work.  Popfly + Astoria + Windows Live Data + Multipoint + Silverlight should make for some interesting mashups.

For now though, I really miss Enterprise App Blocks for Data & a simple select stored proc.

Application Platform Strategies Blog

Sunday, August 19, 2007

Silverlight Examples - Michael's Blog


Silverlight Examples

Posted Monday, June 04, 2007 10:29 AM by interactive

During the weekend I spent some minutes to collect some of the greatest Silverlight examples. Most of them need the Silverlight 1.1 alpha runtime which is available for download here.

If you are missing any great demo or article please use the comments or contact page to add it.

  1. Great Visual Studio QuickStarts for Silverlight 1.0/1.1 New!
  2. Silverlight Ink Experiments New!
  3. Convert Text to Path New!
  4. HTML DOM Interop with Silverlight New!
  5. Drag and Drop in Silverlight 1.0 New!
  6. Game of Life in Silverlight and F# New!
  7. Virtual Earth and Silverlight New!
  8. Smalltalk based on Silverlight/DLR New!
  9. Silverlight and Google Gears New!
  10. Creating A Data-driven Control New!
  11. 3D in Silverlight 1.1 Alpha
  12. RadControls for Silverlight by Telerik
  13. Silverlight 1.1 2D Physics with Source Code
  14. Lutz's Digger, Monotone and Inplay; see also .NET Reflector Plugin for Silverlight
  15. DLR Console
  16. Silverlight Chess (JavaScript vs. C#)
  17. SWF2XAML: A Slightly better Flash to XAML Conversion
  18. Scott Guthrie's blog posts tagged with Silverlight
  19. Silverlight Toolbar
  20. Use File Open Dialog with Silverlight
  21. Microsoft PopFly
  22. Microsoft Silverlight 1.1 Alpha Developer Reference Poster
  23. How-to videos
  24. Silverlight Surface Demo (with simple video support)
  25. Silverlight XPS Viewer
  26. Miguel de Icaza about Silverlight, DLR and OpenSource
  27. Eyeblaster Rich Media Silverlight AD
  28. SilverNibbles - Converting a Windows Forms Game to Silverlight
  29. Silverlight Controls and LINQ
  30. Silverlight Games 101 (Silverlight Rocks!)
  31. DLR & IconPython at Codeplex
  32. Silverlight Pad
  33. Video support with Silverlight Fox Example
  34. AOL Social Mail Gadget
  35. Silverlight Screencasts (more than 20 videos!!)
  36. Silverlight Disco Dance Floor
  37. Silverlights Out 2.0 and older version 1.1
  38. Silverlight GardientBrush Demo
  39. Silverlight and the Compact Framework (Mix 07 demo video)
  40. Dr. Popper Silverlight Edition
  41. Bryant's Silverlight Examples
  42. Asteroids Clone
  43. Binary Clock
  44. Silverlight Scribbler
  45. Silverlight and Security (.NET Security Blog)
  46. Keyboard Input
  47. Silverlight Glass Button (from WPF Glass demo)
  48. Silverlight 1.1 Layout System and Controls Framework
  49. Full Screen Mode with Silverlight
  50. Early version of Snoop for Silverlight
  51. New York Times Reader in Silverlight (video)
  52. The basics of a Silverlight Control
  53. Convert SWF to WPF and Silverlight
  54. Test with Silverlight/CoreCLR (TestDriven.NET)
  55. Fantasy Baseball
  56. Using Playlists in Silverlight
  57. Silverlight Pad to Test XAML Content
  58. Animation Using Keyframes and Splines
  59. Handling Runtime Error Messages in IE and Mozilla
  60. Downloading Fonts Using the Downloader Object
  61. Converting a WPF/E Application to a Silverlight Scripting Application
  62. VB on Silverlight
  63. Great Silverlight Introduction for JavaScript Developers
  64. Silverlight C# 3.0 Features

Blogs about Silverlight (unsorted order)

  1. Scott Guthrie
  2. Jim Hugunin
  3. Mike Harsh
  4. Brad Abrams
  5. SqlXml Blogs tagged with Silverlight
  6. Tim Sneath
  7. Wyn Apse
  8. Bryant Likes
  9. Lutz Roeder
  10. Ernie Booth
  11. Web.Next
  12. Chad Campbell (.NET 3.0 Cornucopia)
  13. Shawn Wildermuth
  14. theWPFblog
  15. David Anson
  16. Jeff Prosise
  17. IronPython
  18. Barak's Blog
  19. Windows Vista blog tagged with Silverlight
  20. My own blog ;)
  21. ExplosiveDog
  22. Ashish Shetty
  23. Public Sector Developer
  24. Nick Kramer
  25. Robert Unoki
  26. MVPs posts
  27. Jesse Ezell Blog
  28. Decintelligence
  29. Alexander Strauss
  30. BCL Team Blog
  31. John Lam
  32. Andrew's Silverlight Blog
  33. Danny Thorpe
  34. Adventures with WPF
  35. Google Group about Silverlight

Updated: 5./7. June 07

Silverlight Examples - Michael's Blog

Silverlight "Surface" Demonstration

Great demo of a sample Surface interface built using Microsoft Silverlight. 

Silverlight "Surface" Demonstration

Breaking Silverlight changes

 Looks like I need to update my blog logo...

The 1.1 Refresh's breaking changes from the 1.1 Alpha build we've all been using before today are documented in the SDK. The migration of the these samples was pretty simple and required very little code change. For the benefit of others migrating Silverlight apps, here are the specific incompatibilities I encountered along with the fix for each:

  • Silverlight.js content updated and namespace changed from Sys.Silverlight to Silverlight - use new version of Silverlight.js, change CreateSilverlight.js to use the new namespace, and specify version "1.1" in the call to createObject(Ex)
  • Downloader.Open API changed to remove third parameter ("async") because all downloads are now asynchronous - change call sites to pass only two parameters since they were already passing true for async
  • Assignment of DoubleAnimation to new Storyboard's Children property now throws an exception - use a Control class and InitializeFromXaml to load the Storyboard and Animation from a XAML resource
  • Visibility enum no longer contains .Hidden value - use .Collapsed instead
  • OnResize is now function pointer-based instead of string-based - pass function pointer instead

Delay's Blog

Saturday, August 18, 2007

Astoria and Jasper

Astoria and Jasper are two projects to follow for building data driven applications of the future. 

ADO.NET blog announced that two projects has been set up inside Microsoft recently - both revealed at MIX 07.

First one has codename "Astoria" and it's goal is

to enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON.

The first early release of Astoria will be a Community Tech Preview that you can download, as well as an experimental online service you can access over the internet.

Check out the Astoria webpage at http://astoria.mslivelabs.com for more information and a link to the download.

Second one is called "Jasper" and aim at faciliating data-driven development. Developing data-driven applications could be tedios taks as developers have to spend a lot of time developing supporting infrastructure and Data Access Layer insead of focusing on real business problem. There are many O/R Mapping tools that reduce ammount of work by offering DB-classes mapping along with code generation. I personally though MS try to catch up with LINQ to SQL ( a.k.a DLINQ) and Entity Model in Visual Studio Orcas... but it sounds like they aim higher and use Entity Model for:

    • Dynamic generation of data classes so there is no configuration or design time code-gen to carry around.
    • Rich query and O/R capabilities because “Jasper” is built on top of the Entity Framework.
    • Auto-binding capabilities for ASP.NET, WinForms, and WPF to make binding data to a UI simple and automatic.

Learn more about “Jasper” on the MSDN Data Access Incubation Projects site

Galin Iliev [Galcho] Blog! - SQL

Brad Abrams : Silverlight Hosting


Silverlight Hosting

I just noticed what I believe to be the first 3rd party commercial hoster of Silverlight content. 

http://www.discountasp.net/ is adverting support for Silverlight hosting...  

These even have a few cool demos up there showing Silverlight 1.0 and 1.1!


Source: Brad Abrams : Silverlight Hosting

Thursday, August 16, 2007

Silver Lighting - My Silverlight Blog

The WPF/E has expired.
The WPF/E installed on your system is no longer valid. Please go to "http://go.microsoft.com/fwlink/?LinkID=81210&clcid=0x409e" for the latest version.

Hmmm... why do they have to put up a nasty error message without a usable hyperlink because of an expired WPF/E?  There has got to be a better way.... how about email, a web page redirect, or just show the 'get silverlight' banner again?


Link to Silver Lighting - My Silverlight Blog

Has http://astoria.mslivelabs.com moved? - MSDN Forums

Apparently some Rogers customers (me included) can't access the astoria site. 

As an interim measure, the following hosts file entry works for me: astoria.mslivelabs.com

Source: Has http://astoria.mslivelabs.com moved? - MSDN Forums

Tuesday, August 14, 2007

Project Astoria Team Blog : Create your own hosted Astoria Data Service

So Silverlight Streaming + Astoria Hosting = Data Binding niceness! 

In order to create an Astoria data service all you need is a Microsoft Passport account.  To create a service simply navigate to the ‘Online Service’ page on http://astoria.mslivelabs.com , signin to your passport account and follow the directions on the website.  The site will walk you throw a 4 step process to design, create and assign credentials to your data service.  If the creation process succeeds, you will be given a URL to your new data service.  At this point, you can interact with the service using HTTP requests as described in detail in the document, ‘Using Microsoft Astoria’.  

Source: Project Astoria Team Blog : Create your own hosted Astoria Data Service

Microsoft Project Codename "Astoria"

More on the data binding tool that can be used with Silverlight. 

The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON.

Source: Microsoft Project Codename "Astoria"

Project SilverLight 1.1 SilverTunes

 Liquid boy is recreating iTunes in Silverlight.

Come with me on my journey of discovery of the new SilverLight technology.

I’ll be learning by doing. I’ll create a full blown SilverLight application from ground up and share every step of the journey with you.

Everything i learn i will post right here in my blog and i’ll file it under the category “Project SilverLight 1.1″

The “End Goal” of this project is to recreate iTunes as a silverlight / ajax.asp.net application

Source: Project SilverLight 1.1 « Online Advertising, Web Development & General Rantings

Silverlight VS Flex | blueMango blogs

The table below didn't translate properly, so take a look at the link if you want to see the full version.

Not sure what the better tool is yet, though Silverlight releases have been known to break old apps, so perhaps it's wise to wait until v2. before betting the farm on it...

Flex vs. Silverlight

Flex is available today and works.
Its still an Alpha

Flex 2 is viewable in 85+% of web browsers, Flex 2 SWF files run in Flash Player 9.
Silverlight will apparently run in Firefox, Safari, and IE on OS X, Windows, and Linux

You can use any HTTP Server and any back-end technology (.NET,JAVA,PHP,Ruby,CF, Python) with Flex via XML, SOAP, Sockets, ZLIB, Etc. 
Silverlight does not require any back-end technology. One can double-click the HTML file on OS X and it works.

Flex 2 has a mature and growing component set. There are lots of developers creating open source components for Flex and the source code for all components is available today in the Flex SDK. See: Flexbox, FlexLib, FlexComponents for details.
Silverlight is new hence poor community support as of now.

Real-time data push with Binary Sockets using any TCP/IP Socket server. FTP/NNTP/SVN/POP/XMPP  Example: http://webmessenger.yahoo.com

If you develop using Flex or AJAX you can port your app to the desktop using Apollo. Apollo allows you to build desktop applications for WIN/LIN/OSX deployed as a single .AIR file cross-platform. One toolset for Web RIA and Desktop RIA development.

Flex has gone fully open source Mozilla Public License. All compilers and framework will be available for extension and embedding within the Flex 3 SDK. 

Flex requires ActionScript
Silverlight supports VB, C#, JScript, Python, Ruby, and any other .NET language

Source: Silverlight VS Flex | blueMango blogs

Data binding with Silverlight? Part 3.

My next attempt at data binding with Silverlight will try out the new Silverlight Alpha bits, the new refresh of Expression Blend, and Astoria, a client library to get access to web service data from Silverlight. 

Hopefully it works out better than the last one!

Brief Description

This add-on enables the Astoria client library to run inside Microsoft Silverlight applications

Source: Download details: Microsoft Codename "Astoria" Add on to May 2007 CTP

meraTechPort: Silverlight Streaming in almost any Web Page

Looks like MS liked my idea of not having to add javascript into the page to get Silverlight going. :)

You use "iFrame" tag to embed Silverlight applications on the sites that do not allow you to add JavaScript, provided they support iFrames.

Source: meraTechPort: Silverlight Streaming in almost any Web Page

I guess I'm going to have to fire up the Facebook API and give it a try.