Better Scheduling with MindFusion
MindFusion.Scheduling for WPF can help you create a variety of calendar and time-management apps, if you don't mind writing a little code.
Scheduling can mean managing everything from personal calendars to work crews to preventative maintenance plans. MindFusion.Scheduling for WPF is a Windows desktop calendar and scheduling component for creating all of these applications.
On the personal scheduling side, the MindFusion Calendar control is very good. It switches between calendar views (day/week/month), a timetable view and an event list view (in portrait or landscape mode). Some programming is required: The calendar doesn't include any default buttons or menus for the user to manipulate the views (other than scrolling through dates). If you want to give the user the ability to switch between views, it's up to you to offer the UI features that will execute your code to make the change.
On the project-management side of things, the MindFusion ResourceChart and ActivityChart give you a Gantt-like view with a list of "schedulable" resources. After you've linked the two controls (again, your responsibility), they take care of keeping each other synchronized as the user manipulates them. The package also includes a set of default forms in a DLL that you can present to the user to gather schedule-related information.
[Click on image for larger view.]
|Figure 1. You can switch the MindFusion Calendar control between any one of several views with a few lines of code.|
But a scheduling package has to be more than just a pretty face. The Calendar control includes methods for handling every scheduling pattern that I could think of. The ResourceChart and ActivityChart controls let you schedule tasks, create dependencies between them and assign resources to scheduled items. The focus is very much on managing dates -- don't mistake MindFusion project support for a true project-management package.
There's always code to write, however, even for basic tasks. It's your responsibility to wire up the Calendar control to the input form of your choice and pass the data between the Calendar and the form. Date-driven controls for creating your own forms are also included. While this approach gives you flexibility, I would've been just as happy with more default functionality that could be suppressed when it isn't needed.
When installing the product, I was asked to select between Visual Studio 2008 and Visual Studio 2010 (this is actually a choice between the Microsoft .NET Framework 3.5 and .NET Framework 4), but both versions were installed on my computer. The UI controls weren't added to my toolbox automatically, but the tutorials pointed me to the right libraries (the package installs about a dozen).
The developer's guide is excellent on covering all the classes with their members and includes several task-oriented tutorials that cover the basics of using the package's components. As you go beyond the basics, you'll need to spend some time experimenting or frequenting the MindFusion forums (the detailed reference material doesn't include many code samples). Several sample applications are included with the package.
This is a full-featured package that provides developers with the tools they need for creating date-driven applications -- and the price is right. My only real complaints: I'd like more default functionality built into the UI controls and more task-oriented walk-throughs
MindFusion.Scheduling for WPF
Price: $300 per developer without source code; $650 with source code
Quick Facts: Controls and libraries for creating a wide variety of scheduling applications
Pros: The price is right and the package contains all the tools you'll need
Cons: More default functionality would let developers deliver applications faster
Peter Vogel is a principal in PH&V Information Services, specializing in ASP.NET development with expertise in SOA, XML, database, and user interface design. His most recent book ("rtfm*") is on writing effective user manuals, and his blog on technical writing can be found at rtfmphvis.blogspot.com.