Kevin Ashley is a Microsoft Architect Evangelist, an authorof Professional Windows 8 Programming book and a developer of top apps andgames for Windows. Kevin often presents on technology at various events,industry shows and webcasts. In his role he works with startups and partners,advising on software design, business and technology strategy, architecture anddevelopment. Kevin has passion for sports and works with many sports industrycompanies and organizations, helping them advancing technology. Prior to Microsoft Kevinworked at Fortune 500 companies and created a business intelligence startup.Kevin has degrees in Mathematics, Computer Science and MBA from the Universityof Connecticut.
Many people are interested in some early Windows 8 stats. I live in Silicon Valley, and here it’s as simple as: “show me the money”. So, this is the time when I show you the money. To me this nice hockey-stick chart looks like there’s a gold rush going on with Windows 8, don’t believe me? I only show you the stats in this posts, just pure facts.
This is the stats from my Card Games Chest app for Windows 8 a few days before and after Windows 8 launch. It’s clearly a hockey-stick pattern, the one that makes investors scream and jump on an opportunity to invest. This app enjoyed a decent 300-400 downloads per day before launch, but after Windows 8 and Microsoft Surface were launched I’m getting about 2000-3000 downloads per day, approaching 100,000 very quickly (up 15K to 65K in just a few days). I’m hoping for a million downloads by the end of this year, and I think this is reasonable.
After I added in-app purchases and Microsoft ads, it pays very well for my lunch and my dinner and a little extra. monthly rent AND a little extra.
I’m extremely happy about Windows 8, it’s a beautiful OS, very fast and fluid, well thought design and features you can’t find anywhere else.
I have very happy and very satisfied customers: in fact what impresses me the most, I actually have some early data to support that users from all age groups love it, based on the pattern of their purchases and downloads. I now have some very hard numbers that support the fact that users from all age groups love Windows 8! First, the download and purchase stats. As you can see, the app is downloaded by all age groups, including 13-21 and >55 years old. You see, only very satisfied customers buy the app, and they must love Windows 8 too, otherwise why would they buy it!
The interesting detail: more people older than 55 yo purchase advanced features in my app, which means not only are they comfortable with Windows 8 UI, but also, they are willing to spend money for in-app purchase! I read many posts recently from “I’m a Mac” prospective, arguing that Windows user interface is confusing. Clearly they were wrong all along: this chart below shows that people older than 55 are not only satisfied with Windows Store apps user experience, they are actually willing to pay money for premium features.
I know many iOS and Android developers, and I encourage them to join the Windows gold rush!
Windows 8 apps can be monetized in a number of ways: buy per download, trials, advertisements or in-app purchase or even third party e-commerce engines. Windows Store allows you to take home more revenue than Apple Store. Unlike Apple Store, which at the time of this writing takes 30% of revenue, Windows Store has a tiered revenue sharing model: first 25K in sales you pay 30%, anything on top of that Windows Store only takes 20%.
If your app makes $1mln in revenue, Windows Store allows you to take home almost $94,000 more than Apple Store! Just think about it: $94K remains in your pocket!
If your app makes $1mln in revenue, Windows Store allows you to take home almost $94,000 more than Apple Store! Just think about it: $94K remains in your pocket!
You can read more about Windows Store monetization options at the official Windows Store site. Also, check out my Professional Windows 8 Programming Book that has a chapter and samples on Windows Store.
6 code samples for this post
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.
This post is about card games and casual Metro gaming experience, based on Card Games Chest for Windows 8. For those of you who played the Windows Phone version of my games, you’ll be pleasantly surprised to discover them in Windows 8 Release Preview. Thanks to Microsoft, I did lots of changes to take advantage of minimalistic and elegant Metro design language.
Thinking about how many people will be playing these games, with half a billion or so registered Windows PCs in the world puts a very special responsibility on the quality of my games. I focused on the quality from the start, and I can proudly share some initial stats: even with Windows 8 being less than a week is in release preview, I’m getting thousands of downloads every day. Of these thousands downloads, I had extremely positive reviews that put my games on par with Cut’the’Rope blockbuster (if you sort by highest ranking, it’s now around #8).
Best things in life are FREE, so Card Games Chest is FREE for your entertainment.
Card Games Chest for Windows 8
Card Games Chest for Windows Phone
My goal is to help startups and developers building great popular products for Windows Phone and Windows 8, I hope to hear your success stories!
When you start the Game Chest for Windows 8, notice how it opens with a beautiful graphics and smooth transition? I worked hard on this animation, making everything, including coffee stains on the cards No worries, stains are decaf (and even built with vector graphics), but I hope you like the quality and notice that every little detail is taken care of. And yes, the design is made in sunny California.
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 (feel free to download these games, they are pretty addictive though, be warned!). Now, if you played the games, flipping a card using Blend should be a piece of cake (I hope you can win 101 by the way, the engine plays it pretty strongly ). UNO (excuse me, DUO) is also very cool, let me know if you can win it. So first, let’s create an Expression Blend project.
I have to admit that I experienced a discovery and an emotional shock not dissimilar from those experienced by people who saw Morse or Marconi devices for the first time, and this is what my post is about. This weekend Skype for Windows Phone has been released to all Windows Phone users, and I happened to be closing 2011-2012 skiing season in Kirkwood, CA, so I grabbed Skype from Windows Phone marketplace and decided to put it through the ultimate test: calling my family from the ski slopes live, from 8000ft altitude.
It has been a great season, and earlier I made a few posts on Windows Phone skiing apps. At that time Skype was available in beta, and didn’t make it to the review. Now it’s time!
It’s worth mentioning that Kirkwood Mountain has a great AT&T 4G coverage, most of the time Windows Phone was getting all bars. I suspect that this is because they have a couple of transmitters right on top of the Wall chairlift, at least they look like cell towers of some sort.
When I mentioned that my emotional shock from using Skype while skiing was of the same kind experienced by first Morse and Marconi device users, I was completely honest.
It’s Tuesday, a couple of days have passed, and I still feel that it’s the beginning of a completely new era in ski gadgets. It seems with Skype for Windows Phone you can now literally be out there with your friends and family real-time!
Check out WINTER SKI & RIDE! The best app not only for Windows Phone, it easily beats Android and iPhone apps!
UPDATE: 2012-2013 Ski Apps Review – WINTER SKI & RIDE is the best app for Windows Phone skiing
Microsoft Windows Phone blog about WINTER
WPCentral about WINTER
Update: Do you know why Skype for Windows Phone is becoming an ultimate ski communication app? check my April post.
The ski season in 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 Windows 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.
Last year I did a review of ski and snowboard apps for Windows Phone, but this season we have a star app, it’s better than anything iPhone or Android have by an order of magnitude, which makes Windows Phone a leader in snow sports industry. Don’t believe me? This app is endorsed by professional ski and snowboard instructions association of America (PSIA-AASI), which includes more than 30,000 ski instructors. The app is beautifully designed and has everything a skier or snowboarder needs on the mountain, including tracking of ski runs, thousands of resorts, rapidly growing global social community, friends features and a great design. The app is incredibly battery efficient, you can ski the whole day, go to apres-ski party and call your friends.
UPDATES ABOUT WINTER SKI & RIDE:
Windows Phone now has the best app in ski industry, leaving Apple and Google far behind, and raising the bar for ski apps very high: the app is called WINTER SKI & RIDE. For now the app is exclusively available on Nokia Windows Phones. WINTER SKI & RIDE app deserved recognition from association of professional ski and snowboard instructors of America (PSIA-AASI), as an official app recommended by association of more than 30,000 US ski and snowboard instructors. You can download it today from NOKIA Collection, if you are lucky to have a Windows Phone 8.
Stay warm! Skiers no longer need to take hands off their gloves in the cold, WINTER SKI AND RIDE is especially optimized for use with gloves in the cold, and NOKIA Lumia devices have glove sensitive screen, so you don’t need to take off your gloves in the cold to use the app. The app is optimized to run through your skiing day without draining your battery, and instead of punching buttons in the cold you can simply speak to it: “WINTER, Show me snow reports” for example.
WINTER SKI & RIDE is a unique app in many ways, it is developed by a Microsoftie, a professional ski instructor and a startup in Silicon Valley, an extremely powerful combination. The app is built in the US and Canada, and tested through snowstorms in the mountains of Colorado, Utah, California and British Columbia. Apparently, instead of spending time at Starbucks in Cupertino, Microsoft reached out to the field, and has developers who can ski and ride in the mountains, in cold and snow, to make the best app for skiing.
Instead of a bunch of different apps for weather, ski tracking and lessons, WINTER SKI & RIDE combines all features a skier needs in the mountain in one powerful app: snow reports, resort maps and information, such as the number of open trails, beautiful ski analytics and activity tracking, and lessons for skiing, telemark, snowboarding, freestyle and cross-country from professional ski and snowboard instructors.
SKI AND SNOWBOARD ACTIVITY ANALYTICS
Apparently, it takes a ski instructor and a Microsoftie to get a ski app right, finally! WINTER SKI & RIDE has an activity tracking switch, just turn it on when you are at ski resort, and you can put the phone back in your pocket. The smart app will automatically track your runs and present them in beautiful charts: you can see you runs by season, daily or even drill into the run details to see run details, such as speed, duration and vertical drop.
Not only that, WINTER SKI & RIDE motivates you to ski or ride more, and improve endurance, by setting goals. You can currently set vertical and run goals, and if you reach a goal, ta-da: your run is marked with an achievement pin, and you move closer to the leaders of the mountain.
LEADERBOARD OF BEST SKIERS AND RIDERS
WINTER SKI & RIDE is a very social app that lets you ski with your buddies and see the best skiers on the mountain. You can also invite your friends and once you become friends with someone, you can share the runs and excitement about skiing.
SNOW REPORTS AND MAPS
WINTER SKI & RIDE automatically updates snow reports and you can view reports by proximity, by best conditions, powder, and maximum snow base. You can pin your favorite resorts as tiles to the start screen. The app beautifully presents resort information, shows vertical, open lifts and other information..
LESSONS: SKI, SNOWBOARD, TELEMARK, OH-MY…
Because WINTER SKI & RIDE is endorsed by Professional Ski Instructors of America, it has professional lessons from the best ski instructors on the planet. Lessons are carefully selected, adhering to the highest standards of the sport, lucky Windows Phone owners can now ski and learn.
WINTER SKI & RIDE connects you with a social network of skiers and riders, making millions of ski buddies interconnected. This technology is based on Microsoft Windows Azure powerful cloud service. Do you want to see what runs your buddy did in Vail, or Whistler, or Chamonix? Just look him up on the Winter!
FOR SKI TEAMS AND COACHES
WINTER SKI & RIDE app changes the way coaches and ski instructors communicate with their students. By using the NFC technology available in Windows Phone, a ski instructor can instantly have a group of students join a team, and make recommendations based on a ski day, and individual runs.
WITH WINTER SKI & RIDE APP WINDOWS PHONE BECOMES TOP PLAYER IN WINTER SPORTS
With WINTER SKI & RIDE, Microsoft Windows Phone becomes a top player in the Winter sports. Forget the aging iPhone or battery-hungry Android. With the app endorsed by Professional Ski Instructors or America, Windows Phone becomes a very powerful player in the snowsports industry.
Get the games here
In 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!).
This weekend I invite you to my session at Silicon Valley Code Camp.
We'll discuss Windows 8 Store, monetization and… a bit of surprise: I'll be announcing "Professional Windows 8 Programming" book, written in a team of authors: Nick Lecrenski, Doug Holland, Allen Sanders, Kevin Ashley. At this session will be focused on monetizing Windows 8 apps, I'll share some code examples, including: in-app purchasing, trial unlocking, placing ads in the apps and using trial model to support monetization. We'll also touch on more advanced topics, and as an author of several apps in the current Windows 8 store, I'll be happy to answer your questions.
Windows 7 sold over 500 million copies in just three years, if Windows 8 does that well this is going to be one of the biggest opportunities our industry has ever seen. Come learn how to get your app into the Windows Store and how to make money. After all, you want to be the first app in the marketplace and have the early mover advantage, don't you?
SESSION CODE EXAMPLES INCLUDE: Trial, in-app purchases, store simulation.
Happy New Year! The 2011 was a fantastic year for me, full of energy, new friends, interesting and challenging tasks and I wish everyone a Happy New Year! Looking back at 2011, Windows Phone reached 50,000 apps in the Marketplace and gained a lot of respect and following from users and developers. Happy New Year and Let It Snow!
Azure Mobile Services allow you to take 50 records at a time by default, or 1000 records at maximum. What if you have more records and want to retrieve the entire table? I just created this beautiful extension method to help you get any amount of data you want, given any page size you want. This simple call to LoadAllAsync will asynchronously load ALL data from a WAMS table in pages of 1000 (or whatever number you specify) records (may also be good for bandwidth reasons):
var updatedReports = await azureTable.Where(r => r.complete == true).LoadAllAsync();
And this is an extension method, which elegantly does exactly what it says: loads all data. Enjoy:
public async static Task<List<T>> LoadAllAsync<T>(this MobileServiceTableQuery<T> table, int bufferSize = 1000)
var query = table.IncludeTotalCount();
var results = await query.ToEnumerableAsync();
long count = ((ITotalCountProvider)results).TotalCount;
if (results != null && count > 0)
var updates = new List<T>();
while (updates.Count < count)
var next = await query.Skip(updates.Count).Take(bufferSize).ToListAsync();