by Mister Goodcat
2. May 2012 07:00
It's been a while since the last part of my series on background agent pitfalls, where I talked about data exchange between your app and the agent, and what potential errors and edge cases you may run into with that. There are a few more topics I wanted to create awareness for, so today I'll continue with…
Part 4: Exceptions, exceptions, exceptions
A lot of things can go wrong when you work with agents, and one of the places that are particularly interesting is at the very beginning – when you try to schedule your task. There are a hand full of conditions that may prevent you from doing this, and knowing about them to e.g. add proper error handling is vital. In this part I'll show and explain to you the individual error cases, and talk about how to work around them, if that's possible at all. More...
by Mister Goodcat
1. May 2012 13:46
I've released version 2.0 of my open source component "Your Last About Dialog". This major new release adds full styling support to the about page, which gives you complete control over the visual appearance of the component. This not only includes simple details like foreground and background colors, font sizes and styles, but also much more sophisticated things like the possibility to add page transitions from the Silverlight Toolkit, or control the visibility of the system tray and other details.
Version 2 also improves the install experience from NuGet by integrating some quick start help, to get you up and running in only a minute, without the need to study the documentation separately. As always, installing from NuGet is the recommended way, but you can of course also download the binaries and source code from CodePlex if you want. To learn about the new features in more detail, consult the "Styling" section of the documentation. The default styles that are created for you when you install the NuGet package also contains some pointers and comments on what you can do.
Have fun :)
by Mister Goodcat
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:
http://www.silverlightshow.net/video/Advanced-MVVM-for-WPDev-Webinar.aspx
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.
by Mister Goodcat
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:
http://www.thetabletshow.com/default.aspx?showNum=28
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.
by Mister Goodcat
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
by Mister Goodcat
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
by Mister Goodcat
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...
by Mister Goodcat
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?
by Mister Goodcat
21. March 2012 13:30
The guys over at SilverlightShow just released my first article on the creation of the Windows Phone app accompanying their web portal. In this mini-series of articles I share some of the experiences during the development of that said app, and focus on things that you probably don't see that often in other tutorials about Windows Phone on the web. One of the particular goals of the articles is to give you some insights in the development process of a real-world project, what problems you might be facing in such a project and how to deal with them. The first part solely talks about the development process itself, and what steps we performed to get the app development up and running. You can find the full article here:
http://www.silverlightshow.net/items/Creating-the-SilverlightShow-Windows-Phone-App.aspx
I'd be glad to hear some feedback or receive comments, either here, over at SilverlightShow, or through the contact options of my blog. Also, if you are interested in reading about a particular details of the app in a future part of the series, let me know. It's still time to integrate your suggestions if they're reasonable.
by Mister Goodcat
11. March 2012 13:09
A few weeks ago, I submitted the official Windows Phone app accompanying the SilverlightShow.net portal to the Marketplace. The app is completely free (also ad-free!) and presents you the content available on this platform. Today I've pushed a first update of the app to the Marketplace for certification, with some improvements to the notification tiles. You can now choose the interval the app goes out to check for updates to optimize battery life on your phone. I've also been eating my own dog food and have improved memory consumption of the involved background agent using the tips of my article series on the topic. If you haven't checked out the app yet, you can find it on the Marketplace here:
SilverlightShow App
Creating the app was an interesting experience, because it wasn't a greenfield development but had to accommodate to the already existing infrastructure and of course the particular requirements of the guys over at SilverlightShow. We thought it would be nice to share some of these experiences to give developers an idea of what creating such apps looks like, off the beaten paths of simplified tutorials and scenarios. Watch out for some upcoming articles on that, with particular details about the problems and issues we were facing, and some recipes for how to solve them.
As always, feel free to leave comments, thoughts and suggestions – we particularly want to improve the app in future versions based on your feedback.