Sunday, September 21, 2008

A big milestone is just the beginning

Well, we hit a big milestone last week. We upgraded our internal Timeless Time & Expense Web installation to version 3.0. This wasn't a 'developer-install', this was a real upgrade installation just like our customers will have to go through. We believe in using our applications just like our customers do. This means a feature complete application down to the installation. (Okay, we're not perfect. The documentation was not included).

As usual, it doesn't take long using the new features where you start to see the next enhancements. I was laying out the work items and assignments for the development of the Windows version today. I was using new 3.0 project management features for this for all of about 10 minutes when I wanted something more. Don't get me wrong, the new features are great and a big improvement but everything can be made better. Most of these will wait until 3.1 or later, but we hope to slip a couple into 3.0.

In any case, it was a significant week. Sometime in the future, we plan to give a limited sneak peek of the new version. Sign up to receive pre-release email notices when it is available.

Labels: , ,

Saturday, September 6, 2008

I love automated unit tests - part II

We recently reached the milestone of being feature complete in the web interface for Timeless 3.0. The next step was to create the installation so we could start our in house alpha testing during the development of the Windows version. But since we allow the choice of Access as a database option for small teams using the Windows version, we felt it was best to create the database and verify our business layer worked before integrating the SQL scripts into the web installation.

If you've ever developed an application to work with SQL Server and MS Access, you know there are differences. There are slight SQL differences, but the big one for us was differences in the way they handled paramertized queries. SQL Server uses named parameters and does not care about the order while the OLEDB provider for Jet only cares about the order of the parameters. As you can imagine this can cause significant testing.

Thankfully, our automated unit tests solved this problem. We still had to make the code changes, but it was a lot easier than trying to change it during UI development. It also meant we wouldn't be making changes to the web version during alpha testing just to accomodate Access in our Windows version.

As a side note, our test suite executes around 40,000 commands against SQL Server and around 42000 against MS Access.

Labels: , ,

Monday, June 2, 2008

I love automated unit tests

Did I mention that I am a big fan of automated unit tests?

As we develop Timeless Time & Expense 3.0, we are anticipating many things we would like to do. Some of these will not be available on 3.0 release date. Some are not even definate, but we are preparing for them now. One such item is a hosted version of Timeless Time & Expense.

Unfortunately, we put this off a little too long. We really should have done it months ago, but somehow other 3.0 development took priority. The key to a hosted version is running many organizations in the same database. This means adding another key field on nearly 60 tables. Were it only that simple......

Adding a new key field means a change to every foreign key and every data access call. Even that isn't so bad. The real problem is testing it. That is where a suite of automated unit tests help a ton. When developing the original web version, we created automated unit tests for all database and business logic. During the 3.0 development we expanded the tests for all new functionality. So even though we started this a little late in the project, it only took a week and a half to implement and test. Without already established unit test, this would likely have set the project back months.

An additional challenge was making sure the new logic really did only access one organization. After all, when your application only works with one organization at a time, how could your be sure it wasn't crossing the line somewhere? In new development, this wouldn't be such a concern. But when the change is to an established application it is a scary and daunting prospect.

Again, automated unit tests come to the rescue. With unit tests, we can simulate things that would take months to test through the UI. Only the last half week was spent adding the new unit tests. With that small time investment, we can be confident we can deliver a hosted version plus be ready for the next big change.

Labels: , , ,

Friday, March 14, 2008

Task Decomposition

It is well known that breaking down your project to smaller task items leads to more accurate estimates and better project management. With estimates, it is hard to understand all the work involved when your tasks are large leading to overly optimistic estimates (and late projects). Small tasks are easier to fully understand and consequently more accurate estimates.


When managing projects, a large task can be out of control long before you know it - too late to save your project and reputation. Problems with a large task will not be a concern until it goes over budget - possibly weeks or months after task initiation. Problems with a small task will show up much sooner and provide time to react.

This is why project management software provides a detailed work breakdown structure. It is difficult, if not impossible to effectively manage a project without it. But because most time tracking software is designed for accounting and billing - they do not track at a detailed level and thus increase the project overhead to monitor project status.

One of the features of Timeless Time & Expense that many customers overlook is the ability to customize the work item hierarchy to suit their needs. Extending the work item hierarchy with your custom levels provides the breakdown to accurately track and estimate work tailored to your environment.

This offers a perfect balance between the limited client-project-task hierarchy of most time tracking software and the unlimited un-named hierarchy of project management software. The detail level provides tracking for project management and the ability to summarize information provides the high level data for accounting and billing.

Labels: , ,

Thursday, March 13, 2008

"More than a spreadsheet"

I was reading a user review for Timeless Time & Expense on of the major software download sites the other day. It was a short review, not much more than a single line that said "more than just a spreadsheet". It reminded me of the early days of Timeless Time & Expense.

Time tracking at its simplest is a piece of notebook paper using a line for each time entry. Like most time tracking systems this usually degraded to a once a week memory exercise. The next step for most was the use of spreadsheet software. This wasn't much better. Each project entry required a fair amount of typing and the memory exercise remained. With cut and paste it was faster to fill out the timesheet at the expense of accuracy.

Since many software developers we required to track their time it wasn't long before many tried to solve the problem. They typically created a 'better' spreadsheet. Dropdown lists were added to select clients and projects. This reduced the errors by limiting the selections to valid values. It was a litte faster and easier so more likely that time would be entered before the end of the week avoiding the same old memory excercise. But it was still just an automated piece of paper. The more detail you needed, the more time it took to select the correct information. This means it is only efficient for tracking time for billing - not for project management. Effective project management requires more detailed time tracking.

This is where Timeless Time & Expense was born. Detailed time tracking for project management requires a different paradigm - one taken from project management. To effectively manage a project, tasks must be broken down to a level of detail which allows the tasks to be easily estimated and tracked. This naturally results in a tree hierarchy with many levels of parent-child relationships. This is the paradigm Timeless Time & Expense uses. A paradigm that is as easy to use with two levels as it is with twenty (more on that in a future post).

This ease of use for our customers come at a price for the developers. In the limited, spreadsheet approach reporting is simple database queries. With a dynamic project hierarchy, it is much more complicated. Luckily, we have developers who are up to the challenge and are currently working to expand and simplify reporting for Timeless Time & Expense 3.0.

Labels: , , ,

Wednesday, May 9, 2007

Mobile version

In keeping with the mobile theme, this blog entry is small and simple.

We recently released a Mobile web interface for Timeless Time & Expense Enterprise Web. It was a sharp contrast to the highly functional standard interface. By their nature, mobile interfaces have to be simple for a couple reasons.

  1. There is just not a lot of screen real estate to work with.
  2. Due to the wide range of devices, the interface has to be simple and not rely on java script to enhance the user experience.

It was a different project - partially due to the simplicity and partially due to the challenge of compacting similar features to a small screen.

To try the mobile interface, visit our demo site using your mobile device.

Labels:

Thursday, March 29, 2007

Here we go again

It has been an interesting year. After many years of small changes to Timeless Time & Expense for Windows, we decided to embark on a major project to add a Web interface for Timeless Time & Expense Enterprise. Outside of minor fixes and the constant marketing of an application, it is complete.

While functionally is basically the same as the desktop version, creating the web version was a new adventure. We take a lot of pride in the usability of our applications, so it was no small accomplishment to provide the same usability in a web application. It was exciting in its own way. Sometimes I sit back, look at it and smile.

However, it is not as exciting as adding really useful new features - new features that simplify and change the way people work. That's what makes us excited about Timeless 3.0. It is too early to talk specifics, so don't try to make me. I can tell you this release will be a mix of user requested enhancements and new features to further define the product in a crowded market. As usual, we have more usability enhancements for both the web and desktop to make both even easier to use.

It is early, but if you are interested in receiving beta information, sign up for the Pre-Release mailing list. We have only begun development of Timeless 3.0, so don't expect to receive anything any time soon.

I will just have to contain my excitement until then.

Labels: ,