NDepend v4.1 adds CQLinq killer feature and support for Windows Store apps

I already blogged about NDepend basic features here: I was positively impressed by the capabilities of this tool by fellow MVP Patrick Smacchia.

NDepend permits you to examine .NET projects and highlight different metrics in the code in order to better analyse what areas of your solution needs refactoring for improving performance, code maintainability, application stability and applying best coding practices (just to name a few).

Some features, already available in the previous versions of NDepend, include tools for visually representing dependencies between classes, defining custom rules on code, explore code diffs and analyse code coverage. These ones are particularly helpful when the size of the project grows: a visual representation helps the developer to better identify areas that needs more work (and then save development time).

Recently Patrick contacted me for highlighting the new features available in NDepend v4.1. I was very pleased to find support for Windows Store apps but another capability got immediately my attention: CQLinq.

This is a killer feature: CQLinq (acronym for Code Query LINQ) enables the developer “to query the code” for retrieving information about it. Some simple examples of queries could be:

  • find me the methods too big / too complex;
  • find the methods added but poorly covered by tests;
  • get information about naming conventions;
  • any other query you like: the possibilities are not limited at all!

Technically these queries can be constructed using the traditional LINQ syntax and the types defined in the NDepend.CoreModel of the NDepend API.

The best place to start using CQLinq is here by exploring the dedicated section on the site which contains a ton of different examples to start: I recommend to try and run the available samples which are an excellent starting point and then modifying them for custom queries.

I’ve been really impressed by CQLinq and I can’t wait to use it on real projects to enhance the quality of the code and then reduce the time needed for new implementations.

Happy coding everyone!

MultiTouch Behaviors available on NuGet

I’ve received several requests for publishing the MultiTouch Behaviors on the NuGet gallery so I created a simple package containing support for the Windows Phone and Silverlight platforms.

To enable your project for MultiTouch, just run the following command in the Package Manager Console and all the libraries and dependencies will be added to the Visual Studio project:

PM> Install-Package MultiTouchBehaviors

Alternatively just search for the package selecting Tools->Library Package Manager->Manage NuGet Packages for Solution from Visual Studio 2012.

If you are interested in creating a NuGet package for your open-source project, register an account here in the gallery and follow the instructions described in the section “Creating and Publishing a Package“: they are very clear and contain detailed information about the process.

The package definition for MultiTouch is also available in the Source Code section on CodePlex.

Happy Coding!

Microsoft Patterns & Practices: Prism for the Windows Runtime – My favourite resources

As you may know, the Microsoft Patterns & Practices team has recently released the final version of  “Prism for Windows Runtime“, available for download here on CodePlex.

Prism for Windows Runtime

This project contains a complete guidance for building Windows Store apps using C# and XAML and includes the following resources:

Big kudos to all the p & p team: they did an amazing job and I personally felt honored to have the possibility of providing feedback whilst the project was in development.

This is really a great guidance for building Windows Store applications that can be easily tested, maintained and extended: every developer building complex apps will benefit from it.

Other useful links:

Happy coding everyone!

Kinect for Windows SDK 1.7: Kinect Interactions, Kinect Fusion and Open-Source samples!

Great news for all Kinect for Windows developers and NUI enthusiasts: a new version of the SDK will be available for download on Monday March 18th, 2013 from the official site http://www.kinectforwindows.com.

A comprehensive list of the new tools and features is available in the official Kinect for Windows Blog:

  • Kinect Interactions tools for creating smooth applications with interactions like push-to-press buttons, grip-to-pan capabilities, multiple users / two person support;
  • Kinect Fusion tools for creating accurate 3-D renderings of people and objects;
  • OpenCV and MATLAB Samples;
  • Kinect for Windows Code Samples on CodePlex through an open-source license.

Happy Kinecting everyone!

Windows 8 Line of Business (LOB) Guidance – Prism on .NET 4.5 and the road to Windows Store apps

Just a quick post to highlight an interesting article by Blaine Wastell about a new project (codename “Kona“)  that will provide guidance on developing line of business (LOB) apps for Windows 8.

Check out this link for the details of this interesting project!

Windows Phone 8 Multi-Touch Behaviors available on CodePlex

The last week has been very exciting for Microsoft developers: The //build/ conference in Redmond was full of amazing content including Windows 8Windows Phone 8 SDK, Microsoft Surface, Xbox SmartGlass, Kinect for Windows and the new language TypeScript.

Unfortunately I hadn’t the possibility to participate at the conference but had some free time during the week-end to watch some of the recorded sessions available here on Channel9: this is really a great resource and I suggest everyone interested in Microsoft technologies to download some videos and have fun with it.

I decided then to take a look at the new features available in Windows Phone 8 and the related SDK: Justin Angel has a great article about this topic in the Nokia Developer Community.

To get my hands dirty I moved then on my personal Open-Source project “Multi-Touch Behaviors” on CodePlex: this is a set of Epression Blend Behaviors for different platforms including Windows Phone, Silverlight and WPF for applying gestures and manipulations (like the one available in the “old” ScatterView control) to generic XAML elements.

The project was not yet updated to Windows Phone 8 so I took this opportunity and experimented with the new SDK: this was really a great experience since I was able to upgrade quickly all my samples to the new platform using the same codebase used for the Silverlight version.

Unfortunately I haven’t the possibility  to test the performance on a real Windows Phone 8 device at the moment but the first impressions are really positive.

I have already checked in the code for WP8 here, I’m planning more testing and development in the future.

Happy XAMLing everyone :)

Follow your passion part 4: awarded Most Valuable Professional. Thanks Microsoft!

Today I’ve been honoured to receive my 4th MVP award from Microsoft for my contributions about Silverlight and XAML related technologies during the last year.

Every new award is always a great emotion; I would like to thank all the people that supported me including the smart guys working in Microsoft, my amazing MVP lead Alessandro Teglia,  the fantastic groups of the insiders lists and the “terrific” Silverlight MVPs. You all rock.

Enjoy and continue XAMLing everyone, big times ahead!

Kinect for Windows 1.5 released: Face tracking, Kinect Studio and more!

Great news for Kinect lovers today: a new version of the SDK and tools has been released and includes tons of new functionalities like

  • Kinect Studio: a new tools for recording and playing back Kinect data;
  • Face tracking SDK: real-time 3D mesh of facial features;
  • Lot of new samples, additions and documentation improvements;
  • New seated Skeletal tracking;
  • New capabilities to enable avatar animation scenarios;
  • Four new languages supported for speech recognition: French, Spanish, Italian, and Japanese.

Click here to read the official announcement in the “Kinect for Windows” blog.

Happy Kinecting!

Callisto library for Windows 8 XAML applications on GitHub

Great days and lot of new tools for Metro XAML developers on Windows 8.

Callisto is a new library of controls and helpers (including SQLite support) for Windows 8 XAML applications (aka Metro style apps) developed by Tim Heuer (@timheuer) and Morten Nielsen (@dotmorten).

Click here to access the project and download the new bits!

Enjoy :)