Refactoring everything

The idea behind Write.app is simple yet it has evolved since its inception over a year ago. At first it was just a distraction-free writing environment. A place to store and organize your private thoughts online. Now, with the addition of the Sublime Text 2 plugin and the upcoming Rubygem, as well as text-to-post, email-to-post, and our mobile web app, Write.app is more. I personally consider it a platform. A platform for writers, thinkers, and creative types to store, organize and publish their thoughts no matter where they are or what tools they're using.

Because of this evolution I've been forced to refactor a lot of Write.app's code. For personal reasons it's been taking me quite a bit of time. To be honest I've got a ton going on at work and in other areas of my life but Write.app is a huge passion of mine so you can rest assured that work will continue on it for a long time to come. It's just slow right now.

A lot of the old codebase is kind of hacky and I've improved a lot as a developer since it was written. Right now I'm refactoring the settings controller as I know just about everyone has had some sort of random error thrown at them on the settings page. I'll be pushing the changes live as soon as each one has been tested and is bug-free. I don't plan to release one big monolithic update. It'll be incremental and since Write.app is a web app you'll benefit from the changes immediately and seamlessly in the background.

Now the reason I'm writing about all these API changes is because of some big news. I'm announcing today that I'll be launching a public API for Write.app. That means besides the official tools that I've been releasing over the last few months you'll be able to access the app's functionality from your own code and use it in new and interesting ways. The API will be small at first but the first thing I want everyone to have access to is their data. That's right, the first feature of the API will be a set of methods to let you download all of your writing as flat files and store them on your computer.

I also want to announce the new tools that silently launched recently. Our text-to-post functionality has gone live, our Sublime Text 2 plugin is now available through package control, the mobile web app is in beta, and I just started work today on a Rubygem that will act as a command line interface to Write.app, allowing you to save short snippets of text, send entire text files to your account, read saved notes, and much more. I'll be dedicating a separate post to all these tools but I wanted to make sure I mentioned them here now to whet your appetites.

There's some really cool stuff coming down the pipeline for Write.app this spring. By June I predict we'll be out of beta and feature complete. We're already at the point where we're refactoring and making more improvements than adding new features. Not by much but we're just about there. As always, you can get in touch with me directly by emailing me at bill [at] writeapp.me

More notes