Page:Aaron Swartz s A Programmable Web An Unfinished Work.pdf/40

28 '''4. BUILDING FOR CHOICE: ALLOWING IMPORT AND EXPORT''' to keep them cooped up in one place. What’s the by-far most popular site on the Internet? Google Search, a site whose goal is to get you someplace else as quickly and unobtrusively as possible.

The reason all this stuff about metal spikes and New Zealand exiles and shoe stores and leaf nodes is relevant to a book on web apps is because I’m now going to ask you to do something that seems insane, something that sounds like it will kill your site. I’m going to ask you to open up your data. Give it away.

I’ll give you a second to catch your breath.

It’s not as crazy it sounds. Wikipedia, a successful site by any measure, gives away the store—you can download full database dumps, including not just every page on Wikipedia, but every change made to every page, along with full permission to republish it as you see ﬁt. It doesn’t seem to have hurt their popularity any.

Obviously, I’m not saying you publish users’ personal details for everyone to see. It would be crazy for Gmail to put up a site where you could download every one of their users’ email. Instead, I’m suggesting you let users get their own data out of your site. People who put their events in your calendar should be able to export their calendar; people who got their email thru Gmail should be able to get it back out again.

Good export isn’t just the right thing to do, it can also be a strong way to attract users. Folks are uncomfortable about pouring their whole life into a hosted web application—they’ve been burned too many times by companies that took all their data and went bust. Going out of your way to make sure they can get their stuff out of your site can do a lot to regain their trust.

While I have a lot to say about formats in this book, the actual format you use is kind of irrelevant here. The important thing is that you do it at all. XML, RDF, CSV—the popular blogging system Movable Type actually just dumped posts as long text ﬁles, and while it was a dreadful format to work with, it was better than nothing. As long as you pick something halfway sensible, people will ﬁnd a way to make it work.

The exception is if there’s already a standard (de facto or otherwise) in your ﬁeld. For example, OPML is pretty widely accepted as the way to export the list of blogs you read. If there is, you just have to support the standard. Sorry. If other software provides a way to important a certain format, you’re just going to have to bite the bullet and output in that format. Anything else looks like churlishness and users aren’t going to care about the technical details.