Pulling blanket
Ah, allmost forgot to roll tarball – we are getting so close to 2.26, yay! As for me, i’m waiting for ext4 support in all the next big distros. Anyway, back to topic.
So you see, i’ll be spending ridiculous amounts of my time, reinventing all kinds of wheels. And all that thanks to two terrific books. First one is Programming Collective Intelligence by Toby Segaran and the other one is Visualizing Data by Ben Fry. Both will let you start low and cover all kinds of little things and, if you are like me, leave you flying high in the air, thinking happy thoughts.
I knew some of both, but the little details – like always finding out minimal and maximal values of the dataset you are operating on, or the greatness of working in HLS (Hue Lightness Saturation) spectrum as opposed to RGB (Red Green Blue) – these little things make a difference (btw check out Python’s colorsys module to get funcs that do conversions).
Anyway, i feel like i’m done with Edit Activity dialog for a while – yes, i know, there are bits missing in the preview. But i think that currently we are in balance between “want” and “need”. And so, i’m moving on to overview window – how to make it more engaging and still simple to operate with.
So i was thinking how to change the interval i am currently viewing and came up with another mockup (if you count in previous one).
Behold, the blanket pulling approach:
Dotted line marks approximate middle of the graph
Imagine, that you are pulling from left side to center – that kind of does feel, like “give me more of the stuff you have on the left side” doesn’t it? So instead of scrolling it would pull addittional days from past. But when you pull it away from centre – it feels like wanting to get rid of it, and it would move them out.
The feeling should be something like what you get when you scale pictures in GIMP.
What do you think about this?

mmm…. I barely understood what you meant with the first reading of the post. This “guess that the dotted line can be moved…” idea does not looks very appealing to me…
What is wrong with the google way ?
http://www.google.com/finance?q=EURUSD
Thanks for Hamster and for wanting make it even better !
A crazy feature that I would like to see is an automatic tracking of how much time I spend on each software application. This would be a good complement to the activity information I provide manually….
Ah, no, the dotted line is imaginary one. I meant just the drag gesture – it would have a stretchy feeling to it. Hmm i wonder if i failed at explaining
Thanks for comment! As for software tracking – it is more complicated to get right than crazy, and i don’t feel like getting there yet
Ooh, the graph you linked to just feels wrong when scrolling – it’s all wiggly squiggly, i guess we could run in same problems. Hmmm, now i have something to think about
Hi Tom,
I am thinking about writing my own time tracker, since I have an idea that appeals to me and is different from other time trackers. I would like to hear your opinion.
My time tracker goals are:
1. To know in detail what I did. This means making many manual log entries, such as: “documented the LogWindow class” (detailed logging takes me little time and helps me to organize my work).
2. To decide later which entries (i.e. what work) correspond to which tasks
To explain 2, here is an example. While programming I find a bug in the LogWindow class that may take between 5 mins and 3 hours to fix. If it takes less than an hour, I see it as part of my current task (Improve GUI of Logging Module), but otherwise it would mean a task switch. After 20 minutes I find out the root cause of the bug. At that point, I will make a log entry in my time tracker, e.g. “debugging LogWindow, crash when file is locked”, and switch back to debugging (note that I don’t try to determine right now for which task I am doing this debugging, so as not to break my concentration).
At the end of the day, I will have time estimates for the work that I did, and at that point I want to assign the spent time to different tasks. I would select a few log entries in the upper part of my time tracker, and assign the corresponding time to a task. For example, the debugging session could correspond to a new (unplanned) task Debug LogWindow Crash and the remaining entries could go the the (planned) Improve GUI of Logging Module task.
I would like to hear your opinion. If you like the idea and want to implement it in Hamster (I am not counting on that, but you never know), let me know as well.
Thanks in advance, best regards,
Maarten
I am not sure if i see the problem you are trying to solve. So – what are you trying to solve and what to achieve – is it level of detail? Or would you like to double-booking things and then at the end of day trying to consolidate estimates with events?
Maybe you could do it with categories? – Creating a task without category first and at the end of day throwing them to appropriate categories?
Just an idea.
Any way or another, i’d suggest starting with a rough outline of your goals (the ones you describe are not goals – those are implementations without answering the “why” part). And from there work out your way on how to achieve it.
As for communication skills – i don’t think that stating that you are not counting on an answer and still asking it – is a bit, errm… offensive, dude!
Hi. I love hamster. Use it every day. It’s really great. I think the UI redesign is quite nice, but there is 1 feature that I think you could add that would be absolutely killer for myself (and perhaps others):
Export to XML.
I wish upon wish that you could export your report detail to a simple, uniform XML format. Then you could take that xml and put it in a database, generate your own graphs, etc etc etc. That really empowers the user.
I understand you are in ‘frantic code mode’ and I totally dig that. But if you get a chance to cobble something like that into the reporting, I’d be eternally grateful.
Ok, Noneroy, i’ll add simple XML export if you can show me those user empowered graphs that are such a killer.
Hi Tom,
in case you are interested, I put some details about the time tracker I am developing here:
http://docs.google.com/Doc?id=dz64bvr_114fhm8nsgn
about the communication skills. I am sorry, I don’t get your point. I >was< actually asking for an answer, but not for a feature in Hamster. There must be some misunderstanding!
Best,
Maarten
good luck with your time tracker Marten!
Tom, I really like Hamster. I do consulting work and it has been helping me alot. I just downloaded and compiled the latest version because the version from the ubuntu repository was flaking out on me sometimes and I would occasionally clobber my old logs when trying to resume a task but I’m hoping the new version has fixed those problems.
Maarten,
I like the idea of being able to add notes while I’m working on a task and maybe being able to rearrange those into a task. Right now my hamster logs are always the same things so for me it is currently not telling what I was doing, just telling me how long I was doing it. I think the new task@category syntax may help me with that though.
Tom,
I like the unobtrusive popup reminder to change your task. I also like the little white lines on the week view that let me see the 4hour and 8hour marks in relation to my time.
I also use Tasque with the gnome-do integration for planning my future tasks and what I like about it is that I can popup my gnome-do window and create a new task without leaving what I am working on. That’s also what I like about Hamster (that I can update my current task without leaving what I’m working on.)
One feature I would like is that when I’m looking at the overview and hover over a day’s hour’s bar then it would show me how much time was spent that day. I prefer to look at the bars rather than the left pane.
Just thought I’ve leave some feedback since I use this program alot.
Hey rado!
You can also makes notes, either via edit or by entering task in “activity[@category], some note” format (everything after comma goes as note. I know, quite indiscoverable, but we might get to it at some point).
I’m not yet done with the overview window, have been also thinking about hovers and others things. Luckily we now have plenty of time until 2.28 to get this right.
Thanks for the comment
I like the idea of dragging to expose more data, it’s just not clear from the mockup what the user is expected to drag. Google’s implementation may not please, but it is obvious.
I believe you should leave it like this, personally. The spartan, simple nature of Hamster is its main selling point. Adding extra widgets to the UI slows users down (and possibly bloats the code).
What you’ve got now is pretty near perfection, but still allows advanced users to do advanced time tracking. Perhaps you should just document the secret sauce recipe somewhere, and leave it at that?