Great WPF Applications #1: British Library Turning the Pages

I'm going to start off this series with a real blockbuster that was announced just this morning. I've been looking forward to the moment when we could reveal this application for months, as I think it's one of the most exciting applications I've ever had an involvement with.

The British Library is one of the world's leading libraries and the national library of the United Kingdom. By charter, it holds a copy of every book ever published in the UK, along with 58 million newspapers, 4.5 million maps, and 3.5 million sound recordings. They hold some of the most priceless literary treasures in existence, including the Codex Sinaiticus (one of the oldest New Testaments in existence), the Lindisfarne Gospels, one of Leonardo Da Vinci's notebooks, the first atlas of Europe by Mercator, the original illustrated manuscript Lewis Carroll's Alice's Adventures in Wonderland, Jane Austen's History of England and Mozart's musical diary.

Although most of these works are on display to the public, it's hard to interact with them. Even if you can physically visit the British Library in London, these books are kept in a dimly lit environment, with only one page on display at a time. Most of them are extremely fragile due to their age, and of course all of them are unique.

Enter a fantastic new application, developed in partnership between the British Library and Armadillo Systems. The British Library have digitized the pages of fifteen of their most valuable works and created Turning the Pages, a browser-based WPF application that allows you to interact with these books in a virtual environment from the comfort of your home. You can open a book on your desktop and by clicking on a page, physically turn it in a 3D environment. You can zoom or pan around each of the pages; the page turns themselves are created by modeling the actually deformation of different types of material (for example, a book with vellum pages is far heavier than something printed on paper, so you'll actually see the page start to collapse under its own weight). For certain books, such as the Sherborne Missal, a 15th Century prayer book that is considered by many to be the most magnificent English book from the Middle Ages to have survived the Reformation, you'll see that the gold leaf catches the light as you move the book around. Another really cool aspect of this application is that this project has reunited two of Leonardo Da Vinci's notebooks digitally: you can compare the Codex Leicester (owned by Bill Gates) and the Codex Arundel (part of the British Library's collection) side-by-side.

(Some secret shortcuts: use the mousewheel to zoom, shift+drag to rotate the book, ctrl+drag to pan around the scene. Use the settings dialog to allow the opening of multiple books simultaneously, and then right-click on the desktop to add new books to an existing scene. Be aware that adding multiple books starts to impose a considerable load on the graphics hardware, so you'll need plenty of video RAM if you want to use this feature intensively.)

It's worth just highlighting for a moment the unique value that the WPF platform brought to the table for the British Library. No other browser-based technology can support the complex 3D models and lighting that are required to produce the rich experience you see here. Direct3D itself would clearly provide the 3D power needed, but it's not easy to deploy and service an application like this. Thanks to the new HD Photo format for digital images that was introduced with Windows Vista and supported by WPF, this application achieves unparalleled compression of high-quality images, which translates into smaller downloads. You'll see lots of little WPF tricks throughout the application, including the use of vector-based animated icons, glassy effects using alpha-channel transparency, and a templatized ListBox for the menu.

Don't just take my word for it: here's what Michael Stocking, the Managing Director of Armadillo Systems, has to say about WPF:

"We've been working with the British Library for about nine years. We were looking for a way to make the book experience real. Windows Vista has allowed us to build an engine that will scale to build a true online library of thousands of books. As a developer, we've gone from a standing start to producing a pre-production application in twelve weeks. It's been amazing; the British Library are really excited about this. There’s no other way to achieve what we've done other than using Windows Vista."

You can run the application directly by going to this page. Find out more about the application at this site that describes the project in more detail. Armadillo Systems have turned this project into a toolkit, and they're now working with other libraries and museums (including the National Library of Ireland) to create similar environments tailored to their needs. They did a great job, actually - even with what WPF provides, the success of this project is a testament to their talents in getting the most out of the platform in a partial-trust environment.

Try it out - you'll enjoy it! (Make sure you have .NET Framework 3.0 or Windows Vista installed on your machine, of course.)

Comments (24)

  1. Anonymous says:

    This announcement is worth repeating. Take a look at Tim Sneath’s post here for a good write up. Then

  2. Anonymous says:

    Via Tim Sneath: The British Library has published a new application allowing you to read some of the

  3. Anonymous says:

    Whoa Tim! This one is GREAT, but it did run a bit slowly on my computer. All was forgotten when the app was loaded though.

  4. Anonymous says:

    This application is really great. But zooming could be improved. Now it seems to only enlarge the main image instead of downloading more detailed one so its quite difficult to read some blurred labels on old maps. Also memory requirements of this program seems to be a little high. After browsing several pages this program allocated more then 450MB. But still it was very nice to see my home town in such an old atlas.

  5. Anonymous says:

    The word ‘beautiful’ isn’t always the first that comes to mind when reviewing yet another super-exciting WPF sample. But when you work with the British Library’s app (great, naturally-usable UI) – and especially the Sherborne Missal – it’s the beauty that hits you first and the scope & use of WPF second.

    Congrats Armadillo Systems. Dead on …

  6. Anonymous says:

    Si quieren ver una aplicacion para mi entender excelente, realizada con WPF, vean la pagina de la British

  7. Anonymous says:

    Last Updated: Monday 5th February The following are a compilation of great samples and demos of applications

  8. Anonymous says:

    Winter has finally set in with single digit temps and minus degrees wind chills but still no snow. WPF/Avalon

  9. Anonymous says:

    Last Updated: Monday 5th February The following are a compilation of great samples and demos of applications

  10. Anonymous says:

    The British Library has launched an application that uses the Windows Presentation Foundation to let

  11. Anonymous says:

    When will this be available for GNU/Linux users?

  12. Anonymous says:

    I do! I really really hate blogs, not least because: I work for Microsoft but I rarely get to know about

  13. Anonymous says:

    The performance of this has to be improved.  On my computer P4 2.6 Ghz, 1GB/XP it takes over 15s to turn a page with no feedback as to what is going on.  I could understand if this is I/O but PresentationHost.exe is pegged.

    I also ran this on my laptop which is running Vista… A little better but still 5s to turn a page with no feedback isn’t good.  Again presentationhost.exe is pegged on this computer as well.

    Please tell me that this is just my computer(s) and not WPF.  Does this seriously run nicely on a new computer?

  14. Anonymous says:

    I updated my graphics driver on my desktop GeForce 5200 and the speed improved by 10X on the desktop.  My laptop has an integrated 64MB intel graphics chip so I’m not sure this will get any better.

  15. Anonymous says:

    I hate to fall on a different side other than WPF, but I think if the app is written in Flash 9, the system would be much more responsible, use less memory, and smaller.  This one runs dog slow on my Core Duo laptop with 2GB of RAM

  16. Anonymous says:

    tangent: you really must make sure you have the latest video drivers installed: get reference drivers straight from your graphics card chipset manufacturer (ATI/NVidia/etc) and avoid driver bundles from your laptop manufacturer if you can.

    I don’t think Flash9 really has a genuine 3D engine, so an application like this wouldn’t be feasible in Flash. Also some quite heavy duty realtime 3D features are used in the BL WPF application eg vertex animation, very large texture support, specularity mapping. Maybe PaperVision for Flash can provide this when it’s released but it will be a big ask.

  17. Anonymous says:

    Mitsu פרסם את ה Control החדש שהוא כתב. מאוד מרשים, תורידו את זה ותריצו. מאחר וה Control הזה הוא בעצם

  18. Anonymous says:

    Igår körde Johan Lindfors och jag ett pass om WPF och Blend, fantastiskt kul att träffa utvecklare och

  19. Anonymous says:

    Pete Brown has a great blog post here on Silverlight 2.0 and WPF.  Pete makes some great points

  20. Anonymous says:

    Pete Brown has a great blog post here on Silverlight 2.0 and WPF.  Pete makes some great points

  21. Anonymous says:

    I think that surface and gesture computing is going to explode over the next five years. We’re going

  22. Anonymous says:

    Winter has finally set in with single digit temps and minus degrees wind chills but still no snow. WPF/Avalon Adam’s WPF book is out and flying off the shelves apparently ! I have been looking forward to this one as his COM Interop book is the bible there.

  23. Anonymous says:

    One of the most common topics that we have discussions around in our Fasttrack reviews with ISVs is the

Skip to main content