Suggestion: Time tracking widget

178 views
Skip to first unread message

JW.

unread,
Sep 14, 2015, 3:25:59 AM9/14/15
to abstractspoon-t...@googlegroups.com
The best to describe what I want is like what is showing in this image
https://www.proworkflow.com/images/img_desktop-time-tracker.gif

So basically it will be a small tracking widget, so I can drag and drop it anywhere on the screen. The widget will be on top of all other windows and user can choose to enable / disable (show / hide) it at anytime they want.

The widget needs to show a start / stop tracking button, name of the current task / project and if possible we can choose from a dropdown list the project / task we want to track so we do not have to switch to the main window to do that.

The widget size could be minimized after it loose the focus to save the screen space. Can make it to be semi-transparent when it loose the focus if possible. Image below shows the widget in 2 different states: In focus (or mouse hover) and lost focus. There is a start / stop button and the time displayed, as tracking in the main window.

.dan.g.

unread,
Sep 15, 2015, 9:55:58 PM9/15/15
to abstractspoon-t...@googlegroups.com
Hi JW

Here's an image of a coded mockup of the widget (except that I forgot to show the time elapsed). 

I have sized the width to be the same as the 'old' Windows 7 gadget width so that it can sit in a similar space.

.dan.g.
timetracker.png

.dan.g.

unread,
Sep 16, 2015, 12:16:25 AM9/16/15
to ToDoList (AbstractSpoon) Support
Hi JW

Have you thought about how it would work if you choose to allow time-tracking on more than one tasklist simultaneously (in the preferences)?


On Monday, 14 September 2015 17:25:59 UTC+10, JW. wrote:

JW.

unread,
Sep 17, 2015, 7:13:40 AM9/17/15
to ToDoList (AbstractSpoon) Support
Hi,

The widget looks nice. I thing you need to adjust the position of the elements a bit to make it into the middle of the window. Regarding your question, I didn't think about it yet (until now). I think that you can let the user use the widget only when user choose option "Tracking a new task should stop the tracking of tasks in all other open tasklists". Otherwise, you can simply let the user to open as many widgets on the screen as he wants. Whichever way is easier for you.

Best regards.

.dan.g.

unread,
Sep 17, 2015, 8:09:08 PM9/17/15
to ToDoList (AbstractSpoon) Support
>> to make it into the middle of the window

Not sure what you mean here. Can you take a copy of my screenshot and modify it to show what you mean?

>> use the widget only when user choose option

I think that will disappoint many people.

>> let the user to open as many widgets on the screen

And that creates all sorts of problems of its own!

I'll have a think about it some more.

JW.

unread,
Sep 18, 2015, 2:28:35 AM9/18/15
to ToDoList (AbstractSpoon) Support
I mean to move all the elements to top for a few pixels so the gap between top -> the elements is balanced with the gap between bottom -> the elements. Anyway that's just a little suggestion. I know it's just a mockup

I think that disappointing "many people" is a barrier of us, the developers. We always want to make it perfect from the start (of course I am not telling that having a plan is not good). But I told you that just choose the most simplest way you can. Then improve it later if there are more users find the function useful. For me, the simpler option "use the widget only when user choose option" is enough.

When I gave you two options, I did think about how much works you need to do to make this function so don't hesitate to go with the simpler one and save a ton of time for you to do another things.

There is a third idea which I have just thought... Maybe still allow people to track spent time on as many tasks as they want. But on the widget, there is just only one clock to be displayed. Basically, the widget is just a reflection of the main window, the workflow of the widget is basically as below:

User chooses from dropdown to select project/task, the widget will show the actual spent time of that task somewhere on the widget.
    If he is currently tracking spent time on that task
        Then display the clock icon to indicate that the task is currently being tracked (as in the main window), maybe make it flashy so user gets a real feeling that time is being tracked.
        And of course, track the time.

    If he is not currently tracking spent time on that task
        Then user have ability to start tracking time
        Everything else will be the same as above case

I think that we don't need a Start/Stop button, just follow the way you created is good. There will be a clock icon, but it will be grey when time is not being tracked. When user click on that (grey) clock icon, the time tracking function starts, the (grey) clock icon will transform into a flashing red clock icon. Click on that clock again, the time tracking stops.

So by doing this way, we will not make many people to be disappointing because they just can track only one task. In fact they still can track many tasks at once, but a widget is a widget, it should not take too much space on the screen. There should be one widget at all, save space, save your time.

How do you think?

Tony G

unread,
Sep 18, 2015, 1:47:51 PM9/18/15
to ToDoList (AbstractSpoon) Support
As this discussion unfolds I'm thinking that if we have a command-line switch to toggle time logging, then any developer can create an app that does that operation from any kind of UI. That would also facilitate a direct link to time logging from Office apps, whether Outlook, Excel, or Word, or even automation from other applications.

Further, if a named UDT can be executed whenever logging is toggled, then any external app can also react to that, perhaps displaying a widget which can then control the activity via the command-line.

That approach gets us Many "widgets" to choose from over time, as more developers are drawn to the software through the ecosystem, and no disappointments from the one and only widget not being quite right for everyone.

HTH
T

JW.

unread,
Sep 18, 2015, 2:33:42 PM9/18/15
to ToDoList (AbstractSpoon) Support
Hi Tony.G,

Thank you for contributing ideas to this suggestion. I have thought about your idea before but decided to not telling because it will create more works to Dan. As I analyzed the software, it (seems) doesn't really log the spent time in real time, but just count from the moment the "Track time" function starts until it stops, then update the value, start date-time, end date-time into the database. I haven't had time to analyze (carefully) the structure of the database yet but I think with the instruction from Dan., it's mostly do-able. The tdl. file is actually in XML format (and I think with recent updates, all new projects are saved in .xml extention), so in fact, it's really do-able.

There is just a problem if we update the XML file by ourselves, from an external app: There will be conflicts if both apps are read/write to the same file at the same time. This could be done by interacting with the main app (TDL) via an API (or a command line program as you said) created by Dan, instead of read/write directly to file. But again, that will create more works for Dan.

The workaround could be: We create an other external XML format for external time tracking. The main TDL app will then crawl that external file regularly, and update the time tracked by external app to the main app (base on the ID of each task). That way, we can write as many widgets as we want, and (of course) design the widget as we like.

P/S: Do you find this "widget" idea interesting and useful for yourself? I just want to know if there is anyone in need of such feature like me.

Best regards.

Tony G

unread,
Sep 18, 2015, 7:34:21 PM9/18/15
to ToDoList (AbstractSpoon) Support
I like where your thoughts are going on this. Frankly I haven't looked too much into the detail of the widget because so far it seems to me like it's still in a live brain-storming phase. I don't quite see it yet, or the use. That said, a couple years ago I used a AHK script that did much of what we're discussing (it's no longer maintained) so I kind of "get it".

I like the idea of minimizing Dan's effort, which is why I'm always bothering him with ideas about an API and automation for developers rather than hard-coding features. He really doesn't want to implement this sort of mechanics but at the same time he's always open to providing useful functionality to a wide audience while minimizing the drain on his free time. So discussions like this are healthy.

We actually could do all of this without troubling Dan at all.

Yes, the XML file is well-documented and can be modified by external processes. My .NET library (ugh, which still needs to be published a year later now...) can do this easily. But even easier, we can already use the -ts command-line switch to set the total task time. (https://github.com/abstractspoon/ToDoList_Wiki/wiki/Command-Line#ts) This would require some finesse however since we would need to get the total time spent from the log (assuming it has all the time and that they should be the same) in order to load that value back into the task.

We can also modify the .csv that has time data. I already have code to do it.

As to TDL re-loading the tasklist if it detects a change, I believe there's a Preference to do that transparently or to prompt.

We can do Import and Export of data using built-in Plugin functionality though this isn't fully operational (at least the .NET interface isn't) and it's not documented at all. So for now this is still a work in development. But this means the tasklist can be exported to another program for maintenance and then re-imported back. All we need in addition to this is a simple mechanism to trigger the export/import without having to go through menu options.

In summary, yeah, we can do all of this ourselves already. But it would be best to work out with Dan what he really wants to do with the app first, before going too far outside of the box for a solution.

T

.dan.g.

unread,
Sep 18, 2015, 9:19:19 PM9/18/15
to ToDoList (AbstractSpoon) Support
Thx Guys, I think I have enough to go on now.

JW.

unread,
Sep 19, 2015, 4:44:06 PM9/19/15
to ToDoList (AbstractSpoon) Support
@ Tony.G:

Thank you for all the suggestions. I agree with you about waiting for what Dan will do with the apps first before going too far. I'm not sure if you read my post on CodeProject before, but due to the nature of my business, I was forced to use all Portable Software on USB. So that's why I had hard time to find a good TDL software until I found Dan's TDL software. I'm not a big fan of SaaS, so despite the fact that there are many online services providing the same or similar functionalities as the software, but the data is not under my control, I'd stay away from them and use Dan's TDL. I have also seen some interesting plugins which the contributors wrote for TDL but most of them requires .NET Framework and I'm not sure if they will run on any computer. But the TDL itself was confirmed to be working flawlessly on any computer I use.

And yes, keep discussions like this is healthy for us. At least I see the care from many people to TDL software itself and it gave me more confidence in using the software and believe it will always get better and better.

Writing API lib is ... uhm. I think that's not hard task but time consuming. There is a reason why I always think about the developers is because I was a (retired) developer and project manager, as a developer he should spend his time efficiently and eliminate all unnecessary tasks. I also want an API so I will be able to modify the software as much as possible in my way. But the problem is if the software will be upgraded, API will be upgraded too and then we'll have to rewrite one part or the whole thing to make our own software works with the new API. I don't think that there are many contributors could give commitments to maintenance their additional softwares for as long as the software owner himself.

Anyway, I'll go no further than the above discussions because I don't develope anymore. I am enjoying to be a normal end-user now. I'm happy if one day I can see and use your softwares as well :-)


@ Dan.g

Thank you a lot, I just spent time to see your olf 95-96 software and strange enough, they worked quite well on modern Windows. Back to 90's, your software had a very nice UI. I saw the TDL source code provided on the website and realized how much effort you have put for this project until now. Sorry for a discussion off-topic but I would like to raise my praise to your work. I'm surprised that this is not a commercial software. :-)

.dan.g.

unread,
Sep 20, 2015, 9:43:40 PM9/20/15
to ToDoList (AbstractSpoon) Support
>> if we have a command-line switch to toggle time logging

If you mean 'time tracking' then you can already do this from the commandline because TDL allows you to execute any menu command using the '-cmd' switch.

.dan.g.

unread,
Sep 20, 2015, 9:45:54 PM9/20/15
to ToDoList (AbstractSpoon) Support
Thx for your kind words JW.

>> I'm surprised that this is not a commercial software

That would make it 'work' and that wouldn't 'work' for me ;)

Tony G

unread,
Sep 22, 2015, 10:18:05 AM9/22/15
to ToDoList (AbstractSpoon) Support
Oooohhh - excellent call !  I didn't even know that was there ( haven't gotten around to that part of the doc yet. :) )

OK, the challenge is on. I'll publish a few of the things I described here. Thanks Dan!

T

JW.

unread,
Sep 27, 2015, 2:55:01 AM9/27/15
to ToDoList (AbstractSpoon) Support
Hi Dan, I just want to check with you about this function, is there a scheduled release date for it? Yesterday I stayed awake till 4AM to finish the works, and at that moment I totally forgot to stop tracking the time, probably the only thing I could think at that moment was to go to sleep. :D Had to use the Add time to Task log file to decrease to the actual working hours. Thank you and have a nice weekend.

Brendan T

unread,
Oct 2, 2015, 9:57:12 PM10/2/15
to ToDoList (AbstractSpoon) Support
Hi JW,

I think it is a good idea.  I know there is already a timer in todolist that can be used to track the time per task but I think it may be too inconspicuous.  For one, I would definitely overlook turning it on and off.  Therefore I also thought something a bit bigger and more obvious may be good.
One other thing to throw into the mix.  Possible to get a countdown timer?  This is then following the pomodoro technique to help focus for defined lengths of time.  So, perhaps a preset time could be entered and it counts down unless paused.  When elapsed, it could be triggered again and the number of triggers * preset time would also give the time spent on the task.  Just an idea as todolist is a great productivity tool.

Brendan T

unread,
Nov 7, 2015, 8:15:05 PM11/7/15
to ToDoList (AbstractSpoon) Support
Another interesting spin would be a countdown from the estimated time.  Mission Impossible theme!

.dan.g.

unread,
Nov 9, 2015, 11:27:29 PM11/9/15
to ToDoList (AbstractSpoon) Support
Hi JW

I hope to release a development preview sometime this month (Nov) which will contain a prototype of this functionality.

Dan

Johank Work

unread,
Nov 12, 2015, 1:26:09 AM11/12/15
to abstractspoon-t...@googlegroups.com
Thank you very much for the update. I'm waiting for it to be released. :-)
--
Download Latest Version: http://abstractspoon.pbworks.com/f/todolist_exe.zip
Wiki and other resources: https://github.com/abstractspoon/ToDoList_Wiki/wiki
---
You received this message because you are subscribed to a topic in the Google Groups "ToDoList (AbstractSpoon) Support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/abstractspoon-todolist-support/1NLuIy2riRI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to abstractspoon-todolis...@googlegroups.com.
To post to this group, send email to abstractspoon-t...@googlegroups.com.
Visit this group at http://groups.google.com/group/abstractspoon-todolist-support.
To view this discussion on the web, visit https://groups.google.com/d/msgid/abstractspoon-todolist-support/5daf023f-b429-462c-a362-878df7068e60%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

amresh.dubey

unread,
Jan 25, 2016, 1:06:48 PM1/25/16
to ToDoList (AbstractSpoon) Support
one vote for idea

Polisson

unread,
Feb 19, 2016, 8:16:34 AM2/19/16
to abstractspoon-t...@googlegroups.com
Hi to Everyone

My idea is quite similar to those described here, so I post it in this topic.

I need something like button on toolbar, to simply pause time tracking on all opened lists. During my work I have to take a brake for something which disturbs me, but I generally work on few lists which are tracking my time. In present, in case of disturbance, I have to switch all lists, and find the tiny button.
Implementation of this function will be quite easy... I guess..., in fact app has enable/disable mechanism of tracking even when screensaver shows up.
Thanks

Martin Lemburg

unread,
Feb 22, 2016, 4:35:04 AM2/22/16
to ToDoList (AbstractSpoon) Support
Hi Dan,

at the DR4 change log I found the time tracking widget mentioned, but … I didn't found the widget itself in the menus.

Where can I find and activate the time tracking widget? What did I miss?

Best regards,

Martin

simplenuity

unread,
Feb 22, 2016, 5:00:48 PM2/22/16
to ToDoList (AbstractSpoon) Support
Hi Martin,

If you click at either of the marked spots, the widget will open up.
Might be an idea however to have an menu entry under view?
Hope that helps,
Ryan

Auto Generated Inline Image 1

amresh dubey

unread,
Feb 22, 2016, 6:09:06 PM2/22/16
to abstractspoon-t...@googlegroups.com
--
Download Latest Version: http://abstractspoon.pbworks.com/f/todolist_exe.zip
Wiki and other resources: https://github.com/abstractspoon/ToDoList_Wiki/wiki
---
You received this message because you are subscribed to a topic in the Google Groups "ToDoList (AbstractSpoon) Support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/abstractspoon-todolist-support/1NLuIy2riRI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to abstractspoon-todolis...@googlegroups.com.
To post to this group, send email to abstractspoon-t...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Regards
Amresh
2016-02-22_18-07-14.jpg
Reply all
Reply to author
Forward
0 new messages