<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.81 (http://www.squarespace.com/) on Fri, 24 Feb 2012 06:58:01 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Roybott's Blog</title><subtitle>Roybott's Blog</subtitle><id>http://roybott.com/blog/</id><link rel="alternate" type="application/xhtml+xml" href="http://roybott.com/blog/"/><link rel="self" type="application/atom+xml" href="http://roybott.com/blog/atom.xml"/><updated>2011-07-18T08:30:26Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.11.81 (http://www.squarespace.com/)">Squarespace</generator><entry><title>WP7 App Settings Persistence</title><category term="Dev Tips"/><category term="Development"/><category term="UkTechDays"/><category term="VerySoftware"/><category term="WP7"/><id>http://roybott.com/blog/wp7-app-settings-persistence.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/wp7-app-settings-persistence.html"/><author><name>Roybott</name></author><published>2011-07-18T08:30:26Z</published><updated>2011-07-18T08:30:26Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[<p>The final part of my <a href="http://roybott.com/blog/tag/uktechdays">series of blog posts</a> covering the code tips and tricks I shared at <a href="http://uktechdays.cloudapp.net/techdays-live/blending-delicious-user-experiences-for-windows-phone-7.aspx">UK Tech.Days 2011</a>, is about providing users with an improved experience when they are forced to re-install your application, whether that be due to them migrating to a new phone, or a bug forcing them to uninstall it.</p>

<p>So what's the problem? Well when a user reinstalls your app they have to start from scratch, any settings/customisations they make to your app are lost and this barrier to re-entry can sometimes force users to simply go elsewhere. In an ideal world a user should be presented with the option to restore their settings/customisations to you app when they load it for the first time after the uninstall/on the new device. Obviously any settings stored in Isolated Storage are lost so if you want to provide this experience you will need to save these settings in the cloud.</p>]]></summary></entry><entry><title>WP7 Error Reporting done simply</title><category term="Dev Tips"/><category term="Development"/><category term="UkTechDays"/><category term="VerySoftware"/><category term="WP7"/><id>http://roybott.com/blog/wp7-error-reporting-done-simply.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/wp7-error-reporting-done-simply.html"/><author><name>Roybott</name></author><published>2011-07-10T11:21:27Z</published><updated>2011-07-10T11:21:27Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[<p>Part 3 in my <a href="http://roybott.com/blog/tag/uktechdays">series of blog posts</a> covering the quick code Tips & Tricks I shared at <a href="http://uktechdays.cloudapp.net/techdays-live/blending-delicious-user-experiences-for-windows-phone-7.aspx">UK Tech.Days</a>, is about enabling your users to provide you with some useful information if things go badly with your Windows Phone 7 app.</p>

<p>Often on the marketplace I have seen apps that have multiple reviews by different users just saying things like "Crashes on startup!" or "Doesn't work on my device!", and as a developer I know its frustrating to see things like this when the app is working perfectly fine on your phone. While it would be nice for users to provide detailed repro' steps and associated data, that's not really likely to happen, but in my opinion the main thing you want as a developer is the Exception and a Call Stack of whatever is causing the app to crash.</p>]]></summary></entry><entry><title>Getting ratings for your WP7 app</title><category term="Dev Tips"/><category term="Development"/><category term="UkTechDays"/><category term="VerySoftware"/><category term="WP7"/><id>http://roybott.com/blog/getting-ratings-for-your-wp7-app.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/getting-ratings-for-your-wp7-app.html"/><author><name>Roybott</name></author><published>2011-06-28T08:00:00Z</published><updated>2011-06-28T08:00:00Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[<p>The second post in my <a href="http://roybott.com/blog/tag/uktechdays">series of blog posts</a> covering the code Tips & Tricks I shared at <a href="http://uktechdays.cloudapp.net/techdays-live/blending-delicious-user-experiences-for-windows-phone-7.aspx">UK Tech.Days</a>, is about getting more positive ratings/reviews for your WP7 app.</p>

<p>Anyone who has had a bad experience with your application is motivated to go and leave it a scathing review, where as the hundreds of people who loved your app may never even consider leaving it a good review. One way to counter this is to simply ask those users who like your app to leave you a review, however you don't want to bug people too often or before they've had a real chance to use your application. So what can you do?</p>]]></summary></entry><entry><title>WP7 Trial Mode done simply</title><category term="Dev Tips"/><category term="Development"/><category term="UkTechDays"/><category term="VerySoftware"/><category term="WP7"/><id>http://roybott.com/blog/wp7-trial-mode-done-simply.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/wp7-trial-mode-done-simply.html"/><author><name>Roybott</name></author><published>2011-06-21T12:33:45Z</published><updated>2011-06-21T12:33:45Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[<p>In my part of the VerySoftware's presentation at <a href="http://roybott.com/blog/verysoftware-at-uktechdays-2011.html">UKTechDays</a> I talked a bit about some very easy to code things that can be added to nearly any application existing application. Over the next few posts I'm going provide the code and detail of these tips for reference and for anyone who didn't see the presentation.</p>
<h3>Trial Mode</h3>
<p>Adding a trial mode to an existing paid application is very easy to do and highly recommended, even if you also have a 'free' version of you app available on the marketplace, because it lowers the hurdle between a user seeing your application and a user making the purchase. Also improvements to the on phone Marketplace rumoured to be coming with the release of Mango this Fall will mean that paid applications with trials are highlighted more than those without.</p>]]></summary></entry><entry><title>VerySoftware at UKTechDays 2011</title><category term="Development"/><category term="Personal"/><category term="UkTechDays"/><category term="VerySoftware"/><id>http://roybott.com/blog/verysoftware-at-uktechdays-2011.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/verysoftware-at-uktechdays-2011.html"/><author><name>Roybott</name></author><published>2011-06-16T08:30:28Z</published><updated>2011-06-16T08:30:28Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[<p>On the 24th of May we (<a href="http://www.verysoftware.co.uk/">VerySoftware</a>) presented at the WP7 track at <a href="http://uktechdays.cloudapp.net/techdays-live/blending-delicious-user-experiences-for-windows-phone-7.aspx">UKTechDays</a> about creating "delicious user experiences for WP7". The slides/sample code is available <a href="http://www.verysoftware.co.uk/talks/techdays/">here</a>, and the video of the talk is now available online <a href="http://www.microsoft.com/showcase/en/gb/details/22a16bd7-b2ed-41e5-a67a-e8b6e25350eb">here</a> as well as embedded after the break:</p>]]></summary></entry><entry><title>WP7 turn-by-turn directions have accents</title><category term="General Web"/><category term="Mango"/><category term="WP7"/><id>http://roybott.com/blog/wp7-turn-by-turn-directions-have-accents.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/wp7-turn-by-turn-directions-have-accents.html"/><author><name>Roybott</name></author><published>2011-05-27T18:39:11Z</published><updated>2011-05-27T18:39:11Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p>Whilst poking around the emulator for the new Windows Phone 7.1 (Mango)&nbsp;tools I stumbled across the fact that the Turn-by-Turn directions 'voice' has (an attempt at) a British accent if you set the phone's locale to United Kingdom.</p>
<p><iframe width="480" height="390" src="http://www.youtube.com/embed/nHxXtzDHua4?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>Hopefully this is some sort of confirmation that Turn-by-Turn directions will indeed be coming to the UK when Mango ships later this year!</p>]]></content></entry><entry><title>Serializing to Binary on WP7 - Part 2</title><category term="Dev Tips"/><category term="Development"/><category term="VerySoftware"/><category term="WP7"/><category term="serialize"/><id>http://roybott.com/blog/serializing-to-binary-on-wp7-part-2.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/serializing-to-binary-on-wp7-part-2.html"/><author><name>Roybott</name></author><published>2011-05-26T08:05:00Z</published><updated>2011-05-26T08:05:00Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[<p>After <a href="http://roybott.com/blog/serializing-to-binary-on-wp7-part-1.html">investigating</a> a couple of 3rd party Binary Serialization libraries for WP7 and having seen a couple of suggestions online of just writing your own, I decided to do just that.</p>
<p>There were 2 main places where I found information on how to potentially write you own Binary Serializer for WP7, the first I felt took a rather old school approach by adding a "Write" function to each class which accepted a BinaryWriter and simply wrote out each of its own properties. The clear problem with this approach is the maintenance involved with adding new properties or if you wanted to serialize a different class.</p>
<p>The second approach was explained by Eugene Chaikin on <a href="http://www.eugenedotnet.com/2010/12/windows-phone-7-serialization-binary-serialization/">his site</a>, where he attempted to replicate the DataContractSerializer's interface and even make use of the '[DataMember]' attributes in the same way.</p>]]></summary></entry><entry><title>Serializing to Binary on WP7 - Part 1</title><category term="AppTracker"/><category term="Dev Tips"/><category term="Development"/><category term="VerySoftware"/><category term="WP7"/><id>http://roybott.com/blog/serializing-to-binary-on-wp7-part-1.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/serializing-to-binary-on-wp7-part-1.html"/><author><name>Roybott</name></author><published>2011-05-19T08:15:00Z</published><updated>2011-05-19T08:15:00Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[<p>Serialising data out to a file on WP7 is a very easy task thanks to the DataContractSerializer which allows you to tag properties in your class with '[DataMember]' and then use a few simple line of code to save/load that class to file:</p>
<p><!-- code formatted by http://manoli.net/csharpformat/ -->
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="rem">// Save</span></pre>
<pre><span class="lnum">   2:  </span>MyClass theData = <span class="kwrd">new</span> MyClass();</pre>
<pre class="alt"><span class="lnum">   3:  </span><span class="kwrd">using</span> (IsolatedStorageFileStream fs = isoStore.OpenFile(<span class="str">"MyClass.xml"</span>, FileMode.Create))</pre>
<pre><span class="lnum">   4:  </span>{</pre>
<pre class="alt"><span class="lnum">   5:  </span>    DataContractSerializer ser = <span class="kwrd">new</span> DataContractSerializer(<span class="kwrd">typeof</span>(MyClass));</pre>
<pre><span class="lnum">   6:  </span>    ser.WriteObject(fs, theData);</pre>
<pre class="alt"><span class="lnum">   7:  </span>}</pre>
<pre><span class="lnum">   8:  </span>&nbsp;</pre>
<pre class="alt"><span class="lnum">   9:  </span><span class="rem">// Load</span></pre>
<pre><span class="lnum">  10:  </span><span class="kwrd">using</span> (IsolatedStorageFileStream fs = isoStore.OpenFile(<span class="str">"MyClass.xml"</span>, FileMode.Open))</pre>
<pre class="alt"><span class="lnum">  11:  </span>{</pre>
<pre><span class="lnum">  12:  </span>    DataContractSerializer ser = <span class="kwrd">new</span> DataContractSerializer(<span class="kwrd">typeof</span>(MyClass));</pre>
<pre class="alt"><span class="lnum">  13:  </span>    MyClass result = (MyClass)ser.ReadObject(fs);</pre>
<pre><span class="lnum">  14:  </span>}</pre>
</div>
</p>
<p>This is all well and good for getting something up and running quickly, but once you start having more complex classes and/or more data, performance starts to become an issue. A quick test of how long <a href="http://social.zune.net/redirect?type=phoneApp&amp;id=ceb1e261-9909-e011-9264-00237de2db9e">AppTracker</a>&nbsp;currently takes to deserialize the cache file when following just 3 apps (Polyglot, Gifts and AppTracker - consisting of a total of about 544 reviews) resulted in the following timings:&nbsp;</p>]]></summary></entry><entry><title>First play with Blender</title><category term="Blender"/><category term="Personal"/><category term="Video Editing"/><category term="WP7"/><id>http://roybott.com/blog/first-play-with-blender.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/first-play-with-blender.html"/><author><name>Roybott</name></author><published>2011-04-18T22:45:45Z</published><updated>2011-04-18T22:45:45Z</updated><summary type="html" xml:lang="en-GB"><![CDATA[After seeing the latest fan made WP7 video by <a href="http://youtu.be/8Xm-_gbmcM4?hd=1">Brandon Foy</a> at the start of the 2nd day keynote at Mix11 (the <a href="http://youtu.be/VHkPiU9YAQk?hd=1">original one</a> got him noticed by Microsoft), I was curious as to how videos like that could be created. I've edited simple 'screencast' style videos <a href="http://roybott.com/index.php/2010/11/06/polyglot-for-windows-phone-7">in</a> <a href="http://roybott.com/index.php/2010/11/23/polyglot-1-2">the</a> <a href="http://roybott.com/index.php/2011/02/28/apptracker-in-the-wp7comp">past</a>, but didn't really know where to start regarding creating videos within videos including 3D shapes and animation.<br /><br />After asking a few people and having a quick search online I cam across <a href="http://www.blender.org/">Blender</a>, having heard its name before in reference to 3D modelling I was pleased to see references to it regarding video editing. It's a free open source tool for 3D rendering, animation, video editing and a few other things too, so I downloaded it and started looking at a few basic tutorial videos online of how to get started and WTF was going on with the UI.]]></summary></entry><entry><title>AppTracker in the WP7Comp</title><category term="AppTracker"/><category term="Development"/><category term="VerySoftware"/><category term="WP7"/><category term="WP7Comp"/><id>http://roybott.com/blog/apptracker-in-the-wp7comp.html</id><link rel="alternate" type="text/html" href="http://roybott.com/blog/apptracker-in-the-wp7comp.html"/><author><name>Roybott</name></author><published>2011-02-28T21:46:10Z</published><updated>2011-02-28T21:46:10Z</updated><content type="html" xml:lang="en-GB"><![CDATA[<p>While we (<a href="http://www.verysoftware.co.uk">VerySoftware</a>) released AppTracker in mid-December, we have been continuing to work on it, even after having released the V1.1 update at the end of January. The V1.2 update isn't quite ready yet, but we have just entered AppTracker into the <a href="http://www.WP7Comp.com">WP7Comp</a> run by <a href="http://www.red-gate.com/">Red Gate</a>.<br /><br />This competition looks very exciting and aims to find "<strong>which app will developers love most?</strong>", in this category we believe that AppTracker is ideal and hope you'll agree. If you do then why not pop along to <a href="http://www.wp7comp.com/apptracker-%e2%80%93-the-ultimate-tool-to-keep-track-of-your-windows-phone-7-apps-on-the-marketplace/">AppTracker's Entry Page</a> and give us a thumbs up and/or leave a comment?<br /><br />As part of the entry into the competition we needed to create a 'screencast' to demo the app, so we came up with this (awesome music created by <a href="http://twitter.com/nvwoods">nvwoods</a>):<br /><br /><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/k15JoD5_1AE?rel=0" frameborder="0" allowfullscreen></iframe><br /><br /><br />and here is a direct link to <a href="http://social.zune.net/External/LaunchZuneProtocol.aspx?pathuri=navigate%3FphoneAppID%3Dceb1e261-9909-e011-9264-00237de2db9e">download AppTracker</a> from the Marketplace.</p>]]></content></entry></feed>
