I have read a very inter­est­ing post at 0xDECAFBAD.

The most inter­est­ing sen­tence in that post is the following:

An API is an admis­sion that you haven’t the cre­ativ­ity or time to build every­thing your web­site needs.

In a gen­eral sense I tend to agree to this sen­tence. It is true that there are plenty of web ser­vices that launch a very basic ser­vices, open up APIs and let their users make the hard work to put new fea­tures into the ser­vice through the use of APIs.

In some way also Face­book is lever­ag­ing this approach through their appli­ca­tion devel­op­ment. Plenty of users put an effort to develop new appli­ca­tions and make the ser­vice stronger with no cost for the ser­vice owners.

On the other side I also think that there are cases where this is not really true. If you are devel­op­ing a ser­vice you will need to focus on main­stream fea­tures that most of your users (cus­tomers) may want to use since, at the end of the day, you want to be profitable.

The avail­abil­ity of API will cover the needs of those user who do not fall into main­stream fea­ture devel­op­ment tai­lor­ing the ser­vice to their needs. I think that in this case you are not out­sourc­ing creativity.

These kind of con­sid­er­a­tions may vary from ser­vice to ser­vice and from user to user but I think that mak­ing a state­ment like the one I have reported from oxDE­CAF­BAD is quite a strong approach to the subject.

If we bring this to the mobile world it is quite easy to see that there are not APIs at all. Well, if we think at mobile phone appli­ca­tion devel­op­ment it is quite clear that there are APIs to be used to develop application.

What I am talk­ing about is the pos­si­bil­ity to extend the mobile phone native appli­ca­tions with some­thing like plu­g­ins. Every sin­gle appli­ca­tion should offer the devel­oper the option to increase its fun­cional­ity. Just to make a sim­ple exam­ple: idle screen. This is a per­fect place where plu­g­ins and APIs would per­fectly fit. Open that appli­ca­tion so that devel­op­ers may hook their appli­ca­tion at the idle screen and let the user choose which appli­ca­tions have to be there.

I think this is an API usage that is not an admis­sion of failure.

Why do I blog this? I think that Les raised a very inter­est­ing point in his post.

Related posts:

  1. The .Dust Podcast
  2. Friends gen­er­ated content
  3. The Inter­net in your phone
  4. Twit­ter and the mobil­ity dilemma
  5. iPhone, My Impres­sions After One Week