Josh

I'm a developer in Melbourne, Australia, and co-founder of Hello Code.

Published Sun 24 February 2008

← Home

What I've been up to

So, you may have noticed that I don't update this blog all that often. A lot of the time it's because I don't have a great deal to say, but at the moment it's equally fair to say: I've been bloody busy! I've been working on a couple of different things, and there's still some more to come which I'll fill you in on as well.

OurIntranet

Timesheet module

Previously at Cruse, we've used spreadsheets to track the time spent on jobs. But finally I've got around to creating a module for OurIntranet which tracks users' time spent on various job codes.

Timesheets

The interface shows a week at a time, and uses an autocompleter widget to allow users to search for and select relevant job codes. The timesheet hours themselves are updated via AJAX as they are edited — taking a leaf out of Google Spreadsheets' book, surely, but it makes for a very fluid and pleasant UI experience.

This also marks the first time I've used Open Flash Charts to create some nice dynamic charts — in this case, a pie graph representing a breakdown of hours against clients.

Tasks module

The tasks module is another fairly generic idea that has been done countless other times, but provides an invaluable service to OurIntranet users. Since setting up the module, I've been using it to track client bug fixes (no! surely I never write buggy code) and other things I need to do on a daily basis. Also, a sort of asynchronous chat can be conducted as notes are added against the tasks by various users.

Also of note, users can set up their own priority definitions, including their corresponding colour. What can I say — I spoil my users...

'Today' page

Today

Hopefully Microsoft won't sue for using their wording, but recently our rather bland News and Announcements page has been revamped as a modular home page which allows other modules to publish content to it in the form of generic modules. For example, the Tasks module I talked about has a cut-down view on the Today page showing a user's most urgent tasks. We've also included RSS and weather feeds. In time we'll add other customisable modules so users can have a home page that displays the information they deem most useful.

Still to come

Releasing the Rex framework

Possibly more exciting from a programming perspective, at the moment I'm cleaning up and preparing my mini-framework, Rex (on which this site runs and which I have discussed previously, and used as an example for URL rewriting).

I plan to set up a subdomain with an API, a couple of screencasts and code examples, and maybe an e-book detailing use of the framework. For the three people who are interested, this will surely come as exciting news.

My stance on frameworks hasn't changed and I still firmly believe that a good framework should be the basis of every website and web application. However I think a lot of those who disagree with me would do so because most of the popular PHP frameworks are incredibly bloated. Both Zend and CakePHP weren't much to my liking because they either tried to be far too magical (Cake) or claimed to be modular, but still intoduced a lot of code which I would probably never use (Zend).

Rex is different. It's light. It's fairly minimal, possibly because I'm lazy so I wrote the minimum necessary. But it still offers all the advantages of a good framework — URL rewriting (to be language agnostic), a strong MVC pattern, form data persistence and validation, and a bit of magical functionality without sacrificing too much control. But it doesn't do a lot of things that the other frameworks do. That's a good thing. A framework should be just that — scaffolding, not a complete and rigid library.

So look out for that in the next month or so. Maybe I'll get the interested persons count up to four.

To top