Introduction

This project is a C# .NET Compact Framework application that provides read only viewing of .dan.g's ToDoList program on a PocketPC. This project is an example of the basics required for a .NET Compact Framework application and shows how to use XML, a Tree Control, and a Tab Control, as well as a good use for recursion.

Background

I started using the ToDoList program to keep track of all of my current tasks and their subtasks. The problem came when I would go to status meetings and try read the raw XML to remember what I was working on. After about three meetings, I decided to create a PocketPC version of this program so I could take my task list with me anywhere. I spent a couple of hours that evening and created the current version of software which is a read only viewer. This met my immediate need of being able to report on my current tasks in my status meetings.

I had/have much bigger plans for this application, but a new baby has me rearranging my priorities for the time being.

I saw a post in the message section of the ToDoList article asking about a PocketPC version and I thought I would make this current version available if someone wants to take the code and continue on with making it a fully functioning version. It might also be helpful to anyone who wants to read their task lists in meetings.

Using the Program

The program has a simple interface that allows you to open any ToDoList XML file in your My Device\My Documents directory and view the details of the tasks. The list can be refreshed and filtered by Active, Complete or All tasks.

There are at least two choices for how to keep the files synchronized between the desktop and the device. The first option is to manually drag the file to the HPC through the Active Sync Explorer. The second option, which is what I use, is to use the Active Sync feature for Synchronizing Files and keep the ToDoList files in the Sync directory. The reason I use this one is that I don’t have to worry about remembering to copy the file when I update my ToDoList.

Deploying the Program

There are three ways to deploy this application: manually, cab files and fully automated setup.

To manually deploy the application, use the following steps:

Create a ToDoList Viewer directory under My Device\Program Files.

Drag the ToDoList Viewer.exe to the new directory.

Tap-n-Hold the executable and select Copy from the context menu.

Change directory To My Device\Windows\Start Menu\Programs.

Select Edit|Paste Shortcut from the Application menu.

Tap-n-Hold the shortcut and select Rename from the context menu.

Change the name of the shortcut to ToDoList Viewer.

Go to Start|Settings|Menus, find the ToDoList Viewer, and select the check box.

To deploy the application using the cab files, you first need to determine which type of processor your device has (check with your manufacturer), copy the appropriate .CAB file to your device, and run the .CAB file. This installs the program and creates the shortcut as well as lets you have the ability to uninstall the application. If you chose this method, you will need to download the source and build the Cab files.

The final option of deploying the application is the fully automated setup. This setup is started from the desktop and initiates the setup on the PPC. You will also be able to initiate the uninstall process from Add/Remove Programs.

Known Issues

1. Files Not Loading

Issue:

The application cannot load some ToDoList files created with older versions of the ToDoList program.

Solution:

Install the most recent version of the ToDoList program, load the ToDoList file, and save as a new file. This causes the XML to be upgraded and appears to fix the issue.

Thanks To:

David Mather and Chris Hockenberry

Contact Information

I have setup a special e-mail account for this project. You can contact me at todolistviewer@legendweb.com about this project. If you contact me at my normal e-mail address, please put [ToDoListViewer] in the Subject line.

Hi. I use WMv5 and ToDoList v5.3.3. When I installed ToDoListViwer to my PDA (FS Loox N560) and opened ToDoList.tdl, i see... i have not see any tasks - only header with LASTMODIFIED and PROJECTNAME information.

Regarding modifications etc....is the source provided on CodeProject the latest or you got some nifty work done in the meantime ?

Depending on use on both PC & PocketPC some kind of synchronisation would be a big issue,... as i think ToDo would work best on my Pocky, i will give that a go,....

Reminders would be cool,... 1 day upfront etc....

I have a ToDo reminder app set up just like the ToDo, but did it in C#,...only thing i'm not completely satisfied with is the logic to check weather a certain date+time is due,....like:

* on app startup,.... show all past and still open
* on app startup,.... show all due in near future
* thread for due check every xxx seconds [PocketPC threading ???]

I would love to see a cool date/time comparison which confirms if times are between certain time interval.

Mine checks half the time-interval before and half the interval after a certain due-time. Needs to be in there exactly for it to show notification. If thread is slow @ certain point,.... boohoo,...no reminder

I know fall seems like a long time away, but that is actually moving it up on my schedule.

The current source is the most recent source available. I've mainly been thinking through the design of a full featured version, but I haven't done any coding.

Until the I have the Pocket PC version at a "full featured" state, I'm not going to focus on the synchronization, I'm just going to depend on the file sync (see: Using The Program). I've read the documentation for creating a custom Active Sync provider, but that will take a while to implement.

I'll add reminders to the wish list, probably for the second major release.

Sadly, no I haven't been able to start on one. Since things in my life weren't hectic enough I've also changed jobs (which required me to move my family about 700 miles) and started back to college to finish my degree.

While I'll support this app in it's current form, I don't foresee having anytime in the near future to work on this project.

Let me know if I can help you during your development of the full featured version. In fact, when you get it done you should create a new article to replace this one.

I have all the toolsets and SDKs for building for Palms (somewhere). I am even registered as an official developer (ID#, non-disclosures on file too for pre-releases, etc.). I just have never done more than penny-ante stuff in my free time because work has pulled too much of my free time.

I also would like it to take the data on the road. However, I just checked my Sony and it has tree capable to-do lists, so I may simply make a sync program under windows that offers to/from the new to-do lists manager on the handheld. I have the To-Do-List manager from AbstractSpoon setup on auto-HTML export that I can take direct to the Palm, so I have viewer capability, just not as nicely organized/readable as the full application.

It depends on how much effort I want to put into it, and time I don't have. However, the to-do list fits perfectly for my uses on the desktop, so it would be REALLY good to have the information in the handheld as well. *IF* I decide to do this (full app or sync program), I may borrow from the work you have done.