Box turns the API world inside-out

You might not have seen the news last week from Box, the online storage service. There are two items. First is about Box’s new developer edition, announced at its annual conference. What is significant is that this is the first time, to my knowledge, that a software developer has made it easier to embed its app inside other apps. Let’s see what they did and why it is important.

Many software vendors have spent time developing application programming interfaces or APIs that make it easier for third parties to have access to their apps or data that they collect. These days it is hard to find a vendor that doesn’t offer an API, and Box has done a terrific job with its own APIs to be sure. They have created a developer community of tens of thousands of people who write programs using them.

These programs make it easy to fax a document from within Box via an Internet faxing service, add digital signatures inside a document, make small changes to a document, and so forth. The idea is to manipulate a document that is inside the Box cloud storage system, so that their cloud can become more valuable than the dozens or hundreds of other cloud-based storage providers that are available. Without access to its APIs, a third party has to first move the document out of Box, make these changes, and then move it back to its repository. That takes time and uses computer resources.

But the developer edition turns this notion on its head, or should I say goes inside the Box. What they are trying to do now is allow apps to use a set of Box features, but doing so inside your own app. Instead of accessing APIs so you can manipulate particular documents, you can make use of Box’s security routines, or storage routines, or other basic functionality, so that you don’t need to invent this functionality from scratch for your own particular app. What are some of the features that are offered? According to the announcement, these include: “full text search, content encryption, advanced permissions, secure collaboration, and compliance.” That is a lot of stuff that an independent software developer doesn’t have mess with, which means that new apps could be written more quickly.

On top of the developer edition, Box also announced its own Javascript libraries that anyone can use to get started on coding some of these features, called T3. They had posted a few snippets of code on this website showing you how you can construct a Todo list. While JS frameworks are numerous, this one might be interesting, particularly in light of the developer announcement.

Certainly, online storage is undergoing its own evolutionary moment. Google is now charging a penny a GB per month for near-line storage, promising to retrieve your files in seconds. Of course, they and other cloud providers are (so far) just a repository, and that is the line in the cloud that Box is trying to draw with these announcements.

If it all works out, we’ll see Box become the center of a new universe of apps that can take collaboration to the next level, because the folks at Box have already built a collaboration environment that they use for their own customers. It is gutsy, because a Box-like competitor could make use of these features and out-Box Box (which is one reason that Box will control who has access to its tools for now).

It could backfire: developers are a funny bunch, and many of them like reusing someone else’s code but maybe not to the level that Box requires. It certainly is a different model, and one that will take some getting used to. But the proof is in the pudding, and we’ll see in the coming months if anyone’s code turns out to be noteworthy.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s