![]()
|
1. Chris, you have written a great Windows Forms
programming book. It
seems that you have succeeded to cover every single aspect, every little
detail of Windows Forms. What is the history behind the book? 2. You devote a chapter in your book to nonrectangular forms. Do you think computer users may like nonrectangular forms and a rectangular monitor, or would they prefer a nonrectangular monitor to use with the forms? I can't think of any of my favorite apps that do anything more than non-rectangular splash screens, so it's hard for me to stretch my imagination all the way to non-rectangular displays. Personally, I'm much more excited about Tablet PCs getting down to the size and weight of my college notebooks. When that happens, we're going to see the same thing happen with eBooks that have already happened with digitized music and is in the process of happening with movies. Personally, I can't wait to carry my entire book collection around with me at my side instead of having to throw my back out every time I move. 3. What influence, if any, Charles Petzold's Programming Windows XYZ had on your book? I, like everyone else in my generation, learned to program Windows from Petzold's Programming Windows 3.1. I still have my original copy and Petzold so impressed me that in writing Windows Forms Programming, my goal was to outsell him. My editor took that to mean that I would outsell Petzold's Windows Forms book and I've done that since every week since my book shipped, but I'd really like to outsell his Win16 book. Of course, because we're in a much different book market now, that'll never happen, but still, I can dream. : ) 4. You have comprehensive errata for your book on sellsbrothers.com. Is the source code also available there? [csells] The source code for the book is available on the book's home page: http://sellsbrothers.com/writing/wfbook/ Also, I should mention that the errata page was written for me by Mike Weinhardt, who's almost my partner in crime on the second edition of the book. He maintains his own website at http://www.mikedub.net/ and writes a fun Windows Forms-focused blog at http://www.mikedub.net/windowsformsredux/ In fact, as I turn my focus primarily towards Longhorn, Mike is the one to watch in the Windows Forms 2.0 space. 5. What optimization techniques would you recommend for GDI.NET applications? In general, when optimizing GDI+, I recommend the same technique I recommend for profiling anything: profile, profile, profile. No sense spending a lot of time optimizing in places that aren't causing you performance problems. I most often solve my GDI+ performance problems by avoiding the invalidation of spots that don't need updating and avoiding drawing in spots that haven't been invalidated. Still, it's best to profile before and after, as it's not hard to spend more time figuring out what needs invalidating and drawing then the time you actually spend invalidating and drawing. 6. Chris, what do you think are the most important features of .NET 2.0, and what improvements should we see in the following releases? There are 3 really big deals in .NET 2.0 from my point of view. The first and most important is ClickOnce. This is the way to deploy smart client applications with the same effortlessness of deploying web applications, plus it fixes a bunch of the problems in the .NET 1.x technology known as No-Touch Deployment, both at run-time and at develop-time. Second, I'd have to say that watching Scott Guthrie's breathless 3-hour run through all of the new features in ASP.NET 2.0 is simply stunning. The leap from ASP.NET 1.0 to 2.0 is nearly the same as the leap from ASP to ASP.NET. And finally, the shear number of productivity enhancements in the IDE, both in new features like Refactoring and in really making new Framework features shine, like type-safe resources and much more robust data binding in both Windows Forms 2.0 and ASP.NET 2.0. As good as Visual Studio already is, I can't believe how much they continue to improve it in VS 2005. Of course, as an old-time C++ hack, I'd be remiss if I didn't give generics at least an honorable mention as a feature I've very much looking forward to putting to good use. 7. Are you planning to update Programming Windows Forms for .NET 2.0? If yes, what would you add? Absolutely. In fact, Mike and I are already in the process of updating the book for Windows Forms 2.0. We're planning to have an update ready very soon after the release of .NET 2.0. As to what we're adding, we're updating all of the chapters to point folks at the appropriately new technology, e.g. MenuStrips instead of MenuBars, the DataContainer instead of binding to the data directly, etc, as well as rewriting entire chapters as appropriate (the Data Binding and Deployment chapters are bound to get major overhauls to reflect the vast improvement). Also, Mike has threatened to add a Compact Framework 2.0 chapter, but we'll see if he's still able to lift his head after updating the existing prose. : ) 8. You have some great interview questions from Microsoft at http://www.sellsbrothers.com/fun/msiview/. Are you planning to publish questions from your own interview, someday? You can read about my own interview experience on my site and that write up includes some of the questions I got (http://www.sellsbrothers.com/fun/msiview/#myInterview). However, I don't think I'll give away Sara's questions any time soon. It's easy to give away questions I got from random interviewees I didn't know, but to ruin a friend's favorite question is too far even for me. : ) 9. Modern RAD tools are mostly about UI generation. In the next few years, do you expect new tools that would simplify the way we program? If yes, what would such a tool do? My dream for a RAD tool doesn't even have a forms designer as we know it today. Instead, I'd like to run a little program to get myself a new, empty, running application which I could add functionality to "live," e.g. right-clicking on the main window to add a menu bar and then menu items, then right-clicking on a menu item to start up a new window, which would show immediately, then right-clicking to add data that would be bound immediately, etc. I could see us building apps just to get a quick piece of information and then throwing the app away. Or, I could see non-programmers building these "live apps" until they hit a wall when they'd bundle it up and email it to a programmer to add that one last little feature that only a programmer can add. Not only will non-programmers be able to get a lot further without programmers, but the programmers would only be asked to add in the really interesting, unique stuff, leaving the user experience designers to put the bulk of the app together in pleasing ways that us programmers are hopeless at. :) 10. Chris, what are your plans for the future? Are you satisfied with your role of a Program Manager for MSDN, or do you see yourself getting involved in development? I'm very happy at MSDN. My boss, Shawn Morrissey and his boss, (and the Benevolent Matriarch of MSDN) Sara Williams, have worked hard to give me a very pleasant environment where I'm allowed to continue my writing, run my conference, contribute my code and tools to the community as well as digging into Longhorn as deeply as I'm able. Further, during this time between the preview version of Longhorn and the beta is the best time for the product teams to apply substantive feedback, so I'm working on a couple of projects to build real-ish apps to stretch the WinFX API and then give my feedback to the product teams so that they can fix stuff that doesn't work as well as it could. So, not only do I get paid to play with the next huge thing coming from Microsoft and tell folks what's cool, I also get to influence the thing itself. What could be better than that? : ) |
|