I discovered directededge.com today and nearly fell out of my seat. I could not believe my eyes. Here was a company who had erected a basic REST API in front of a library that does some calculations on directed graphs. It’s a neat idea to be sure — I wouldn’t have thought to charge for something like this. But what really surprised me was the pricing. If this idea takes off, these guys are going to make a boat-load of cash.
First, directed graphs. This neat little data structure is what powers the recommendation engines behind Amazon, Netflix, and probably even the “People you may know…” features in popular social networks. It used to be that directed graphs were a pretty interesting and academic problem. However, they’ve long broken out of the ivory tower and the algorithm has become practically a “commodity.” Essentially almost every language probably has some open source library or another for working with directed graphs. So when I saw directededge.com my immediate reaction was, Really? What developer in their right mind would pay for this? You don’t even know how to implement the algorithm yourself to use it!
Although, honestly, it’s far better knowing IMO.
But it’s not such a bad idea. First, optimizing a directed graph data-structure and doing calculations on it that are fast requires a fair bit of optimization. This might cost you programmer time and potentially on-going hardware costs depending on how optimized you require your solution to be. Second, there are an increasing number of web technology startups where the founders and developers lack the specialized knowledge required to implement and optimize a directed-graph solution. In their case it’s simply easier to throw their data at an API and let someone else do it. So there is a good chance this might actually work.
Which gets me to thinking what other algorithms could we sell? Is this a good thing? Are we in a new era where even applications themselves are composed of services located elsewhere on the web?
[tags]startups, software as a service, directed graphs,