Better than open source

I’ve spent some time, recently, integrating third-party time tracking software to work with our payroll workflow. It just doesn’t happen to code billable time the way we need to do it. I’m also involved on the other end, getting our accounting system to receive the time data. The same company that makes the time tracking software also provides a way of sending it to our accounting system (in another, licensable, application), but it is not quite what we need, either.

Not only in my professional career do I find challenges in getting disparate systems to share information, but also on a regular basis as a consumer. I’ve recently been trying to move from a Community Server blogging system to WordPress blogs. I’m preparing to upgrade my operating system to Windows 7 RC. I use online applications that change from time to time.

I can see why some people feel it is easier to start over instead of migrating data when it comes to using a new application, especially in small businesses. If you look at the examples I have used above, in reverse order, you’ll recognize that using a new version of an online application is usually straightforward. There may be a notice about new features and changes, but there’s not much work on the users’ end to get their information into the new interface.

If you consider a desktop application update or operating system update, there may be some work required – as in updating Microsoft Office file formats to a latest version – but there is very likely an upgrade path available.

As soon as we consider moving information from one proprietary system to another one, there is a tremendous amount of work involved. This work has been reduced in a few select cases, but it feels like wading through water on a sandy and pebble-strewn beach trying to find a lost ring.

Try migrating image tags from Microsoft Windows Photo Gallery to Microsoft Expression Media. Good luck! It’s another one of those situations where a seemingly natural transition is not available. As for my blog migration plans, I’ve not yet been able to put my existings posts up on WordPress. I’m trying to migrate from one blog to another, that seems natural, right? I’m not trying to pull my Facebook posts into a blog, or the letters I have sent to my family.

Back to the example about extending the usefulness of a time tracking system. With 100+ flavors of such software available in the Google Directory, wouldn’t it seem that the wheel was already reinvented enough so that we could sift through what’s available and find an excellent solution? Here’s what keeps me in the business of developing software: we needed to fine tune the way a product works, and there’s no simple, straightforward, predictable way of  making those changes (unless the product creators thought of the type of change you want to make). So we end up with a need to understand how to move information through the existing product. Oh and there’s little documentation on how to do that.

Plenty of opportunity lies ahead. Developers could write pages of documentation to make extending their solutions easier, but they would need to include some functionality that their software doesn’t directly need to function. You tend to see software that can import information more than you see software that shares what it “knows.”  WCF encourages exchange of information, but I haven’t yet seen a way of exposing data in a completely transparent fashion without spending considerable time developing such an API. Twenty or thirty years from now, will we see more connected applications? I hope we will. And I hope it will be easier to connect them.

Who’s done the best making your information transportable?