Project Austin - A Case Study In Modern C++
Written by Mike James   
Monday, 24 September 2012

Project Austin is recreating the abandoned Microsoft Courier tablet's note taking software. What is really interesting, however, is that this is a show case for modern C++ as envisaged by Microsoft.

The project is being documented in a very readable way on the Visual C++ Blog and this is where you will find the fine detail. The project uses WinRT and hence the term "modern" C++ also applies to the type of app being created.

The idea is to create a free flowing notebook that works as if it was paper and pen.

"Austin is a digital note-taking app for Windows 8. You can add pages to your notebook, delete them, or move them around. You can use digital ink to write or draw things on those pages. You can add photos from your computer, from SkyDrive, or directly from your computer's camera. You can share the notes you create to other Windows 8 apps such as e-mail or SkyDrive."

You can see it in action in the video:


What is interesting about this application, from the programmer's point of view, is that it makes use of the new features in Visual Studio 2012 - automatic code vectorization and C++ AMP. It therefore raises the question, what can parallelization bring to a graphics app? This appears to be a lot in theory - but at what cost?

The app is based on using DirectX for the graphics and, even though the scene is essentially a 2D page, it is represented in a full 3D space. The UI is, of course, constructed using XAML. Of particular interest is the way that the pen strokes are rendered using a 2D mesh rather than a bitmap, say. Interestingly, the original intent was to create a geometry shader to handle the mesh but, for now at least, it is processed by the CPU and handed on to the GPU for rendering.




At the moment the only part of the system that uses C++ AMP is the pager turn animation, but the claimed speed increase is sufficient to make it attractive to convert other pats of the system to it.

You can download the code from CodePlex and play with it. At the moment there is no word of whether or not this will turn into a real app available for end users on Windows 8 or WinRT, but it would be a shame for so much work not to reach a wider audience.

In the meantime stay tuned to the C++ Blog to follow the rest of the explanation.


The War At Microsoft - Managed v Unmanaged

Getting started with Managed C++

Building and using C++ WinRT components





or email your comment to:


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.



Grafana Adds New Tools

Grafana Labs has announced new tools to make it easier to analyze application data on Grafana Cloud. The announcements are an Application Observability tool for Grafana Cloud, and Grafana Beyla, the e [ ... ]

2023 Hour Of Code Announced

New activities for this year's Hour of Code have been announced. The focus for 2023,"Creativity with AI", is designed to let students learn about computer science and artificial intelligence.

More News


Last Updated ( Monday, 24 September 2012 )