I just ranked #10 in Card+Board Category in the Windows Phone Marketplace!

imageIn November 2011, i.e. less than four months ago I humbly released a card game app to the Windows Phone marketplace. Mostly I built it, because I feel that as a Microsoft Windows Phone evangelist, I can help developers and partners better, if I have a hands-on experience on the subject, and also generate some content for my blogs, presentations and events. Today is time to celebrate: XYOLOGIC site ranked me #10 in the card and board category in the Windows Phone marketplace! Today, I want to tell you the story of this little achievement, hope it’ll be entertaining to any aspiring app developer.

It was a great and rewarding experience indeed, from the start! And I feel very proud and grateful for every $0.99, free download and user review I’m getting. In fact, I read every review, including those written in Chinese, German, Italian, French and Russian (thanks to Bing Translator!).

Where did my game engine come from?

I created the card engine called “Card Lion” back in 1999, when I was trying to build a Java applet for a little known card game called 101 “Hundred and One”. The game had a console client and a Java applet client. The purpose was just as humble: learning Java language.

Later, when .NET 1.0 came along, I decided to port it to C#, with the same goal: learning a new language. It was a Windows Forms based game, and I also built it for Pocket PCs. Microsoft was waaaayyyyyy ahead of its time with Pocket PCs! What we were missing was the Marketplace! This tiny little bit of infrastructure makes all the difference! This is why you can download my games today, and not back in 1999, when I already had it built, but had no way to share with users.

Porting to Windows Phone: the big leap

I took the leap and ported a Windows Forms .NET 1.1 C# game to Windows Phone XAML and C#. So all graphics had to be replaced, I’m glad my game engine was in a separate library and could be simply recompiled and attached to a new Windows Phone solution. Because of all animations on the composition thread possible in XAML, the game of 2011 started to look much better than Windows Forms game of 1999!

I had to recreate all graphics: every graphical element in this game, including cards was manually created in Inkscape in SVG format. There’s only a couple of images I bought for $$, everything else is my design, and boy, was it a lot of work!

Decisions, Decisions

There were many decisions I had to make, and every development decision had consequences: whether to use XAML or XNA, whether to make my games 2- or 4- players, whether to use landscape or portrait orientation or both, whether to integrate with Facebook, whether to use live tiles… How to design scoring and achievements… Should all my games be FREE? What should be the pricing and monetization? App developer needs to do lots of thinking and make many decisions Smile

Reading Reviews and Really Listening!

image6_thumbI use a fantastic app called zTop for that, it really simplifies the process or reading through user reviews across all global marketplaces, and even allows you to contact the reviewers back via Zune.

Most reviews, including negative ones have been extremely helpful. For instance, the first version of the game didn’t have a mute mode for sound effects. Thanks to the reviewers, I added mute mode and many other features to the apps. People mentioned that the trial on the “Card Games Chest” was limited to only one game, and I submitted an update, which allowed any game in the chest to be played in the trial. Over time settings, achievements and other features were added thanks to users’ comments and reviews.

Sharing the Code and Ideas

I also used many code samples from my apps in during my presentations in Silicon Valley and elsewhere in the US, and I feel that became somewhat of an expert in the card game subject area for Windows Phone.

Since then I published 5 other card games, and I’m not at eleventh iteration, which added more features, including achievements, Facebook integration, live tiles and more.


My advice to app developers: listen to your users, submit updates, change pricing if necessary. Follow best practices and advice available on MSDN for app developers, but also listen to your inner self. Think of your users as your friends. Good rankings and reviews will come! If you are fair with your users, they’ll notice it! That’s the magic of making good products Smile Somehow your users will feel that you take care of them, and will promote your app. I’ve seen some apps placing an AdControl at the bottom of the screen where the user can mistake it for the application bar and click the ad. This will earn you $0.01, but it won’t in terms of your users’ love. Winning love is far more important (to me) than winning a few cents of revenue.

So, I call for fair apps. I call for fair apps that treat users with dignity. This is not about being free: there’s a lot of sweat and sleepless nights in those little apps. But economics of scale will only work with fair apps, it seems.

Many Thanks!

During all this time many people supported me enormously, and to all of them I’m very grateful. This may be a little funny game, but with all the polish, and work, and sweat, and nights it turns to be an adventure. Like writing a book.

Continue reading “I just ranked #10 in Card+Board Category in the Windows Phone Marketplace!”

Async CTP – Task based asynchronous programming for Windows Phone

6 code samples for this post

[my apps for Windows Phone that use Async CTP Smile]


Asynchronous programming is super-interesting especially today, with responsiveness required by all modern devices. In the context of Windows Phone 7, Async CTP Version 3 was released last year, and it’s compatible with SDK 7.1, Silverlight 5 and Roslyn CTP. Our takeaways today is using async in the context of Windows Phone 7, understanding TAP (task based asynchronous programming). I’ll show you how deep the rabbit hole goes: we’ll go beyond basics to exceptions, cancellations, progress, switching threads, combinators and even re-entrancy.

Historical Background

And let me just say: it’s worth learning NOW, because this model is quickly becoming mainstream, especially with Windows 8 not that far on the horizon. In terms of the where we are with Async CTP Version 3: you don’t need to wait for C# 5.0 to start using it. It has been a long time since 1960s when Steve Russel was one of the first to add continuations to LISP on IBM 704. I like this definition of continuations:

Say you’re in the kitchen in front of the refrigerator, thinking about a sandwich. You take a continuation right there and stick it in your pocket. Then you get some turkey and bread out of the refrigerator and make yourself a sandwich, which is now sitting on the counter. You invoke the continuation in your pocket, and you find yourself standing in front of the refrigerator again, thinking about a sandwich. But fortunately, there’s a sandwich on the counter, and all the materials used to make it are gone. So you eat it. :-)

Scheme formally introduced call/cc operations.

Continue reading “Async CTP – Task based asynchronous programming for Windows Phone”

Top ski apps for Windows Phone season 2011-2012

UPDATE: WINTER SKI & RIDE app recently released for Nokia Collection is the mega-super-star of ski apps for Windows Phone

Check out WINTER SKI & RIDE! The best app not only for Windows Phone, it easily beats Android and iPhone apps!


Microsoft Windows Phone blog about WINTER

WPCentral about WINTER


P1050639The ski season in the North America is still waiting for the real snowfall, but despite the snow conditions many companies and developers decided to build apps for the new cool kid on the mountain, the Windows Phone. Skiers and snowboarders out there love gadgets, and having a Windows Phone immediately attracts attention on the chairlifts across America. “I’ve heard Microsoft and Nokia did an awesome job at CES this year!” – a rider with awesome polarized goggles tells me on the Glacier Express lift over magnificent Blackcomb mountain (he probably means Nokia Lumia CES award).  “Yeah, I like those tile things” – another ski dude almost makes my IMG_1739 (2)_scrWindows Phone drop 100 ft into an unknown bowl covered with snow boulders left by avalanches. I manage to save my precious Windows Phone with a gorgeous 4.3” super AMOLED screen from a disaster, and our conversation continues in peace.

Continue reading “Top ski apps for Windows Phone season 2011-2012”

Flipping Card animation for Windows Phone 7 using Expression Blend

Download Source

In this post I’ll show you how to create a card flipping animation for Windows Phone 7, using Expression Blend. The source code is available for download in the attachment. First, I create a Windows Phone 7 project from scratch, using Expression Blend, you can also create a project in Visual Studio, right click on any page and select “Open with Expression Blend…” context menu option. I actually used this technique in real Windows Phone games I built:

101 Card

Continue reading “Flipping Card animation for Windows Phone 7 using Expression Blend”

An opportunity to win a Windows Phone and free Marketplace access


30 to Launch: A Windows® Phone App and Your Moment in the Spotlight!

What This Is:

From Nov 14-Dec 14, we are throwing down a challenge and an opportunity to Hacker Dojo members and anybody who’s interested in Windows Phone development. Join us over these 4 weeks to build a Windows Phone app!

Why Should You Care: Your app might get an opportunity for a moment in the spotlight! Plus, you could win a Windows Phone- yours to keep after you submit your app to the Windows Phone Marketplace!

Our 4-Week Quadrathlon goes like this:

Nov 14, at 7pm at Hacker Dojo, Mountain View 30 to Launch – Windows Phone – Coding Camp – Week 1

Nov 22, at 7pm at Hacker Dojo, Mountain View 30 to Launch – Windows Phone – Coding Camp – Week 2

Nov 29, at 7pm at Hacker Dojo, Mountain View 30 to Launch – Windows Phone – Coding Camp – Week 3

Dec 6, at 7pm at Hacker Dojo, Mountain View 30 to Launch – Windows Phone – Coding Camp – Week 4


Continue reading “An opportunity to win a Windows Phone and free Marketplace access”

Register for Windows Phone Camps!


If you are a developer, or just curious about Windows Phone platform, we have a series of Phone Camps in Costa Mesa, Phoenix, Denver, Santa Monica, San Diego, San Francisco, Redmond and Portland. I’ll be speaking at Costa Mesa, Denver, San Francisco and San Diego.

Resource Links


Continue reading “Register for Windows Phone Camps!”

Windows Phone 7.5 Cheat Sheet: Beyond Mango SDK – Toolkits and Controls

This cheat sheet lists more advanced tools, toolkits and controls beyond the standard Mango SDK 7.1, such as NuGet, Silverlight Toolkit, MVVM Light, Catel, Phone7.Fx, Coding4Fun and others.

Also published on http://kevinashley.com


Continue reading “Windows Phone 7.5 Cheat Sheet: Beyond Mango SDK – Toolkits and Controls”

Windows Phone 7.5 Mango Cheat Sheet – Live Tiles

One of the most important (and unique!) features of Windows Phone 7.5 is live tiles. Live tiles make Windows Phone truly recognizable, even if you see it from 10 meters away in a store. I created this cheat sheet to help you quickly add live tile features to your app. Enjoy!

I also recommend checking out another quick card for Windows Phone controls and toolkits:

Windows Phone 7.5 Cheat Sheet – Controls and Toolkits

Continue reading “Windows Phone 7.5 Mango Cheat Sheet – Live Tiles”

iSkiSchool app gets ready for Windows Phone 7 Mango


Great news about iSkiSchool and 12 Ski Lessons apps! I’ve been quietly adding Mango features, such as live tiles and the new execution model. When Microsoft releases the new version of Windows Phone 7 “Mango”, my apps will go to production. There may be some pricing changes, which will benefit more skiers.

Continue reading “iSkiSchool app gets ready for Windows Phone 7 Mango”

Connect Windows Phone 7 Apps to WordPress using JSON


Download Code Samples

This is the Part 2 of connectivity posts for Windows Phone. In Part 1 we discussed how to connect a Windows Phone app to WordPress using the blog’s built-in XMLRPC mechanism. This time we’ll use another popular protocol called JSON.

Many of us use WordPress: it’s an excellent platform for bloggers. Every time I start a new Web project, before deciding to build it from scratch, I try to consider WordPress or other CMS to save time and effort. WordPress plugins fills many gaps, including eCommerce, Membership, CMS and hundreds of other use cases. If you are used to building everything from scratch, you probably smell danger in this lego mentality. Well, it makes sense, considering that 60% of software projects fail on time and on the budget. The paradigm of “standing on the shoulders of the giants” suddenly makes sense in the risky business of building software!

As a Windows Phone app developer you probably wonder how can you connect your Windows Phone 7 app to your WordPress blog? WordPress’ standard built-in mechanism is XMLRPC, but with a help of a free plugin called JSON API, WordPress can be accessed with JSON.

The only file we change in this example from the standard template Visual Studio has for a Panorama project is MainViewModel.cs. Cool, isn’t it?

Continue reading “Connect Windows Phone 7 Apps to WordPress using JSON”