20. April 2012 08:00
Two days ago, almost one hundred attendees joined my webinar about advanced MVVM topics. I've used some sample scenarios on the Windows Phone platform to demonstrate typical problems (and possible solutions) that you potentially will run into when you apply the MVVM pattern to your applications. In particular, I talked about:
- Accessing features of the view from your view models (e.g. navigation features, dialogs)
- Elegantly handle access of view model features from your views when there's no built-in support for it (e.g. missing binding capabilities in the application bar)
- Accessing data and features that are not available in the current context (e.g. access across boundaries of unrelated view models, passing data between pages)
I'm pleased to announce that a recording of the whole webinar is now available for free here:
You can also download the slides and samples sources shown in the webinar (this requires a free account on SilverlightShow.net).
Thanks to everybody who attended and the great feedback I've received. Also, congratulations to all the winners of free ebooks.
17. April 2012 07:00
Last week, Carl Franklin and Richard Campbell recorded an interview with me for their show "The Tablet Show". The show focuses on all kinds of mobile devices and covers WinRT/Metro, Windows Phone, iOS, Android and HTML5 development topics. If you haven't heard of it yet, check it out! You can expect the same fun and quality as with their other show ".NET Rocks!", which I'm sure you all know and are fans of :).
In the episode we talk a bit about Windows Phone in general, some of my open source projects, and then about the differences between Silverlight and XNA programming. We also spend a good amount of time talking about hybrid apps that let you combine both technologies and use the best of two worlds in a single application, and conclude with a short outlook on the future of XNA on the phone. Yesterday the recording went live, and you can now listen to the episode for free here:
Talking to Carl and Richard was a really pleasant experience, and I hope we're able to convey the key points of XNA and Silverlight on Windows Phone to get you interested in more.
12. April 2012 17:30
In the first parts of the series about developing the SilverlightShow Windows Phone app I explained the general development process and the technical details of accessing and optimizing the RSS feeds of the site. Now that we are able to access all of the content from the phone, the next step is to take a look at what was necessary to display what we have to the user while preserving a native look and feel. If you haven't seen the app in action, here is a short video about it.
When you recall the details of the previous part or simply take a quick look at the RSS feeds of the SilverlightShow site again (sample), you will see that the content of each category (news, articles, events) is stored as fully formatted HTML already. All of it is produced by authors in WYSIWYG tools like Windows Live Writer and directly uploaded to the site's content management system. Even though we receive a slightly optimized and cleaned version of that rich content on the phone, it's still HTML. The fundamental decision to make hence was whether we would take that content as-is or transform it into something more native to the phone platform.
You can read the full article at SilverlightShow here:
Creating the SilverlightShow Windows Phone App: part 3
12. April 2012 00:00
In the first part of this mini series I was mostly talking about the process of developing the SilverlightShow Windows Phone application, and didn't discuss any of the technical specifics. Today I want to dive into some of the details around downloading and optimizing RSS feeds. I not only want to give you insight into the particular problems we were facing, but also some hopefully useful advice and guidelines should you ever want to develop a similar feature for your own application. If you haven't used or seen the app yet, you can watch a quick intro video here and find it on the Marketplace here.
You can read the full version of this article for free at SilverlightShow:
Creating the SilverlightShow Windows Phone App: part 2
10. April 2012 07:50
On the weekend various news sites reported that Windows Phone 8 is now starting to show up in the browser statistics of analytics services (e.g. here on WMPowerUser). To my surprise, this produced some negative reactions and comments. In the above linked article the first response, from a user named Julien, was:
1 year with no update when you play catch up is a joke anyway
And the first reply to that by someone named Arvydas Grušeckas reinforced:
Agreed. Microsoft is super slow. […]
Let's ignore the fact that "one year without an update" of course is far from the truth, and ask: is Microsoft really too slow with updates for the phone? I beg to differ. More...
5. April 2012 06:55
A new requirement has been established in the technical certification section for the Windows Phone Marketplace: Application Testability (5.1.4). Let's take a minute to look at the requirement in detail:
"The application must be testable when it is submitted to Windows Phone Marketplace. If it is not possible to test your application for any reason […] your application may fail this requirement."
The requirement then lists some items that apply to testability. For example, if using your application requires a user account, you need to provide test credentials the tester can use during the certification phase. Of course, the list provided there is not exclusive. Take my open source project PAARC as another example. It doesn't require a user account, but it is only really functional if you use the phone app in conjunction with a desktop application you want to control remotely. To this end, I provided a sample application and added the download link as well as detailed instructions for testers during submission. You can use the already available field for testing instructions in the certification process for this. In some cases you may even need to file a technical exception, for example if the app is only functional with additional external hardware.
One twist in this story is that you should not forget to remove, deactivate or suspend test accounts or any test infrastructure that you established for certification once the app has been accepted. To continue the sample of the certification documentation: you don't want anybody to find out how to create gift cards for free, or use a sample gift card code without paying for it, right?
In my opinion, providing sufficient information for testing, and making sure that the required infrastructure for your app (web services etc.) is available, up and running during the certification phase already, is only common sense. However, until now your app passed certification if parts of it couldn't be tested due to these issues. This will now be different and turned into the opposite: if testers are not able to access certain features of your app because required data or technical support is missing, it will fail certification.
So make sure that you keep this in mind, especially because at the moment (re-)certification of an app may take up to 7 calendar days due to the high volume of submissions – you don't want to wait twice just because you didn't provide a test account the first time, do you?