Visualize performance in a weekly report
As I mentioned in the 'What one thing would you add' thread, I would like to suggest another report that shows how well you performed in the past seven days. The idea is that you will have a very quick overview of your week and how well or how bad you did. You will be able to identify weak spots and strong spots and maybe even trends.
In order to visualize performance, you first have to quantify performance. In order to do that, I devised the following scheme to 'score' each bubble that you enter into Bubble Timer. This quantification could also be used for another suggestion posed by gicard to put a daily goal-gauge on the standard bubble timer interface. The idea is that as you are bubbling a certain activity, your bubbles will gradually be worth more, the closer you are to your goal (or less when it's a 'less than x hours' goal). Once you have reached your goal your next bubbles will be worth equal. The maximum and minimum scores for each bubble are 0.5 and -0.5 respectively (so they cover a range of 1).
So, let's say that for example, I have a goal for activity A of '> 1 hour'. I perform this activity for 1.5 hours today. This means that my first bubble will be 0.0625, my next bubble will be worth 0.1875, the next one 0.3125 and the fourth one 0.4375. The fifth and and 6th bubble will both be worth exactly 0.5. This means that for this activity I earned exactly 1.5 points, meaning each bubble was worth 0.25 points on average (the latter number is important for the visualization).
You can see the graphs for the scores of each bubble in 3 different situations in the picture below. Note the third situation which has a range goal which has been suggested and taken into consideration by the Bubble Timer crew. The graph for this situation is a little bit less logical, but I found doing it like this made the most sense.
Once you've got the scores for each bubble, you can total them to get a final score for each day, and you can start visualizing your performance. The way I did it in the picture below is as follows. I calculated the score of each bubble averaged over its activity. So for example, the 6 bubbles of the activity A I mentioned above had an average score of 0.25. For other activities this might for example be 0.1, 0.4, -0.3 or -0.5. Each bubble will have a score somewhere between -0.5 and 0.5. This means that you can give each bubble a color based on its score. I used red for low scores and green for high scores. Furthermore I averaged all the scores of each hour, so that I wouldn't have 96 bubbles to put next to eachother, but only 24. Note that averaging the scores over each activity, means that the colours of your bubbles in the morning might change when you go on with the activity of these bubbles in the afternoon. The more you do of each activity, the darker its bubbles will become.
This resulted in a real life situation to the picture below which shows my performance last week with the days of the week on the vertical axis and the hours of the day on the horizontal axis going from 1AM to 1AM. As you can see, my performance on Monday to Thursday were significantly better than my performance from Friday till Sunday. I spent less time working on my research project on Friday, and I didn't do much valuable during the weekend at all, especially on Saturday.You can also spot that every morning at 8 I spend a little too much time on my computer causing the light red bubbles from 8 to 9... In the graph on the right, I showed my total score for each day from Monday (top) to Sunday (bottom).
One thing I'm still not sure what to do with, is the concept of weekly goals. You could just divide a weekly goal into 7 parts, but that's a bit besides the point of a weekly goal. Or you could use a rolling week which constantly uses the data from the past seven days as its input for the weekly goal, so you don't have to deal with the fact that your goal is still running. I think the latter makes the most sense, though it might be more difficult to implement.
Any comments, questions, suggestions, ideas and/or critique are welcome of course.
In order to visualize performance, you first have to quantify performance. In order to do that, I devised the following scheme to 'score' each bubble that you enter into Bubble Timer. This quantification could also be used for another suggestion posed by gicard to put a daily goal-gauge on the standard bubble timer interface. The idea is that as you are bubbling a certain activity, your bubbles will gradually be worth more, the closer you are to your goal (or less when it's a 'less than x hours' goal). Once you have reached your goal your next bubbles will be worth equal. The maximum and minimum scores for each bubble are 0.5 and -0.5 respectively (so they cover a range of 1).
So, let's say that for example, I have a goal for activity A of '> 1 hour'. I perform this activity for 1.5 hours today. This means that my first bubble will be 0.0625, my next bubble will be worth 0.1875, the next one 0.3125 and the fourth one 0.4375. The fifth and and 6th bubble will both be worth exactly 0.5. This means that for this activity I earned exactly 1.5 points, meaning each bubble was worth 0.25 points on average (the latter number is important for the visualization).
You can see the graphs for the scores of each bubble in 3 different situations in the picture below. Note the third situation which has a range goal which has been suggested and taken into consideration by the Bubble Timer crew. The graph for this situation is a little bit less logical, but I found doing it like this made the most sense.
Once you've got the scores for each bubble, you can total them to get a final score for each day, and you can start visualizing your performance. The way I did it in the picture below is as follows. I calculated the score of each bubble averaged over its activity. So for example, the 6 bubbles of the activity A I mentioned above had an average score of 0.25. For other activities this might for example be 0.1, 0.4, -0.3 or -0.5. Each bubble will have a score somewhere between -0.5 and 0.5. This means that you can give each bubble a color based on its score. I used red for low scores and green for high scores. Furthermore I averaged all the scores of each hour, so that I wouldn't have 96 bubbles to put next to eachother, but only 24. Note that averaging the scores over each activity, means that the colours of your bubbles in the morning might change when you go on with the activity of these bubbles in the afternoon. The more you do of each activity, the darker its bubbles will become.
This resulted in a real life situation to the picture below which shows my performance last week with the days of the week on the vertical axis and the hours of the day on the horizontal axis going from 1AM to 1AM. As you can see, my performance on Monday to Thursday were significantly better than my performance from Friday till Sunday. I spent less time working on my research project on Friday, and I didn't do much valuable during the weekend at all, especially on Saturday.You can also spot that every morning at 8 I spend a little too much time on my computer causing the light red bubbles from 8 to 9... In the graph on the right, I showed my total score for each day from Monday (top) to Sunday (bottom).
One thing I'm still not sure what to do with, is the concept of weekly goals. You could just divide a weekly goal into 7 parts, but that's a bit besides the point of a weekly goal. Or you could use a rolling week which constantly uses the data from the past seven days as its input for the weekly goal, so you don't have to deal with the fact that your goal is still running. I think the latter makes the most sense, though it might be more difficult to implement.
Any comments, questions, suggestions, ideas and/or critique are welcome of course.
7
people like this idea
I like this idea!
Tell me when this idea gets some attention.
The more people who like this idea, the more it gets noticed.
The more people who like this idea, the more it gets noticed.
The company has this under consideration.
Create a customer community for your own organization
Plans starting at $19/month
-
Inappropriate?Ok, that's 15 bubbles of my time that will get pretty red in my performance chart. Time to go to bed, being 4am it's way past bed-time :P.
Cheers, Tijl
I’m satisfied
-
Inappropriate?Tijl,
First off, WOW. That looks like it took an amazing amount of time, and it clearly shows. You put a lot of thought into it and how it would work, and I am sure Sean will be equally impressed. I myself prefer the second method of showing the data, as it gives a much more visual view to the week, though I'm working it around in my mind as to how to modify it because Sean and I both try and allow the user to work their reports around to fit whatever time span they desire.
Regardless though, that is some awesome work, and I will be sure to make sure Sean gives it a thorough reading over.
Regards,
Eric
I’m incredibly impressed
-
"I myself prefer the second method of showing the data, as it gives a much more visual view to the week."
I partly agree with it being somewhat more visual, but I find it very useful to be able to identify 'problems' in the left graph like the 8am reddish trend after I wake up and the fact that I went to university way too late on Friday, causing a very unproductive morning. Also if I did the same graph for this week, I would quickly spot a red streak on Wednesday from midnight to 4am caused by me staying up way too late. The day still has to develop, but maybe I will also be able to spot that *because* I stayed up too late, my day will be less productive. With just the graph on the right, you might spot that Wednesday wasn't as productive as the other days, but you wouldn't be immediately aware why that was.
As for the visualization, I did the graph in Excel obviously since I'm familiar with Excel and it's quick to do, but you could also use 1-hour bubbles to visualize this in the style of the application itself.
Furthermore you could make a similar report that shows the days of the week instead of the hours of the day, so you could spot trends like "My Fridays are always unproductive. Maybe I should try to find out."
I do like the second graph, especially in light of gicard's suggestion to display a performance-gauge that is always visible and shows you your current performance today, but in the original thread I was pleading for something more 'extensive'; something that allowed you to spot where it goes wrong, i.e. the left graph. That said, you could implement a 'simple' performance report (the right graph) and a 'detailed' report (the left graph), so that users can use whatevery they find the most interesting. I would use the left graph for judging my week (i.e. shorter term), and I would use the right graph for judging my month (i.e. longer term).
Regards,
Tijl -
Inappropriate?By the way, I forgot to normalize in the second graph. If you don't normalize, your maximum possible scores will depend on the total hours of goals you have listed. You can debate whether you should normalize, since if you do not normalize your maximum scores will depend on the total hours of goals you have listed. So if in January you usually had about 8 hours of goals listed, and you keep increasing that till you have 16 hours of goals in June, and assuming you always manage to reach your goals your performance will increase if you do not normalize and it will remain the same if you *do* normalize. I would argue for the latter.
-
Now I just thought of something else... Maybe you could normalize to the largest total of hours of goals a user has ever had. So that if a user intially registers on Bubble Timer and has 6 hours of goals, and then a year later has improved his performance so that he can use 18 hours of goals, he would be able to see his performance improve via the performance score.
You might have to correct for people who try out a huge goal for a day or a week (or even just to try out the functionality) and then drop it altogether never to use it again, keeping the maximum, their performance is normalized against, too high. -
Inappropriate?Ouch, my head!!!
So THIS is why I shoul've paid more attention during math class!
Whatever the result of Tijl's brilliant (Herculean?) research, please make sure the front-end result is some form of simple,shiny and colorful gauge/bar type thingy...
For simple street folk like myself.
Impressive. -
Hi gicard, just out of curiosity. Do you find the graphical representation on the left unclear or difficult to understand? And if so, can you put a finger on why it is unclear? Please be honest :). Thanks! Tijl -
Inappropriate?Gicard,
I'm also curious... forget Tijl's words and the first chart, since they were targetted at me as the implementer. I'd like to get yours (and everyone's) feedback on the 2nd chart. That's the spiffy one you'd see. It's basically showing you your productivity by time and day based on how often you were working on your goals (greener), wasting time (reder) or not reporting time (whiter). Understandable enough? Useful?
Thanks!
Sean
I’m very eager to get some feedback on chart 2.
-
Let me clarify that white or grey can also be time reported for activities without any goals (like showering :P). -
But... w/o a goal I forget to shower! :-P -
Heh, to be honest, I did use to have showering as a goal about a year ago. But I don't really need it anymore now ;). -
Inappropriate?Hi Guys,
I have to explain that this has thrown me off a bit, because it is different from what I was expecting. I am the guy who grew up playing Street Fighter, and now use sales software which measures daily performance like this:

So I respond better with simple "life energy bars" and "gauges", and would find them easier to work with, this is why I focused more on Tijl's Right graph, which I figured could be used internally to generate a simple performance gauge or life bar display the user would use as a quick "how am I doin' today?" idiot-proof HUD display.
I Just got the concept behind Tijl's left graph,
Red=BAD / White=NULL / Green=GOOD.
At first i thought it was a representation of bubbletimer, as seen by a spectral analyzer, or by Neo from the matrix. But totally get it now.
I can learn to work with that, and want to again thank him for his brilliant work.
1 person thinks
this is one of the best points
-
It's great that you bring this up, gicard. Thanks a lot! Being a scientist, it's often hard to look at things from a non-scientific perspective :P, so your input is most valuable.
I think a gauge like the one you showed or a life bar would work perfectly on the main page of Bubble Timer as a quick signal for how well you're doing, but as a reporting tool it's not very useful since it only tells you how well you did *today*. To track your evolution so that you can find out if you've been improving or not, you need a graph like the graph on the right you were referring to. And in order to identify causes of your bad performance you need a graph like my 'left graph' which shows your good and bad moments.
A few things could make it easier to figure out though for the average user. Color codes for the left graph mentioning red being bad, grey being neutral and green being good would be one thing. For the right graph you could show bad, so-so, and great on the top of the graph instead of the numbers going from -1 to 1 or -20 to 20 or whatever, and maybe the days of the week again on the right of the graph so it is a bit clearer.
What do you think? -
you're suggestions are all good.
On that right graph, it can get fun...
Bad/Poor /meh/good/great or because this is a goal thing which involves feelings, maybe you should forego the numbers or descriptive words, just use emoticons ranging from a a "sad face" all the way to a "happy face".
Let me stop right there before you guys abandon my gauge request for an even more idiot proof happy face.
Noooo! -
Inappropriate?I'm going with gicard's request and use just a face... It'll have one of 63 possible emotions based on your performance:

Tijl... send me the details once you adopt your algorithms and maths to work with this new visualization scheme.
-Sean
I’m deadly serious! ... or...?
-
lol... nah, don't think I want to take the time to rank each of those smileys on a scale from awful performer to great performer. You could use some of those smileys instead of the gauge thing :P... -
Inappropriate?Very funny guys,
If you do decide to go with the happy faces, I'd like to be the first to welcome your new bubbletimer user demographic...
I’m Scared.
-
I for one believe the children are the future. We should teach them well and let them lead the way; show them all the beauty they posses inside; give them a sense of time management to make it easier; let the children's laughter, remind us how we used to be.
But that's just me. Maybe you feel differently gicard?
Oh, and the BubbleTimer terms of service say you have to be 13 or older to use it.
-Sean -
Inappropriate?Well, I doubt many 13-year olds will be using Bubble Timer... Who cares about time management at that age? I certainly didn't.
Anyway... let's get back on topic and see if there's anyone else who has some suggestions or questions about the visualization of your performance? Are the graphs understandable? Yes, no, why (not)?
-
Inappropriate?By the way, I thought of a variation/addition to my original mockup for the day vs. time of day 'heat map'. In my original mockup the graph on the right is actually a collapsed version of the heat map on the left. It shows the total performance for the whole day instead of per hour, right? (Note: you could show this as a heat map as well with only one dimension instead of a graph, i.e. a string of colored cells).
Similarly, you could make another graph above the big heat map that is a collapsed version in the other dimension. This would show not your performance vs. day averaged over all 24 hours, but your performance vs. time of day averaged over all days, get it? :) If you have a large sample this would clearly show you what times of the day you are usually the most efficient.
I'm not at home right now, which is why I'm not taking the time to post another mockup. But basically you'd have a 24x7 array for the big heat map (if you take data for one week), a 1x7 array of cells for performance vs. day and a 24x1 array for performance vs. time of day.
I’m hopeful ;)
-
Inappropriate?I would love to contribute more to this conversation, but so far, I've got nothing. I love data analysis, I love graphs, and I love finding ways to communicate useful information to people who detest math. I just wanted to say *something* here, anything, to keep the ball rolling.
Actually, I know what I need to say: would the BubbleTimer employees please let us know when they're actively starting to work on this visualization aspect, so that we can all kick our brainstorming into high gear and help you guys out?
I’m amused.
-
Qrystal,
Yep, I can do that. Like with the flexible goals and the iPhone work. I'll share some of the mockups here a couple of days before I start work on this so that people can weigh in.
Thanks,
Sean -
Inappropriate?Hi guys and gals!
With Sean's help I was able to access the raw data of my bubbles, allowing me to write some code that analyzes my bubbles and calculates productivity in order to visualize it. This code takes into account all goal types (except weekly goals), and it favours long stretches of productivity as opposed to alternating between productive and unproductive bubbles as was proposed by Qrystal at some point. I changed the colours from my original mock-up as the red was looking a bit too depressing. With the new colour scheme the accent is on the green so it is a bit more uplifting.
Basically, you are seeing three graphs here. The first shows your productivity by day, so it shows your evolution in the past 4 weeks. In my case this shows that I had a good streak around January 20th, got less productive after that and am now getting back up a little. The second shows your average productivity by time of the day. In my case this shows that I've been most productive in the past 4 weeks between 11am and 7pm.
The third and largest graph shows your "productivity map" showing your productivity for every hour of every day in the past 4 weeks. Here you can clearly see that my sleeping pattern has been problematic in the past two weeks, shifting left and right significantly. For the math-inclined: the first graph is the productivity map averaged over time of the day, the second graph is the productivity map averaged over date.
Obviously these graphs are not exactly what is hopefully going to appear on Bubbletimer. I don't know much about web design or whatever the BubbleTimer makers are using to make this website. I wrote this code and made these graphs just to show the possibilities and hopefully get some feedback on what could be improved.
So please let me know what you think of these graphs. Do you understand them? What's unclear? Suggestions? Comments? Questions?

-
Inappropriate?*jaw drop* Wow. No, really, wow! I am very impressed.
This should help a lot in trying to figure out my best time of day, and whether my productivity happens in cycles over the weeks.
From my mathematically-minded point of view, it all looks very informative, without looking too busy and unclear. The only puzzling feature I see is that the productivity by hour, along the top edge of the productivity map, seems to show that sleeping is "less productive". Is there a way in your algorithm to show that those hours are spent "usually sleeping" instead?
From my aesthetically-minded point of view, I love the choice of yellow instead of red. I am not sure about the purple, because it contrasts so much with the yellow and green. I know blue was also considered, but would that result in too much blue in BubbleTimer? (Is there such thing as too much blue? :P)
Ah heck, why not just do a mockup:

That was fun... too fun! ;)
I’m wishing there was a super-giddy big-grin choice of smiley here!
-
I guess blue is a possibility. I chose purple/pink because that was what I originally had in mind, and because the yellow, green and purple I used are what is apparently called a "triad" in color theory. The purple is exactly opposite to the yellow and green on the color wheel. Granted, the blue looks good too. Taking a look at the color wheel again, it seems the green is pretty much in the middle between the yellow and blue.
Anyway, as for the sleeping... Actually I'm not 'scoring' sleeping. It's considered 0 productivity just like any activity for which you have no goals, whereas negative goals are negative productivity. I do have a goal for sleeping (7 - 8 hours), but I'm treating it completely different from the other goals. So what you're seeing is actually just negative because the few hours at that time that I didn't sleep I was also not being very productive. -
Interestingly (at least to me, because colour is something I like to get geeky about) I've never heard of a colour triad. I'm guessing it has something to do with two adjacent colours, and one opposite.
This might actually explain why the purple doesn't work for me .. it's too "opposite" to the other colours. If anything should be opposite, it should be the anti-productive stuff!
Notice that blue, green, and orange would be a triad as well... and your yellow, being somewhat golden, could be considered a flavour of orange. This makes it stand out interestingly from the two things that are positive (productive activities, as well as sleep).
And I see, I see! My "not sleeping" time is often spent doing non-productive things too, so I totally get it. :) -
No such thing as too much blue if it's the right blue. Here is a nice tool for exploring color theory for us non-designers. You'll quickly get the triad and other interesting color relationships just from clicking around on it:
http://colorschemedesigner.com/ -
Inappropriate?Don't worry... before today I hadn't heard of it either. I just looked up the colour wheel because I knew these triangles of colours were supposed to look good together. Didn't know it was called a 'triad'.
-
Inappropriate?Actually, now that I'm looking at it once again, let's just admit that I prefer the blue over the purple. Great suggestion, Qrystal :).
-
Inappropriate?Great stuff, Tijl. For my part, I don't use goals actively enough for this exact kind of heatmap to tell me much - I really treat bubbletimer as more "emergent", and rarely tell it in advance how much of something I intend to do. I love the heatmap idea, though, so I wonder if there are any other dimensions to map besides adherence to goals. I'll give that some thought.
-
It is an interesting comment ivarley. I'd really want the heat map to be useful to people that don't make extensive use of the goals. The role of the goal is really to infer if the activity is a "good" or "bad" use of time. It's nice to use the goal from that since you get that inference for free as a side effect without needing to do anything extra to give an activity a thumbs up or down.
-Sean -
Instead of thinking of the heatmap being dependent on goals, think of the goals as things that make the heatmap make sense. Is it good to do the activity, or is it necessary? Give it a minimal goal. Is it bad to exceed a certain amount? Give it a maximum.
Most activities will probably have a minimum and maximum. If you choose the absolute minimum you could possibly imagine, and a maximum that you really really hope you don't go over, the range can get pretty wide... but it still works.
Even an emergent task can be estimated: "I could probably do this in an hour..." Two hours in: "Why am I not done yet? This should NOT take this long. I'm giving it another hour, tops!" 2h 45min in: "Done, and within the timeframe too! Woohoo!"
Loading Profile...



EMPLOYEE

EMPLOYEE


