Tag Archives: XAML

Ask for User Rating: The Story of How I Doubled My Daily App Downloads

I currently have two apps in the Windows Store: Puzzle Frenzy and Puzzle Frenzy Kids. I’ve been closely monitoring user rating, feedback and request from day one and tried at the same time to tweak and improve the apps.

However, one thing I noticed quite fast was that my app was not getting too many ratings. Even if rating an app is possible in Windows 8 for all apps without extra work (bring up right side bar -> Settings -> Rate and review), my users were simply not doing that. On top of that, I noticed that my competitors’ apps and all the top apps in the same category had hundreds, thousands, even tens of thousands of ratings.

I also realized that the more ratings an app has, the higher it is placed in the Windows Store. It goes without saying that user ratings have a significant contribution to the ranking of the app.

Therefore, I decided to ask for user rating inside the apps, to see if the users will respond and rate my apps more frequently.

However, I found what I think is the sweet spot for getting users to rate the app:

  • I will ask users to rate the app only after they have engaged in (and hopefully enjoyed) the app, that is after they already played 3 puzzle games. By doing so, the users will most likely give it a good rating because they appear to have enjoyed the app enough to stay in the app and play all the 3 games.
  • I offer the user the choice not to rate it and ask again later. I tried not to be too annoying with these requests so I only display it after 3, 7, 15 or 30 games. If even after the fifth prompt the user hasn’t rated the app, I won’t bother him again because he most likely isn’t going to rate the app anyway.
  • I don’t bother the user again once he rated the app, but I still display a “Rate app” button on the home page, in case he changes his mind or wants to update his rating.
Puzzle Frenzy User Rating Prompt

Puzzle Frenzy User Rating Prompt

After introducing these changes, the number of ratings I was getting increased quite a lot.  In around one week I started to get the same number of ratings which before I was getting in one month.

As a consequence, (there were other factors for sure, but the user rating prompt was most likely the most important) the apps got ranked higher and higher, and they started getting more downloads.

On average, now I get around twice as many downloads as I did before.

I highly recommend adding such prompt to anyone developing apps on any platform.

Be ready however, with more ratings and feedback comes more responsibility.

Take user feedback into account and react to it as it will help you improve your app.

Good luck!

Runtime Windows Phone App

My latest app, Runtime for WP7 is here!

RunTime is a FREE stopwatch app for Windows Phone 7.
The stopwatch continues to run in the background even if you lock the screen or leave the app.
The app allows saving laps.
The app shows both the main stopwatch timer as well as the current lap timer.

You can download the app by scanning the following QR code with Bing Vision (Press the Search button on your WP, press “Vision” then point the camera at the scree and follow the link):

Otherwise you can download it by visit the following link:



I hope you like the app! Enjoy

50+ FREE XAML Shapes

Here is a list of shapes I decided to offer for free download.

Both Expression Design 4 .design file and .xaml file included.

The list of shapes includes over 50 shapes:

  • Ellipse
  • Rectangle
  • ArrowRight
  • ArrowLeft
  • ArrowUp
  • ArrowDown
  • RoundedRectangle
  • Triangle
  • Pentagon
  • Hexagon
  • Heart
  • ParallelogramRight
  • ParallelogramUp
  • Trapezoid
  • Diamond
  • Cross
  • ArrowLeftRight
  • ArrowUpDown
  • ArrowQuad
  • Chevron
  • Lightning
  • CalloutRectangle
  • CalloutRoundedRectangle
  • CalloutEllipse
  • CalloutCloud
  • TriangleRight
  • Sun
  • Moon
  • TapeUp
  • TapeRight
  • Cloud
  • Star
  • Cube
  • Can
  • HalfRing
  • Bevel
  • Plaque
  • CalloutArrowRight
  • CalloutArrowLeft
  • CalloutArrowUp
  • CalloutArrowDown
  • CalloutArrowLeftRight
  • CalloutArrowUpDown
  • CalloutArrowQuad
  • FlowchartCollate
  • FlowchartDocument
  • FlowchartMultiDocument
  • FlowchartInternalStorage
  • FlowchartPredefinedProcess
  • FlowchartDelay
  • FlowchartStoredData

The archive is available here .

The new shapes can be found here.

Using GeometryPath XAML as a Path.Data template in Silverlight

In this post I’m going to discuss how to use a GeometryPath as a template for building several Path controls.

Let’s assume we have to build a Silverlight application that is able to draw Circles and Rectangles on a canvas

On a very simple level, one possible approach would be the following:

  • build basic UI on the main window (controls for selecting the shape type and a canvas)
  • handle mouse click on the canvas
  • on each mouse click build a shape according to selected shape type  and placed it on the current mouse position

One idea could be to just create Circles and Rectangles as the user clicks the canvas and with a few lines of code the resulting application looks pretty well.

The problem with this approach is that it is hard to add complex shapes.

Adding even a simple Star would be a rather complicated job: imagine having to add the 10 line segments after calculating the coordinates… it can really take a while. And if you think that a star is not too complicated, think of a more complex shape: a lightning, a cloud, etc.

I will now present you with an alternative that might save you some time.

As the main challenge is to build complex shapes, let’s pass that task to a specialized tool, namely Microsoft Expression Design 4.

Expression Design can be used to draw various shapes and it can export them in XAML format.

We’ll convert all our shapes to Paths and we will use the XAML specific Data to create our shapes.

The advantage is that once we have the Data representation, we can use this CodePlex project http://stringtopathgeometry.codeplex.com/ that can transform it into a PathGeometry.

The code might not look very clean because of the raw data of the path, but it saves us a lot of work and it makes our life easier in the future.

Basically for adding new shapes we now only need to:

  • draw the shape in Expression Design
  • export the shape and use its Data string to populate the appropriate templates dictionary entry in the ShapeFactory class

It is that simple!

Add some transformation, coloring and better UI and you have a nice drawing tool in Silverlight.

Download Source code here (VS2010 Silverlight 4 project)