MyWorkTracker v0.1.0 Released & What’s coming in v0.2.0

As per my last post, I’m just beginning my foray into the C# programming language.

I am writing a work-tracking application; building it one little piece at a time as an incremental development. Better to have a basic tool that works, than a whizz-bang-tool that is fragile… The first step in that development, v0.1.0, is now at a state where I’m okay with sharing it (under the caveats mentioned last time).

When the application first starts up, the bottom 2/3rds of the screen is inaccessible. Once a Work Item is selected the information relating to it is displayed in the lower portion of the screen. (At this stage a Work Item just has a Title, Due Date, Description, Progress and a Status).

A new Work Item can be created by selecting “New Work Item” from the taskbar. The cursor is automatically moved to the task Title area (indicated by the blue border on the left). The new work item is automatically set to be +1 day from the current date, with a preset time. Both date and time are based on a soon-to-be configurable setting. If the date is not what you want, you can change it by selecting the Due Date button and the Change Due Date dialog will appear.

A work item is automatically set to Active with a progress of 0. Once you select the “Create Work Item” button, the Work Item will appear in the top graphical area.

You may have noticed in the top two images the “Save” button is always disabled. That’s because other than creating a new work item all other changes are saved automatically.

One final word about Due Dates. The application keeps track of a history of due date changes, however it gives you a “grace period” when setting the Due Date. If you change a Due Date within x minutes (1 by default), then it doesn’t record it as a due date change.

If you would like to see/use this application you can download it from my Google Drive or also get the source code from my Github repository.

Issues I’m aware of:

  • The button displays the date in US format (mm/dd). (I haven’t worked out how to fix it. It seems to ignore my attempts to use StringFormat).
  • I’m not using MVVM, LINQ or Entity Framework (yet).
  • The Change Due Date dialog sometimes requires 2-clicks on the apply button. I think it’s a bit sticky due to strawberry jam.
  • The database design is simplistic (i.e. incremental)
  • I hard-coded new Work Items to be “Active”. Hard coding = bad.

So what’s coming in v0.2.0 ?

(Subject to change; aka my whim).


Tracking Work

I’ve mentioned earlier a plan to sharpen my development skills by learning the c# programming language. (That’s pronounced c-sharp, just in case you missed my pun).

In the past I’ve created a command-line tool to parse my stories, and a tool to generate some who-has-perspective graphics. I’m currently working on creating a tool I will use to keep track of my actual-day-job tasks. The project will aptly be called MyWorkTracker. Creative, I know.

Some important caveats:

  • It’s an incremental project. I’m going to add functionality in steps, and do my best not to forecast future work. This means that there’ll be times when it will look lacking; not so much half-baked as almost-raw. I want to avoid adding a lot of empty ‘hooks’ for later work. Instead of completing a single component to 100% polish, I might add two components at 50% polish.
  • I’m only just beginning to learn. I guarantee I will do things wrong and need to fix them in subsequent releases. Kind-hearted individuals may look over the implementation and provide feedback if they wish (after considering the first dot point).

The first portion of work, v0.1.0 will include the ability to create and edit Work Items. These have a title, a description, a due date, a status and a progress (0 to 100%).

At the top of the window is a graphical display of the Work Items, and below, details.