davidpoll.com

Building systems, writing about engineering, and learning in public.

Posts

  • To XAML, with love (an experiment with XAML Serialization in Silverlight)

    I’m a big fan of XAML.  It provides a nice, declarative, toolable way of defining UI, encourages separation of UI logic and application logic, and is flexible enough to allow an impressive amount of expressiveness.  In addition to being a way to describe a user interface, XAML can be used as a serialization format for arbitrary CLR objects.  A little over a month ago, as I was building out a prototype of an idea I had for a blog post for another time, I found myself looking for a way to quickly and easily serialize some data out into Isolated Storage.  I looked at a few options, such as the XML and JSON serializers in the Silverlight SDK.  Both of these work well for serialization of data, but as I was looking at them, I noticed something that failed to meet my requirements for the task at hand: these libraries are both quite large and would need to be packaged into my XAPs.  System.Xml.Serialization.dll is 314 kb, and System.Runtime.Serialization.Json.dll is 138 kb (uncompressed).  Under many circumstances in large applications, taking such dependencies might be fine, but I was looking for something small that would be acceptable to package into a quick-to-load bootstrapping application.

    Continue reading →
  • Taking Microsoft Silverlight 4 Applications Beyond the Browser (TechEd WEB313)

    It’s been quite a week here in New Orleans for TechEd North America.  I’m especially glad to see Silverlight fans showing up in force, asking questions at our booth and attending breakout sessions.  On Wednesday, I had the distinct pleasure of giving a talk at this great conference, and it was a real treat getting to share some great content with you.  I’d like to thank all of you who attended for coming!  My talk – Taking Microsoft Silverlight 4 Applications Beyond the Browser – took a look at the features we’ve added for out-of-browser Silverlight applications with Silverlight 4.  I went over a fair amount of material, which I promised to make available on my blog, so I’ve provided the info below.

    Continue reading →
  • Common Navigation UI and Authorization-driven Sitemaps

    Navigation-driven Silverlight applications tend to share some common pieces of UI.  Traditionally, this has required sprinkling HyperlinkButtons throughout the application’s XAML.  For ASP.NET a number of controls intended to drive navigation exist.  These controls are driven by a sitemap, integrate well with authorization and roles (through sitemap trimming), and provide common user experiences around hierarchical application structures such as a TreeView-based list of hyperlinks and Breadcrumbs or navigation paths.  These controls provide the user with context as to where in the application/site they currently are as well as where within the application they can go.

    Continue reading →
  • Samples updated and code in comments

    Hi folks!  Just a super-quick note: in the last week, I’ve updated most of my old samples (it should be everything except for the one from my PDC talk – that one is a fair amount more work due to breaking changes in RIA Services since the Silverlight 4 Beta) that were build on the Silverlight 4 Beta and RC.

    Continue reading →
  • A "refreshing" Authentication/Authorization experience with Silverlight 4

    At the beginning of the year, as part of a series of posts about the INavigationContentLoader extensibility point in Silverlight 4, I described a way to use a content loader to do authorization before allowing a user to navigate to a page.  With the content loader, you can either throw an exception when an unauthorized user tries to reach a protected Page, redirect your users to another Page, or return a different page (e.g. a Login page) in its stead.  This makes for a fairly nice experience for your users, wherein they are taken directly to a login page (or at least a page with more information about why they cannot access the given page) when they lack the credentials to reach the page they are requesting.

    Continue reading →

subscribe via RSS