I know the life of a freelance writer might seem glamorous at times — nonstop publication parties, supermodel groupies, hanging out in the secret Writers' Cafe with Stephen King and J.K. Rowling — but sometimes there's some real grunt work involved.
Just two weeks after the Consumer Preview ebook of Programming Windows 6th edition went on sale, Microsoft performed an unexpected early drop of the Windows 8 Release Preview.
This new release does not mean that the book is now "entirely wrong." But it does means that I'll be spending this weekend converting all the code samples to the Release Preview and checking to see if they still work right.
The Consumer Preview ebook has 81 sample programs, and they're available in both C# and C++ versions, so what I really want to avoid is re-creating all the projects in the new drop of Visual Studio. Instead, I'll be modifying the existing projects so they seem as if they were created in the Release Preview version of Visual Studio, which means determining what has changed in the standard templates, and writing a custom program that converts the existing projects into new projects.
At that point, I can then recompile and run all the programs to see if they still work, and put together a short (I hope) document that describes the differences between the Consumer Preview and Release Preview of Windows 8 as they affect the Consumer Preview ebook of Programming Windows 6th edition.
I'll then ZIP up the new versions of the programs with this document and hand it over to Microsoft Press so they can hand it over to O'Reilly Media to put on the Programming Windows 6th edition page on the O'Reilly site. If you've already purchased the Consumer Preview ebook of the book, O'Reilly has your email address, so they should be able to notify you that this updated code collection is available. If that doesn't happen, it should be available early next week, and I'll let you know via a blog entry.
For the the first 7 chapters of Programming Windows 6th edition I created all the programs by selecting the "Blank App" template in Visual Studio. In the Consumer Preview, this template generates files for a class named BlankPage, a name that makes sense when the page is blank, but becomes ridiculous when you start putting stuff on the page. In the Release Preview version of Visual Studio, the name has become MainPage.
There are other changes: The ApplicationPageBackgroundBrush referenced in BlankPage.xaml is now ApplicationPageBackgroundThemeBrush in MainPage.xaml. The PNG files for the various program logos are now blank rather than portraying stars. The Common directory now only contains a different version of StandardStyles.xaml; all the helper code files are gone (but they are generated by the other templates). The App.xaml.cs file is more extensive, AssemblyInfo.cs no longer indicates that your program is copyright by Microsoft, and the .csproj and .vcxproj files have some changes as well.
So while you're enjoying this first weekend in June by heading to the beach or lounging around the barbecue or relaxing in the stands at Roland Garros, I'll be chained to my desk translating programs from one pre-release version of Windows 8 to another.
But with that task out of the way, I can then resume the really fun part of this job: writing more chapters that go ever deeper into this fascinating new manifestation of Windows.
Programming Windows, 6th Edition
Special Price through (approximately) July 2012!
For just $20, you get:
(1) the Consumer Preview ebook right now
(2) the Release Preview ebook in early August
(3) the final ebook in November
Programming Windows 6th Edition
Consumer Preview eBook