The Infinite Panorama Background

Something that occurred to me as obvious, but also something that I nearly didn’t implement is an ‘infinite background’ for the Panorama Control in my latest Windows Phone Application.

When reviewing the final version of the App I noticed that flipping from Panorama Item 3 on to Panorama Item 1 the experience was not as smooth as the other transitions.  This is a direct result of the mismatching borders on the Panaorama background image itself:

image

It only took me a second to realise that I might get a better experience if I folded the original image in on itself such that the left and right sides of the image match each other (thank you Paint.Net!):

image

Of course I lost part of the original image – but in the context of what I was doing this doesn’t really matter.

Those eagle eyed will have noticed that the background pic for this app has changed – I noticed that the original was copyright so substituted one of my own (from my honeymoon as it happens).   Note to self: Don’t get careless.

NB You will see this effect in use in “Ambient Soundscape”, which will hopefully be appearing on the marketplace soon.

Infinite Panorama Background

Changing a Panorama Control Title Font.

 

SplashScreenImage

So rather a grand title for this, another ‘Sequencer App’, but while putting it together this felt like the best use of my existing/developing sequencing platform to date, so if the title is a little cheesy, so be it.

I always try and add a little something different with every iteration of this app and, as I liked the font I used for the Splash Screen (Above) I wanted to try and add it to the main Panorama Screen (Below).

image

I turned to Blend but quickly found that there was no way to change the Font for the Panorama Title within the Designer.  So I switched to XAML View and used a method for manipulating the design that I have used before (but not blogged about).

image

Its a simple enough job to take the Panorama Title out of the main declaration and give it its own sub declaration. Then by adding a Text Block I was able to set the font to the one that I desired:

image

Of course this trick can be expanded upon by using other controls (and attributes) besides a Text Block.  For instance I have used a background transparent Bitmap to pleasing effect in another example.

image

One thing to be aware of is that this new section of XAML cannot be modified in the designer (the designer works fine, but this section is effectively ‘hidden’) so I guess we are making the design ‘Partially un-Blendable’ with this trick (though in reality most designers know enough about the XAML underpinnings that I would not expect this to be a problem).

image

Finally I had to bring Blend in again in order to embed the font into the XAP.

NB “Ambient Soundscape” should appear in the MarketPlace later this week.

WP7 Marketplace–Indie Devs take note!

Having registered the recent discussions on Twitter relating to the pros and cons of Trial Mode vs Free Mode I thought I would refactor one of my apps* to see how the stats would compare.

image

(Click to view fullscreen)

Big Surprise!

More downloads of the free app in 1 day than the trial app over the last couple of months!  (Way more).

Shame that UK developers cannot take advantage of Microsoft advertising SDK as this would be a nice alternative option to generate some income.

http://social.zune.net/redirect?type=phoneApp&id=7377ea45-6a08-e011-9264-00237de2db9e

Marketplace Tip: CultureInfo.InvariantCulture

 image

After releasing a ‘Lite’ version of my Jamster application just before Christmas I have received a lot of comments from foreign downloaders that point to an obvious issue when running in other languages/culture settings.

Of course I  had tested code under several different language settings in the past, but was conscious that I hadn’t done so recently. 

A quick check running the emulator in French (see left – Settings->Region & Language) quickly revealed the culprit and an easy fix:

image

Without the second parameter the parsing assumes culture specific attributes, which are often undesirable.

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture.aspx

 

image