Windows Phone 8: Evolution of the Runtime and Application Compatibility

Long time back at the wake of the release of Windows Phone 7 (WP7) I posted about the Windows Phone 7 series programming model. I also published how .NET Compact framework powered the applications on WP7. Further simplifying the block diagram, we can think of the entire WP7 application system as follows As with most…


Test Driven Development of a Generational Garbage Collection

These days everyone is talking about being agile and test driven development (TDD). I wanted to share a success story of TDD that we employed for developing Generational Garbage Collector (GC) for Windows Phone Mango. The .NET runtime on Windows Phone 7 shipped with a mark-sweep-compact; stop the world global non-generational GC. Once a GC…


WP7: CLR Managed Object overhead

A reader contacted me over this blog to inquire about the overhead of managed objects on the Windows Phone. which means that when you use an object of size X the runtime actually uses (X + dx) where dx is the overhead of CLR’s book keeping. dx is generally fixed and hence if x is…


Windows Phone Mango: Under the hood of Fast Application Switch

Fast Application Switch of FAS is kind of tricky for application developers to handle. There are a ton of documentation around how the developers need to handle the various FAS related events. I really liked the video which walks through the entire FAS experience (jump to around 8:30). In this post I want to…


WP7 Mango: The new Generational GC

In my previous post “Mark-Sweep collection and how does a Generational GC help” I discussed how a generational Garbage Collector (GC) works and how it helps in reducing collection latencies which show up as long load times (startup as well as other load situations like game level load) and gameplay or animation jitter/glitches. In this…


WP7 Mango: Mark-Sweep collection and how does a Generational GC help

About a month back we announced that in the next release of Windows Phone 7 (codenamed Mango) we will ship a new garbage collector in the CLR. This garbage collector (GC) is a generational garbage collector. This post is a “back to basics” post where I’ll try to examine how a mark-sweep GC works and…


Generational GC in Windows Phone Mango

  This is an announcement only post, do subscribe to this blog feed or on to as I’d be making more detailed posts on how we are building the Generational GC and what developers need to know. Today in the MIX11 keynote ScottGu just announced something that I’ve been working on for some time….


Windows Phone 7, my story

Now that Windows Phone 7 is released all the gadget/tech blogs like TechCrunch, Engadget , Gixmodo are humming with reviews. Given that it’s a Version 1 product (ignore that 7 in the phone name) the reviews are great. Seeing all the buzz around gets me thinking about how I got involved in the project and…

Windows Phone 7 App Development: When does the GC run

If you are looking for information on the new Generational GC on Windows Phone Mango please visit Many moons ago I made a post on When does the .NET Compact Framework Garbage Collector run. Given that a lot of things have changed since then, it’s time to make another post about the same thing….


Inside the Windows Phone Emulator

Learn from the dev lead and PM of Windows Phone 7 Emulator on how it works and delivers the awesome performance. Some key points The emulator is essentially a x86 based Virtual Machine running full image of Windows Phone 7 OS It emulates various peripherals (e.g. audio, networking), the list hopefully will grow in the…