Updated Time Tracker Application

Once I released my Time Tracker application article, I decided that I liked the base code enough to modify it for my own use.  Of course, I figured that I would release it for others to use too.  I have set it up to install as a ClickOnce solution (click a URL, click Install, then let it auto-install, and even auto-updates over time).  I also have the source code available as a Zip file.

For those who haven't worked with ClickOnce yet, it's great.  Use the Publish wizard in the Project Properties, sign the manifest and the code (just use the test certificates for starters), and you have an auto-installed application.  When I say “auto“ install, of course I mean that you have a choice when you visit the page, but it's just neat to click Install on a web page, and not to require downloading and double-clicking files.  Much easier for novice users to figure out.  The best part, is the auto-updating.  Choose the frequency (I chose every 7 days), and the app will check for an update and manage all of that by itself.  If I ever modify the code, I just re-publish and installed users will be up-to-date on next update.  Very nice feature!

The new features are:

  • Fixed a bug in the details report
  • Added date range for details report (defaults to past 30 days)
  • Modified format of time entries in details report
  • Application won't run if it's already running (uses Mutex for this in Program.cs)
  • Remembers last selected project and auto-selected on next run (uses user-level setting in Project Properties for this)
  • Updates tooltip with current selected project even when signed out (more useful this way)
  • If your system goes into standby when punched in, it will log that time.  When you resume, it will ask if it should punch you out as of standby (or leave you punched in)
  • Automatically logs out if system is shutdown
  • Various cleanups here and there

The code is not perfectly clean, both in terms of general elegance, and proper structure.  I will work on both things as I have time.  My list of things to do then are:

  • Make code pretty
  • Better encapsulate code
  • Add client meta-grouping
  • Add task sub-grouping (will be client - project - task)
  • Enable manual time entries (forgot to punch in/out?)
  • Enable manual punch out of current entry (should have punched out an hour ago?)
  • Add some kind of visual “punched in“ indicator (brighter icon? animated clock hands?)
  • Add more report options
  • Roll up time info after some amount of time (i.e after two months, just record 6 hours on that date, not each punch in/out)
  • Auto-Start with Windows option (I just drag mine to Startup folder right now)
  • Any requests?

Maybe I'll be the only one to use this, and that's fine!  I like it so far.  I'll keep adding to it as I have time.  Let me know if you have any comments, suggestions, complaints, etc.

Links

Source code: http://www.ariankulp.com/downloads/TimeTracker-solution.zip
ClickOnce: http://www.ariankulp.com/ClickOnce/TimeTracker/Install.htm

 

UPDATE (2/15/2006): I've updated the code again. For more information, see this blog entry.

posted @ Saturday, November 26, 2005 11:49 PM

       Print

Comments on this entry:

# re: Updated Time Tracker Application

Left by ml at 11/28/2005 3:03 AM
Gravatar
Awesome! I've never come across that ClickOnce technology but it is fantastic! No messy downloads anymore. Love the TimeTracker app too :o)

# re: Updated Time Tracker Application

Left by Tim Sanchez at 2/1/2006 8:27 AM
Gravatar
Hm...the "source code" link above is broken and the "ClickOnce" isn't working either...

# re: Updated Time Tracker Application

Left by Arian at 2/1/2006 8:32 AM
Gravatar
Tim,

I'll get that "source code" link working (something I missed when switching hosting providers). As for the ClickOnce link, I think it's still working fine. What error are you seeing? I should point out that it's a .NET 2.0 application, so if you haven't upgraded yet it won't install.

# re: Updated Time Tracker Application

Left by Tim Sanchez at 2/1/2006 8:54 AM
Gravatar
Well, all appears normal now.

I had already downloaded Visual Basic Express along with the SQL and .net package from MS, but ClickOnce was giving an error that it couldn't find the files.

So I went back to the original article, downloaded the original source, installed that and opened it in VBE - Publishing that worked okay, but it threw an error on first run.

I then went back here, found that you changed the ClickOnce page, so I clicked it and everything seemed to work just fine...

Then I realized - I guess I have to have the original project installed or the ClickOnce link won't work - DOH - My bad.

It's working great now.

Any chance you're still tweaking this to get it to write to a database? I'd love to try making it write to our Sharepoint server if that's okay with you - Or do you think that's possible? I haven't really even looked at the code.

# re: Updated Time Tracker Application

Left by Jenny at 7/17/2006 8:04 AM
Gravatar
Hey Arian!
I work for a really small family business where we need to keep track of our billable time We've installed your program which is so simple and nice. We like it a lot. My "request" (to add to your list of things to do) would be if we could re-name and delete projects.
Thanks so much for sharing the program!
Jenny
Comments have been closed on this topic.
«September»
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789