24 Jan 2011

The Benefits of an API

(This piece requires an understanding of APIs...)

API is how services open up to developers or share data with other parties. Today, they're ubiquitous to the extent that it's hard to find a single popular mainstream application that doesn't support an API. From a developer's standpoint, it's easy to see why APIs are wonderful (e.g Kurrently and Mama Translation both rely heavily on APIs). But what's in it for the service or parent company? 

The simplest benefit is that APIs often improve a service or platform. Had Facebook or Twitter been stupid enough to keep their services close, they would've been supplanted by a more open competitor. In another word, by building a platform rather than a service, Facebook and Twitter have become better products.

That's the simple, boring explanation. Not all APIs, however, fit under this model.

Consider Google Translate APIs: Google allows developers to use their APIs for free, even though the end results (e.g Mama Translation) may directly compete with Google Translate (the service). Unlike Facebook and Twitter, Google Translate is not a platform; Mama Translation and others do not contribute to Google Translate in anyway! So, what's the catch? Surely, Google didn't spend millions developing the technology and maintaining the APIs just to be altruistic?

A few days ago, I finally found the right analogy to reconcile this problem. For some companies, supporting an API is like opening a R&D department. The researcher's (i.e the developer's) job is to find new ways to profit from the existing technology (i.e the API functionalities). The cost of this R&D department is just the bandwidth and maintaence cost of running the servers.

Of course, unlike a traditional R&D department, the company doesn't "own" the ideas that come from the department. If the 3rd party developer or company succeeds (e.g Zynga), the parent company owns none of it. It still sounds like a bad deal [for the company], right?

No - in fact, this is a fantastic deal. There are at least two ways for the parent company to recuperate value from a third party. One is for the parent company to buy out the third-party company like how Twitter bought Twittie. The cost of acquisition can be considered from the parent's point of view as the cost that would've been needed to develop the same solution in-house (under the circumstances of a closed API). The other option is to ruthlessly copy from. Take the best ideas from everyone and make it their own: evil but effective.

If you're still unconvinced, think of it this way.  When Twitter supports an API and acquires a successful company (e.g Tweetie), they're paying not only for Tweetie but for the other companies that failed as well. That is, Twitter has essentially "hired" hired a whole bunch of other companies to make Twitter clients, but Twitter only ends up paying for the best one. It's like a R&D department consisting of thousands of employees, but the company only has to pay for the product that pans out. 

Why is it that Twitter keeps running without a business model anyways? It's because they've been better off waiting for third parties to validate business models for them. Twitter's business model: sit still and learn from those who can bear the risk of failure.

This is why Jason Calacanis warned Y Combinator Startups against partnering up with Facebook. He believes that the latter is stealing ideas from startups or coercing startups to sell.

Frankly, I think Mr. Calacanis is being overdramatic (as usual) and leans on the verge of fear mongering. Nevertheless, his words gives some insight into the benefits of supporting an API.

APIs allow services to communicate with each other.

"The Internet is not a thing, a place, a single technology, or a mode of governance. It is an agreement." - John Gage, Director of Science, Sun Microsystems, Inc. (from WWW Virtual Library)

10 Jan 2011

Creativity and Self-discipline

One thing I've wondered lately is whether it's possible to educate in a way that fosters both self-discipline and creativity.

I specified the two attributes because they are  - in my opinion - two essential ingredients to success in today's workforce.

My definition of creativity may be vague. By creativity, I refer to the ability to work beyond a set of instructions, the ability to learn and create new solutions, or the ability to do what machines cannot. The essence is obvious: if your skill set can be imitated by a machine, you either won't have a job in the near future or you'll be earning minimum wage soon.

Self-discipline, on the other hand, is much more straight forward: having self-discipline just means being able to concentrate on a piece of task for a sustained amount of time. It sounds easy enough, except most people can hardly do it. A roommate of mine bitterly noted (after only the second day at work), "If my colleagues would stop tweeting every 15 minutes, they'd have their sh*t done a lot sooner!" Perhaps that's not so bad compared to the upcoming generation which is purportedly sending texts every "couple of minutes" every hour of the week (see Texting May be Taking a Toll).


from The Age

Neither education in the west (e.g Canada) nor education in the east (e.g China) seems to produce people with both attributes.  Western culture encourages imagination and innovation but not self-discipline. Eastern culture, on the other hand, is obsessed with self-discipline and hard work but not creativity. These are broad, general, subjective statements, but there are some evidence behind them: in a survey on 21 countries, China's children rank first in computing power, but dead last in imagination.

The good news is that at least one side is trying to learn from the other: there seems to be growing envy from the West of Chinese immigrants' professional success (e.g Why Chinese Mothers Are Superior). The bad news is that copying the Chinese isn't the answer. You don't want to be Chinese; you want to be better than Chinese.

Then there are those who insists self-discipline and creativity form a duality: you either have one or the other. I'm referring to creative people who are reluctant to embrace any form of system or repetition; they feel that one must be "free" and "spontaneous" to be creative. They think being "disciplined" will destroy their flow or damage their brilliant minds. Perhaps they are correct to a certain extent, but no amount of creativity is going to outweigh the detriments of being carried away by every distraction around us.

In the ideal world, educators will figure out whether we can educate students to innovate and focus. 21st century students should be generating creative solutions by leveraging an incredible amount of information. At the moment, however, no concrete education reform is underway and whatever changes being made are actually moving farther away from this goal.

Gilbert Leung's Space

Most of my stuff (including a description of who I am) is at http://www.gilbertl.com.

This posterous is where I post long extensive rants about nothing.