Random Neural Misfirings

Archive
Tag "software"

I’ve been looking for a good job-tracking and invoicing program for a long time. I’ve looked at just about everything, and nothing suits my particular needs. My needs are a little different—almost none of my work is billed by time but piecework instead (support for this kind of thing is often an afterthought) and I need support for multiple currencies (this is rare).

I’ve tried using Apple’s Numbers spreadsheet app. Spreadsheets in general have one big thing in their favor: they impose no assumptions on you. The flipside of that is that you have to build everything from scratch. There are a few aspects of job tracking where you’d prefer for your program to have made those assumptions for you. A bigger problem I had with Numbers in particular is that it corrupted my job log spreadsheet, which is a colossal PITA. A more philosophical problem is that spreadsheets are basically flat-file databases, and a proper job tracker really needs a relational database behind it.

Watching Gwen figure her work on a letterpress printing project was a lesson in how very different the job-tracking requirements for two solo freelancers can be. Ideally, one app would have the flexibility to meet these different needs. I’ve been giving the subject some thought, and what follows is my attempt to crystallize them.

Read more…

In “A Feature Request for Apple Mail”, Jochen Wolters talks about introducing workflows into Mail.app. I think this is an interesting idea, but it doesn’t go far enough. Mail may be the app where many of us organize most of our administrivia, but it isn’t the only one. Apple should give better exposure to the excellent metadata system it created for OS X 10.4, and make projects and workflows canned datatypes in it. Apple is already taking baby steps in this direction with the to-do service built into the future version of Mail

How would this work?

Let’s take a typical translation job for me. It may involve four or five e-mail messages, a couple PDFs, and a couple of Word documents; if I wanted to get really organized, I’d add an item to my calendar showing the deadline. These are all disparate types of data managed through different applications, but they’re all related. Every job goes through a few stages (some of which are often skipped): inquired, estimated, accepted, underway, completed, invoiced, paid. Different activities may have different workflows (I’d need a completely different workflow for my fire-equipment business). So I need to A) define general types of projects and the steps of a workflow associated with each one; B) conveniently set up new projects and indicate their project types to pipeline them into a specific workflow; C) conveniently associate messages, files, etc, with a project; D) view and change the state for each workflow. It needs to be dead-easy: the marginal effort to assign a message to a project rather than just skip to the next message needs to be vanishingly small. I imagine hitting a magic key that pops up a list of active projects to choose from (with the option to create a new one); if any text is selected, a new project is created with that text as the title.

Mail Tags permits something like this, after a fashion, but only within the world of Mail.app. This might be enough if you’re content to use mail as a PIM, but I’m not (and it would get ugly trying to deal with files, and Mail Tags does not currently work with IMAP as described in that article). What I’m describing would need to be a system-level feature that was exposed in mail messages, setfile dialog boxes, the Finder, etc.

Projects could be viewed through the Finder, like smart folders. The viewing window for mail messages could include a banner showing a menu of pending projects to select from; once a message was assigned to a project, a row of buttons would be used to show and change state (this could also appear in the Finder window for the project).

Update: After doing a little more noodling on this, I’ve come up with the following bezel displays

workflow bezels

The three would not all appear at once. I envision that for an unassigned file, the magic key would bring up the first; if the user selects “New Project…” it transitions to the second; pressing the space bar would flip it to the third. For a file that has been assigned to a project already, it would go directly to the third. Those aspects of the workflow setup that couldn’t be controlled through this interface would probably be handled through a preference pane. The bezel would act on whatever document window is foremost.

At a basic level, there’s almost nothing in the data model for this that couldn’t be handled through OS X’s existing metadata constructs; the one thing that could not be would be a table associating project with project type/workflow. And so there’s no reason a third-party developer couldn’t do this right now. At a more advanced level, ideally there would be hooks added that would tie project-related events to other events, for example, when the mail client is foremost, setting a project on a message might close that message and move to the next. In MS Word, saving a file with no project would bring up the project-assignment bezel.

In fact, there’s already a program, SpotMeta, that lets users create enumerated types of metadata and apply them to files. As clever as it is, it’s a little clunky to use, and doesn’t have a straightforward way of working with mail messages, iCal events, etc (though technically, it could work with them).

Dealing with items that have been tagged with a project and workflow state could mostly be handled through smart folders in the Finder, in Mail, etc. Ideally there would be some kind of universal viewer (most likely hacked onto the Finder) that could show the contents of all the various datatypes corralled into a workflow.