LP Pinsonneault blog's

Windows 8, Windows Phone, ...

NAVIGATION - SEARCH

Windows Phone Controls

Almost 4 month have passed since the release on the market of the Windows Phone devices. With now over 8,000 apps, a lot of code have been written. So many controls manufacturer have release controls for Windows Phone 7. Some are free and some not. But in the end the is  now a good set of controls available on the market to help the developer to build nice and appealing application.

Silverlight Toolkit for Windows Phone (Free)

Recently, the Silverlight Toolkit for Windows Phone was update. This release provided some new controls and some improvement on the existing controls.

New feature:

  • TiltEffect
  • PerformanceProgressBar

Download: http://silverlight.codeplex.com/releases/view/60291

More information: http://www.jeff.wilcox.name/2011/02/feb2011-sl4wptk/

 

Telerik RadControls for Windows Phone (Paid)

Telerik is also providing some nice controls. Telerik provide nice transition and animation controls. We used some of those controls some of our recent project. They are currently in beta but they are working like RTM product. I had the chance to be in contact with the dev team to help us solving some issue in the beta and i can tell you that the team is really dedicated to provide the best controls.

  • Application Frame
  • Transition Controls
  • many more

Download: http://www.telerik.com/products/windows-phone.aspx
Sample App: zune://navigate/?phoneAppID=fd55f526-d6f7-df11-9264-00237de2db9e

telerik_radcontrols_0telerik_radcontrols_4

 

Component Art (Paid)

Last week ComponentArt released a version of their Data Vizualisation for Windows phone. This set of controls looks very nice (i didn’t time to test the control, but i will review the controls in a couple of days). If you plan to create a dashboard with some Charts, Gauges, Maps, Gridviews, etc i suggest you to give a look at this set of controls.

Sample App: zune://navigate/?phoneAppID=e13ba532-242b-e011-854c-00237de2db9e

Download: http://www.componentart.com/products/dv/wp7.aspx

componentart_demo_1componentart_demo_4componentart_demo_3

 

Coding4Fun Tookit (Free)

This open source project provide some nice feature that are not available in any other project. This project is a good complement and a good base for any Windows Phone project.

Controls:

  • About Prompt
  • Input Prompt
  • Progress Overlay
  • Round Button
  • Round Toggle Button
  • Memory Counter
  • TimeSpan Picker

Data Helper:

  • PhoneHelper for getting data out of the WMAppManifest file

Converter:

  • Boolean to Visibility
  • String To Visibility
  • Themed Image Converter
  • Inversed Theme Image Converter
  • Visibility to Boolean

Download: http://coding4fun.codeplex.com/

aboutPrompt_2_thumbbuttons_2_thumboverlay_2_thumb

 

WP7Contrib (Free)

This set of controls provide feature that help to work with MVVM Light. The feature are mostly behind the hood, like Cachine, Messaging, Service and some ui controls.

Download : http://wp7contrib.codeplex.com/

 

Developing application for Windows Phone 7 can now be done using some controls (without having to create them manually). Those controls provides rich visual and are easy to implement. So creating a portable dashboard for a sale department or a social network application is now an easy task with all those controls. So give it a try, like we did in our projects.

Regards,
LP

Windows Phone 7 Updates (more details)

This week it’s the Mobile World Congress. It’s the same event that Microsoft official announced the new Windows Phone 7 to the world. One year later Microsoft use the same event to publish more informations about the upcoming updates.

Currently there is an update scheduled to be release very soon (was supposed to be release at the end of January but was postponed). We should see the update at the beginning of March. This update will provide some updates like:

  • Copy & paste (which is now available in latest release of the developer tools)
  • Support for CDMA
  • some performance improvement

Later this year (maybe in the next 6 month) Microsoft is scheduling a major update. This update is called “Mango” and will provide a lot of nice improvement:

  • Internet Explorer 9
  • Skydrive Integration
  • Multi-Tasking (some information about that feature will be available at MIX11)
  • and more

So now that Nokia is now an official partner for the Windows Phone, i can only imagine that this will help the platform to progress. What we see from the Windows Phone is only the top of the iceberg, the future is very interesting. Microsoft is already talking about an integration with the Kinect (see the video).

If you want more information about the latest news on Windows Phone I suggest the following sites:
http://www.wpcentral.com/
http://windowsphonesecrets.com/

Regards,
LP

WP7Contrib now available on Codeplex.com

This weekend a group of person release the first beta version of the WP7Contrib component. This component provide some helper which help simplify WP7 development. They also included some UI controls.

This component is build to work seamlessly with MVVMLight. They integrated some other framework like JSON.NET, Silverlight Serializer and Reactive Extensions for .NET (Rx).

Let give a try: http://wp7contrib.codeplex.com/

Regards,

LP

Circular navigation on Windows Phone 7 : How to fix it?

When we develop an application for Windows Phone 7. One of the problem that a developer will face at the most is the circular navigation. On the phone, the navigation service handle the stack used by the back button. So each time we call the method Navigate of the NavigationService, a new entry is stored in the stack. On the other side there are some rules that a developer must follow to pass the certification on the Marketplace:
- circular navigation is not allowed
- the back button on the home page must exit the application.

There is some times that the scenarios doesn’t fit the rules for the Marketplace. So we end up more often with a circular navigation. Also which doesn’t help, it’s that we don’t have access to modify the navigation stack. This issue probably occurred very often in the certification process. First because, the developer did look at the Requirement documentation before creating his application. And second, because there is some times that the limitation doesn’t give us much choice.

(Image taken from the Windows Phone team blog)

 

So Microsoft listen and provide us with a solution. I’m glad because i had to use it in one of our application recently. The solution is pretty simple, we have to add a class in our application. Instantiate that class in the App class (App.xaml.cs). After what, we continue to handle the navigation as usual, but if we forgot to handle the back navigation or we face a scenario where we cannot handle the back navigation properly, we just have to navigate to the desired page (ex: navigate to the home page). At that time, if the class identify a circular navigation it will automatically handle the back navigation for us until we end up to the specified page.

But don’t be to lazy, and don’t rely on that mechanism. You should be aware of the Marketplace requirement first and follow them. But if in a specific case you don’t have a choice then you have a solution.

Get the code:
http://create.msdn.com/en-us/education/catalog/article/nln-serv-wp7

Get more information about the non-linear navigation:
http://windowsteamblog.com/windows_phone/...silverlight-applications.aspx

I hope this will help you.

Regards,
LP

Windows Phone 7 now support Visual Basic developer

Last week finalized the implementation for the support of Visual Basic for the Windows Phone Developer Tools. So now any developer with Visual Basic background can now build Windows Phone application (and Game based on Silverlight).

So to be able to start building Windows Phone application with Visual Basic you need to have Visual Studio 2010 Pro or higher (at this time Visual Studio 2010 Express is not supported). You also require the Windows Phone Developer Tools and the addon for the support of Visual Basic (download here)

For more information, you can read the official post on the Windows Phone Developer Blog here.

Have a good time developing Windows Phone 7 application!

Regards,
LP

Windows Phone 7 Developers Briefing in Montreal

Join us at the Microsoft Windows Phone 7 Briefing for Developers!

windows phone developer briefingsWant to learn how to create awesome applications and games for Windows Phone 7?

Want to extend your existing apps onto a new platform?

Want recognition, exposure, and reach in an untapped marketplace?

RunAtServer will be presenting this Windows Phone 7 Briefing on behalf of Microsoft, you will learn more about developing on it’s latest mobile platform.  The briefing will cover three sessions exploring the two application frameworks available for Windows Phone 7, where to find developer resources, how to submit apps into Marketplace, and much more!
Session 1
6:00pm - 7:00pm - Apps with Silverlight
Session 2
7:15pm - 8:15pm - Games with XNA
Session 3
8:30pm - 9:00pm - Next Steps

When:
December 7

Where:
Intercontinental Hotel
St-Jacques
360 Rue St Antoine W
Montréal (Québec) H2Y 3X4
Canada

Registration link
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032470418&Culture=en-CA

 

Other cities:

Register Today:

Ottawa, On – November 30, 2010
Calgary, AB – December 01 2010
Mississauga, On – December 2010
Montreal, QC – December 7 2010
Toronto, On – December 9 2010

See you there!

LP

Useful links use in my Windows Phone 7 presentation at .NET Montreal

WP-vert-webYesterday i did a presentation on Windows Phone 7. I covered the end to end process of development of a Windows Phone 7 application. I’m happy to see the interest that the crowd showed about the subject. In my presentation I've talk about many feature, tools and component that are very useful.


So here is a the link list:

http://create.mdsn.com

Free Ebook

Training

Marketplace

ODATA

Tombstoning

Component

Tools

UI

Other good resources

On Twitter

  • #wp7dev
  • @gcaughey
  • @indyfromoz

 

This is a small list, but this will give you a good start.

Thanks to everyone who attend at my session last night, i had a great time presenting.

Enjoy developing for Windows Phone 7

LP

Presenting at .NET Montreal Community on Windows Phone 7 on Monday November 15th

windows_phone_introTomorrow, it'll give a full session at the .NET Montreal Community about Windows Phone 7. In that session I'll give a full end to end overview of my experience building applications for Windows Phone 7. So I'll start with the idea through the development process and finally publishing the application to the marketplace.

If your interested, I’ll be also available to answers your question. I’ll also have a device so you can test and feel the new OS which is now available since November 8th.

For more information : http://www.dotnetmontreal.com/.../Default.aspx?selecteddate=15/11/2010

 

 

See you there!
LP

Presenting at TechDays 2010 (Ottawa)

Next Wednesday, November 10th, I'll be presenting the session “Building Web Forms Applications Made Easier with Microsoft ASP.NET 4”.

The agenda for the session:
- An end-to-end story for getting started, developing, deploying in VS 2010
- Cleaner HTML, Search Engine Optimization, (SEO) and standards
- Improving productivity with dynamic data
- A lots of demo

Session Code/Title

DEV356: Building Web Forms Applications Made Easier with Microsoft ASP.NET 4

Session Date/Time

November 10th 2010: 1:00pm - 2:05pm

 

Also, Runatserver is offering to every TechDays attendee a rebate of 40% on the Silverlight Tour training. For more information : http://www.runatserver.com/techdays.aspx

Regards,
LP

Windows Phone 7 – Suspend mode

Recently i was publishing an updated version of an application on the Marketplace for Windows Phone 7, and my update failed the testing process.

Why?

Comments: The user isuse  presented with an error message when the location services are disabled on the device. The error
message that is displayed is not a user friendly message.
Steps to reproduce:
1. Turn on location service on device.
2. Launch the application and select a location
on the venues page.
3. Swipe to the map page and select view map.
4. When map is loaded press the Start button on the device. 5. Go to the settings of the device and turn off location service.
6. Press the Back button from the Start screen of the device to reactivate the application.
7. Notice a non-user friendly error notification appears.

Real reason
In reality the problem is not related with the location services. Because i don’t use the location service (i only use the Bing Map for display only).  In fact, the real problem it’s that i forgot to handle the Deactivated event and the Activated event.

Why do we have to handle the Activated and Deactivated event?
Windows Phone 7 doesn’t support multiple application running at the same time (except for some application approve by Microsoft). But when your application is running, for different reason (incoming phone call, the user click the start button, …) the application can be suspended. To eliminate some issues you should handle those event and make sure you persist important information.

gg266441_788be805-086f-49cf-9911-fc638a953c92_png(en-us)

One of the best place to handle these events is in the App.xaml. To do so you need to declare the events in the xaml code.

<Application.ApplicationLifetimeObjects>
        <!--Required object that handles lifetime events for the application-->
        <shell:PhoneApplicationService
            Launching="PhoneApplicationService_Launching"    
            Closing="PhoneApplicationService_Closing"
            Activated="PhoneApplicationService_Activated"    
            Deactivated="PhoneApplicationService_Deactivated" />
    </Application.ApplicationLifetimeObjects>

In the Activated event, you can store some data in the the Microsoft.Phone.Shell.PhoneApplicationService.Current.State dictionary. And in the Deactivated event, we can retrieve that information.

Conclusion
Make sure to test any scenario that a user may face. Currently, the testing process that Microsoft implemented is pretty exhaustive (which is good because it help ensure that the application in the Marketplace won’t crash).

Reference
http://msdn.microsoft.com/en-us/wp7trainingcourse_applicationlifetimewp7lab_topic2.aspx
http://bolingconsulting.com/blog/?p=46

Regards,

LP