Thursday, December 06, 2007
Lets Build An API
Are you feeling a déjù vu? As always, we need to watch not only the picture but the full movie to understand what is going on.
As Jared Spool said, every market goes through four steps (in this order): Technology, Features, Experience and Integration.
We are now in the Experience phase. Web 2.0 is all about user experience, tell that to 37Signals. However, in the software industry there is an always subjacent war about platforms. Windows, Mac, Office, Google, SAP, Facebook, Data, Html, Browsers... everyone want to be the winner platform, and in this way, they have to open the doors for developers to empower their position, and so, they make a public API. Each day, someone else is entering in the API game, and this is good for all of us.
But the real interesting point are the assumptions in the background.
If you build an API and someone else can replicate your software... which is your competitive advantage? You get the database, the raids, the data center, and the 24x7 problem and the third party the advertisement? Actually, in my modest opinion, there are two very interesting assumptions: the URL fidelity and that data remains in your side. And you know, Facebook is living from its three-tables-database (Users, Friends and Applications) and the gift-card they received from Microsoft to send a message to Google. For this reason, you and many engineers in these companies may think: "we won't put this data available through the API because this is our key data".
The URL fidelity is a very interesting topic. 15 years ago nobody knew about urls and now you can't get a decent one. What will happen in 10 years with urls? Who cares? In 10 years we will be in Web 7.0.
However, the point about the data isn't so clear anymore. This was ok until someone wrote a robot capable of stealing all your data (slides), and now, you can steal and then store it somewhere (it would be very funny to take amazon data and save it back in the EC2, would you join the project?).
But here is the funniest part of the history: they don't need a public API. They are using HTML as your public API and taking all the data they need, to do whatever they want. You can also use this robot and be sure I will be doing it in the future. Hey! It should be illegal! Don't tell me, and what do you think Google has been doing from the beginning? Ok, they call it crawl (not steal) and don't save it in a relational database but in a home-made File System, but this is just tech-stuff.
You know my point of view, users should own the data, or at least, not just [Put Your Favorite Company Here]. I would love to hear your opinion...
Labels: Internet, Platform, Technology
Thursday, September 20, 2007
What Is A Platform?*
Probably, you have read the Marc Andreessen' post about the three kinds of platforms, and the interesting answer from Joshua Allen. If you don't, I recommend both.
First, I don't believe Marc Andreessen is using his argument to advertise Ning. It makes no sense, he doesn't need it. From my point of view, he has an obviously strong conviction about where the platforms should go, and that is the reason why he founded it.
He proposes basically two things: something can be called a platform if you can program it; and that you can classify all the platforms in three levels depending on where the code runs (remote code that uses an API to communicate with the platform, a plugin attached to the platform, an application inside of the platform).
Then, Joshua responded that his analysis has some problems because the data is the platform, not the software. That is clearly part of the vision of Tim Berners-Lee for the semantic web.
But, my question is: is data enough?
I don't think so. I think we need a Marc Andreessen' style platform to make the Joshua's data accessible in a massive and new way for everyone, something very close to the Strategy Letter IV that Joel wrote a few days ago. With that conviction I founded Himalia two years ago, to give the developers something they can program to give their users much more data available, in an easy and interoperable way. This is a very long way, but I am convinced that it is where we should go, because we have the technology to do that.
(*) I added this post to my software redefinition series, What Is A X?. We need to rethink many of the definition of the main concept of our still young industry.
Labels: Himalia, Platform, Software redefinition series, Technology
Wednesday, March 22, 2006
Now, Ruby on rails
RIA's (Rich Internet Applications) frameworks have come to stay here.
We have them in many flavours: Server-side, pre-compilers, client-side, etc. In a few day I will give you my point of view about all this "new" stuff, starting with Ruby on Rails.
Labels: Platform, Technology
Saturday, March 04, 2006
IBM Approach - Open Laszlo
I have been exploring the open laszlo project.
It's another XAML/XUL-like approach to describe the presentation of a user interface layer. But isn't just another one. Why? It's build over Flash. So, it doesn't require a client installation at all... well, it obviously requires the Flash player, but Macromedia says it's installed in 98% of the internet-ready computers. I think that it turns the Flash Player the most-popular browser (browser = user interface player?). Avalon (included in Windows Vista as Windows Presentation Fundation) is following the same approach, with their own set of tools, including an animation-maker tool. XUL, impulsed by Mozzila.org, is basically the same, but built over dhtml.
I suggest you to see the lazlo on-line examples... I am sure you are ready to. So, it's great. don't you think? "Rich" web user interfaces in nowadays computers?
But now, they are thinking in moving Flash out and adding a new compiler from LZX to the Open Ajax initiative.
So, wasn't it so great?. I think this have a lot to do with the "AJAX platform war" that we are seeing today, and it's nothing but an IBM's tactical decision to impulse their Open Ajax.
I don't know which Ajax framework will finally win but there are a lot of them in the battle, supported by the bug guys.
But I am really sure that the next year, with Windows Vista released, the software industry will need a lot of cross-platforms solutions (converters, translators, abstractions, etc.) one time again.
Labels: Internet, Platform, Technology
