My current project has business objects that change over time. The objects can have future changes as well as past changes. One of my tasks is to create viewers and editors for these objects that let the user see its state at any point in the past or future. The changes are fairly simple: one or more property values changed/will change on a certain date.
I'd like to give the user a simple way to see this. At minimum I need to allow the user to roll forward and back through the object's history. I'd also like to show the previous/next values (if any) of each property if I could do that without getting too cluttered or distracting. And finally, it would be cool if there was some visual way to show the complexity of the object's history, e.g., a "timeline" or something. This is C# 3.5 on Windows forms or WPF. All ideas are appreciated. Thanks.
One more thing: are there any patterns or best practices for coding objects with a time dimension?
Thanks again.