Windows Phone Dev Center – changes!

If you published or updated an Windows Phone app today or yesterday using Windows Phone Dev Center, then you could see some changes related to this process. What kind of changes?

1. Possibility to rotate screenshot – many times our apps work in horizontal mode or at least support it. When we want to present such possibility then we can add horizontal pictures, but they will be presented in the same way as others – vertically. Now it has been changed. We can click rotate button for each picture to change way it should be presented.


2. Possibility to remove submitted app or update – it was available for Windows 8 developers – now we can do the same. Why? Lest imagine that just after submiting app you found some dirty bug, bad picture, sound or anything unexpected. What then? Now we can easly solve this problem simply canceling submission.



3. Last but not least – I think this is best and most useful feature – possiblity to auto scale pictures! Till now we had to create separated screenshots for each supported resolution. Lets say we supports 3 resolutions and we want to add 5 pictures – then we had to create 15 images and run app 3 times in different simulators. What if – multiple languages suport? No way! Not it is easy like a piece of cake :)
Great job – this part was suggested during MVP’s meeting with WP Team – well done!



Nokia Lumia 920 – proximity sensor problem

During the weekend it happend something what I was expecting, but not so soon :) Before I explain it, lets start from the beginning.

Lot of mobile phones has built in proximity sensor. It is mainly used to turn off screen during the call, when people keep phone close to ear. In Lumia 920 it is placed just above top border of screen, where it can easly get dirty. I’m talking about area close to front camera.


After one month of using Lumia 920 it happened. Just after starting call whole screen was dark and not responsible. It made impossible any call or phone control. Reason was dust near proximity sensor which strongly influenced its results.

Happily solution is very easy – you just need to clean up that place with compressed air, vaccum cleaner etc. In my case it was piece of foil which perfectly fitted there. After this my Lumia was working perfectly again. I was very close to giving this particular device to warranty repair as air was not working for me, but finally I found my solution :)
I hope that this post will help you if you ever have such problem – I hope you won’t as Nokia is really great device :)

Must have for any Windows Phone developer

Yesterday on Marketplace appeared new app from Microsoft Studios which in my opinion is must have for any Windows Phone developer! It is called Dev Center:

It contains subset of functionalities provided by portal. To be accurate it provides you possibility to view reports about your apps. It is quite obvious that you can’t publish app via it as this would be non trivial challange :)

Most important features, beside download stats and applications list is that it gives you possibility to filter by download type (none, free, trial, paid) and translation of reviews. The last one is great as allows you to response for users feedback much easier if reviews are not provided in English :) Remember – you are creating apps not only for your country, but for the whole World :)

Windows Phone Simulation Dashboard

During daily work with Visual Studio 2012 and Windows Phone SDK people may do not know that beside Windows Phone Emulator there is something more and it is called Simulation Dashboard. It is available in Tools -> Simulation Dashboard menu or using Quick Launch (CTRL + Q) after typing just 3 first letters of its name. BTW – I really encourage you to use Quick Launch as it gives you possibility to use over 4k features of Visual Studio from just one place.
Let’s get back to the point and see how this panel looks like.


Currently it provides you 3 features (Network Simulation, Screen Lock and Reminders), but in next releases it is strongly possible to be extended. If you have some ideas what should be there too, just post a comment – I will collect this data and send back to tools team as suggestion.

Network simulation allows you to check how app works under edge conditions, when network is poor. It allows you to see what delays user will see using your app during data upload / download etc. It can give you chance to add for example performance progress bar which indicates user that there is some background operation.

Another important thing is to check your app working under locked screen. We all do remember that you can say that your app will be still running so this is great possibility to check this without real device.

Reminders – this is feature which can switch user to different context out of your app and then get it back. It’s good to remember to check such scenario too and with Simulation Dashboard it can’t be easier to do.

Metropolis by Bee Mobile

Some time ago I was asked to test and review set of controls prepared by Bee Mobile and dedicated for Windows Phone
This Set is called Metropolis. After some time of tests I decided to share my opinion about this product and help you to take decision “to buy or not to buy” or “to use or not to use” in your apps :)

First of all what you can see after instalation is well prepared demo and documentation which shows you step by step how to use each controll and how you can add them into your Windows Phone project.

Below I would like to present some of most interesting controls from this set (IMO :) )


Know from many different implementations and many platforms “book”. This specyfic one can be described as “smooth and flexible”. It allows you to easy add any item into pages. Those pages thanks to good implementation looks very natural… It’s easy to find at least couple scenarios and places where to use this book – ex. oryginally styled help for application, RSS browser (or any other data browser) with intuitive way of browsing.

DatePicker, TimePicker and iWheel

All those controlls are based on the same mechanism. Probably they are very familiar to all Objective-C and “i” plafroms fans :) They are interesting alternative for all *pickers from Silverlight Toolkit.

It is good to remember that those three controls should be used in proper context and properly styled apps because they are not fully based on Metro UI (yet :)). Of course you can change their styles, but maybe soon you won’t have to do this… Why? I’ve suggested this to Bee Mobile and I’ve got response that they are thinking about couple predefined styles for all controls like you can see using SegmentedControl.


This control is a combination of radio button and check box list, but it is much easier to use if you want to create very custom styled part of app. This is great alternative for toggle switch and it allows to change our thinking about data presentation and manipulation. Currently I’m thinking about this control as part of couple of my apps to make them easier to use for users – it will save me a lot of time :)

As I mentioned this control has couple predefined styles which allows to change it with single click and fit to different platforms design style…

Other controls

Beside controls described above we can use VistaButton, Waiting Bar and RegionControl. Waiting Bar is very similar to ajax loader known from web apps. Thanks to this some part of users can understand it more clearly than progress bar (which sometimes is not very intuitive… :().

Region Control allows to present data in very different way that we’ve got used to – demo suggests to use it in some helth apps or car rental etc. I have couple other scenarios like using it as interactive worl map in some strategy or semi strategy games :)


License for single developer costs little bit below 200$ – this seems to be not too much according for perspectives of income from uncommon apps and Metropolis seams to give very interesting part of such solutions.


Metropolis is very interesting and brings couple new (in case of Metro UI) ideas for data presentation and manipulation. Thanks to dynamic developement and improvement in future we will probably see updates and new features which will give us a lot of new possibilities :)

WP 7.1.1 available

Today on Microsoft pages it is available to download Windows Phone 7.1.1 Update (recently I was writing about CTP here).

Direct link to download (260 MB):

Interesting is that there is no requirement connected with uninstalling CTP release – this is not common in .NET world :) This is how it was looking on my machine:

As a short reminder: 7.1.1 allows to detect devices with less memory (256MB RAM). This gives us a chance to reduce calculations / frame rates or something in this kind and prevent memory issues on “256 powered” devices. Additionally we can choose which emulator we want to start (512 MB / 256 MB).

Is that all? NO! Now for all who have installed Windows 8 on their computers – Windows Phone Emulator will work without any problems – it has been fixed in case of Windows 8 issues discovered by users.

Couple more links about 7.1.1:

What’s new:

Developing apps for 256MB

Go and get it :)

Windows Phone SDK 7.1.1 Update CTP

According to Nokia Lumia 610 announcement at Mobile World Congress, at Microsoft Download there is now available Windows Phone SDK 7.1.1 CTP.

Windows Phone is going to be delivered on less powered devices (cheaper CPU and 256MB RAM). System is optimized so it will deal with those reduced resources, but Microsoft want’s all developers to think about that and deliver fully optimized apps for each device. In this there are available couple new features:

Two Windows Phone Emulator images available after SDK update. One (default) with 512MB RAM and second with 256MB RAM. This is available on drop down list as below:


When we want to discover on which device type our application is running then we need to use code as below:

	Int64 result = (Int64)DeviceExtendedProperties.GetValue("ApplicationWorkingSetLimit");
	if (result < 94371840L)
		// IsLowMemDevice = true;
		// IsLowMemDevice = false;
catch (ArgumentOutOfRangeException)
	// Windows Phone OS update not installed, which indicates a 512-MB device.

This condition is connected with current maximum aloved memory limit which is 90MB. In device running on 256MB this is to much to be sure that all features of Windows Phone platform can run without any problems.
Keep it in your mind and prepare your apps to run on all devices – if it can be needed just reduce clock time in your game or use less memory consuming operations / resources :)
You can find more at MSDN.

Windows 8 CP and Visual Studio 2011 Beta

Starting from today at Microsoft download center we are able to download Windows 8 Consumer Preview. Here is direct link do ISO files:

Additionally we are able to download Visual Studio 2011 Beta! Here is direct link We can choose Visual Studio, TFS or Express editions. My choice was VS Ultimate (available here: Status: downloading… :)

IsolatedStorageSettings wrapper

Many times in our Windows Phone 7 applications we are using some settings to provide high quality and user flexible/friendly apps. To reach this we should use IsolatedStorageSettings class which contains ApplicationSettings dictionary based on string as key and object as value. To prevent writing code responsible for retrieving and casting values from this dictionary in many places I’ve created class called SettingsProvides with two generic methods like below:

public class SettingsProvider
	#region internal
	private static void SetValue(string key, T value)
		if (IsolatedStorageSettings.ApplicationSettings.Contains(key))
			IsolatedStorageSettings.ApplicationSettings[key] = value;
			IsolatedStorageSettings.ApplicationSettings.Add(key, value);
	private static T GetValueOrDefault(string key, T defaultValue)
		if (IsolatedStorageSettings.ApplicationSettings.Contains(key))
			return (T)IsolatedStorageSettings.ApplicationSettings[key];
			IsolatedStorageSettings.ApplicationSettings.Add(key, defaultValue);
			return defaultValue;

Thanks to this I can provide to my application set of strongly typed properties for example like those:

public string UserName
	get { return GetValueOrDefault("UserName", ""); }
	set { SetValue("UserName", value); }

I hope that this small code snippet will help you easier create and use application settings feature in your Windows Phone apps :)

Windows Phone Emulator – not only Shake

Windows Phone Emulator since version 7.1 has support for accelerometer emulation which is helpfull when you don’t have physical device. Currently it allows you to run predefined sequentions of accelerometer data to test your application. How to do this?

In additional panel of WP7 Emulator (you can run it using >> button) we have tab called Acceleromenter and section Recorded data.

By default we have only one item on list. It represents example set of data reads when you are shaking your phone. What if we want something more? What if we need some other set of data? It is quite easy to do. First of all we need to go to C:\Program Files (x86)\Microsoft XDE\1.0\sensordata\acc (directory (x86) part is ofcourse optional) – there is a file called Shake. It can be opened with any text editor – I’m using Notepad++ because it is simple XML file. The most important part of this file is connected with AccData elements. Sample entry is listed below.

<AccData offset="2185" x="00.45899999" y="-00.69300002" z="-00.49500000" />

Meaning of X,Y,Z attributes is quite obvious. Offset attribute is responsible for defining when this part of data (X,Y,Z) should be send to emulator and it is defined in milliseconds. Now we can simply create analogical file (ex. by simple copy and paste) and modify its content. As a result we are getting now two options on Recorded Data list as you can see below.

Simple as it is :) I hope that now it will be easier for you to test your applications using accelerometer emulation.

Copyright © 1996-2010 Maciej Grabek. All rights reserved.
Powered by WordPress