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.


Free Books on Windows Phone 7 Development

If you find yourself looking longingly at the Windows Phone 7 books at your local bookstore but are short on money to buy them, here are four books on the topic that you can download for free!

programming windows phone 7Programming Windows Phone 7

Written by Charles Petzold, published by Microsoft Press.

You’re not going to get more bang for your non-bucks than with Programming Windows Phone 7. Spanning over 1,000 pages, this leviathan of an ebook is written by the guy who literally wrote the book on Windows development. It’s quite thorough, covering not just Silverlight and XNA development, but also programming techniques applicable to those frameworks as well as mobile development.

The ebook edition, which covers both Silverlight and XNA development, is free-as-in-beer and available for download from Charles Petzold’s site. If you feel more comfortable with physical books, they’ve split the content into two dead-tree books: one that covers SIlverlight and one that covers XNA. I’ve listed those books in other sections of this article.

webVisit the Programming Windows Phone 7 download page, which also includes sample code.


windows phone programming in c#Windows Phone Programming in C#

Written by Rob Miles, self-published.

Windows Phone Programming in C#, a.k.a. “The Blue Book”, is written by Rob Miles, a Microsoft MVP and an instructor at the University of Hull in the UK. He’s known for his instructional materials on programming, which include the C# Yellow Book, a free book covering introductory programming in C# and the 19-part Windows Phone 7 Jump Start instructional video series. Windows Phone Programming in C# is just one part of a course on Windows Phone development provided by Microsoft Faculty Connection for university and college teachers. The book comes with a package of labs, which includes code for exercises and PowerPoint slides for lectures. Whether you’re leading a class or just doing some self-directed learning, this package is free and worth checking out.

webVisit the Windows Phone Programming in C# page in Microsoft’s Faculty Connection site.


ui design and interaction guide for windows phone 7UI Design and Interaction Guide for Windows Phone 7

Written by the Windows Phone Team, self-published.

The user interface for Windows Phone 7 sets it apart from other smartphones, and the applications you write for it should have user interfaces that fit in well. If yours apps respond to user input and gestures one way and Windows Phone and the standard apps do so in a completely different way, you’re going to either confuse or annoy your users. That’s why you need the UI Design and Interaction Guide for Windows Phone 7.

If you’re serious about developing apps for Windows Phone 7 and getting them into Marketplace, you’ll definitely want to get the UI Design and Interaction Guide and make sure you’re familiar with our UI guidelines and know the rationale behind them.

downloadDownload UI Design and Interaction Guide for Windows Phone 7.


windows phone 7 developer guideWindows Phone 7 Developer Guide

Written by Microsoft Patterns and Practices, self-published.

Just as the UI Design and Interaction Guide for Windows Phone 7 looks at the front end of Windows Phone 7 apps, the Windows Phone 7 Developer Guide is all about the back end – the underlying architecture of your app. This book covers things like the MVVM design pattern (that’s Model-View-ViewModel), which you might not have seen if you’ve never done Silverlight or WPF development before, connecting with web services, creating cloud-based services for the phone and the like. The book is written by the people at Microsoft’s Patterns and Practices group, a very picky bunch whose job is to share their knowledge of the best ways to build applications.

webVisit the Windows Phone 7 Developer Guide page in Microsoft’s Patterns and Practices site.

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.


Get “Continuous Integration in .NET” For Only $15 (Feb. 13 Only)

Cover of "Continuous Integration in .NET"Today only (Sunday, February 14th, 2011), you can get the ebook version of the upcoming Manning Publications book Continuous Integration in .NET for a mere USD$15. Simply go to Manning’s site, order the ebook edition and enter dotd0213cc in the promotional code field when you check out.

The book is a MEAP (Manning Early Access Program) book. This means that the book is still being written, and you get the current version now, and the final version when it comes out. Continuous Integration in .NET is heading into production shortly, so you’ll get the early version now and the final version quite soon!

Here’s the description of the book:

There are three copies of a source file and no-one knows which is the right one. Your carefully-crafted unit tests won’t run anymore. The three-year-old requirements doc is totally irrelevant. The boss wants to ship, ship, ship. The team in Austin has no idea what the team in Arlington is up to. You are in integration hell. Ready to try something different?

Continuous integration is a software engineering process designed to minimize "integration hell." It’s a coordinated development approach that blends the best practices in software delivery: frequent integration, constant readiness, short build feedback cycles, persistent testing, and a flexible approach to developing–and modifying–system requirements. For .NET developers, especially, adopting these new approaches and the tools that support can require rethinking your dev process altogether.

Continuous Integration in .NET is a tutorial for developers and team leads that teaches you to reimagine your development strategy by creating a consistent continuous integration process. This book shows you how to build on the tools you already know–.NET Framework and Visual Studio and to use powerful software like MSBuild, Subversion, TFS 2010, Team City, CruiseControl.NET, NUnit, and Selenium.

Because CI is as much about the culture of your shop as the tooling, this book will help you bridge resistance to adoption by providing clear guidelines for starting and maintaining projects-along with defined metrics for measuring project success. Each author brings a unique set of experiences and practices to create a rich and varied picture of this powerful technique.

What’s Inside:

  • Continuous integration – what is it?
  • Source control with Subversion and TFS Version Control
  • Continuous integration server with TFS 2010, CruiseControl.NET and TeamCity
  • Automating build with MSBuild
  • Testing with NUnit, Fitnesse and Selenium
  • Database Integration
  • Keeping code tidy with FxCop and StyleCop
  • Generating documentation with Sandcastle
  • Deploying with ClickOnce and WiX
  • Scaling continuous integration

For more about Continuous Integration in .NET, check out its page on Manning’s site.

This article also appears in Canadian Developer Connection.


Review: The Cisco Linksys AE1000 USB Wifi Dongle and Getting Past the “Claus Curse”

Rick Claus and Joey deVilla in chef hats

My coworker Rick Claus (that’s him and me at a recent team get-together) is a great guy and knows his way around a Microsoft IT setup, but the guy is cursed. He has a reverse “Midas Touch”, and can render just about any technological device by touching it or even being around it. He’s managed to do it so many times that the Developer and Platform Evangelism team uses the word “Claused” for broken or non-functional (example: “My TV fell out of the moving truck while it was on the highway. It’s totally Claused.”)

The wifi on my Dell Latitude XT2 worked just fine until the last TechDays conference. While in the “Ask the Experts” lounge, I was looking for a place to set my laptop down, and the only spot was on a tiny table where Rick’s closed-up laptop was sitting. I put my laptop down on his for a couple of minutes while I had a conversation with some local attendees. I then opened my laptop, and after not being able to connect and after trying every troubleshooting trick (even the obvious ones, like checking to see if the wifi switch was on) and even showing it to a couple of IT pros, it became obvious to me that my wifi card was Claused.

Cisco Linksys AE1000 dongle, with its cap off, placed beside a US quarterThe Cisco Linksys AE1000.

Between the holidays and having an extra two weeks off when I wound up in the hospital in January, I haven’t had a chance to get Dell tech support to drop in and fix my wifi (which I assume is a matter of them plunking in a new wifi card). I’ve been dragging around my 17” “Dellasaurus”, but while it’s great for full-on programming and doing demos, it’s not the easiest thing to drag around. So before I left for my 11-day trip to Seattle for Microsoft’s employees-only TechReady conference, I picked up a Cisco Linksys AE1000 USB 802.11n dongle.

I bought the AE1000 right before my flight to Seattle, so I simply emptied the contents of its box into my knapsack and headed out the door. I had a stopover in Vancouver, whose airport has free wifi and decided to install the software and take it for a test run while waiting for my puddle-jumper to Seattle.

The Cisco Linksys AE1000 beside a Samsung Focus phone, US quarter and Microsoft Presenter MouseThe Cisco Linksys AE1000, placed beside a number of items for size comparison.

Installation was a breeze. Cisco put together a very nice, layperson-friendly setup program with a clear and pretty user interface with comprehensible, straightforward instructions and clean, unambiguous icons. Once that was done, the little blue LED on the dongle came to life and for the first time in many weeks, I was getting wifi on my little touchscreen laptop again!

I’ve had the AE1000 for only four days, but I’ve used it without any trouble in a number of places with varying levels of wifi: Vancouver airport, my hotel in Seattle, Starbucks, the Microsoft offices in Bellvue, Top Pot Doughnuts, and it’s worked so well that I forget that I’m using it instead of my laptop’s own built-in wifi. I think that’s the mark of a good product.

If you find yourself in a situation like mine and have a Windows laptop with dead wifi, or perhaps if you’ve got a Windows desktop machine without a wifi card, the Cisco Linksys AE1000 is easy to install and works well (Note: it won’t work on a Mac; no idea if someone’s written Linux drivers for it). I picked mine up at Best Buy for CAD$70; you might be able to find it for less at other places. I recommend it.

Full disclosure: Cisco is not one of my sponsors; I don’t even know anyone at Cisco. I’m just a satisfied customer who needed an interim wifi solution since my small laptop’s wifi was Claused.

This article also appears in Canadian Developer Connection.


New Articles on The Great Canadian Apportunity’s Blog

the great canadian apportunity

Don’t forget, Microsoft Canada’s got a competition called The Great Canadian Apportunity, and it’s your chance to win CAD$10,000 (USD$10,125 at the time of this writing) for writing the Great Canadian App for Windows Phone 7! You can find out all about The Great Canadian Apportunity, the competition rules and how you can compete at

In addition to covering the details of the contest, The Great Canadian Apportunity has a blog, and for the next little while, it’s where I’ll be posting all my articles on mobile and Windows Phone development. (And worry not, I’ll cross-post here on Global Nerdy.)

htc hd7

I’ve posted an updated version of my earlier article on Windows Phones in Canada at The Great Canadian Apportunity, in which I talk about which Windows Phone 7 devices are available in Canada, and who’s carrying them. The revision includes the HTC HD7, the Windows Phone with the largest screen, as well as a link to a handy chart comparing the physical dimensions of various Windows Phones.

step 1 get the tools

For the benefit of those new to Windows Phone development, and as a way to properly start The Great Canadian Apportunity’s blog, I also posted an article titled Getting Started with Windows Phone 7 Development. If you’re looking to get into writing apps for Windows Phone – and perhaps competing in The Great Canadian Apportunity – this step-by-step guide will get you up and running in no time.

This article also appears in Canadian Developer Connection.