DEV Community

Cover image for Introducing: Timecard

Introducing: Timecard

Jason C. McDonald on December 30, 2019

I still remember my first real software project. Back in 2011, when I first learned how to code in Visual Basic .NET, I created a little applicatio...
Collapse
 
somedood profile image
Basti Ortiz

I have a nasty habit of closing important windows...

Well, I wouldn't be so harsh as to consider it "nasty". Perhaps you have simply gotten into the habit of closing windows in order to minimize potential distractions. 😉

Anyway, cool app! It's a nice and simple breath of fresh air from an oversaturated market of Electron apps. Are there any future plans for this app, or would you consider it to be "feature-complete" as is?

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

I definitely have future plans, chief of which being Pomodoro technique features. I haven't nailed them all down definitely yet, but my current concept is:

  • Automatic alert and timer pause every 25 minutes (one Pomodoro).
  • Tracking how many Pomodoros have been completed on one task.
  • Focus and break reminders.
  • A "manual timer wind" task, perhaps by having to spin a knob on the interface to unpause.

All of these features would be entirely optional. You'll be able to toggle Pomodoro Mode in the Settings.

In addition, I'm also planning the following:

  • Alarms/Reminders (not recurring)
  • Profiles: switch log file from a drop-down menu on the main view.
Collapse
 
coulterpeterson profile image
Coulter Peterson

I've been wanting to use the Pomodoro technique in my work - when you get that in there I'll definitely download and star on GitHub! :)

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

Hey, awesome! It's on my short list of tasks for the month.

In the meantime, I'd really appreciate any other feedback you have about the application as it stands right now. It'd be great to know if anything else needs to be improved in v2.1.

Collapse
 
somedood profile image
Basti Ortiz

I've never heard about the Pomodoro technique until now. Thanks for sharing! I'm sure it would be a very useful feature for a productivity app.

Collapse
 
andrewharpin profile image
Andrew Harpin

Interesting, thanks for the article.

Couple of suggestions:

  1. Make the activities a list saved into a separate file that could be selected from a combo box.

  2. A minimal mode for the window, with the activity combo box, start and stop buttons.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Thanks for the feedback!

  1. I tend to use very specific activity, such as Phabricator object codes or article names. The combo box would feel like overkill for that, I feel.

  2. Hmm...that sounds tricky to pull off, but very appealing if I could! I'll add that to my feature wishlist. (In the meantime, the system tray icon mostly fills this role by displaying the timer duration and allowing you to pause and resume.)

Collapse
 
andrewharpin profile image
Andrew Harpin • Edited

Guess it depends on your work patterns, but if you have specific activities that you work on, then a list is more effective than having to type in all the time.

Collapse
 
craigmc08 profile image
Craig McIlwrath

Personally, I don't really see the difference between global variables and static classes for storing the state.

But, the size of this project means trying to engineer a more robust solution would probably be overkill, and if you like working with static classes the best, that's the right choice.

Great job with this 👍

Collapse
 
codemouse92 profile image
Jason C. McDonald

You're correct that there isn't a huge difference. I think the main difference is that, with global instances of objects, you have to worry about checking if they're None throughout most of the code. Static classes don't have that worry (as long as you architect that code right).

Collapse
 
katafrakt profile image
Paweł Świątkowski

That's really cool idea of a project with GUI. Nicely done.