Project Hamster

2.28

Posted in News by Toms on September 25, 2009

So the 2.28 is out. Seeing people viewing the site somewhat more actively these days, just wanted to give out shout, to find what you think of the new stable and what’s missing for you in this business.

Right now I’m conveying my coding spree to other, non-Gnome related areas, but knowing myself, some time soon I will be back for hamster.

I personally think that tool tips in overview would be nice, and some richer interactivity with graphs would be nice (like clicking in graph to zoom in or something).  Also I plan to add end times for tasks, so you don’t have to do math trying to answer question “if i started at 1:19pm and spent 1h27 minutes on the task, when did i finish?”. And observing my own time tracking habits, will add a quick syntax to mark task as started from the end of the last one. That is – if you suddenly realized that since you stopped tracking the last task, all that time you have been doing something else, you will use zero delta, or simply “- other task”.

But those are really small details.

Oh, then there is the “Shh” thing (sssshhhelll). I hope it won’t loose it’s “s” during development. The hype around this redefining product waves me red flags. But I bet everything gonna be all right at the end. I’m just so damn fond of Metacity and how good it works. But back to topic – will see in what hole they decide to poke applets in. Can’t wait, really!

I’m somewhat concerned that the release notes do not mention Hamster, and use the translatable “Time Tracker” instead. Since distributions like Ubuntu don’t include hamster by default (but it is in the repository), I wonder how many will wonder what’s that Time Tracker thing release notes are talking about.

But then again – hey – who needs more users when we have You! And you have been quite kind to us :)

A word on statistics

Posted in News by Toms on June 20, 2009

Any visualization that abstracts data is a dialogue of trust between observer and creator. Statistics are used to expose and display information from angle that reveals new knowledge, that could not be seen just by looking on the whole haystack. Since we are now in the era of information overflow, they have become more essential than ever.

Now, that’s quite a mouthful, hahaha. However, you should always question the methodology used to produce results.

In open source we trust in masses of individuals – that somebody certainly has looked on the code of the program you are using to transfer sensible data, that somebody has made sure that your computer won’t fry up when carried in bag, because program suddenly decided to wake it up, or, at least, that somebody else has already been burned, and the bug has been fixed and your operating system contains it, and, that somebody has made sure that the visualizations don’t lie (at least not horribly).

Ok, i got carried away, but it’s all because i did some adjustments to show statistics more appropriately.

Before the recent commit by Patryk patrys Zawadski, we were splitting activities that overlap midnight in two. In the 2.27 cycle i made the split only happen virtually, but Patryk moved it further and now we have a concept called hamster_midnight, which corresponds to 5:30am. Activities before 5:30 fall into previous day, activities overlapping 5:30 tip to the end where the largest part of the activity is.

So, in the first iteration of stats, to just get things done, i did the same old midnight split. That certainly influenced average starts and ends. Now i just pushed to git master slightly better approach – we now can have 24h+ timespan in the starts and ends charts, and facts respect the hamster midnight.

Here is the resulting difference:

stats

How could you possibly tell which is the new (on the left) and which is the previous (on the right) version (hint – compare week end days, also the hacking now has scooted more to the end of the day).

Truth is – unless the data is totally opposite from your gut feeling – you can’t.

Some numbers to look on

Posted in News by Toms on June 14, 2009

After two days of slow hacking, i present you the fruit of my work – the first iteration on statistics.

statistics_1

There are plenty of things to be added and polished here, but i think this is a nice little good start.

If you have nifty ideas for factoids (on the right), you are welcome to share. For now I tried to discern early birds (20% of days start between 6am and 9am) / owls (20% of days start  between 11pm and 5am or something) and busy bees (20% of tasks are shorter than 15 minutes). I’m in none of the groups so you don’t see that in screen shot.

The chart thing on top should be redone properly with year and month tickers and better labels.

The “starts and ends” bits maybe should use statistical median or mode instead of simple averages.

Hmm, but all in all I’m satisfied.

Now, give it a go and give me some feedback  – tomorrow is the day of 2.27.3 tarballs!

Give me a hug!

Posted in News by Toms on June 6, 2009

Hamster has become a tiny bit friendlier now in git master, by having better DBUS backend and a rudimentary XML, TSV(Tab Separated Values)  and iCal export. The latter can be accessed via the save button in overview window.

DBUS interface, courtesy of John Carr and J. Félix Ontañón has following methods and signals that might be of interest:

Methods:

  • GetCurrentFact()
  • GetFactById(fact_id)
  • GetActivities()
  • GetCategories()
  • AddFact(activity, start_time, end_time)
  • AddActivity(activity, category)
  • AddCategory(category)
  • StopTracking()
  • RemoveFact(fact_id)
  • RemoveActivity(activity, category)
  • RemoveCategory(category)

And signals:

  • FactUpdated(fact_id)
  • TrackingStopped()

DBUS API is also introspectible via d-feet and friends.

There is a hope now for a Gnome-Do plugin. Let’s hope it sees the daylight soon!

So humm, yes, those graphs in HTML report would be nice, and that analyze thing i was talking about before would be nice too, and stand alone window would be nice. But i’m kind of all “hey, summer!” and such, so let’s see how much of it we will cook until 2.28. It still will be a huge release compared to the previous one.

Ah, btw, i’ve put in support in syntax to add earlier activities on the fly. Here is a screenshot:

past_activities

You can enter a negative number which will be treated as delta minutes (like in this case: 20 minutes ago, look in the clock). Or you can enter proper time, and even end time, for example”14:30-15:55″. Hamster will adjust the drop-down to show that it has understood your input. No fancy AM/PMs please. Patches for better parsing are always welcome.

Oh and one last thing, really, that has changed my whole desktop experience:

Install the Droid font from your distro’s repository (yes, it’s open source) and change default font in Appearance Preferences to Droid Sans 11 (except for the fixed width one). It is lifechanging!

How to let user know that there is a feature

Posted in News by Toms on April 12, 2009

In Project Hamster a little while ago we added ability to add description to activity on the fly, by typing it in after comma.

So, for example, if you would like to start doing handstands but with no hands this time, you maybe would type in:

“handstands, no hands this time!”

applet

Figure 1. – You can add description to your activity after comma

Hamster will look on the magic comma (nothing magic about it) and figure, that everything that is after the comma, is a description. Descriptions appear in UI and in the HTML, errm, report thing. I think comma is good, because you could use it in a sentence “My friend is nice, a little stupid though” and mumble the last part and get happily away with it. This is exactly how the descriptions work here.

The approach “of the flying comma” is not quite discoverable by itself (unless you feel like experimenting, and most people really don’t, and we should not encourage them to break their data anyway), so my question is – how do we tell him/her about this terrific feature?

First i tried to put some text under the input box itself. But it didn’t look too good and was begging for way too much attention.

Then i thought – how about i put it, where somebody might be looking for it – under the description field in Edit Activity dialog:

edit_activity_with_hint

Figure 2. – There is a Hint ‘on the dance floor’

What do you think? Maybe alternative wording? Maybe not bold? Maybe gray and proper size? Would it be enough? Any other ways? What do i, oooooh, do?!

Oh, and yes, happy egg hunts, egg squashing, egg fights or whatever you do with your eggs.

Update: This is how it looks now (Apr 14)

tell_me_more

So, basically, if there is no current activity, a hint what to do is displayed under the textbox, and a “Tell me more” link leads to following alert.

What do you think?

Ubuntu Jaunty and the new notification sweetness

Posted in News by Toms on April 1, 2009

Just updated my desktop to the Jaunty beta and i’m really happy with how good everything works.
The extra eye-candy of the new notification system looks really impressive and does enhance the overall feeling.

What somewhat took me by surprise, is the path Ubuntu devs have taken with the notification boxes that had action buttons in them. Behold!

Old pre-jaunty version:

still-working

New, “sorted out” version:

disaster

What strikes me particularly, is why was it not possible to keep the old behavior for these cases. Especially since not every monkey is running bleeding edge.

Update: In TRUNK we now perform check for action support before trying to add them.

Pulling blanket

Posted in News by Toms on March 2, 2009

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:

Overview with white i call "harmonica drag"

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?

Can’t, won’t, don’t stop

Posted in News by Toms on February 26, 2009

I’ll share a crazy mockup i came up with today. Don’t worry, it’s just a mockup.

pull-mockup

Since it is not perfectly clear, i’ll explain what is going on there.

Imagine, that time is like a thread – it is depicted by the solid line. Dotted line marks maximal size of bar. When using mouse you would pull either one or the other end, bars would fold and unfold, like when opening a zipper.

Heh, so i say it’s way cool. Just it will take me some time until i get there. Not code wise – mentally, i need to observe some more.

In other news, i updated edit activity some more. Now you can slide the scale and whatnot. Lines 42. – 48. in the activity editing code outline some TODO’s i’m planning get to in coming days – feel free to help in any of those, hehehe.

Editing activities

Posted in News by Toms on February 24, 2009

I mentioned some bits  about “edit activity” dialog revamp in previous post.

Check out video to see it in action!

screenshot-add-earlier-activity-1

Click to jump to Vimeo video.

P.S. Have you heard of Gumby (search for it in the page)? Aahhahaha, so cool, had a major laugh yesterday.

:to use

Posted in News by Toms on February 17, 2009

GNOME 2.26 is almost out of the door, and my coding spree returned something like week before string freeze.

So… i’m thinking pastels!

First let’s check out what is new in 2.26 and then we will jump 6 month ahead and talk a little about 2.28.

2.26

2.26 is the “under the hood” type of version, with almost no visual changes but some behavioral ones.

  • “The non-discoverable hacky obscure UI” – well, thanks Havoc for honesty, hahaha. So we have some magic in hamster – now you can add descriptions to activities, and create categories on the fly. Syntax is quite simple: you type in something like “activity@category, some description”. Category and description are optional. Let’s give you an example: “coding@hamster” will start activity “coding” in category “hamster”. But typing “hamster, writing something in blog” will start activity hamster and add description “writing something in blog”. I think it’s not too bad. Descriptions show up in the interface and reports, and it is possible to edit them
  • Categories – now they appear in drop down menu, so you don’t have to guess which category that “coding” entry belongs to. I’d suggest to keep numbers of categories low though.
  • HTML Report – it has been touched, check it out. Oh, there are some totals in it, yay!
  • Bugs and bugfixes – don’t know which one was your favorite bug, but we fixed couple of things. Most notably i hope we’ve solved Python 2.6 and UTF8 trouble

2.28

128344313412187500isluvliestfa

Some things are already in trunk. Like better graphs (can check them out in motion here). Now i’m looking on the “edit activity” window – the dates are all hacky. Thinking (and have already partially implemented)  about something like what google calendar does. Also, we will work some more on the non-discoverable hacky obscure UI, so you would be able to specify also the start time in UI. We’ve been talking about generating PDF reports instead of HTML ones. That would allow to put in those “nice graphics” and other stuff.

This would be the right time to throw in your ideas – give your voice, let us know what is that you want. Just keep it simple, please :)