Monday, April 16, 2007

Semantic Web and The World is Flat

I am now reading The World is Flat, one of the best-selling books written by Thomas Friedman. This book is way too long and I have read only half of it. But the main idea is already clear---the world has been flattened by new technologies. The rest of this paper is about how to face this new challenge, which is more controversial than the first half.

Debates about this book are intensive. For example, Matt Taibbi had made a strong critique about this book. Certainly, there is also much applause, such as this one from Tim O'Reilly.

In general, I believe in the thesis of this book, i.e., globalization is an unstoppable trend. Many old barriers are broken due to the revolution of new technologies, among which the most significant one is the World Wide Web. WWW connects people in the world to a new level. This is a level that our antecessors dreamed for centuries but never had been true until the prevalence of World Wide Web. Certainly that things like outsourcing, offshoring, and supply-chaining may still happen even without WWW. But they might never have been so widely understood and thus accelerated in the global scale without WWW. Therefore, WWW is not just a flattener. WWW is the most essential flattener because it delievers the knowledge of flattening to the global scale.

Semantic Web is a new stage towards a more flattening world. It is going to break the barrier of communication to the instance data level. On the W3C-proposed Semantic Web, the world is going to be so flat that even a child can dig a fact as deep as professional domain experts. So what will be the challenges in a very flattened world if a less trained child may do something as good as professional experts? Does it mean the education becomes less and less important? That people wouldn’t need an MBA degree or an Ivy League business education? The answer, however, is simply the opposite.

Flattening does not solve everything. In fact, it solves much less than we expect. Flattening only brings the same problems to a different level, which requires higher (instead of lower) level of knowledge. For example, before flattening, a manager needs to know how to divide his work to his workers. These workers are often local, and managers and workers are often well-known each other. Furthermore, because these workers are local, there are fewer choices this manager can make. Fewer choices also means, however, less work to the manager. On the contrary, in a flattened world, this manager knows that his work can be done piece by piece in a global scale. The manager has plenty of choices to select these pieces. The challenge is, however, which pieces may perform better than others in his framework. Moreover, it is nontrivial for a manager to integrate these scattered pieces together, which is the so-called work flow. These requirements demand much higher professional knowledge to the manager than before.

In abstraction, the process of flattening is the process of dividing tasks into tiny pieces so that it could be done by cheaper labors. This is why flattening leads to more and more outsourcing and offshoring because more and more previously complex tasks now can be done by multiple simpler tasks. But this classic divide-and-conquer method does not really solve the complexity of problems. It only leads the complexity to an upper level, or it only shifts the complexity to a different side. When it decreases the complexity of single task, it increases the complexity of integrating these simple resolutions to a complex resolution. In general, the total complexity of an original problem is neither decreased nor increased. It only matters where we load it.

Therefore, more and more outsourcing and offshoring means the requirements of more and more integrators, orchestrators, and explainers. This has been predicted by Thomas Friedman in his book.

The prevalence of Semantic Web will result in some fundamental changes on Computer Science education. When the barrier of data is eventually broken, we need fewer and fewer middle-class programmers that are trained by the current Computer Science education. Most of the end-point programming tasks will be so simple that they could be done by less professional programmers. In contrast, we need more and more high-level software architects that know how to integrate these low-level programs to be a uniform product that can solve some particular problems. This work requires knowledge on programming; it is for sure. But more of it is about art. These software architects will primarily be artists who understand the beauty of the world facts before they dig into the details of integration. They are the ones that Computer Science departments should train and produce.

No comments: