Browse by Tags

All Tags » codestock   (RSS)

Codestock is an amazing event that I first attended last year in Knoxville, Tennessee. It's hosted at a great venue in a wonderful city and loaded with exciting sessions. I had just as much fun speaking at my session as I did attending the other sessions and learning about new technologies.

I've submitted two talks this year and if you are planning on coming and are interested in these topics, please cast your vote. Codestock, unlike other venues, gives priority voting to those who have registered. If you do register, you can vote for my sessions here:

The Sterling Database for Silverlight and Windows Phone 7: The release of Silverlight 4 and Windows Phone 7 have created an explosion of line of business applications written in Silverlight. The framework provides a powerful advantage with its ability to run offline and disconnected from the network. For browser applications this provides a unique data storage challenge. Windows Phone 7 applications must also cater to the “tombstoning” scenario and efficiently serialize and rehydrate data when the program is swapped to the background and back. Sterling is an open source object-oriented database that addresses these needs by storing data in isolated storage. Sterling works with existing classes/types and is extremely lightweight. Learn how to use Sterling from its creator, Jeremy Likness, when he walks you through various scenarios and features involving indexes, LINQ to object queries, foreign keys, triggers, encryption, and compression.

Silverlight 5 for Line of Business Applications: Silverlight 5 has been announced and will provide a variety of incredible features beneficial to line of business applications. Microsoft Silverlight MVP Jeremy Likness will cover these features and teach you how to produce high performance scalable applications using the latest Silverlight framework. Learn how Postscript printing, improved MVVM support with XAML and data-binding debugging, implicit data templates, style binding, WS-Trust support, 64-bit support and more enhance the current runtime and take Silverlight to the next level within the enterprise.

I appreciate your support and hope to see you in Knoxville!

Jeremy Likness

This week I had the pleasure of attending my first CodeStock event in Knoxville, TN. Let me start by saying it was an amazing event. I give many thanks to the attendees, for keeping it a strong and thriving community, the sponsors (including my company, Wintellect), the speakers, and of course the organizers. You can learn more about the event at the page I linked to above. I highly recommend it - great venue and setup, and fantastic people. I connected and made friends with many people in both the .NET and programming community in general.

X-Fit Sample Application

For my talk on advanced applications in Silverlight using the Managed Extensibility Framework, I built a sample application called "the X-Fit Sample Application." I often hear complaints that demos and blog posts focus on one screen and a button. I wanted to build something with more depth than that, and used that application for my presentation.

What does it demonstrate?

  • Region management
  • De-coupling of views and view models
  • Dynamic loading of XAP files on-demand
  • OOB (Out-of-Browser)
  • Recognizing out of browser and behaving differently
  • Loading a plugin from the file system
  • Messaging using MEF
  • "Tracing" using Debug
  • Debugging MEF parts (imports and exports)
  • ...and plenty more

You can click here to view: X-Fit Sample Application

The source code and slide shows from my deck are both available at this link:

Deck and source

To use the application, jump into it and fill out the information. You'll find the first example of dynamic loading because once you save the information, the additional tabs will load with some charts and graphs. If you close the application, then re-launch it, it will automatically detect your user (using isolated storage) and not show the set up screen again.

You can right click and install locally. If you access the BMR tab (graphs showing basal metabolic rate) you'll notice a help link for more information. In the web version, this will simply pop open a new window to a Wikipedia page. In the out-of-browser version, it will introduce a new tab and show the information inline using the web browser control.

The little "plus" and "x" demonstrate different features. The "x" simply throws an error. If you are viewing the application, you'll get a generic message. If you are debugging, it will show the debug dump information.

There is a "SampleApplicationData" project included with the main source. It will build but is not referenced in the project. If you click the "plus" sign, you'll get an open file dialog. You can then browse to the XAP for the sample data, and click it. When you then refresh the application, it will be loaded with "John Doe" and some sample data.

A second code stock example will create a XAP that you can right-click and download here: CodeStock Example (right-click and download). Click the plus, browse to the XAP, and then select it to see the CodeStock logo.

Obviously there is a lot more in the slide deck and in the source code. Understand I'm not trying to establish best practices - for example, the simple messenger may not be the right implementation if you have views that are short-lived (due to event references) and PRISM provides very robust region management "out of the box" you can use. The idea here was to demonstrate what is possible in a sample application that goes a little deeper than a view and a button.

Oh, and thanks to the Silverlight team for the Cosmopolitan theme.

Thanks again, everyone, it was a great experience and I hope to come back in the future.

Jeremy Likness