Charles Petzold on writing books, reading books, and exercising the internal UTM

Recent Entries
< PreviousBrowse the ArchivesNext >
Subscribe to the RSS Feed

What do You Want Me to Write About?

August 31, 2007
Roscoe, N.Y.

It looks like I'll again be writing one-third of the Foundations columns in MSDN Magazine over the next year. My columns appear in the January, April, July, and October issues and focus on the Windows Presentation Foundation (WPF).

My new boss at MSDN Magazine, Howard Dierking, recently asked in his blog "Who do You Want to Read?" and got some interesting responses.

So let me ask a similar question: What do you want me to write about? What WPF topics are worth a 4,000-word article?

You can post a reply to this blog entry or (if you're shy) send me an email at


Build some custom graphing controls. The user supplies database tables, chooses data to graph, picks graph types, ranges, etc.

For bar, pie, line, scatter, high-low, etc.

3-D surface charts and bar charts would be nice with trackball mouse control so user can 'fly' around the graph.

— Ned Hamilton, Sat, 1 Sep 2007 08:18:48 -0400 (EDT)

Forgive the geospatial orientation but that's how my brain has been warped over the years.

1) I like Ned's idea above of a 3D surface chart. I played a bit with demographic surfaces using Census data. The ability to stack surfaces and scale in the vertical axis makes it interesting to play with.

So for example several parameters could be stacked as a series of 3D color planar surfaces and then with user selectable combinations added into a mesh surface which is scalable in the parameter axis. (you can use some rgb addition rule for getting rough parameter approximations from rgb color images since you have up to 24bits, 0-16777215, for parameter values even though the color progression is not nice)

2) But, I would also like to see some examples of alternative user manipulation of camera views. The 3DTools trackball is nice for a center focus model, but it would be useful to have an alternative fly/walk through tool that lets a user locate a camera position in 3D space, adjusting view direction and zoom at that point.

This involves 6 parameters which could get a bit complex. One approach is to use two viewframes. An author x,y,z perspective showing the camera from above. Possibly adjusting x,y with a mouse drag, and z with a mouse wheel. For right handers its easier to use a right mouse down drag with the wheel for the 3rd axis.

The second 1st person view (camera - rotate, tilt, and zoom), could work like the inverse of 3Dtools trackball. The camera gimbal is at the center of a sphere and mouse gestures follow its interior surface for tilt and rotate with a separate mouse gesture or wheel for zoom.

Perhaps there is a better model for six parameters already out there. I'm not much of a gamesman where all this kind of interface has already been worked out.

3) Third idea is some example of connecting xbap in an Ajax manner. So perhaps a larger tin mesh made up of a set of small mesh patches. Edges could be extended by continuously adding mesh patches to the edges nearest the view focus by using XamlReader with a WebRequest call to pull in additional XAML mesh patches from a server, either static for performance or dynamically proxied from other web sources(like OGC OWS) for generality. This is basically the Google slippy map ajax model but in 3D WPF browser land.

4) variation on 3 above would use the same technique but instead of adding to edges a camera view zoom would trigger a higher resolution mesh patch replacement at the center of focus. Kind of a retinal ajax model.

5) some more examples of combining a GeometryModel3D with a variety of MateralGroup overlays, images, geometries, visuals, multimedia etc I've found that this gets a bit confusing because of the large number of possibilities.

6) time based animations x,y,z,t

I'm sure there are many other possibilites that would also be interesting. I liked the wire line approach you discussed in the previous post since I have been uncreatively using the more resource intense cylinder wires.


Randy George, Sat, 1 Sep 2007 12:31:01 -0400 (EDT)

I have started reading King of Infinite Space by Siobhan Roberts which is a biography of Donald Coxeter.

A visualizer for the platonic solids in 3D and polytopes in higher dimensions would be instructive.

One interesting way to construct them would be to use mirrors and the shorthand notation the Donald Coxeter developed.

Doug Ferguson, Sun, 2 Sep 2007 17:27:15 -0400 (EDT)

I have interesting about interoperability within.NET Framework 3.0 technology and J2EE.

1.How do communicate WPF Client to J2EE component ?

2.How do design Enterprise Application Architecture with WPF Client and WCF Component and WF business flow ?

Sangchel Hwang, Sun, 2 Sep 2007 23:44:43 -0400 (EDT)

I think shadows and effects continue to be a point of major interest in WPF3D. I know the previous two articoles ("let there be shadows") and I would like to see them continues.


— Dan, Mon, 3 Sep 2007 02:07:36 -0400 (EDT)

Hi , You should write on some thing that helps creating better UI frameworks in WPF.

— Razi Bin Rais, Mon, 3 Sep 2007 03:55:39 -0400 (EDT)

Some time ago I recall you saying you thought you could write a short book on designing class libraries to work with the new dependency property, attached property and routed event features WPF added. I'd love to read some stuff about that.

Joseph Cooney, Tue, 4 Sep 2007 18:38:19 -0400 (EDT)

I've interested in migration from classic VB6/.NET Windows Forms application to more modern WPF application. I think that WPF introduce a lot of new concepts in UI design, and me (and developer around the world) needs to know how to use WPF to create beatiful application! :-) A classic simple Windows Form can contains TextBox, ComboBox and other controls, but WPF can enpower these UI elements in order to get a more powerful user-experience for the final user. If I see WPF demo applications on the Web, I'm amazed for the features: maybe developers like me needs some guidelines/ideas in this sense.

Thanks, Charles!

Igor Damiani, Wed, 5 Sep 2007 04:26:20 -0400 (EDT)

I'm not sure if you could spend 4,000 words on this, but it's something I'd really like to have: a Masked Textbox.

— Frances, Tue, 18 Sep 2007 01:49:24 -0400 (EDT)

3D anti-aliasing (at least like good old OpenGL.Win32) and tesellation transparency without having to sort the triangles.

Anti-aliasing is vital. All looks 80's right now.

Also samples to output 2D xaml content over (on top) of a Viewport3D. (Really important to show clear text without 3D rotation)

Smooth drop-shadows behind modelgroups.

Pixel-offset to draw always-visible outlines.

Light reflections and brights (ie: shininess)

Simple mouse-button and mouse-wheel drag to rotate/zoom/pan pluggable into any xaml file.

XAML sample to reuse Resources parameterizing or binding the resource values (ie: a single VisualBrush with a String parameter to reuse it to display different textblocks on same viewport, later using multiple modelgroups)

I'm trying to reproduce some quite old OpenGL apps using XAML / WPF 3D:

David Berneda, Fri, 5 Oct 2007 12:16:07 -0400 (EDT)

You can write please on the unsolved ( real parent ) retrieved from the visual tree as I encounter in this thread ( sample included by link in the thread )

Thank a lot

Guy Dvir.


Guy Dvir, Wed, 17 Oct 2007 14:24:23 -0400 (EDT)

Recent Entries
< PreviousBrowse the ArchivesNext >
Subscribe to the RSS Feed

(c) Copyright Charles Petzold