The debugger canvas is an interesting way of displaying multithreaded debugging. It's not very different from parallel stacks and I guess that parallel stacks was the inspiration for creating the debugger canvas.
What I could really need as a developer, is however a much simpler solution: To be able to debug the thread I'm currently looking at and ignoring all other threads. This would allow me to continue stepping down the path I'm on without being interrupted by other threads stepping down the same path.
Usually, when I'm debugging, I'm not focusing on what every thread does (Focusing on too many things cause information overload). Instead I'm focusing on what my current thread is doing and it would be very nice to be able to do so, without my focus being moved to what other (And to me irrelevant) threads are doing.
I hate to be the negative voice here, because the ideas seem to be just fine, but I feel like I'm watching an episode of CSI, with magical Hollywood computers that already have all information prepared before knowing how to display it in a fancy way.
How does the 2D picture of the lamp, taken from a tablet, become a full 3D model ?
Who prepared a 3D model of the house and told "Bill" how to navigate from one room to another, by just naming the room ?
Who created the doorhandle supplier website, where doorhandles were available as 3D models (I have yet to see any shop have a 3D rendering of any of their physical products - Let alone as 3D models you can actually download and put into your own 3D tool) ?
Is the Microsoft table really both a touchscreen and a scanner, since it's possible to scan a piece of paper, by just placing it on the table ?
Magical Hollywood computers are fine as entertainment, but showcasing them in a way that hints that all of these things are close to be possible, is a bit optimistic and gives a warped impression of what can be done with upcoming technologies.