One of the things you may notice in Windows 8.1 is the performance improvements made in GridViews and ListViews. To begin with, the startup time was greatly reduced but they've also improved the logic that decides which items to render, improving the panning experience, in a way you can even customize the rendering order of the elements in your DataTemplate. To sum up, they've added some improvements for free and also a way to customize the item virtualization, based on your own scenario, to improve performance even further (or try not to damage it a lot :)). Let's take a look on each topic in detail: Note: this post is based in the //build 2013 video Dramatically Increase Performance when...

Although I'm a big fan of Entity Framework, I have to admit that NHibernate provides a really flexible way of handling class inheritance and parent-child relationship. That said, I've noticed that these two important concepts are not very well explained in the documentation, which leads to a several discussions and debates in the community about the proper way of mapping your tables (and sometimes to explanations that state the opposite). Consider the explanation of the inverse mapping (taken from the NHibernate docs): Inverse: (optional - defaults to false) mark this collection as the "inverse" end of a bidirectional association. If you think this explanation is incomplete, that makes two of us. There are some examples of the concept in the...

In addition to the reusable components and the reference app, we are releasing an extensive documentation explaining some of the best practices for developing Windows Store LOB apps. Below you can find our proposed table of contents of the project docs (items in bold are included in the latest drop). Getting started with Kona Key decisions in Kona Guidance summary for Kona Designing Kona's UX Developing for the Windows Runtime Using the Model-View-ViewModel (MVVM) pattern in Kona Creating and navigating between pages in Kona Using touch in Kona Validating user input in Kona Managing application data in Kona Handling suspend, resume, and activation in Kona Communicating between loosely coupled components Working with tiles in Kona Using search * Improving performance...

In addition to the reusable components and the reference app, we are releasing an extensive documentation explaining some of the best practices for developing Windows Store LOB apps. Below you can find our proposed table of contents of the project docs (items in bold are included in the latest drop). Getting started with Kona Key decisions in Kona Guidance summary for Kona Designing Kona's UX Developing for the Windows Runtime Using the Model-View-ViewModel (MVVM) pattern in Kona Creating and navigating between pages in Kona Using touch in Kona Validating user input in Kona Managing application data in Kona Handling suspend, resume, and activation in Kona Communicating between loosely coupled components Working with tiles in Kona Using search * Improving performance...

A few days ago we have published a new drop of the first drop of the Patterns & Practices Kona Guidance on Codeplex. For those who are not familiar with this project, the goal is to provide written guidance as well as reference implementation to describe recommended practices for building LOB Windows 8 client apps using WinRT and .NET. This guidance will focus on how to create apps that are maintainable and testable, porting some of the best practices of previous versions of Prism and MVVM. Note: For more information about the project and its scope, please refer to Blaine's post. We are early in the project so we need your review and feedback. Also, expect regular updates of the...

A few days ago we have published a new drop of the first drop of the Patterns & Practices Kona Guidance on Codeplex. For those who are not familiar with this project, the goal is to provide written guidance as well as reference implementation to describe recommended practices for building LOB Windows 8 client apps using WinRT and .NET. This guidance will focus on how to create apps that are maintainable and testable, porting some of the best practices of previous versions of Prism and MVVM. Note: For more information about the project and its scope, please refer to Blaine's post. We are early in the project so we need your review and feedback. Also, expect regular updates of the...

A couple of weeks ago I've been given the task of developing a Calendar in a CRM, that also synchronizes with the user's Google Calendar. To fully understand the flow, I developed a simple sample that covers the full experience in C#, using the Google API Client Library for .NET. It consists of an ASP.NET MVC 4 app that demonstrates how to perform CRUD operations in your Calendar, but also addresses other tasks of the flow, like asking for an authorization code to create an access token, or using a refresh token to get a new access token, in case the old token expires. All of this in an ASP.NET MVC 4 environment. You can grab the sample from here:...

A couple of weeks ago I've been given the task of developing a Calendar in a CRM, that also synchronizes with the user's Google Calendar. To fully understand the flow, I developed a simple sample that covers the full experience in C#, using the Google API Client Library for .NET. It consists of an ASP.NET MVC 4 app that demonstrates how to perform CRUD operations in your Calendar, but also addresses other tasks of the flow, like asking for an authorization code to create an access token, or using a refresh token to get a new access token, in case the old token expires. All of this in an ASP.NET MVC 4 environment. You can grab the sample from here:...