Bill Reiss is a Windows Platform Development MVP and a Senior Consultant for AgileThought

Back before the release of development tools of Windows Phone 7, my background for my personal game projects was XNA, followed by Silverlight. I took one of my games originally written in XNA and ported it to Silverlight. Well it wasn’t much of a port, it was more of a complete rewrite. At the time I thought there had to be a better way, and so while I was creating my first game for Windows Phone, I started working on a game framework that was oblivious to the rendering technology, hoping that it would be easier to weather any future changes in graphics frameworks. The idea was that you would write straight C# code and a rendering plugin would do the right thing. This was the start of the Frolic Game Framework, and it was a good attempt, but I had a lot to learn, and there were some things that changed under me. Some big things.

The biggest thing that changed under me was the advent of Windows 8, and the fact that we weren’t just dealing with a single phone screen resolution, but any number of resolutions that could be portrait or landscape and could change based on turning the device. I added capabilities for this, but they were bolted on as an afterthought. It was a big architectural change.

Portable Class Libraries (PCLs) have evolved tremendously since I started this effort. They fit so well into the core tenets of my game framework and it makes so much sense that the core functionality of Frolic be available as PCLs and the game itself can be written as a PCL to make it more portable across platforms.

I also did a lot of thinking about animations, and a lot of iterations around this. As I worked on this I thought this might be the killer feature. I made it easy to string animations together, either one after the other or in parallel, so you could create a complex animation for a bunch of related animations, and kick them off all at once. These animations were loosely based on XAML Storyboards, but ones that could be used no matter what the underlying renderer was. I also feel that the animation engine might be useful even if you don’t want to use the rest of the framework so it will be in a separate PCL assembly you can use without pulling in the rest of the framework.

Because of some of these core architectural decisions that shifted under me in the past couple of years, I have decided that the best option is to start over, learning from the past and embracing the needs of the present and the future.

So goodbye to the Frolic Game Framework and welcome the Frolic2D Game Framework. The Frolic2D name is better for web search for and is a clean break from the old code. It also better describes the goals of the framework. Nobody but me (that I know of) was using classic Frolic so I don’t think I’m leaving anyone behind. I will be blogging about the progress of this framework, and the first posts will have to do with animation.

I wanted to spend a moment talking about the Frolic name. Shawn Hargreaves is someone who I respect very highly. He is currently a lead developer on Win2D for Microsoft but previously was a lead developer on XNA, was a game developer on the MotoGP series of games, and created the very popular Allegro Game Framework. Frolic riffs on the Allegro name. If you translate Allegro to German you can get Froehlich, which can be converted to an English Frolic. Frolic is not a derivative or successor to Allegro, but is a kindred spirit, and a tribute to Shawn’s work. Win2D will be the first graphics framework targeted by Frolic2D and the early samples will leverage Win2D.

Some things haven’t changed. Frolic2D is:

  • Graphics independent, the games are written as simple C# code and anyone (including me) can make them work on game engine “X”. Hope to make it easier than it was in the past to plug in other rendering engines.
  • Focused on reduction of code and increased efficiency through fluent APIs and functionality that is focused on game development.
  • High performance whenever possible, but convenience may trump performance in some instances. Ideally the high performance option will still be available if the convenient option isn’t acceptable. (for example, a particle engine will be more efficient if it doesn’t leverage the general purpose and easy to use animation engine).
  • Will always be open source and free. I may do paid extensions based on demand but anything I release as free will never become paid later.
  • Support for varying resolutions, through automatic scaling but also through support for multiple graphics resources to get the best experience based on the target display.

Around the beginning of September, Shawn Hargreaves posted on the brand new Win2D blog announcing a new open source framework from Microsoft. In his own words:

Win2D is a Windows Runtime API we’re working on to expose the power of hardware accelerated Direct2D graphics to Universal App (Windows 8.1 and Windows Phone 8.1) developers

And also:

Win2D’s design makes it easier for a C#/C++ developer to use the full capabilities of the Direct2D API without it feeling like a walled garden. These APIs can be used with XAML to produce beautiful graphics apps with rich UI.

Shawn Hargreaves is someone I hold in very high regard. He was a lead developer on the XNA game framework. He was a developer on the MotoGP series of games. He created the Allegro game library in the early 1990’s and it is still in use today. Most recently Shawn was working with the Windows Phone team, and I have the feeling that some of those experiences are influencing the implementation of this new API in a positive way.

So is this a revival of XNA? I know a lot of people have hoped for that. I would say no. First of all this is 2D only where XNA was both 3D and 2D. Also this new Win2D framework is not tailored specifically to games, it is more about high performance 2D graphics in any app. XNA was developed specifically as a game framework. People tried to use it for more but usually ran into roadblocks because of what it was originally meant for. You can still use it to write great games and I will be working on a game framework to sit on top of it to help give a higher level API to write games using Win2D. David Taylor has already published probably the first game using it, you can see it here apps.microsoft.com/…/ca04fae3-de5c-43e9-b7d0-0d0d88346d8e

It also looks like there is going to be a rich set of vector graphics available. XNA 2D really just dealt with drawing bitmaps. Even the text was drawn using bitmap sprite sheets. In Win2D you can have vector fonts and you can do some things that would have been very difficult in XNA like drawing text using an image for the fill. From what I understand some code has been pulled in from the old XNA Framework where it makes sense, so if you used XNA you may see some familiar stuff.

This framework has also been designed from the ground up to play nicely with XAML and coexist so you can use XAML where it makes sense and this Win2D library where it makes sense and mix and match. This can be really powerful.

Now it’s very early in the process, and the team is doing 2 week sprints using agile methodologies and posting to GitHub every 2 weeks. The next drop will be in a few days. They have made some great progress so far, but have a long way to go. It’s been really fun to watch their progress and I feel it’s to the point where it’s worth taking a look at. This project is funded by Microsoft and putting someone as talented as Shawn on it makes me feel they are serious about it.

So whether you’re a game developer, or need high performance graphics in your Windows Store or Windows Phone app, or just like to play with cool stuff, go give it a try.

When I first saw the implementation of start screen backgrounds on Windows Phone 8.1 I really didn’t see any point in it. The backgrounds I tried there made it harder for me to see my icons and notifications and looked too “busy”. After thinking about it a bit thought and discussing with some other devs I saw an opportunity. One of the issues I had with Windows Phone 7 and 8.0 was that in order to make the accent color bright enough to see easily when it was rendering text, it then made the start screen too bright. What I really wanted was a darker start screen, and a lighter accent color.

With start screen backgrounds you can now do this pretty easily, just create a solid color image for whatever you want your start screen to be. I tried this and felt it didn’t have enough “character” though, so I created a few backgrounds with a bit of noise and some burnishing on the edges to make it more interesting. Here are a few I came up with, feel free to use any way you want or modify. I look forward to seeing what you come up with.

Cabernet (I’m a wine fan):

wallpaper_cabernet

Blue:

wallpaper_blue

Green:

wallpaper_green

DVLUP.com is a rewards site for Windows Phone developers that is operated by Nokia. Basically you get rewarded for doing the things you should do anyway as a Windows Phone developer. Add features, publish updates, publish new apps, and get experience points you can redeem for rewards. These rewards include gift cards, devices, accessories, and more. You can also use your XP to buy Campaigns, a way to get your apps more exposure.

Recently I signed up for the pilot program for a  new campaign that DVLUP was running. In this campaign, you take your paid app, make it free for a day, and in exchange the app is featured globally in the first spot on the Windows Phone Store for all Nokia phones. The app that I submitted for this campaign was Reading Lens, an app that lets you magnify small text and has other features like lighting the lamp on the phone and saving what’s on the screen to the saved photos album.

Reading Lens has been featured a few times before, some from campaigns and some from Microsoft just choosing to feature the app. I’m writing about this time because it was significantly different. In the past, when the app was featured, I kept it as a paid app during the time that it was featured and saw a bump in downloads, but this was short lived and within a few days things were back to where they were before. Now it may not seem to make sense that you can make more monry by making your app free when it is featured but I’m here to tell you that’s exactly what happened to me.

First of all, when featured in the past, I would see a bump of about 50 times normal downloads. You can see these bumps in this chart:

image

That looks pretty nice, but then if you look at the number of purchases over that same timeframe you can see that there was a temporary spike and then things back to how they were almost immediately:

image

In contrast, here is that same date range plus I’ve added this latest campaign. This is the downloads per day chart:

image

Those two little bumps correspond to the featured days in the chart above. The huge spike is the latest campaign. I received 2000 times the number of downloads while featured and making my app free. Ok so this was stupid right? In one day I gave away more copies of the app than were downloaded in the previous year combined. What’s important is what has happened since. Because of the app being free for a day and getting a huge number of downloads, once I changed it back to a paid app it was briefly the #1 paid app in the entire Windows Phone store. Even now I’m getting 10-20 times more downloads a day that what I was getting before the campaign. This has also led to more sales:

image

Notice how the spike once I made the app paid again is bigger than the others when I left it paid, and also that it’s more sustained. For the last week I’ve been making 10 times the previous number of purchases per day. I know this won’t last forever but it’s a very significant increase for now.

This has made me rethink app promotion in general and the next time I’m featured in country with a high concentration of Windows Phone users I’ll try this again without the campaign and do it on my own. I’ll be sure to report back and tell you how it goes.

Please ask for more information in the comments if you’re interested in discussing this further.

I haven’t run a promotion for a while, so this is a little “thank you” to all of the awesome developers in the Southeast USA. You have made my job as a Nokia Developer Ambassador very easy, and in exchange I want to give back. So this is what I’m going to do. First of all, the prizes. There will be a drawing from all of the eligible entries and four winners, each for one of the following prizes:

image

Any of these prizes can really help with your app development. Whether you want to target the small form factor Windows devices, or the most popular Windows Phone in the world, or you want to support the significant number of Windows Phone 7 users still out there, there is something for you.

Ok so how to enter? First of all, you need to reside in Florida, Georgia, North Carolina, South Carolina or Alabama. If you live somewhere else in USA or Canada, ask me who your local Nokia Developer Ambassador is and I can get you connected.

Next, you need to have published a NEW Windows Phone 8 app between Feb 1 and March 31 2014. The deadline for submissions is April 1, with a drawing on April 2. You can enter multiple times, once per new app, but only one prize per developer.

Finally, you need to email me at ext-bill.reiss at nokia.com the following by April 1:

  • Subject line: Southeast Windows Phone App Contest
  • A link to your app in the Windows Phone Store
  • Your name
  • Your City, State of residence

Thank you again for your support! 2013 was a great year and I look forward to 2014 being a big year for Windows Phone developers.

There are so many great promotions right now for Windows Phone developers in the USA (and some in Canada). Here are a few, please leave any more you know of in the comments and I’ll add them. I’ll do another one of these next month.

  • Rich Dunbar, Lead Nokia Developer Ambassador, is holding a drawing for the flagship Lumia of your choice (1020 or any of the 9xx series phones). All you need to do is have published a Windows Phone app or any update to an app in the last 6 months, basically anything related to uploading a new XAP to the store. Deadline is Sept 30, details here: http://richarddunbar.blogspot.com/2013/09/september-lumia-blowout.html Even if you’ve entered a previous drawing with Rich before, you can submit the same information for this drawing as long as that app was updated or new in the last 6 months. (USA and Canada only)
  • Microsoft is doing their Tech Affiliate monthly drawing, where you can win cash in the form of gift cards. For this one you need to publish a new Windows Phone or Windows 8 Store app in September. Enter here: http://www.mstechaffiliate.com/members/billreiss (USA only)
  • Nokia is running a Nokia Create contest with great prizes, this one goes through December: http://developer.nokia.com/create/ (Worldwide)
  • If you do not yet have a Windows Phone app in the store, when you are nearly ready to publish, I (or your local Nokia Developer Ambassador) can give you a Nokia Premium Developer Program token which includes a Windows Phone Store membership for a year and other great products and services. Just contact me as your app nears completion for details. (USA and Canada only)
  • Also when you publish your first app, once it is certified and in the store you qualify for a free Windows Phone, the Lumia 800. This is not a drawing, anyone who publishes their first app in the USA or Canada qualifies. Contact me for details. (USA and Canada only)
  • You probably know about http://www.DVLUP.com by now but if not, it’s a free site where you can register and get rewards for doing the things you’re doing anyway when developing for Windows Phone. I almost have enough points for two 1020s right now through the DVLUP program. (only in a few countries, check DVLUP.com to see if you qualify)

At the Sarasota .Net Developer’s Group in July I gave a presentation about how to improve the number of downloads and reviews for Windows Phone apps. I am by no means an expert on the topic but I’ve learned a lot along the way and everyone who has seen this session the handful of times I’ve presented it have had very positive feedback for me about it.

I will be converting as much as I can of the presentation over time into blog posts, but I was fortunate enough to have Russ Fustino, lead evangelist for ComponentOne, record the Sarasota session and with the help of his team at ComponentOne, the video is now available on YouTube.

If you like the video, and appreciate the content, please say thanks by taking a moment to download and review some of my apps, I’d really appreciate it. Thanks!

Links to my apps:

Reading Lens Free
Reading Lens
Wipeout

Enjoy!

There have been a couple of recent developments that have really reduced the cost of getting started with Windows Phone development. First of all, it only costs $19 a year now to get developer access to the Windows Phone Store.

http://www.winbeta.org/news/microsoft-extends-windows-phone-dev-center-19-fee-so-you-can-get-your-app-published

This was originally a short term promotion for the summer but has been extended indefinitely. Also if you’re a BizSpark, DreamSpark, or other MSDN Subscriber, you get a free developer token for the Windows Phone Store.

Add to this the fact that the Windows Phone SDK is free and comes with a free copy of Visual Studio Express, and you have everything you need to publish to the store for $19 or even free.

Ok, I know, some of you are saying “but I don’t have a Windows Phone so I can’t test my app”. Fair enough. First of all, the Windows Phone emulator is very good. Unless you use some specific hardware on the device, you can do everything you need in the emulator. Of course it’s always better to test on a device if you have access to one, so how about being able to test on the most popular Windows Phone on the market? The Lumia 520 is an amazing little phone and it’s not surprising that it’s skyrocketed to the top of the charts. It’s also amazingly affordable. You can pick one up for $100 on Amazon without a contract.

Use it as a prepaid phone with AT&T or just use it on WiFi. Put a SD card in it and have a sweet little media device. So for under $120 you can have absolutely everything you need to get going.

Of course once you publish your first app, if you’re in the USA or Canada, contact me or your regional Nokia Developer Ambassador (if it’s not me, I can point you in the right direction) to get a free Lumia 800 and enter all sorts of other promotions, and let us know if you need any other help.

We had a great response for the latest giveaway and look for more in the near future! If you didn’t win this time there will be more, don’t worry.

The winners are:

  • Shayne Boyer – JBL PowerUp Speakers
  • Denny Gay – Lumia 620
  • Rob Irving – Wireless Charging Plate
  • Bobby Harrell – Nokia Purity in-ear headphones

Thanks again to everyone in my region. If you want to hear about the next promotion first, you can subscribe to my Windows Phone discussion list here:

http://southeast.devnokia.com

I look forward to hearing from you!

I want to help you have some summer fun, so let’s have a quick contest.

I’m doing a simple drawing and giving away some cool Nokia prizes! You can win a Lumia 620, JBL Wireless Speakers, Wireless Charging Plate, or Nokia Purity Headphones.

All you need to do is the following:

1. Live in Florida, Georgia, the Carolinas, or Alabama (see NOTE below if you live in USA or Canada but not in my region)

2. Have a published Windows Phone app

3. Send an email to ext-bill.reiss@nokia.com with Your Name, a link to one of your Windows Phone apps, and your City and State. Please include your DVLUP userid if you have one.

That’s it.

NOTE: You need to be in Florida, Georgia, the Carolinas, or Alabama to qualify. If you are somewhere else in the USA or Canada, your Nokia Developer Ambassador is running a similar contest right now, possibly with different giveaways but they’re all great. To enter in your region go here http://richarddunbar.blogspot.com/2013/07/developer-registration-drive.html

Act fast because I’m going to do the drawing on July 31…  Don’t miss your chance!!!

Also, keep watching my blog www.billreiss.com and follow me on twitter @billreiss for more promotions in the future!

Thanks!