Its quite late, but I thought I would put a quick post together.
For the past, what 6 years?, I have been developing software with friends. BaseX which was a desktop application for architects and what we found out too late was liked by quite a few clients. However we didn’t like it. It caused us too much work with updates to the software and database as we didn’t have much infrastructure in place.
After BaseX came projecttime. It was a lesser in functionality version of BaseX but this time we aimed it at everyone. We stripped back the stuff that was Architects only, and then made some stuff generic. However the world got the better of us, and recession hit hard. We went our seperate ways.
Well being the only programmer in that team, also having an awesome job with Frame , and lots of free time seeing as am single (at time of writing
), I decided to play with the ideas in projecttime. tiny.projecttime was born.
Tiny is an MVC.net implementation of projecttime, but stripped back to make it simple for everyone to use. I will be putting back in the “complication” of projecttime as thats what made it good and powerful, but I am thinking that will be for another day. I wanted to learn MVC.net.
I should say that projecttime allowed users to track time against projects for staff members in your offices. There was some financial tracking information in that you could assign a cost to a user on a general basis or on a per job basis.  You could also asign budget information to projects in a generic manner, or break your project into stages.
Then when a user added time against a job this could be complied into one of many reports, e.g. a profit and loss report which gave you almost real time information.
So tiny.projecttime is that as well currently without the financial stuff – this will come later.
So what do I think of MVC? Well am not sure. It’s nice that I don’t have all the crap that comes with .net – the extra javascript, the viewstate, the bulk – but its learning a whole new way of working. I may need to get a book to understand it fully cause am sure there is more that can be done with it.
I did start it with the pretext of learning nHibernate. But I found that so clunky to use it was scary. It’s nice that I could do object calls like:
Account.Users.ForEach(user => … );
and never need to write the SQL. However the slightly more complicated things I wanted to do, I was spending hours trying to get the XML mapping working. Then when I did get it working it broke other things. Having to work with nHibernate’s Session object was a pain as well.
So being the geek that I am, I wrote my own generic base class for all my objects. This allowed me to write very little code and instantly have full CRUD on all objects, lots of paging options, and other methods. And now I can add a new table to my database, a new entity class object and a new service class for that object in less than 5 mins. And I can be up and running. Except for specific methods required for those objects, my generic base class deals with all the SQL I require.
So tiny.projecttime is for tiny projects, tiny timesheets, and has tiny code. No bloat. And at some point soon I will test if it is fast. I have found LoadStorm, and I will do another post on that once tiny is ready to play.
You can find an old version of tiny running at tiny.projecttime.co.uk.
You can find a demo of projecttime running at demo.projecttime.co.uk.


Leave a comment