It's been an interesting afternoon! At 4pm Pacific Time today (i.e. Feb 1st 2007 0000 GMT), the Windows version of the WPF/E December 2006 CTP runtime expired somewhat unexpectedly and prematurely (it was intended to timebomb in mid-February, but I guess we got that wrong). If you visited a page which required WPF/E, you'd see the following error message:
Within minutes, the "WPF/E" SWAT team (ably led by Joe Stegman and Mike Harsh) scrambled into action. It's fortuitous that we were in the final stages of getting the February CTP release ready, so we pushed it out this evening, a few days earlier than planned. Apologies for the lack of notice - this is a little embarrassing on our part, but hey - it proves that we're human and not the Borg after all! Here's links to the key components:
I'd recommend uninstalling the previous runtime before installing this fresh one.
As a workaround for anyone who really needs to keep running the December 2006 CTP on a Windows platform for a few more days, you can simply set the system clock back to a date prior to February 1st and you'll be all set. The Mac runtime is unaffected, but obviously the updated samples that we've posted are compatible with the February release.
We'll post an updated SDK and a list of changes as soon as we possibly can; in the meantime, the agHost.js should get you started.
We're sorry for any inconvenience caused!
Many of the applications I'll be highlighting in this series are highly graphically-intensive and media-centric. I thought I'd present a counterpoint early on in this series to highlight that Windows Presentation Foundation is also very capable as a platform for other classes of application.
90 Degree Software are based in the beautiful city of Vancouver in Canada, and have been working with us for some time on a new end-user reporting tool for business data. Those of you who use SQL Server 2005 will probably be familiar with the Reporting Services component (SSRS), which enables developers to create standard reports based on OLTP and OLAP data that can be delivered in electronic or print form. Reports are created in an XML-based format called RDL, typically using Visual Studio as an authoring environment, and are stored, configured and managed using SQL Server Management Studio.
If you're an end-user (rather than a developer) who wants to create some standard business reports, you've not had a great set of authoring tools until now. Visual Studio is daunting, and the Report Builder client application is limited to a small set of predefined report templates. Fortunately, 90 Degree's Radius software fills the gap, allowing report designers to generate freeform reports using a straightforward interface based on the Office 2007 look and feel, taking advantage of pre-built templates for applications like Microsoft CRM and Team Foundation Server.
Radius was built entirely using WPF (with the exception of the ribbon toolbar, which was bought as an off-the-shelf WinForms component because no WPF equivalent existed at the time). The report canvas, the dialogs, the application chrome - it's all WPF. Incidentally, you'll also see some nice usage of other Windows Vista features - they use the Peer-to-Peer APIs that are exposed by WCF, and they were one of the first applications to get the "Certified for Windows Vista" logo.
Radius doesn't necessarily have the most immersive visual experience of all the applications we're tracking, but it has exactly the right interface for its user base. Bloor Research are impressed, calling it a "sure fire thing".
Some people have a perception of WPF as "only being suitable for spinning 3D video balls" - that's clearly not the case, as this application (and many others) demonstrate. 90 Degrees' own CEO says that WPF "gave us an opportunity to accelerate development timelines but introduce features that differentiate us from competition."
It's a shame that 90 Degree don't have a trial version available for immediate download, but you can request one from their site by filling out a registration form.
In celebration of the launch of Windows Vista (and of course, Windows Presentation Foundation), I sat down with Ian Ellison-Taylor yesterday to chat about what's next for WPF. We touch briefly on the inception of the project and the surprises and the challenges encountered along the way, before drilling deeper into the roadmap for the future. In summary, you can expect to see lots of add-ons being published that fill out some of the gaps in WPF today, with a maintenance release coming out alongside Visual Studio "Orcas". Watch the video on Channel 9.
Ian's actually an interesting guy - he's been around at Microsoft for about 17 years now, starting as an intern on the Windows 3.1 shell team. He's got some fun stories to tell about what it was like to be working on Windows in the early 1990s, and I filmed a follow-up chat with him to find out more. That video is in the Channel 9 queue; I'll update this post with a link when it goes live in the next day or so.
Oh, and apologies for any distraction caused by the lurid orange couch in my office: the colour was my eldest daughter's choice (then aged 3). Still, it goes well with the standard issue WPF T-shirt!
Enumerating the applications that I'm going to showcase as part of this portfolio on my whiteboard earlier today, I started to panic at what I've just signed myself up for - I've got lots of writing to do over the next week or two! I was quite surprised to see Mary Jo ask where the killer apps are until I realized that she answers her own question within the next few paragraphs - the headline doesn't seem to tally with the body text. One of the applications she mentions in passing is StandOut from Electric Rain, and I wanted to focus on that product for the second instalment of this series.
Electric Rain are pretty well known in the Flash industry for their Swift 3D product, which allows you to create pre-rendered 3D animated scenes that you can embed into a SWF file. They're also known more recently for ZAM 3D (a tool with more than a passing similarity to Swift 3D), which allows the creation of 3D scenes that can be exported to XAML for use within a WPF project. But ZAM 3D was just a prelude to StandOut, their fully-fledged WPF application, which was formally announced today and enters beta very soon.
StandOut is a high-end suite of tools that raises the bar for the creation and delivery of presentations. For the vast majority of people, PowerPoint delivers on the core experience of quickly building a slide deck that you can deliver and share. But if you're delivering something like a PDC keynote or putting together a product launch, chances are that you've actually got a team of graphical designers with tools like Adobe Illustrator, working alongside the content creators to create the visuals, animations and text effects. As you get closer to broadcast-quality graphics, creators use tools like After Effects to design and composite pre-rendered motion graphics. StandOut sits really well in the middle of this continuum, allowing for real-time editing and presentation of slides that go well beyond the capabilities of traditional presentation software.
If you're using StandOut as a presenter, you'll typically work with pre-generated templates, adding your content and manipulating the flow using an outline view. As a designer, StandOut has a separate edition that allows you to create templates with custom fly-in and fly-out transitions, animated backgrounds and integrated media. The workflow for a designer typically combines both the StandOut tool and the Expression suite of tools: interestingly, they've already signed up IdentityMine and Blitz to create an ecosystem of pre-built design kits. Some of the initial design templates are wild: imagine a slide that contained a 3D carousel of images slowly rotating to support the point being made by the speaker. Pretty much anything you can do with WPF can be embedded into a presentation.
The entire application (both the design-time and the run-time components) are written in WPF, and really demonstrate the virtue of having a platform that combines 2D and 3D graphics, text, media, controls and animation together. I don't think there's any other single UI technology that would have allowed them to build what they needed efficiently: not Win32, not Flash, not even DirectX.
We've enjoyed the privilege of working with Electric Rain as an early adopter of the platform, and even though they've had to bear with us through endless sets of API breaking changes, they're still happy with what WPF has allowed them to do. Here's what their CEO, Mike Soucie, has to say about WPF:
"Three and a half years ago Electric Rain had a vision for a new multimedia application, and when WPF came along we realized that the platform technology had finally arrived to support that vision. We've been able to take 2 1/2 years worth of R&D and convert it into a real live commercial application within a year, and it's been possible because of what WPF offers us in terms of architecture, efficiency, graphical horsepower and the appropriate tools to build our solution. WPF has proven itself to be the perfect platform to convert our dreams and ideas into a next-generation application that's on target to solve significant problems for our customers in the design and business sectors."
Unfortunately, it's hard to demonstrate such a visceral application with a few static screenshots. They have a Camtasia demo of the application on their site, but even that only gives a dim glimpse of the true output. We used StandOut for the presentations at the Expression launches in San Francisco, Chicago and New York this month: probably the first time we'd relied on it in front of a live audience. It looked and felt very different to a traditional presentation, and I think the audience liked it. Sign up here to get on the beta test program, which I understand should be starting very soon.
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.)