Tooltips added

May 31, 2006

Last night I added tooltips to ClockingIT using domTT. I haven't really started using the custom tooltips, just a quick fix which creates tooltips on all elements which has a title attribute and a class of tooltip. Still, it's a huge improvement over the default tooltips that most browsers use.


I also fixed a small bug which my wife discovered, where I forgot to recreate the Sortable after deleting a task. Keeping the Sortable up to date during all the changes to the DOM that can occur is turning out to be a bit tricky. I guess I need to sit down and poke my way through Scriptaculous' dragdrop.js. I've already had to change a couple of things in there to get the reordering to work correctly as it doesn't really handle nested lists, although it claims to do so.

New Icons (again)

May 30, 2006

My wife has delivered a new set of icons which don't attract as much attention as the old ones. I think they look great, and we're closing in on the final set of icons. She's also working on a new and improved look, and what she's done so far is looking very promising. We've been through quite a few redesigns already, but we're improving each time we do it. You don't want to see my original mock-ups from before she got interested. 

New Icons:

New Popup Menu

Old icons:

Old Popup Menu

I'm getting more and more into Ruby on Rails' RJS Templates, and I'm really enjoying it so far. It's so easy to make sweeping changes to the page after an ajax call, all genereated from Ruby code. This functionality allowed me to update the completion percent and time estimates on all affected TaskLists when you edit a Task, using just a small loop and some well placed tags in the appropriate places.

There's also a periodically_call_remote which updates the header showing how long you've been working on a task as time passes. Unfortunately, there isn't an easy way to disable the periodical remote call, but I'll probably turn it into a more general pinger which will update tasks that have changed on the server so your page doesn't get out of sync with what's really there.

The calendar also got a massive speedup. I'd more or less just followed the example that came with the CalendarHelper, but that ends up looping through all your events once for each day — which takes ages when you have more than a couple of events. I ended up building a hash of due dates and the tasks that are due on that date, then just doing a lookup on each date instead. Rendering time for my ClockingIT project (with lots of milestones, due dates, tasks and messages) takes about 1 second now instead of 12 seconds which was the old average.

I'm sure I can speed things up further before we officially launch, but it's not too big of a problem to bother with now. I need to get the rest of the polish and required functionality in place so we can bring in some more testers.

Popup Calendars

May 27, 2006

I managed to get Dynarch's Javascript Calendar integrated whenever you can enter a date/time in ClockingIT. Looks pretty sweet, and works like a charm — although entering a time might be a bit too clickety. We'll see how it all works out after it's been used for a while. At least it looks way better than the default Rails datetime_select which is awful and cumbersome to use.

It wasn't too much of a pain getting it implemented either, as I found a CalendarHelper which took me most of the way. What took the longest was finding out that I had a typo in my attempt to use the helper, but of course I thought it was the helper that was bugged. 🙂

Popup Calendar

I've finally gotten around to implementing Drag and Drop of a filtered task view in ClockingIT. It took a bit longer than anticipated due to my Ruby newbieness, but I did manage to get it sorted in the end.

While I was at it, I ajaxified edit Task / Tasklist, and fixed the popup menu so it doesn't go outside of the browser window. Also, adding a new message to a task now updates the message count of the task .

I'm beginning to love the RJS templates, they really make it easy working with the DOM and let you do updates that affect multiple elements without breaking a JavaScript sweat.

The wife has also come around and agreed that the icons we have today demand too much attention, and she will be toning them down a bit in the coming days.According to my Milestone view, I'm 71% done with the 1.0 release. Mostly polish and cleaning up left, ClockingIT is really shaping up to be great. Seeing my project manager at work use it on his laptop for the status-meeting we had this week proved to me that it's quite usable already. Feel free to register an account and start using it to track your projects, it's of course totally free.

Feel Free to Comment

May 7, 2006

As of today, it's possible to add messages to tasks. This should make it a bit easier to communicate and keep track of things when working with others. As I mostly work on ClockingIT by myself, I'm sure the implementation will change once it's been used in a bit more of a real-world scenario. I also need to poke the missis and get her to design a few new icons for me, but there are text-links in place until that happens.

I finally got around to implementing the CSS based tab menus the wife has been asking me to do for ages, and I've got to say they look nice. She's promised that she'll get cracking on the icons tomorrow, so we'll see how that goes pretty soon.

ClockingIT v0.92

May 7, 2006

We're finally closing in on a 'launchable' version of my pet Project Manager / Time Tracker. I've cleaned up the look quite a bit, and implemented a frontpage design my wife came up with. It's actually quite usable, and we've been using it to keep track of a few projects at work with quite a bit of success. As noone reads my little blog, I figured there's no harm in writing about it here.

Anyways, it's free to use, so sign up and please let me know what you think. I'm desperate for some feedback, as I think it has great potential even though there might be some rough edges here and there.