Code Canvas @ TechFest

In honor of today’s historic date of breaking down walls, I’m posting a recording of the live presentation of Code Canvas given at the 2009 Microsoft Research TechFest event on the Microsoft campus in Redmond, WA. This video demonstrates some of the features of Code Canvas that are applicable when zoomed in close to your…



Chris Lovett has a written a cool Virtualized WPF Canvas that lets you pan and zoom around a huge canvas full of shapes, and it only creates those shapes which can be seen on your screen at the time (i.e. within your viewbox of the canvas).  As you pan around, it destroys the shapes that…


Code Canvas @ Lang.NET Symposium

Microsoft recently hosted the 2009 Lang.NET Symposium here in the Microsoft Research building.  A colleague of mine, Herman Venter, asked me to show off a demo of Code Canvas during his Common Compiler Infrastructure talk, and the video is available online: (Download) The segment on Code Canvas starts about 5 minutes into the video and…



Virtualization, according to the documentation for WPF’s built-in VirtualizingStackPanel, refers to a technique by which a subset of user interface (UI) elements are generated from a larger number of data items based on which items are visible on-screen.  This is a great feature since WPF cannot show more than about 2,000 visuals on the screen…


Rect.Intersects and IsDefined

When working on the PriorityQuadTree, most of the code I was reading and writing revolved around rectangle intersection.  Rect defines an IntersectsWith method, but it doesn’t work with rectangles that are infinitely wide or tall like new Rect(Double.NegativeInfinity, Double.NegativeInfinity, Double.PositiveInfinity, Double.PositiveInfinity)), and asking whether anything intersects with Rect.Empty returns false.  This is opposite from set…


Code Canvas vs. Diagrams/Visualizations

Software is usually created by typing source code into a text editor, yet the current solution for understanding complex software systems is usually to generate a diagram* or visualization* that exists independently from the original source code text editor. The current solutions have several drawbacks, such as: The level of detail in the diagram does…


Softpedia article on Code Canvas

Wow, I’m impressed with how fast the word is getting out.  Marius Oiaga already published an article on Softpedia: “What if code could leave the boundaries of the traditional editors, and call home an infinite two-dimensional surface as a new spatial development environment? Code Canvas makes this possible. A project put together by Kael Rowan,…


Code Canvas

I’ve been working in Microsoft Research on a project called Code Canvas for a while now, and we finally got through enough of the patent process so that I’m able to release some details publically. Code Canvas is a research prototype focused on spatial orientation of code as the foundation of an integrated development environment….