LP Pinsonneault blog's

Windows 8, Windows Phone, ...

NAVIGATION - SEARCH

Create a Windows Phone app and win some prizes

Hi Canadian Windows Phone developers!
This year Microsoft Canada, created a nice contest (based on some post i saw on the web, other country are pretty jealous of us). So if you ever wanted to create apps for the Windows Phone, it now time to do so. So by publishing some nice apps, you may be rewarded with some cool prizes ( and yes they are very cool!). You can read all the information on the following website :  http://www.developermovement.com/.  Do like me and start find some ideas and create nice applications for one of the best phone!

Last week i find something nice. If you have an XBOX there is an advertisement for the Developer Movement. When you go, it give you some info about the contest and you can grab the wallpaper for your dashboard and a player picture. See some pictures :

P1000086

P1000087

WP_000078

 

 

 

 

I hope to install some of your nice apps!

Regards,
LP

Meeting .NET - Les nouveautés de Windows Phone 7.5 "Mango"

imageWednesday November 23rd, I'll do a presentation at the Communauté .NET Montréal. The subject of my presentation is about the new feature of Windows Phone 7.5 “Mango”. This presentation target developers who are interested in building or migrating Windows Phone apps.

image

In my presentation i will talk about the following topics:

  • Hardware specification
  • Sensor API
  • Software API & Database
  • Application Model
  • Silverlight & XNA Integration
  • Task & Choosers
  • Integration Services
  • Marketplace


So if your are interested by one or multiple topics …

You’re welcome!

Don’t forget to visit the Communauté .NET Montréal website for more information:
http://www.dotnetmontreal.com/events/25833231/


Regards,
LP

TechDays 2011 (Canada) New Windows Phone Application

Last year, i did an unofficial Windows Phone application. This year the team in charge of the TechDays ask me to create the application for this Year events. They provide me with a brand new event OData feed. In this new application, I’ve decided to make the application to support some Mango feature like Fast-switching, Secondary Title, etc.

I restart from scratch for the implementation of the Data inside the application. Now the application is fully functional without Internet connectivity (only the first time to gather the latest data from the OData feed).

I did a brand new scheduler, where you can easily view and flag which session you want to see. I hope you will like the application and find it useful.

 

SplashSS01SS02
SNAGHTML7672310SNAGHTML766f943

The application have just been certified so the application should be available by Tuesday morning.

Here is the direct link:

Download-EN-Med

I hope you enjoy TechDays (currently in Toronto, and coming soon in Vancouver and Montreal).

Regards,
LP

Tracking Errors in your Windows Phone applications with BugSense

Building an application 100% bullet proof is somewhat something impossible, mainly in when the application can be use by wide range of customer. In Windows Phone, we are affected by the device, the connectivity, the lock screen, etc.). In some combination of event an error can occurred that have not been tested.

So my philosophy about that is to be pro-active. So i don’t want to wait the complaint of customer, i want to know when an error occurred with as much information to help me reproduce the problem to finally fix the issue.

To achieve this goal, there is some analytics component available for Windows Phone 7. Some of those are able to tracking the errors that might occur in your application. But i find out a nice component, that do the a really great job.

BugSense is a really simple component. When i mean simple, it’s really simple add the component and add 1 line of code in the App.xaml.cs and your done. The component can be download as standalone package or you use NuGet to install the package.

Here is a screen of the only line of code that is required by the component.

On the website you have access to a nice Dashboard that will provide you with a lot of information about the error and the recurrence.

image

image

image

image

image

 

image

 

You can if you want replace the default UnhandledException event with the event that is built-in the component, you can do it:

public App()
{  
  BugSenseHandler.Instance.Init(this, "Your_API_Key"); 
  BugSenseHandler.Instance.UnhandledException += OnUnhandledException; 
  //UnhandledException += Application_UnhandledException;
  ...
}

You can also trap the exception in your try..catch statement:

try {    
   //Some code to execute
}
catch (Exception ex) {    
   BugSenseHandler.HandleError(ex);
}

So what happen when there is an error, the user will get notified and a report will be sent to the BugSense so you can get notified and review the error. As you can see there is some options, that allow you to control the popup window that show up by default (yes you can turn it off if you want).

Once an error is logged you indicate in your account to receive Email notification. Which is a good idea when you want to have a nice application (that don’t bug too often Smile).

image

 

It’s the first time i use this component and I'm very impressed by the quality of the tools and all the feature it provide (client side and server side). What to say more … I'll use it in future applications. Oh yay … i practically forgot that it FREE. www.bugsense.com

Regards,
LP

Testing your Windows Phone application prior to submit to the Marketplace is an essential task

Recently i was working on some Windows Phone project. I remembered that one of the improvement with the latest SDK for Windows Phone 7.1, was the introduction of a new tool that will help developers to test their apps prior to submit them to the Marketplace. This was a great idea because many were complaining about the time it take it take for an application to go through the Certification process.

First, the certification process is pretty complex, on the tester side. It require automatic testing done by a server, which is fairly fast. Then, the apps is tested manually by a tester, this is the part of the process which take longer to complete. Try to imagine you testing an application that you don’t know the purpose and how it work. For my part, I really don’t want to be in their pants! From my past experience, they are doing a very good job.

To return to the main subject, a new tool is now available with the SDK which is called “Marketplace Test Kit”. This will guide the developer through all the test that are done by the automated process and the manual testing.

Here is the walkthrough to test your application:

  1. Open the “Project” menu

    SNAGHTMLff346c3

  2. And then click on the “Open Marketplace Test Kit”

    image

  3. Now you have the first screen that will allow you to enter all the information required by the automated test process.
    - Application Package
    - Tiles
    - Screenshots

    SNAGHTML1014c94b

  4. The next screen is the “Automated Tests”, this is the screen that execute and give you the result of the automated testing process. The result can be useful, because it will provide you the detected Manifest information like the Capability:

    image 



    The result will look something like this:

    SNAGHTML1015879a     

      
  5. The next section is the Monitored Test, these tests are manual but a log is generated and analyse automatically base on the the navigation you do while testing the application. This look for memory issue, navigation pattern issue, performance. Do execute the test you need to have your phone connected, because the test is done using the device. So if you don’t have a device you won’t be able to process those tests.

    image

    Once your done testing you can either exit the application or click on the “Close Application” button in the test screen. You will result like those:

    image


  6. The last step is 100% manual. So these must be done manually and you must use your own judgement to identify if the test “Pass” or “Fail”. You just need to follow the instruction. This may be less or more complex depending on your application.

    image

 

In conclusion, testing your application must be a task you must do for each application (version) prior to submit to the Marketplace. This will make sure you won’t wait for the certification for bug that you could have trapped doing those tests. Also, by doing those test you will improve the quality of your application and you will help improve the delay for the certification process.

Regards,
LP

Microsoft SharePoint 2010 Enterprise Applications on Windows Phone 7 Book

2589ENRecently i have the opportunity to work as a Technical Reviewer for a book written by Todd Spatafore. This book is about the creation of Windows Phone 7 application which integrate with SharePoint. Windows Phone 7 offer a native integration with SharePoint, but sometime you need to create enterprise application the will require to connect with SharePoint.

So if you are interested by the book, you can see more information on the PacktPub website:
https://www.packtpub.com/microsoft-sharepoint-2010-enterprise-applications-on-windows-phone-7/book

LP

DevTeach–Montreal

imageDevTeach is coming back to Montreal next week (May 30 to June 3). So on Monday May 30, there will be a pre-conference day where some subject like Agile Architecture, Extreme Database Design and Silverlight. Me and some colleges of RunAtServer will present the pre-conference on Silverlight. We will demonstrate and share on how to create a end-to-end application with Silverlight. Bring your laptop so you can enjoy the experience.

The next 3 days (May 31 to June 2) will be for the main conference. On my side, i’ll be presenting on the first day May 31st at 9h30. I will talk about “What you should know about Windows Phone 7 Development”. So i will demonstrate some of the new feature of the upcoming Mango update. I will also go through some of my real experience as a WP7 developer on some issue you may face and how to resolve them. So i hope to see you there.

On Friday June 3rd, there will be a post-conference days which will focus on Windows Phone 7, Sharepoint 2010 and Agile Development.

image

Regards,
LP

Tou.tv–Now available on the marketplace

TVG_Splash_WP7ApplicationIconIn the last 2 month we have been busy working on a great Windows Phone project. We created the Tou.TV for Windows Phone. www.Tou.tv is a French website from Radio-Canada that allow the user to view TV show online. So had to create the same experience but using the Windows Phone standard. So we had the chance to work with technology like Smooth Streaming. So SMF (Silverlight Media Framework) were a nice asset in that project to handle the video. We used some caching technology to improve the performance of the application.

Phone_HomeControls

Also, we used the Telerik RadControls for Windows Phone to help us make the application more interesting by implementing some animation and page transition the provide in their toolkit. We have been able to be in direct contact with the dev. team of the controls. We had great support from them by providing us with overnight fix on some bug that we’ve found.

Marketplace

Since one week the version 0.9 is available, and from the review we were able to provide an application of quality, which is really great.

That was a nice experience, be able to provide our knowledge in general public application. And i can says that we also learn a lot from that experience.

You can download the application using the following link:

More screenshot:

Emission_Saison - CopyEpisodeEpisode_InfosRecherche

Regards,
LP

Portable Library – Share your libraries between multiple technology

Have you ever create an application where you want to share resources between them but you had to create multiple libraries to because those project use different compiler? If your like this often happen. In my case we face that issue. To solve the issue we had to create multiple libraries and refer class using linked files in the project. This is what we have to do in some project where we have a Silverlight 4 app and a Windows Phone 7 app. But this is not the most efficient way to do it.

Microsoft is now offering a solution for that kind of issue. The solution is called Portable Library, which is currently in CTP. So now you can create a single class library in which you can select which kind of project it should be compatible with. You should give it a look, because this may help you solve many issue and save times related with having common class libraries for multiple technologies.

To download the tools: http://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-00cb3caf4981/

For more information:
http://blogs.msdn.com/b/bclteam/archive/2011/01/19/
announcing-portable-library-tools-ctp-justin-van-patten.aspx

Regards,
LP

Windows Phone 7–Network Connectivity

Recently I've been working on a project and we discovered something that have some impact on the performance of a Windows Phone application. This is probably a mistake that we did when implementing the code, but it may be the kind of mistake that many developer will do.

Quickly, each time we were calling the web service we were validating the network connectivity by validating the property “ NetworkInterface.NetworkInterfaceType ”. Behind that property, there is a process that validate the connectivity. This process is calling a page “http://www.msftncsi.com/ncsi.txt” to see if there is any connectivity and which type of connectivity. But the problem is that is done synchronously. So in our case we were calling multiple times this process, which result to execute the process of validating the Url mention before synchronously multiple times.  So each web service call must wait for the network validation before executing the call. And because it’s on the web the response can be fast and can also be very long before we get the response.

In our case we did implement a wrapper that make sure that the call is not done to often. This help us improve the performance of the application start-up. Also this help to improve activation process after the application Tombstone.

So make sure to validate our Windows Phone 7 application by using a tool like fiddler. This will help you improve the performance and stability of your application.

Regards,
LP