Silverlight Zone: News Archive - #3 - 4th January 2011

Here is the 3rd news archive of Silverlight Zone. We have 14 new posts in this issue. Subscribe to the news feed and email digest to deliver it to your inbox. Also, follow us on Twitter @SilverlightZone for regular news tweet delivered to your twitter account. Find all the Silverlight related article links in this post.
Today's Posts in Silverlight-Zone:

  • Windows Phone 7 vs Windows Phone 7 - by indy8
  • Using Sterling in Windows Phone 7 Applications - by Jeremy Likness
  • Sterling Object-Oriented Database for Silverlight and Windows Phone 7
  • PRISM 4 Custom Transitioning Region - by Sacha Barber
  • Silverlight: Fixing the BookShelf Sample - by Mister Goodcat
  • A better way to organize your Silverlight Code Snippets.
  • XAML Man - by Meshack Musundi
  • Dynamic Tile Push Notification for Windows Phone 7 - by Jason Zander
  • Displaying Data in Expression Blend
  • Examples of WP7 Marketplace Certification Failures - by Roger Peters
  • WP7 and Self-Signed SSL Certificates - by David Hardin
  • Customize an Expression Encoder template for Silverlight
  • Multitouch Part 4: Multitouch in Silverlight - by Jennifer Marsman
  • Ribbon Quick Start Guide - by DevComponents DotNetBar for Silverlight
Posted: 04 Jan 2011 08:41 AM PST
Here is something i made last week in photoshop comparing the specs of all the different Windows phones. It might be the nerdyest thing I've done in a while. I was putting in the dimensions of the Dell Venue Pro and HCT HD7 into photoshop to see which phone was wider and then just ended up doing all of them! i just got carried away…

but I figured somebody might find it useful to have a visual comparison for a change rather than having to look at all the numbers and dimensions and then going between 10 different web pages all at the same time.
Posted: 04 Jan 2011 08:44 AM PST
Sterling is an object-oriented database that I created to facilitate ease of serialization of data in both Silverlight 4 (soon 5) and Windows Phone 7 projects. Sterling was designed with a few goals in mind. It is not a true relational database and not intended to replace one. I'm confident certain offerings such as SQLite or even a trimmed down version of SQL Server will make their way to the phone eventually, backed by experienced teams and highly optimized code.

Instead, I set out with a few fundamental goals:
  • Keep it as lightweight as possible — no one wants to add a huge DLL just to facilitate some functionality
  • Keep it extensible and flexible to address as many needs as possible
  • Take advantage of LINQ to Objects to provide keys and indexes for ultra-fast querying of data and lazy-deserialization from isolated storage
  • Keep it non-intrusive — users should not have to modify their existing types to use the database system, such as inheriting from a base class
Posted: 04 Jan 2011 08:37 AM PST
Sterling is designed to be a fast and easy to use local object-oriented database for Silverlight and Windows Phone 7. This page will help you get started with Sterling and handle indexes, keys, and custom types for serialization and deserialization to isolated storage within your projects.

If you would like a Quick Start/info for Windows Phone 7, visit the Windows Phone 7 page.
Posted: 04 Jan 2011 08:36 AM PST
Over the XMAS break I had a chance to look into something I wanted to look at, which is cool.

The thing I wanted to look at was to try and see if the new Composite WPF/SL (PRISM) code, which is now using MEF (Managed Extensibility Framework) would work well with Cinch V2.

Great news is works just fine, and I will be writing up a codeproject article for that real soon, but as part of that codebase, I also wrote a custom PRISM region adaptor that uses a TransitionalElement from the fabolous Microsoft Transitionals project.

For those of you that not heard of Transitionals, it is a set of WPF transitions that you can use to go from one bit of content to another bit of content.
Posted: 04 Jan 2011 08:33 AM PST
On 2010's PDC John Papa held a session named "Kung Fu Silverlight" to show some concepts of MVVM and RIA Services. The associated source code can be downloaded here. I've often used this code as a reference for people who were looking for a nice MVVM sample. Even if it's not fully polished to the last detail, it's an excellent start to learn about the involved patterns and practices. Yesterday, when I wanted to use the sample to demonstrate something, it required me to log in. And when I did that, my browser basically crashed. Well, actually it only hung, but it didn't come back to life, so I had to kill the process. I knew the sample had some performance issues due to a certain visual effect that results in problems, but it never happened before that my browser simply stopped working, so I decided to finally explore the problem in more detail and fix it. Read on to learn how.
Posted: 04 Jan 2011 08:43 AM PST
I hate re-writing code. I also hate it when I find a great code snippet on the web and forget to bookmark it or it gets lost in my endless sea of bookmarks. So what do you do to get around this? This is the question that I was asking myself at the end of 2010. How can I get my Silverlight code organized?

My requirements for a snippet manager were:
  • Needs to be FREE.
  • An easy way to view XAML/C# code behind together in one "view".
  • I wanted the ability to store the code snippets in cloud in case my HDD dies.
  • Searchable Keywords to quickly find code snippets.
Posted: 03 Jan 2011 07:18 PM PST
After working on the Speedster it was only fair that my next project should be on something that was more human in character. My aim with this project was to replicate a walking human being (with a humanoid that 'could match its Iron cousin'. With that in mind the one and only hard-working, but less flamboyant, researcher at Meshack Labs set to work with the aim of privatizing xaml peace).

To make Xaml Man walk just press the right arrow key. Xaml Man will walk on a treadmill inside the well equipped M Labs Humanoid Research Centre so don't worry about him going anywhere. To increase or decrease Xaml Man's walking speed just move the slider. Moving the slider to the right increases his walking speed and vice versa.
Posted: 03 Jan 2011 06:19 PM PST
As I mentioned in my last post, I wanted to update my Tip Express application with dynamic tile notifications. The basic idea is very simple: push the user data from the application to the pinned tile on the home page using the background theme the user has chosen (this isn't exactly a killer feature for this application, but it gives me a good excuse to play with channel notifications).

There is plenty of overview information on the various types of notifications (Raw, Toast, and Tile) so I won't repeat that here. In my case I care about Tile notifications and will concentrate on that. The concepts themselves are not that complicated but there are a lot of components to keep track of. I found it was helpful to create a one page diagram of the flow.
Posted: 03 Jan 2011 06:16 PM PST
Data is the heart of every user interface. From hotel reservation websites to stock market visualizations, user interfaces generally let you visualize and interact with some form of data. The choice of which user interface components you use, and how you lay them out to provide a useful workflow, relies heavily on the nature of the data that you will be working on.
Posted: 03 Jan 2011 06:14 PM PST
I have now made it through a baker's dozen Windows Phone Marketplace certification attempts for SmartyPantsGaming, and thought I would share the various ways in which I've failed in my apps. I generally think the best way to learn is to learn from your mistakes, but learning from someone else's mistakes is even better - so here is a rundown of ways I've failed WP7 marketplace certification so far.
Posted: 03 Jan 2011 06:13 PM PST
While developing a Windows Phone 7 app that calls a WS-Trust authenticated web service I ran into a general problem with the phone blocking SSL requests to a web server which uses a self-signed certificate, the kind typically used on dev and test servers. The result was the EndpointNotFoundException containing a WebException with NotFound shown below. I'll explain the SSL request problem in detail then offer suggestions and code to make your development life easier.

The WS-Trust communication going on behind the scenes masked the exception's root cause and it took me two days to figure out what was wrong. Troubleshooting an exception with a message containing NotFound is especially difficult because WP7 is actually terminating the request during SSL negotiation and nothing is logged on the web server. To me the exception messages imply an incorrectly configured or missing service. I guess you just need to know that NotFound during an SSL request means that the SSL certificate is invalid and likely caused by the phone not having a corresponding trusted root certificate installed. If you figured it out in less than two days you're doing better than me!
Posted: 03 Jan 2011 06:11 PM PST
Microsoft Expression Encoder uses templates to create video experiences by encoding video and displaying it in a media player. The player can be skinned by using a template. Expression Encoder templates are a collection of HTML and XAML that together define the video player user interface (UI) and interactivity.

Expression Encoder includes a Microsoft Silverlight template that you can use to present your videos. However, you are not restricted to using the default template. Because of the extensibility of Expression Encoder, you can create your own Silverlight video player using such tools as Microsoft Expression Blend, and then make the player available for Expression Encoder to use as a custom template.
Posted: 03 Jan 2011 10:44 AM PST
Silverlight 4 supports some of the multitouch API from WPF. However, the Silverlight 4 client as a whole is registered for touch messages, and the multitouch events are handled through a client-level Touch service class. In contrast, WPF has element-level support for multitouch events on its UIElement class.

Also, the Silverlight 4 version of multitouch does not provide native gesture handling or manipulation/inertia handling. If you need this support in Silverlight 4, you have to handle the raw messages and implement this functionality yourself (or do a web search since several people have already published "Silverlight Gesture Engines"…here's one).

Let's look at some Silverlight multitouch code! I wrote a small Silverlight 4 application that will display "Ouch" wherever your finger touches the screen.
Posted: 03 Jan 2011 10:03 AM PST
The DotNetBar for Silverlight Ribbon control is an implementation of the Microsoft Ribbon for your Silverlight applications. It is designed to match the Ribbon found in Microsoft Office 2010 programs very closely. DevComponents Ribbon is a full featured ribbon control – you can now design your Silverlight applications around a Ribbon based user interface without compromise in either form or function.

If you have come this far, it means that you liked what you are reading. Why not reach little more and connect with me directly on Twitter , Facebook , Google+ and LinkedIn . I would love to hear your thoughts and opinions on my articles directly. Also, don't forget to share your views and/or feedback in the comment section below.


  1. I just finished up reading your blog the first time so I thought I should comment to let you know your stuff is great and you have another follower! Keep the posts coming!


© 2008-2016 - Microsoft Technology Blog for developers and consumers | Designed by Kunal Chowdhury
Back to top