I have read a lot of talks recently about APIs. Google APIs, Facebook APIs, OpenSocial APIs, APIs for making coffee and strawberry jam and so on. As a computer scientist I resent the fact that all those efforts are still made on a very primitive level. None of the new or old software industry bulldozers are trying to making it easy for developers. Not true. They are trying, but with the wrong ideas.

For the past years I have been involved in building an inference engine for putting together a set of reusable components for automated reasoning services (commonly known as artificial intelligence). This is part of my PhD thesis that I am hoping to finish next semester. Many inference engines already exist, however the idea of our research group (it´s very much a collective effort that I am part of) was to try a radically model-driven approach. This means, instead of diving from the very beginning into Java or C++ complexity, we took our time to think the architecture of our inference engine as a set of well-defined components that any engineer could look at and within a few minutes understand the services that such component provides.

Yeah, I know. Software engineering bla bla bla. Well, that was exactly what I thought in the beginning. But let me tell you what really happened: after 3 years reading lots of math and logical stuff I finally was ready to project a few components that realize the set of services we were interested in. Although I was dying to implement them right away in Java I took the time to do two things: I figured out the basic functionality I wanted to together with the data structures, then using only UML class/component diagrams I model each basic functionality. And then I used an old software engineering idea, design by contract, to link together the components services (actually methods) through pre- and post-conditions.

I used a new standard from the Object Modeling Group (OMG) called the Object Constraint Language (OCL) to specify the stuff. Mind you, you could use Java as well or any of these new Java flavors to write these constraints. What happened next was that I found out that by using only OCL I could fully express not only the structure of my data but also the behaviour of each component. So as it turned out I did not have a dead model, that would be forgotten as soon as I started my Java implementation. I had a complete system that lacked only the tools to be executed (e.g. a transformation from OCL to Java or to C++).

Then back to my point in this posting: why Google, Microsoft, Yahoo, Salesforce (ok maybe their new platform has some of the things I am talking about here) do not try this leap? I was browsing the other day the OpenSocial API from Google and it really sucks all those hundreds of lines of code. Why is it so hard to present a graphical model of the stuff with nice well-defined interfaces that we just could browse, drag and drop and build the applications much easier? After all, it´s almost a bunch of SQL queries and read/write operations.

It´s a kingdom of coders out there. That´s why. And for some strange, unconscious or conscious reason, those guys are not letting go off their kingdom. Once we have Component-based systems on the web, not only techies will build software. I bet almost everybody that has an engineering background or even is good at logics and math will do. So is this the real motivation of everybody in the software industry to postpone model-driven development or am I just being paranoid?


Great news from Microsoft today midnight. Microsoft Surface is launching. And everybody is already talking about it.

I asked this guy, to ask Microsoft the following: Do they plan to version the device, say to turn the table on a TV (for IPTV for example) or playing games? I am imagining something that I could spin, then I could either have a table, a displaying for photos or a game console (for I suppose it will be browser compatible and X-Box compatible).

Let´s hope I hear from them…

The blogosphere got wild about a leaked pdf that described Joost software architecture but also some possible future parnterships with TV-networks around the globe. The PDF called Joost-network.pdf is no longer available, but I could get the list in the cache form Google. Here it is:

Animation: Aardman, Hasbro

Comedy: Avalon, Broadway Video, Heavy.com, MavTv, National Lampoon, Documentaries, 2entertain, New Atlantis, Terra, Wall to Wall

Entertainment: A&E, Channel 4, CHUM International, FHM, Freemantle, Endemol UK, ITV, Oxygen, ProSieben, Program Partners, Rainbow, Sony, Television Francaise 1, The Horror Channel, Warner Bros., Zone Media

Film: Elo Audiovisuel, Filmserve, Shorts International (they have 4 short movies there already)

Lifestyle: A3tv, Fitness on Demand TV, HealthiNation, Indivisual, Muses Productions, Guinness World Records, Plum, Resort Spa & Travel TV

Music: EMI, Fab Channel, Ministry of Sound, Sony BMG, Warner Music Int’l, Unitel, Universal Music Group

News: Chat the Planet, CNN International, Guardian (that would be really nice), JumpTV, Just Fabulous TV, Sports, All3Media, Fight NetworkFrank Warren, Golfspan.com, NHL, Pro Elite, Red Bull, Seconds Out, The Fit Show, Video Time TV, WCSN

Tim Berners Lee has been appearing a lot in the media talking about how the revolution of semantic web will generate yet another inflexion point in our society. Given the potential of all reasoning that could be done if we had a computer-readable web, he may be quite right.

Every computer scientist knows what should be done to structure data in order to produce far better results than current Google results. Something like: “Which european countries won the world cup in the last 40 years?” could be translated easily into a standard SQL -like statement and processed over a database of the World Cup. The problem is: there is no such a database.

However the web has lots of redundant pages where this information is available on textual form. Indeed if you google for the terms [european countries champion “world cup” last 40 years] you may end up in Wikipedia and with some luck you could stumble upon this page, which list all champions of the world cup until now. If someone took the time to structure this on a web database, queries like the one above could be answered on a blink.

Let us briefly define the verb “to structure” as a way to generalize the data being presented. For our world cup example we could define a simple table such as: WorldCupChampions(Country, Year) that would store the country that won the Cup and the corresponding year. From there, our example question could be answered automatically and very quickly provided that some basic database functionality would be available on the web server.

So the ideas behind the semantic web may be that simple. What is it then that prevent us to build the new generation of search tools for the web? Let me try to answer that in one word: Standards. The web blossom did not have a lot to do with the powerful idea of Hypertext which was around for ages. The simple thing that made the sucess of the Web was that somehow everyone started to write their pages in HTML. Brillant. Everyone agreed to use the same thing to build stuff just for a change. That made all the difference.

So what we may be lacking could be some simple standard representation and procedures for the rest of the world to start structuring things. Maybe some plug-in from Firefox that made possible to read through a Wiki and to create structure from this wiki and publish to the crowd that could then make further use of such structure refining it, extending it and populating it. Something like a big world wide swiki (structured wiki) that would contain the basic facts of the universe 😉 . Let´s hope someone is listening.

Quintura is a visual search engine that has yet another use for the increasingly popular tag cloud scheme. Quick facts about the company:

  • Define their product as a community-powered online search engine.
  • Based in Alexandria, Virginia in the U.S., but doing research and development in Moscow, Russia.
  • Patent-pending technology based on Neural Networks and AI (they fail to specify what kind of AI, actually many would consider Neural Networks a sub-field of AI).
  • Everybody in the board of directors seems to be russian (or at least has a russian surname). That pretty much explains why they develop their application in Moscow.
  • In August, 2006 they were featured in Business 2.0.
  • In their words: “(In 2006) Quintura looks for significant venture capital funding.

It´s already taking over the headlines: Amazon CEO Jeff Bezos new baby is up and running. Amazon Mechanical Turk link companies and people willing to work in small tasks such as podcasts transcription, image classification for web sites, translation and more. To use a very 1990´s term: they are infomediaries, they centralize and mediate demand and offerings of jobs and skills.

Perhaps it was time to release something like that. With broadband skyrocketing, tens of millions of internet users in the US and the rest of the world, the web seems to be ready for new new things like the dreamers of the first boom expected to happen last century.

For now the site has not much content, only a few podcast transcriptions offerings and translation jobs. Just try to search for anything related to programming language Java (a very obvious candidate for this kind of service), same happens with Microsoft, Oracle, IBM and less known Eclipse: no results. Only to remain in the IT field.

However this is Amazon folks. So you´d better watch it carefully. This thing can be a bust. But this thing can be just the next great thing, and not for Amazon alone. As copycats appear and get this meme running even faster, who knows what is going to happen to all the untapped talent that are spread all over to world waiting to be found?

ps: They should not be afraid of showing the Turk in their Amazon.com parent site… but as everything else these days, they´re still in beta. Yawn.

New York Times runs a nice article today on why things like Google, YouTube, Yahoo, Netscape and so forth only happen in the Valley. It´s the unique mix of great science & technology + entrepreunership + (venture) money packed in a very small area that counts.

Lesson to be learned: Dont´t be a fool trying to copy them, find your own model to start a high-tech company. Behold of your economics and geographical constraints.

Not long ago, in last August 24th to be precise, the Economist cover announced the end of the Newspaper, “Who killed the Newspaper?” was their question. They argued that in a few decades most of the newspapers of the world would just vanish, as the web take over and the advertisement money flee to Google, Yahoo, Microsoft and the long tail of blogs, on-line games and social network sites. Still a few newspapers would manage to survive, but those few would have to reinvent themselves bla bla bla.

Well, if all will end up on the web, then some newspapers can indeed still manage to survive. But will they be really newspapers, or some other new category of media, merging it all? Look around the web, New York Times and CNN, what are the differences of these sites? Both have multimedia content, text, blogs, news rankings and everything media convergence made possible. Can you really say which one is a television network and which is a traditional thick newspaper?

I did not think so.

So more to the point, what should old and tired newspapers media moguls be doing to save their prrrrrrrrecious small decadent empires? Here my advice (it is free, so do not take it very seriously):

(1) Hire real smart people that understand the ways news are published on the brave-not-so-new Internet: web user interface experts, database engineers, AJAX masters.

(2) Let these guys experiment, benchmark and ask them a deployment plan.

(3) Find a way to sustain the project: Google addwords and addsense is a good start, but you should push your smart girls and boys to devise other great things.

(4) Go slowly, ask the readers their opinion and improve incrementally.

(5) Repeat the steps 2-5. Yes, that’s an infinite loop.

Ps: now and then you´ll probably also have to perform the first step again; bright people tend to get restless on a single job.

*tube for sale…

October 11, 2006

All those domains are taken: itube.com, hetube.com, hetubes.com, shetubes.com, ittube.com, wetube.com, theytube.com. Some are of course for sale. I bet you can get a much better price than Google did.

* * *

Meanwhile : Microsoft has acquired yet another company. Nobody seemed to care…

Google docs released

October 11, 2006

Last night Google released Google docs, which has a totally google look and very few left from former Writely (that they acquired a few months ago). They also merged the Spreadsheets within the same interface, so the plan of a web alternative for Microsoft Office is on the make. I have been using Spredasheets for managing personal finance and it works just fine. For the corporate realm though, it is a long way to go. But again, Google is pretty much an end-user-oriented company.


As for YouTube aquisition, I just copy and paste the opinion of Yu, I found in Blogoscope, very down to earth:

“Also google seems to have been fooled with the whole ‘wow they remind me of the ambitions of google a few years ago’. And thats always dangerous.”