Nico's digital footprint

I grew up in the nineties, that makes me awesome by default

LowlandsWPDev 2014 slides & demos

by Nico

Last weekend I had the distinct honor and pleasure of co-organizing and speaking at an international Windows Platform developer event. Lowlands WP dev 2014 was a joint venture between the Dutch and the Belgian WP communities and it was awesome!

The slides and demos for my session on Background tasks can be found here:

Demos

 
PIctures of the event itself can be found here

Tags:

.Net | Community | Presenting | Talk | XAML | geofencing

Branching XAML Styler

by Nico

Some time ago I blogged about having recompiled the great XAML Styler plugin so it would install into Visual Studio 2013. The recompiled plugin suddenly became an unexpected success and it got me thinking that this plugin should really continue to exist, even if the original author isn’t supporting it anymore (not sure of this but it has been quite some time since he pushed anything to Codeplex).

After waiting around a bit I’ve decided to download the original source code, get it up and running in Visual Studio 2013 and push it to both Github and the Visual Studio gallery. So I’m happy to announce that the code can be found at Github and the VS2013 version of the plugin can be found at the Visual Studio Gallery

The future?

The version that is now on the gallery is the exact same version that I’ve compiled back in November. It’s the plugin that the original author created but recompiled with the VS2013 SDK. I did create a new VS Package project to be able to have it on the gallery side by side with the original plugin.

As for the future of the project, I’m currently going through the source code, getting to know the application and the code that makes it tick. Afterwards I’m planning on having a look at the logged issues on the original Codeplex site and tackle those.

Issues

Should you run into any issues while using the forked plugin please log an issue on the Github page.

Contributions

So you want to contribute? Great! Fork the Github version and go wild! Create a Pull request when you’re ready and if everything checks out I’ll happily merge your changes into the main branch and give props to every contribution you make.

Let’s keep this plugin alive and make it even better together!


Tags:

.Net | Community | Patterns | Silverlight | WP7 | WP8 | WPF | WinRT | Windows 8 | XAML | github | OSS

First time MVP!

by Nico

The year 2014 started of with a bang for me. On January 1st I was very honored to receive this mail

Meaning I just became a Microsoft MVP in the field of Client Development. I’m joining some big names in that group, names like Gill Cleeren, Laurent Bugnion, Fons Sonnemans, Jesse Liberty and many more (for a complete list, see the MVP site)

The most mind blowing thing for me is that in a few months I’ll be able to go to the MVP summit and talk to these big guys that I’ve been looking up to for years.

Thank you Microsoft for the trust and the honor!


Tags:

Community | MVP

Community day 2013

by Nico

Yesterday was the day for Community day 2013, already the seventh edition. A bunch of user groups working together to create a great agenda of presentations by community, for community.

This seventh edition was in my opinion the best one so far, the quality of the talks I followed was incredible and I’ve learned quite a lot.

I also did my own talk on SignalR and Windows Phone 8. Here you can find my slidedeck.

 

And my demos can be found here (this includes the chat demo, the leap motion demo and the Photobeamer clone.

As mentioned during my talk, the photobeamer clone is something I did a blogpost on a while back, for those interested the post can be found here

I had a blast at Community day 2013 and I’m already looking forward to the next edition!


Tags:

.Net | Community | LeapMotion | WP8 | Talk | signalr | XAML

Error tracking with RayGun and free t-shirts!

by Nico

I received a mail from Mindscape stating that their product called Raygun was coming along nicely and if I was interested in trying it out and blogging my finding. I would receive a bunch of t-shirts to hand out during user group events. So here’s me, writing my findings of RayGun (which is actually a cool product) and hoping to receive free t-shirts, the things I do for community Glimlach

RayGun

So what is RayGun? RayGun plugs into your apps and sends errors to the server. You as the developer receive an email stating that a new error has been found.

What’s great here is that you can resolve the error here with one click, the second link will open the error details on the site and immediately change its status to Resolved.

If you view the error you get all the information that you expect from a service like Raygun. Information about the device that the error occurred on, the used resolution (always 800x480 for Windows Phone as that is the base resolution, all apps are upscaled from there but it still reports as 800x480) and of course the complete stacktrace.

You can even view RAW data in JSON format.

Code Snippet
  1. { "MachineName": "RM-821_eu_belgium_464", "Error": { "Data": [], "ClassName": "System.Exception", "Message": "Exception: raygun test", "StackTrace": [ { "LineNumber": 0, "ClassName": " at RayGunDemo.MainPage.ButtonBase_OnClick(Object sender, RoutedEventArgs e)" }, { "LineNumber": 0, "ClassName": " at System.Windows.Controls.Primitives.ButtonBase.OnClick()" }, { "LineNumber": 0, "ClassName": " at System.Windows.Controls.Button.OnClick()" }, { "LineNumber": 0, "ClassName": " at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)" }, { "LineNumber": 0, "ClassName": " at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)" }, { "LineNumber": 0, "ClassName": " at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)" } ] }, "Environment": { "ProcessorCount": 0, "OSVersion": "Win32NT 8.0.10211.0", "WindowBoundsWidth": 480, "WindowBoundsHeight": 800, "CurrentOrientation": "PortraitUp", "TotalPhysicalMemory": 0, "AvailablePhysicalMemory": 0, "TotalVirtualMemory": 0, "AvailableVirtualMemory": 0, "DiskSpaceFree": [], "DeviceName": "RM-821_eu_belgium_464", "UtcOffset": 0, "Locale": "Nederlands (België)" }, "Client": { "Name": "Raygun4Net", "Version": "Mindscape.Raygun4Net.WindowsPhone, Version=1.0.5.0, Culture=neutral, PublicKeyToken=null", "ClientUrl": "https://github.com/MindscapeHQ/raygun4net" } }

You can add comments to errors, assign people to them, all in all RayGun feels very complete. The mail arrived immediately after the error was thrown, shows up nicely on the dashboard, both the Windows Phone emulator and my Lumia 920 over 3G reported the error perfectly.

Implementing RayGun

Implementing RayGun in your app is very straigthforward, go to http://www.raygun.io and register for a trial account (pricing can be found here http://raygun.io/pricing). Once your account is registered you arrive at a page that tells you the steps to integrate RayGun with your app.

Nifty feature here is that your api key is integrated in the sample code that they give you, so it’s just copy/paste. It may sound stupid but I really liked that sense of detail.

First thing we need to do is add RayGun through NuGet.

Bit weird here is that a readme file pops open stating that for Windows Phone I need to Reference the "Mindscape.Raygun4Net.WindowsPhone.dll but NuGet is smart enough to reference the correct DLL depending on the platform that you’re developing for.

Second step is adding a property of the RayGunClient to App.xaml.cs and instantiating it with the api key.

Code Snippet
  1. public static RaygunClient RaygunClient { get; set; }
  2.  
  3. /// <summary>
  4. /// Constructor for the Application object.
  5. /// </summary>
  6. public App()
  7. {
  8.     RaygunClient = new RaygunClient("<your key here>");

And for the initial setup there’s one step left. In the Application_UnhandledException method add the actual call to the RayGun servers (line 4).

Code Snippet
  1. // Code to execute on Unhandled Exceptions
  2. private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
  3. {
  4.     RaygunClient.Send(e);
  5.  
  6.     if (Debugger.IsAttached)
  7.     {
  8.         // An unhandled exception has occurred; break into the debugger
  9.         Debugger.Break();
  10.     }
  11. }

And from now on, any unhandled exception is logged in RayGun and you’re notified immediately when they occur. Try it out by adding a button on your mainpage and set this as click event.

Code Snippet
  1. private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
  2. {
  3.     throw new Exception("raygun test");
  4. }

Since the RayGunClient in this example is a static property in App.xaml.cs you can reuse it anywhere in your project. You can even start creating completely custom errorlogs by passing in a RayGunMessage instance in the Send method.

Conclusion

RayGun works as advertised, no problem there at all. The dashboard looks great, is easy to navigate and shows all the necessary information. Crash reports arrive really fast and have nice little details like a one-click link to resolve an error. Small mistake in the readme file that opens when adding the NuGet package can be forgiven (who reads readme files anyway?)

Will it be a great success? I don’t know. There’s quite a lot of competition out there, services that offer the same stuff as Mindscape does with RayGun but often times they are either free or provide a limited free service for hobby developers. Personally, I feel that MindScape should include a free price plan as well, limited in such a way that it’s only suitable for hobby projects of course since everyone needs to make a living. But those hobby developers can create buzz around the product so that professionals will pick up on it as well.

By the way, this post only talks about the Windows Phone part of RayGun but it supports a wide array of platforms like ASP.net, JavaScript, PHP, Ruby on rails, Java and ColdFusion.

So all in all, great product, works as advertised! If you want a t-shirt come to the next MADN user group event after the summer break and hopefully we’ll have some to hand out!


Tags:

.Net | Community | XAML

Presenting at Multi-mania

by Nico

Today I delivered a session at Europe’s biggest free multimedia conference. The session was an introductory session on Windows Phone 8. As promised during the session, here are the slides

The demos can be found on my SkyDrive

In case you’re interested in the session but couldn’t make it to Multi-mania, I’ve delivered this talk before as an MSDN webcast and there’s a recording of that session.

 


Tags:

.Net | Community | Presenting | WP8 | XAML

Taking over MSDN BeLux

by Nico

The Belgian MSDN team started an initiative a few weeks ago. They give the password to the MSDNBeLux Twitter account to someone from the community, that person gets to tweet about his favorite Microsoft technology for an entire week.

This week it’s my turn, so if you follow the MSDN Belux Twitter account, expect to see some Windows Phone related tweets popping up!


Tags:

Community

MSDN webcast SignalR and WP8 slides and demos

by Nico

I had the pleasure of presenting an MSDN webcast on SignalR and Windows Phone 8 yesterday. I had a great time presenting and believe it or not, all demos actually worked! (it was live coding)

The stream was recorded and will be available on Channel 9 soon, in the meantime you can download the demos here (the chat application in the download also has a Windows 8 client as an added bonus).

This slides are on SlideShare.



Tags:

.Net | Community | MSDN | WP8 | signalr | Presenting

Sessions at NxtGenUG

by Nico

Last week I had the pleasure of travelling to the wonderful country of the United Kingdom (home of The Doctor!) to do some talks about Windows Azure Mobile Services and Windows Phone 8. I did a talk at the user group in Coventry and in Manchester. The response was great, a lot of people were impressed about the possibilities and the ease of use of WAMS. For those of you who’re interested, here’s my slide deck and the demo I build (live coding, didn’t fail, hooray for me Glimlach).

Download the demo


Tags:

Community | WP8 | Azure

MSDN webcast: NFC in Windows Phone 8

by Nico

Today I had the pleasure of delivering a webcast for MSDN on near-field-communication in Windows Phone 8. I did have some technical problems, those problems being my phone freezing for the very first time ever, not even able to shut it down. Great timing for something like that to happen, but I think my audience believed me when I told them that the code really works. For those still in doubt, I’ve uploaded the demo project and you can find it here (SkyDrive link).

The slides are available on SlideShare (embedded here) and the recording will soon be available on Channel9

And don’t worry, I do have a new blogpost coming up, I was on holiday last week and very busy this week (webcast, app-a-thons, actual project at work, …)


Tags:

Community | .Net | MSDN | NFC | WP8 | Talk

  Log in

About the author

Hi,

My name is Nico, I’m an MVP Windows Platform Development living in Belgium.
I’m currently employed as a .NET consultant at RealDolmen, one of Belgium’s leading IT single source providers.

I'm also founding member and board member of the Belgian Metro App Developer Network, a user group focussed on Windows 8 and Windows Phone development. If you're in Belgium feel free to drop by if we're doing an event. http://www.madn.be

Since June 2012 I'm a proud member of Microsoft's Extended Experts Team Belgium. And in February 2013 I became a member of DZone's Most Valuable Bloggers family.

In 2013 I became a book author and wrote "Windows 8 app projects, XAML & C# edition".

In 2014 I received the MVP award for the very first time.

I hope to get feedback from my readers either through comments, mail (nico_vermeir@hotmail.com), twitter, facebook, …

 

mvp

 

mvp

 

 

MeetLogo

 

MVBLogo

mybook

 

Month List