Thursday, October 16, 2008

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.

Labels: , , ,

Sunday, October 12, 2008

on shameless self-promotion in a time of social networks

I can't go a single day without hearing (or overhearing) a conversation from a friend or acquaintance discussing one social network or another. I usually roll my eyes, or ignore these conversations. As an internet luddite, I try to avoid these time sucking privacy invasive services. But today I did something, something so contrary to my years of preaching that I felt it necessary to explain my motives.

Today I joined twitter, the poster-child for time wasting, self-indulgent, Web 2.0 buzzword compliance. What could possibly make such an adamant hater of social networking pull such a 180 overnight? It's really simple, shameless self-promotion.

I spent several days last week at a conference, Tulsa Tech Fest, meeting many very interesting people. I found quickly that social networks, particularly twitter, were the dominant means of communication and organization amongst the conference attendees that I was most interested in keeping up with. I heard many tales of meetups, and user groups, all of which are held in places that aren't here.

If I want an opportunity to get out of here, and do the sort of work I'd like to do, for the sort of company I'd like to be doing it for, I've got to be something more than another obscure, unknown developer. Given that I'm not currently able to live in a more developer friendly area, the best option for moving forward in my goals, is shameless self-promotion. Now, back to how this all relates to twitter.

I'm excepting my self-imposed ban on social networking, for purely self-serving reasons. I need a way to better communicate with others who are working towards the same ends that I am. Several years ago, the most prevalent tool for this sort of communication was IRC. But my brief and informal survey seems to show that a lot of conversation has moved to the vast unorganized land of twitter.

So here I am, forsaking my self imposed title as an internet luddite in exchange for the chance for some shameless self-promotion. Sometimes, I guess, we all make sacrifices in exchange for making progress towards our goals. With that in mind, I humbly apologize for my hypocrisy, and by all means follow me on twitter. (sigh)

Labels: , ,