Future Products, Time TrackerDecember 23rd, 2009jwucher
This is going to get a little nerdy…and long…and possibly be slighltly less boring than clipping your toenails…feel free to nod off or bail out at any time.
Time Tracker has a “multi-user” option already. This feature is somewhat crude (but effective), in that it requires the users to send their record files (with a “tag” for each user) to the “manager” who collects all the record files in one instance of Time Tracker. This has been in place for some time (and since complaints about it have been ZERO, we’re assuming everybody is reasonably satisfied).
However, this is not what people really think of when they think “multi-user”. What people really think of as multi-user is “connected”, either through the browser (i.e. web page interface) or an application (i.e. a program you run), but connected in a way that changes made by other users are immediately visible to you.
Let’s start with the basic goals that this program would need to satisfy:
- The program would need to maintain a list of Projects.
- The program would “general” list of Tasks, any of which could be used in the Projects.
- Records are generated by Workers. Each Record is associated with a Project and Task.
- A Worker could work at any computer to create Records, as long as they can access the system (e.g. Log In).
- A Worker could create Records while not connected to the system, but could upload their Records (and download any changes) when they are connected later. Workers could be put into Groups.
- A Manager (who is also a Worker) can create Records, but also see any Records created for any Project/Workers that have been assigned to them by the Administrator.
- An Administrator adds Workers, Managers, Projects, Tasks, and other Administrators to the system. They also configure what Projects/Workers are assigned to Managers.
- The system must be easy to install and update.
The statements above reflect only the bare minimum the system would have to do. On top of this, you could build a pretty nice system. For example:
- Costs could be assigned to hours worked, by individual Worker rate, by Project rate, by Task rate, etc. It could even be a dynamic (e.g. scripted) so that for each “System”, we would create a custom billing model to match up with your particular business model.
- The current Time Tracker system for generating reports (filtering by Project/Task/Worker) could be expanded to include graphs, “cheat checking” (this is a whole other topic).
- Limits could be placed on Projects, Tasks, Workers, etc., which would be pushed down to the creation of records.
Implementation Quirks
In order to create this kind of system, the data for the system has to “live” somewhere that every user of the system can see. Looking over the competing products for this system, it looks like the “first” choice is “just use the web” for the system. That is to say, everybody gets to see web pages and use web pages. This has some really good advantages:
- All the data and code lives on a machine somewhere that the clients don’t have to configure and the developers don’t have to test for. This also avoids the problem of creating a central server at the customer’s site.
- Updates are immediate to everybody in the world at the same time.
On the other hand, there are a few disadvantages as well.
- You don’t have to support every type of machine, but you do have to support every browser. There are LOTS of browsers.
- If their access is down (as a company or as an individual) they can’t track time.
- Updates are immediate to everybody in the world at the same time. Sometimes, when you deploy an update, you want to test it at a control site (with some benevolent and forgiving users) before unleashing it on the unsuspecting general populace.
- Developing for the web is extremely limiting. It’s not hard to get text, some images, etc. up on a browser. It is very hard to get dynamic forms to work correctly (without Ajax, Flash, etc.). Doing these kinds of things is relatively easy in a desktop application.
- If your site is hacked, EVERY customer is in danger of losing their data.
Business Questions
- How much of a market is there for this product?
- Can we produce a product that is competitive with what we see on the Web already (but at a lower price or with some other factor that provides an advantage)?
- Is there any other product that we can pursue with a better chance of either (a) making us money or (b) making us happy?
From Here…
Right now, this project is still on the drawing board.
developer, Efficiency, future product, Management, NLIdeas, Nonlinear, Nonlinear Ideas, Software, Time Tracker, Timekeeper