Worth Reading: “Professional Windows Phone 7 Game Development” by Wrox

professional wp7 game development

I just picked up the ebook version of the latest book on Windows Phone game development: Wrox’ Professional Windows Phone 7 Game Development, written by Chris G. Williams (@chrisgwilliams on Twitter) and George W. Clingerman (@clingermangw on Twitter). Both authors are XNA MVPs and have written a great deal about XNA online, which makes them choice authors for a book on making games for WP7.

Among the topics covered in the book are:

  • Dealing with device orientation and the accelerometer
  • Touch input: detecting touch, handling gestures and the SIP (virtual keyboard)
  • Building a user input management system
  • Game state management
  • Playing and recording audio
  • Building a base game template
  • 3D graphics and effects
  • Push notifications
  • Accessing web services
  • Accessing the camera
  • Trial mode

From my initial skim of the book, it looks like a pretty good guide for the developer who’s looking to get into game development on Windows Phone, and as I write this, there are a couple of Amazon reviewers who’d agree with me.

Both the dead-tree and ebook versions of  Professional Windows Phone 7 Game Development are available directly from Wrox for USD$44.99 (CAD$43.72 as of this writing).

This article also appears in Canadian Mobile Developer.


Rob Miles’ Books and Videos for New Windows Phone Developers

If you’re just getting into programming and Windows Phone development, you should think of Rob Miles as your new best friend. He’s a lecturer at the computer science department at the University of Hull in the UK, a Microsoft C# MVP and the creator of a lot of instructional material on Windows, Windows Phone and XNA programming. I’ve listed his works that are especially suited to the developer who’s just getting started out with C# and phone development.

The Free Books: The Yellow Book and the Blue Book

rob miles yellow book

If you’re new to computer programming or not familiar with the C# programming language, a good place to start is the 2010 edition Rob’s book, C# Programming, or as it’s called in .NET programming circles, “The C# Yellow Book”. This is the basis of Rob’s first year C# course at the University of Hull, and it’s available for download for free.

The book starts with “A First C# Program” and proceeds to cover various aspects of programming and C#, from the basics of variables and methods to object-oriented programming to threads and threading. You can start this book as a complete programming newbie and end ready to code Windows Phone apps.

rob miles blue book

If you’re comfortable with C# (perhaps you’ve finished the Yellow Book) or new to Silverlight, XNA and Windows Phone development, you’ll want to get Windows Phone Development in C#, a.k.a. “The Blue Book”. This book covers development for Windows Phone with both Silverlight and XNA, consuming data services, how to make a “proper” application and making the most of Windows Marketplace.

As with the Yellow Book above, the Blue book is available for download for free.



The Commercial Book: Microsoft XNA Game Studio 4.0: Learn Programming Now!

learn programming now

I’ll leave it to Rob himself to describe his book published by Microsoft Press, Learn Programming Now! Microsoft XNA Game Studio 4.0 – this is taken from the “Who This Book is For” section of the book’s introduction:

If you have always fancied writing software but have no idea how to start, then this book is for you. If you have ever played a computer game and thought, “I wonder how they do that?” or, better yet, “I want to make something like that,” then this book will get you started with some very silly games that you and all your friends can have a go at playing and modifying.

If you’re new to programming or perhaps have only a little programming under your belt and want to write games for the Phone as well as Windows and Xbox 360, this book will help get you started (and keep you motivated, since games are generally more fun to create).


The Videos: Windows Phone Jump Start

jump start

Rob’s going to be the king of all Windows Phone developer media soon: in addition to writing some great books, he’s also put together a series of 19 – count ’em – video tutorial sessions that go deeper into the subject of Windows Phone development. If you’re comfortable with the material in his Blue and Yellow books (or once you’ve become comfortable with them), these videos are a natural next step. Rob and co-host Andy Wigley will lead you through all sorts of topics in a way that only two crazy-smart Brits can.

Their video tutorials are listed below. You can watch them online (Silverlight required, and if you’re getting into WP7 dev, you really should have it), or you can download the videos for offline view in a number of formats:

  1. Introduction
  2. Building a Silverlight Application, Part 1
  3. Building a Silverlight Application, Part 2
  4. The Application Bar
  5. Building XNA Games for the Windows Phone 7 Platform, Part 1
  6. Building XNA Games for the Windows Phone 7 Platform, Part 2
  7. Isolation Storage
  8. The Application Lifecycle
  9. Launchers and Choosers
  10. Push Notifications
  11. Marketing your Windows Phone Applications
  12. Working with Media
  13. Panorama and Pivots
  14. XNA Deep Dive, Part 1
  15. XNA Deep Dive, Part 2
  16. Location and Bing Maps
  17. Optimizing for Performance
  18. Designing Apps Using Expression Blend & Metro
  19. Ask the Experts podcast

They’ve made all their demo code available as well, so you can try out what they do in their videos for yourself.

This article also appears in The Great Canadian Apportunity.


Books on Building Games for Windows Phone (and Xbox, and Windows)

For those of you who want to develop games for the phone – and hey, it’s the most popular mobile app category, so why not? – here’s a list of books that cover game development in XNA 4.0. Remember, the XNA framework is not just for the Phone, but the Xbox and PC as well!

Learning XNA 4.0

learning xna 4

Learning XNA 4.0 (published by O’Reilly) is the latest revision of this book; I’ve used the material and some of the code from the previous edition, Learning XNA 3.0, in presentations I’ve done on XNA. The first half of the book covers 2D game development, while the second half jumps into the third dimension. Naturally, this book covers stuff that was added to XNA in the move from 3.0 to 4.0, including support for Windows Phone.


XNA 4.0 Game Development by Example

xna 4.0 game development by example

I’m enjoying Packt Publishing’s XNA 4.0 Game Development by Example, which walks you through the development of four very different but entertaining games using XNA: a “Pipe Dream” clone, an “Asteroids”-esque game, Robot Rampage and a supercharging of the “Platformer” demo you can get from App Hub.


XNA Game Studio 4.0 Programming

xna game studio 4.0 programming

XNA Game Studio 4.0 Programming is a thorough look at game dev in XNA, both 2D and 3D games, with special emphasis on 3D graphics.


Into the Third Dimension: 3D Graphics with XNA Game Studio 4.0 and XNA 3D Primer

3d graphics with xna game studio 4

xna 3d primer

If you’re looking for an introduction to 3D game programming in XNA, these two books will help. Packt Publishing’s 3D Graphics with XNA Game Studio 4.0 is dedicated wholly to the topic, and Wrox’s XNA 3D primer is a short book that provides a quick introduction to 3D graphics in XNA.


phone games

This article also appears in The Great Canadian Apportunity.


More Books on Windows Phone 7 Development

Yesterday, I wrote about ebooks on writing apps for Windows Phone 7 that you can download for free. There’s more literature on WP7, and if you’ve got a little money to shell out, here’s what you can get:

programming windows phone 7 silverlight     programming windows phone 7 xna

Programming Windows Phone 7: Microsoft Silverlight Edition and Programming Windows Phone 7: Microsoft XNA Framework Edition takes the Silverlight and XNA parts of Charles Petzold’s free 1,000-plus page ebook Programming Windows Phone 7 and puts it them into two separate paper books (a good idea; 1,000 page books are pricey, hard to bind and hard to lug around). If you’d rather have Petzold’s wisdom in graspable paper form than as an ebook, these are the books for you.


beginning windows phone 7 development

windows phone 7 game development

Apress have a couple of books on writing apps for WP7: Beginning Windows Phone 7 Development, which is largely about writing apps using Silverlight and Windows Phone 7 Game Development, which covers game development –_mostly in XNA, but it also has a section devoted to games written in Silverlight.


professional windows phone 7 application development

From Wrox comes Professional Windows Phone 7 Application Development, another grand-tour-of-WP7 book covering both Silverlight and XNA development on our favourite phone platform.


This article also appears in The Great Canadian Apportunity.


Windows Phone Announcements at Mobile World Congress in Barcelona

mobile world congress

There’s a lot of news about Windows Phone 7 coming out of Mobile World Congress in Barcelona, where we’re announcing updates to our favourite phone that are coming this year. Here’s a quick look at what was announced and more importantly, what it means for you when you’re writing Windows Phone 7 apps:

What’s going into Windows Phone   What it means for you, the developer

first major updateFirst major update! In early March, we’ll push out a free customer update that will include new capabilities like support for copy and paste and faster app startup and performance.

  You can write apps with support for copy and paste, and you can get started immediately! Copy and paste support comes with the Windows Phone Developer Tools January 2011 Update. Get it now!

Having apps start faster is also great – it makes for a much better user experience and will make your apps appear snappier and more polished.

ie9IE9 for the phone! A natural byproduct of desktop IE and mobile IE sharing a common code base (for the first time ever!), our best browser ever becomes our best phone browser ever. This will come out later this year.   If you developer HTML5 mobile web apps, they’ll work on Windows Phone 7. In fact, they just might work better and faster than on other mobile phones, because just like IE9 for the desktop, IE9 for Windows Phone 7 will take advantage of hardware acceleration. Standards compliance and super-speed, all in the same package!

multitasking3rd-party multitasking! Windows Phone 7 has been multitasking-ready from the get-go, but it was only available for its own built-in apps. Later this year, an update will add 3rd-party multitasking support: “the ability to switch quickly between applications, run applications in the background (such as listening to music), along with a number of other capabilities.” The details of how this will work will be revealed at the MIX conference in April.

  3rd-party multitasking and letting apps run in the background opens up a whole new class of apps that can be run on Windows Phone 7 – apps that perform continual (working at regular intervals) or continuous (working all the time) tasks will now be possible.

Once again, it’ll be explained at the MIX conference.

twitterTwitter integration in the People hub! The People hub, a “contacts list on steroids” that acts as both directory of people and social networking app currently features Facebook integration – you can see what your Facebook friends are up to with just one swipe. Later this year, the People hub will also show the your contacts’ tweets.   This means a better experience and more convenience for users, which we hope will be yet another reason to get a Windows Phone, which in turn will drive phone sales and by extension, app sales. 

As a developer, you might want to rethink writing that Twitter client, or at least find a way to tweak it so that if offers something to users that a plain old Twitter client can’t.

cloudDocument sharing and storage in the cloud via Windows Live SkyDrive will be added to Windows Phone later this year.   Once again, good news for users.

This feature might not affect you directly, but once again, nice features sell phones, and selling phones grows app demand, which in turn is an opportunity for you.

cdmaCDMA! With added support for CDMA networks, Windows Phone will be available to even more customers on mobile operators such as Verizon and Sprint in the first half of 2011.   A bigger Windows Phone market, a bigger pool of potential app customers.


For more on what’s going on with Windows Phone 7, check out this interview with Microsoft Senior VP Andy Lees, as he talks to Ina Fried about the upcoming goodies:

mobile world congress

This article also appears in The Great Canadian Apportunity.


On Writing Apps

Have you ever had a workaday experience transformed by a new tool? It’s happened a couple of times for me in the past few months.

Dyson DC25 vacuum

One such case is my Dyson DC25 vacuum cleaner. That’s the one that moves about on a ball rather than a set of four wheels. I got mine back in early January when some of the big box electronics stores were putting them on sale at 25% off. I’d seen the DC25 in action at Woofstock, Toronto’s annual dog festival, where they invited everyone to have their dog roll around a black shag carpet and then vacuum it back to a pristine, showroom-ready state.

I took it home, took it for a test run on my carpet and fell in love. It’s got a fit and finish that remind me of high-end power tools, it steers like a German luxury car and it provides greater suction than today’s Top 40 music. Don’t get me wrong: vacuuming is still a chore, but it’s so much better for two reasons:

  • I’m getting great results. Dyson’s technologies are amazing at using moving air to get amazing outcomes, and this vacuum is no exception. This thing cleans carpets and couches much, much better than my previous vacuum, which wasn’t a cheap model (and ended up donated at the local Goodwill store).
  • I’m getting a great experience. Using the Dyson makes vacuuming fun! Unlike my old vacuum, I’m not fighting with it; it feels like it’s working with me to get my carpets clean, and the usually onerous tasks of emptying the dirt canister and cleaning the filters are – if you’ll forgive the pun – dirt simple.

Samsung Focus WP7 phone, showing the start screen

Another tool that’s transformed workaday experiences is the smartphone. I’m attending a week-long conference in Seattle with many of my coworkers as I write this, and my Samsung Focus running Windows Phone 7 has proven to be terribly handy in so many ways:

  • We’ve coordinated plans to meet up and changed them on the fly with texting,
  • I’ve used Bing Maps to find my way around an unfamiliar downtown area,
  • Bing Search (available with just a click of the “Search” button) and Bing Maps to find a good place to buy flowers for my aunt (great selection and best deal at Pike Place Market!),
  • Email and social networking apps to stay on work
  • …and Fruit Ninja to kill time while in transit.

As with my Dyson, I’m getting both great results and a great experience. Unlike the Dyson, you can play a part!

Apps are the Transformer


We’re at the point where the underlying hardware of smartphones is more or less the same. The current generation of devices, whether you’re talking about Windows Phone, Android, BlackBerry or iPhone have roughly the same processor power, storage, touch displays, networking and sensor suites. They’ve evolved from phones that just happen to have some computing capability to go-anywhere, networked-everywhere computers that just also happen to be phones.

So what makes smartphones different? It’s all about the platform and the apps. We’re taking care of the platform end with Windows Phone 7, a radically reworked-from-the-ground-up mobile operating system. I keep on top of development for the major mobile platforms, and in this humble blogger’s opinion, Windows Phone gives you the nicest developer tools (even Microsoft haters say through gritted teeth that Visual Studio is an amazing IDE), the power of the .NET framework, not one but two app frameworks (Silverlight and XNA), and a user interface that stands apart and is still easy to use. And with all this, we never consider out job with Windows Phone done – it’s always being worked on.

We’re taking care of the platform part. You, the developer are the important other half of the equation – you make the apps. If we’re doing our jobs right, Windows Phone users shouldn’t even notice the platform; it should be the vehicle for your apps. What users notice, want and use are the apps. The apps are what users use to get stuff done, stay in touch and entertain themselves. Apps are the tools, and if you’re doing them right, they should be transforming people’s workaday experiences, just like my Dyson vacuum does.

How Do You Write Transformative Apps?

You’re all smart people, so you’ve probably figured out where I was heading: how do I write the app equivalent of the Dyson? I don’t have a straightforward answer or checklist that says “do this, then this, and don’t forget this, and you’ll have a transformative app that you can put into Marketplace and then sit at home in your bathrobe and collect payment cheques.” If I had such an answer or checklist, the current arrangement would be its exact opposite, and Steve Ballmer would be working for me. (I can dream, can’t I?).

What I can do pass along everything I’ve learned, through experience from building my own apps or helping Canadian developers build theirs, through watching development on all the phone platforms (ours as well of those of the Esteemed Competition), knowledge of mobile phone development and the mobile industry via the current literature and my contacts and from the resources and research available to me as a Windows Phone Champ. I will pass along this knowledge in both The Great Canadian Apportunity blog as well as my personal tech blog, Global Nerdy.

The Three Motivations for Using a Mobile App

Cover of "Tapworthy"

In order to write transformative apps, it’s important to understand what drives people to use apps in the first place. I like the explanation provided by Tapworthy, a book published by O’Reilly and aimed at iPhone developers who want to build great apps. While written specifically for iPhone developers, it’s got a fair bit of information that’s equally useful to Windows Phone developers. I like to call it “The Windows Phone book that doesn’t know it’s a Windows Phone book.”

One of the more astute observations in Tapworthy is that every use of a mobile app can be boiled down to some combination of these three motivations. When you’re trying to figure out what your app will do, keep these three motivations in mind – is your app satisfying at least one of them?

I’m microtasking

If you’ve ever taken a quick break to jot down a note, fire off a quick email or instant message or look something up and then returned to what you were doing, you’ve engaged in microtasking. Phones are perfectly suited to microtasking, since they’re what Tapworthy calls “devices of convenience and context”, computers that you’ve always got on hand, better suited to uses in short bursts rather than extended sessions. Look around and take note of the microtasks that people engage in at work and in everyday life – somewhere in there, there’s an app waiting to happen.

I’m local

Star Trek had an influence on the design of earlier mobile phones; many flip phone designers have said that they were influenced by the flip-top design of the communicators in the original series. Today’s smartphones are like a hybrid of communicator and tricorder: in addition to being communications devices, they’re also portable sensor devices, taking in real-world data and displaying it to us. The GPS and compass are usually what come to mind when we think of apps that are aware of your local context, but you should also think of the motion sensor, camera and microphone as sensors that can provide valuable information about where you are right now. Tapworthy puts it quite well: location-aware apps “put an appealing nearsighted lens on a vast universe of data.”

I’m bored

Air travel – something in which I partake about once a month – involves a lot of waiting: in the ticket line, in the departure lounge, on the tarmac. If you look around at any of these moments, you’ll find the savvy travellers whipping out their phones and doing something to pass the time. Oftentimes, they’re playing games – games account for 75% of the most popular paid downloads in Apple’s App Store – but some of them are also microtasking. While games are an obvious solution to boredom, they’re not the only one. I’ll quote Tapworthy again: “The antidote for boredom is simple enough: anything that’s better than what I’m stuck in right now.”

We’re Just Getting Started

off on button

Keep watching this blog! We’re going to be covering Windows Phone development from all sorts of angles:

  • For the beginning developer, we’ll cover getting started with programming using Windows Phone
  • For the experienced developer, we’ll dive into the nitty gritty details of Windows Phone development with both Silverlight and XNA
  • For the designer and user experience specialist, we’ll talk about building user interfaces and experiences suited to mobile devices (which are quite different from desktop/laptop computers)
  • For the business-minded, we’ll talk about marketing and promoting your apps and the mobile phone/app industry in general
  • For the creative, we’ll talk about ideas for apps

And as always, if you have any questions or comments about mobile development or The Great Canadian Apportunity, please feel free to ask in the comments. We’ll reply as best we can, and who knows – your question could be the launching point for a blog post. Let’s get the conversation started!

This article also appears in The Great Canadian Apportunity.