Yii Framework Forum: TimePanther - Yii Framework Forum

Jump to content

  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

TimePanther Time tracking made easy Rate Topic: -----

#1 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 19 February 2011 - 02:31 AM

After a few years of on-and-off work on this project I think it's finally time I release a beta.

As I know a lot of you people on the forums here are freelancers, you have probably tried online time-tracking applications before. At least I have.. Although, I have never been completely satisfied with a single one. Being a dev, I decided to build my own. Thus TimePanther.

So, I need beta testers. Eventually, this app will no longer be free. However, I have decided that any Yii dev that signs up now (until beta ends), will get to use the app free, forever (even post-beta). Non yii devs can use the site for free just until beta ends.

The only thing I ask is that you try to give feedback.. But even if you don't, just the fact that you are stressing the site is valuable to me.

Upon signup you are required to submit your Yii forum ID. Eventually I will PM you with a link to confirm your identity, but you can use the app before then.

If you are a Yii forum member, you need to use the special registration form to sign up in order to get the free deal:

http://www.timepanth...user/create/yii

BTW, the site doesn't look quite as good in IE (yet, anyways). I used some shadow/round corners/etc that won't show in IE.

If you're a freelancer, or just need to track your time, this app just might be for you. Let me know what you think. Ideas/suggestions/criticism/bug reports, all welcome.

I think there is still a lot of improvement that potentially can be done, but as it is, I think it is already very nice. I have already been using it for my own freelancing projects for a long time. IDK exactly what features will be paid and what will not yet, but remember as a Yii dev it will be free for you forever.

Extra info:

Quote

The main goal of this service to make time tracking extremely effortless, as well as to self-organize itself. We built the service to use a logical tri-hierarchy system: clients, projects and timers. Timers reside in projects which in turn belong to clients. Timers can be turned started and stopped at will, and keep histories of their use. This reduces the number of timers you need to create, keeping your workspace cleaner. You can also optionally use our payment tracking features, which allow you to define an hourly rate or a single payment for each timer or project. The system will then calculate the total to bill your customers.


~ Jonah Turnquist
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#2 User is offline   samdark 

  • Having fun
  • Yii
  • Group: Yii Dev Team
  • Posts: 3,735
  • Joined: 17-January 09
  • Location:Russia

Posted 19 February 2011 - 04:33 PM

Nice project overall. Here's what I've encountered during testing:

1. Getting "You must have javascript on" from time to time.
2. When dragging items it shows "add project", "add timer".
3. I was able to drag timer to "add timer" and project before "add project".
4. It's better to make form fields equal width at http://www.timepanth...m/site/contact.
Yii 1.1 Application Development Cookbook

Enjoying Yii? Star us at github: 1.1 and 2.0.
0

#3 User is offline   samdark 

  • Having fun
  • Yii
  • Group: Yii Dev Team
  • Posts: 3,735
  • Joined: 17-January 09
  • Location:Russia

Posted 19 February 2011 - 04:38 PM

Can you share some info about internals?

1. How tree is stored? Adjacent list or nested set?
2. Have you used some community extensions?
3. Anything special about implementation?
Yii 1.1 Application Development Cookbook

Enjoying Yii? Star us at github: 1.1 and 2.0.
0

#4 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 19 February 2011 - 04:52 PM

Thanks for the feedback. I will fix the reported bugs asap.. glad you found them. As for bug#1.. idk how to catch that. Could you check if any JS errors occurred if it ever happens again? Just like check your firebug console or whatever you use, and send me the error message.

I am using a different tables for clients, projects and timers. Since they are actually similar, I probably could have used one table for all of them. It uses nested sets. There is a parent_id for each (which points to another table. Eg timer's parent_id points to project table). Also each table has a rightNode_id field, which specifies the node below it. This way ordering can be remembered.

I used my own mail extension.. besides that, I didn't use any extensions that I can think of right now. It is rare that I use another person's extension, because in the time it would take to learn it, I could almost build it myself and have it be custom to my app.

It was pretty tricky to get everything to work both on the server side and the client side, as this app if JS/ajax intensive.

I think what makes this special compared to other time tracking apps is that timers are made to be used for multiple timing sessions... I usually use one timer per task.. and my tasks are usually broad

Probably the most tricky think to implement is the archiving system. Try it if you haven't.. You'll understand why
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#5 User is offline   samdark 

  • Having fun
  • Yii
  • Group: Yii Dev Team
  • Posts: 3,735
  • Joined: 17-January 09
  • Location:Russia

Posted 19 February 2011 - 05:01 PM

Your own NS implementation or any specific extension?

More things:
1. My workspace got empty somehow.
2. Logo is not clickable. Will be good to link it to homepage for not logged-in users and to workspace for logged-in users.
Yii 1.1 Application Development Cookbook

Enjoying Yii? Star us at github: 1.1 and 2.0.
0

#6 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 19 February 2011 - 05:08 PM

I used my own NS implementation.

You're saying your clients/projects/timers disappeared? what if you refresh? It seems they are still in the DB..
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#7 User is offline   samdark 

  • Having fun
  • Yii
  • Group: Yii Dev Team
  • Posts: 3,735
  • Joined: 17-January 09
  • Location:Russia

Posted 19 February 2011 - 05:24 PM

Looks like it's a server issue. It fails to respond sometimes and closes connection.
Yii 1.1 Application Development Cookbook

Enjoying Yii? Star us at github: 1.1 and 2.0.
0

#8 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 19 February 2011 - 05:43 PM

Thanks. I'll work on this tonight. I'll probably switch hosts or something if it is a server thing.
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#9 User is offline   tri 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,651
  • Joined: 20-November 08
  • Location:Stockholm, Sweden

Posted 19 February 2011 - 05:45 PM

Nice application.

I have the following potential issues:

1. It's possible to add names that continues off screen.

2. The same timer can count different time values in multiple browser tabs (finally this led to some problem reported in a popup dialog - error code: "error" IIRC).

3. It's possible to continue accumulating time to an already paid timer. No warning given. It seems there will be no way to separate the additional time.

4. It's possible to continue counting time in archived projects.

/Tommy

This post has been edited by tri: 19 February 2011 - 05:51 PM

Don't forget to read The Definitive Guide to Yii (en) (sv) | The class reference has the details
0

#10 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 19 February 2011 - 06:01 PM

@tri thanks!

#1: I have been pondering solutions to bug #1. I think I will have it cut off and display '..' at the end if the name is too long.. Can't believe I didn't think of it earlier actually..

#2: Why would you want the workspace open in multiple tabs? I should probably enforce only having the workspace open in one tab at a time.. Unless there is a good reason not to?

#3: Thanks, I'll add a warning

#4: IDK if this is a bug or feature. Maybe I'll just add a warning.

I'm more than happy about the feedback I'm getting here. Thanks guys!
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#11 User is offline   seb 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 240
  • Joined: 29-June 09

Posted 20 February 2011 - 11:10 AM

Hi! Very good application.
Do you plan to add some reporting / data export features?
It would be nice to be able to see for example monthly report for selected client / project and be able to export is to the csv / xls.

Regarding the message "The timer is still running. If you leave this page, the timer will keep running. Are you sure you want to leave this page?". I think this is what the user expects, so no there is no need for this message (at least not the every time, but only first time maybe).
Also this works only when clicking left tree items, but does not work for the top menu links.
I think it is better to add some indicator to the timer name in the left tree which will notify the user that timer is running now.

And regarding running the workspace in two tabs. Now there are issues with this, like if you stop the timer in the ont tab then it continues counting in the another tab. Close to the real life use case - I am opened the timepanther on the my work computer in the office and started some timer. Then I live my comuter on and go home. At home I log in to the timepanther and stop the timer (for example this was the timer to see how many time I spen on the road from the work to the home). The next morning I will see that timer still counting on my work comuter.
So I think you need some more advanced synchronization between the server and the client.
0

#12 User is offline   tri 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,651
  • Joined: 20-November 08
  • Location:Stockholm, Sweden

Posted 20 February 2011 - 12:24 PM

View Postjonah, on 19 February 2011 - 06:01 PM, said:

...
#2: Why would you want the workspace open in multiple tabs? I should probably enforce only having the workspace open in one tab at a time.. Unless there is a good reason not to?

#3: Thanks, I'll add a warning
#4: IDK if this is a bug or feature. Maybe I'll just add a warning.


#2: User seb just gave a good explanation as to why this needs to be addressed.

#3/#4: I think it makes sense to seal a timer on received payment. The application computes the amount to be payed. When payed, shouldn't be changed. Archived projects should at least need to be reactivated before being able to add costs (by using a new timer).

New observations:
5. It's possible to make a "global" change (project level) to hourly rate without a warning that the individual timer rates will be lost.

6. [Enh] The way I perceive the timer concept is "one timer per project activity" and a new timer will be needed for each payment period. Thus it should be useful with accumulated time and payment at project and client levels. Perhaps also support for adding static costs as a lump sum.

7. [Enh] It would be great be able to set a resolution for the amount computation, e.g. each started 10/15/30 minute period.

Edit:
8. If I decide to start more than one timer in the same workspace, they seem to behave strangely. I don't know why I would want to do this, perhaps counting low-rated stand-by time and performing other work simultansously simultaneously.

Edit: ugly typo, sorry for that

/Tommy

This post has been edited by tri: 20 February 2011 - 05:58 PM

Don't forget to read The Definitive Guide to Yii (en) (sv) | The class reference has the details
0

#13 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 20 February 2011 - 02:40 PM

Love this feedback

@seb

Quote

Do you plan to add some reporting / data export features?
It would be nice to be able to see for example monthly report for selected client / project and be able to export is to the csv / xls.


Yes, and it will likely be for paid members, but of course free for you guys.

Quote

Regarding the message "The timer is still running. If you leave this page, the timer will keep running. Are you sure you want to leave this page?". I think this is what the user expects, so no there is no need for this message (at least not the every time, but only first time maybe).

...

I think it is better to add some indicator to the timer name in the left tree which will notify the user that timer is running now.


I think think having an indicator somewhere (probably left tree) about what timer(s) are running outside of the timer page is a really good idea. Maybe just an icon near the timer on the tree. This would definitely allow me to get rid of the warning.


Quote

Also this works only when clicking left tree items, but does not work for the top menu links.


Thanks.. Didn't know about this bug.

Quote

And regarding running the workspace in two tabs. Now there are issues with this, like if you stop the timer in the ont tab then it continues counting in the another tab. Close to the real life use case - I am opened the timepanther on the my work computer in the office and started some timer. Then I live my comuter on and go home. At home I log in to the timepanther and stop the timer (for example this was the timer to see how many time I spen on the road from the work to the home). The next morning I will see that timer still counting on my work comuter.
So I think you need some more advanced synchronization between the server and the client.


I posted a question on Stack Overflow on how to do this. It will be difficult to implement, so it's not my top priority. I don't want to poll the server, so I will use something like http://socket.io/

Thanks!
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#14 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 20 February 2011 - 02:49 PM

@tri

Quote

#3/#4: I think it makes sense to seal a timer on received payment. The application computes the amount to be payed. When payed, shouldn't be changed. Archived projects should at least need to be reactivated before being able to add costs (by using a new timer).


This sounds reasonable.

Quote

5. It's possible to make a "global" change (project level) to hourly rate without a warning that the individual timer rates will be lost.


Good catch. I'll have to add a warning.

Quote

6. [Enh] The way I perceive the timer concept is "one timer per project activity" and a new timer will be needed for each payment period. Thus it should be useful with accumulated time and payment at project and client levels. Perhaps also support for adding static costs as a lump sum.


I actually like to use one project per billing cycle for this app. If you look at a project you will notice it actually reports the time and revenue of all (and only) the timers within it. Also, you can work with lump sum in this app. Open a project or timer, and then open the "payment" tab. Hit "configure". Then just select "single payment", instead of the hourly rate option.

Quote

7. [Enh] It would be great be able to set a resolution for the amount computation, e.g. each started 10/15/30 minute period.


I like this idea, it could be an option under the payment settings.

Quote

8. If I decide to start more than one timer in the same workspace, they seem to behave strangely. I don't know why I would want to do this, perhaps counting low-rated stand-by time and performing other work simultaneously.

This seems to work for me.. I'll have to do some more testing

Thanks!
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#15 User is offline   PoL 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 506
  • Joined: 05-November 08
  • Location:Buenos Aires, Argentina

Posted 21 February 2011 - 08:05 AM

Hi Jonah, very nice app!!!!

I've played a bit, and found somethig:

I've registered, the I go to my workspace.
I ve configure some of the examples proyects and track time in the project 1, timer 1. Then I've archived it.
Played a bit more.
Then, I click in the in the archived project in the left navigation.
Once in the archived proytect I've deleted it. But this deleted all my proyects/timers AND clients.

Well this (and some of the issues reported before) is what I've seen until now.
Will let you know if I found something else.



Sorry, I've figured out on how this works (the delete action).
But I think a better diferentiation between archive/un-archive and delete task should de done.
Actually the delete action will delete an item regardles if it is archivded or not.

In fact, if you have two proyects for some client and only archive one of them.
Then you click in the archived proyect. And you navigate to the client IN THE ARCHIVE section, and you delete it, then all the proyects of the client will be deleted.
Note that the other proyect of that client is still unarchived.
I think you must throw a waring here....
Don't say what you think, think what you say
The problem is communication! Excess of communication!
0

#16 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 21 February 2011 - 02:18 PM

I see your point here. The best solution I can think of now is to add a warning that all of the client's/project's sub-nodes (which are projects and/or timers) will be deleted, whether they are archived or not.

Thanks!

EDIT (only so not to double post):

I have by now fixed many of the bugs above (but not advanced server->client sync and a couple of others)

@tri I do not think it is actually necessary to give a warning when payment options are set on project level, while payment settings are already defined on timer level. This is because it is actually not destructive. If you remove the payment options from the project level, the timers will resume their old settings.
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#17 User is offline   qwerty 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 290
  • Joined: 20-November 08

Posted 22 February 2011 - 08:31 PM

Hi,
nice tool. I think that is missing option to change account settings (email, password)
0

#18 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 23 February 2011 - 02:07 AM

@qwerty Hmm yes I do need to implement account settings still. Thanks for the reminder.

I've just added a "Feedback" tab on the right of the page (thanks to uservoice.com) as well as added another type of report: time breakdown. It's a new tab under client and project pages. Let me know if there are any other types of reports you guys would like.
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

#19 User is offline   fouss 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 392
  • Joined: 05-October 10
  • Location:Bamako Mali

Posted 23 February 2011 - 03:08 AM

an error occured http://www.timepanth...mer/view/id/185
Posted Image
0

#20 User is offline   jonah 

  • Advanced Member
  • Yii
  • Group: Yii Dev Team
  • Posts: 733
  • Joined: 27-November 08
  • Location:California (US)

Posted 23 February 2011 - 12:39 PM

Sorry about that.. I forgot to handle the empty case for the new feature.. Fixed now. I knew I should have done more testing..
http://php-thoughts.cubedwater.com - my bloggings about Yii
0

Share this topic:


  • (2 Pages)
  • +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users