Arian Kulp's Blog
opinion, insight, and occasional code

New Coding for Fun article - Keeping Track of Time

Sunday, November 20, 2005 9:31 PM
I noticed that my most recent article was posted two days ago.  I wrote a system tray utility for keeping track of time spent on projects.  With all of the work I do on various concurrent projects, I felt that this would make a lot of sense.  It's a bit simplistic to start with, but already lets you add a list of projects, track hours, and view a breakdown of your time.  I am adding some enhancements to it myself, and will be posting an updated version (C# only) directly on my web site soon.  Most are ease-of-use enhancements that really made a difference for my own use.  I'm considering also adding support for breaking down projects into tasks (coding vs. writing vs. testing), and possibly grouping projects by client, but I haven't started on that yet.  I personally need that, but maybe it's not all that useful for others.  Oh, and I'd also like to add the ability to run a mobile version on a Pocket PC.  It's handy having it all in the palm of your hand, while still linking the data to your desktop.
 
Check out the column, and the source code, at: http://msdn.microsoft.com/coding4fun/inthebox/timetrack/default.aspx



Feedback

# re: New Coding for Fun article - Keeping Track of Time

In case you haven't seen it already. This was a channel 9 interview with the coding 4 fun team today.

http://channel9.msdn.com/Showpost.aspx?postid=137235 11/21/2005 3:27 AM | Eric Johnson

# re: New Coding for Fun article - Keeping Track of Time

Sounds great, I noticed on the site there's no complied version (exe) of the app, is this available for download from anywhere, as I've not got visual c# 2005 installed yet :o) 11/21/2005 4:45 PM | ml

# re: New Coding for Fun article - Keeping Track of Time

ml,

Sorry, but when they post the code they don't include a precompiled version. I agree that it would make sense, as I'm sure you're not the only one who just wants to see what the application can do. As I stated above, I'll be posting an updated version in the next few days directly on my site. This won't be exactly what is on the Coding 4 Fun site, as I've added some enhancements, but I'll include a precompiled version when I do that.

Thanks for checking it out!
-Arian 11/21/2005 4:55 PM | Arian

# re: New Coding for Fun article - Keeping Track of Time

Eric,

Thanks for the link. I'll check out the video tonight!

-Arian 11/21/2005 4:55 PM | Arian

# re: New Coding for Fun article - Keeping Track of Time

Hi Arian

1. The download links in the article are corrupted, as the url for the C# project is also used in the VB link. I replaced "VB" in the URL and downloaded the VB.net project.

2. As I downloaded VB Express last week, I was keen to see an actual "expert" project.

3. I built/published a setup from VB Express and intalled it.

4. I had to install it twice to get it working. The app is ok, but you can't readily distinguish punch ins and punch outs.

5. I am sticking to VB6. All those objects and code in Vb.net, while I could whip a VB6 app, with a form, a module, an API call, and a few lines of code in minutes...
- Tony
11/21/2005 10:15 PM | Tony D'Ambra

# re: New Coding for Fun article - Keeping Track of Time

Tony,

Thanks for the feedback! Responses follow:

1) I'll pass that along to the site admins. I deliver the solutions, but am not involved in the final packaging. How annoying!

2) If you're looking for expert projects, why don't you take a look at http://www.gotdotnet.com. It's a great source of ongoing projects written in .NET. My projects are just for fun, and are intended as starting off points. They generally present a basic application with a few teaching points, and plenty of opportunities to make them better.

3) A setup project is a great idea if you want to distribute a prebuilt app, but remember that you can just F5 it to start it up. Once built, you can find the EXE file in the bin\debug folder of the project.

4) Not sure why you needed to install it twice. I haven't worked with setup projects much yet. As for the punch ins/outs, I agree. Two different icons for the notify icon would have helped. The tooltip changes, but isn't that obvious. I have an updated version I'll be releasing in a few days on this site that adds a few new features, but, by all means, add what you think it needs! That's the beauty of the source being available.

5) Lots of people still prefer classic VB. Personally, I code in C# first, then port the code to VB. I've programmed in C, C++, then Java in the past, so C# is just more natural. Every language has its strengths, or seem easier to different people. This definitely could have been written more compact, and honestly, could benefit from better encapsulation from even more classes. I will admit that I focus more on the concept and teaching points than the code polish for these articles. Referring back to #2, these aren't allotted enough time for expert status, and aren't intended as production-ready!

Again, thanks for checking out the article! I also appreciate the feedback -- positive or negative. There's nothing worse than working in a void!

-Arian 11/22/2005 12:27 AM | Arian

# re: New Coding for Fun article - Keeping Track of Time

Arian,

The download link for the VB version of your code for the Keeping Track of Time article is still broken. It links to the C# code as of 11/22/05 1:18am CST. I contacted the MSDN feedback group via email. I will try the workaround Tony used. 11/22/2005 1:22 AM | Charles D. Quarles



Comments have been closed on this topic.