just a dude abiding

it's all about the data, stupid.

On an average day I’ll touch three different operating systems, and a pile of applications on each one, and I’ve come to an important realization for me as a programmer: operating systems, and most applications, suck. Tying your business to any one of them undermines your business from the start (but is often a necessary evil). Most applications don’t respect your data, and actively work to make your life more difficult.

My day job involves working closely with our art department, who all use Macs, and their work products (primarily images). Because of this, it’s convenient for me to also work on a Mac, to simplify the sharing of data as much as possible. This works out really nicely, until I need to edit a document that a manager created in MS Office 2007. I’ve got Office on my machine, but it won’t edit that file, or it’s missing some chart, or annotation, or what have you. The fact that it was created in Office is unimportant, what’s important is the data in the file not the file itself. The file format is actively preventing me from getting to the data.

Applications may be irrelevant, but what isn’t irrelevant is user data. The important choices when developing, or evaluating a new system aren’t whether to use OSX or Windows or Linux. What’s important is deciding what needs to be done, what the constraints are (cost, time, etc) and what to do with the data. Does the data need to be secured from all prying eyes? Displayed prominently on a website? Printed to paper and stored in a humidity controlled vault in an abandoned salt mine at an undisclosed location? All of the above depending on the phase of the moon?

The applications that I enjoy working with the most are the ones that understand that the way I need to see my data today may not be what I need tomorrow. When you design an application, be it on the web, or the desktop, think about the ways in which you show and share data with your users. Is it easy for them to change the format? Is it easy for them to get at the data in as raw a form as is applicable? If your answer to either of the above is ‘no’, then you’re not respecting your users.

I don’t want to have to use MS Office to read my data I’ve exported from your site. I don’t want to be stuck with only a PDF. I want the option to get raw, unformatted text, or a formatted TeX doc (yes, yes, wishful thinking). I want the option to get a simple CSV file, or RSS/Atom feed. I want control of my data. I want the comfort of knowing I can get my data out of your system, for my own uses, with as few restrictions as possible. Because I don’t expect you to know every possible way that I may want to use my data. But I don’t want you restricting me from certain options based on limited export options.

So, what’s the point? (Other than that I’m apparently trying to become the next Steve Yegge, yeeshk this is getting long winded) The point is that it doesn’t matter what OS you use, it probably sucks. The applications you use are less important than the data you’re creating in them. What’s really important is having the data that’s needed, in the format it’s needed in, when it’s needed and if you’re preventing your users from doing this, you’re ripe for replacement.