Why tagging is good for the future of the semantic web? A behavior learning perspective.

Tagging is everywhere. People tags blog posts, pictures, emails, or any other type of digital documents. I already wrote about tagging, and some doubts I had vis-à-vis the social tagging and where tagging principles could be useful to be implemented.

However, what I would like to talk about here is the behavior of tagging. Everywhere people have to tags things, any things. People have to think about how they will classify an entity. They will think about the best words that would semantically describe a given digital document. The best thing that tagging can bring is the “classification of documents described by semantically related keywords” behavior of the Internet users.

As I talked in that post, there are two ways to create an ontology for the semantic web: collaboratively or non-collaboratively. The easiest and less expensive way to create an ontology is definitely by collaboration. However, who say collaboration, usually say anybody that has a personal computer and an Internet access can collaborate to it. Without any knowledge and practice of describing semantically an entity, the ontologies would be near useless considering that anybody could describe anything by anything.

It is why the learned behavior of tagging is essential for the future development of collaborative ontologies development. If that skill is not globally learned (at least for the people that would describe something in an ontology) resulting ontologies would be worthless and even destructive for the semantic web.

Back from the Startup School Conference and Steve Wozniak, the character

I just arrive from the Startup School conference held this weekend in Boston. It was really a great conference, even more considering that it was free. There were around 400 hackers-entrepreneurs in the same room with 13 startup top speakers. The event is supposed to be podcasted, but I didn’t have any feedbacks about it yet; keep check the web site to download them when it will be available.

I would like to thanks Paul Graham for this great opportunity that it gave us all. I do not know if he will try to remake the Startup School conference in 2006, but he didn’t close the door to the possibility. Startup entrepreneur or not, everybody that were there learned something. We had many great speeches about all domains implied in a startup; but we also had much information about a full of startups and old-timer of the IT industry: really, it worth it.

When the lunch time came, near everybody gone out for a lunch. A bunch a people get to the front of the conference room to talk with Paul Graham and some other speakers that talked Saturday morning. After 10 minutes of talking, I get a look at the 500 empty places of the conference room. Then I saw someone wearing black clothes, the barb and the long hairs, looking at the people at the bottom of the conference room. Then a quick thought pass through my mind: hé, there is a rock star fan in the room! Five minutes later Paul checked at that guy and said: hé, I think that this is Mr. Wozniak, I will get a look to make sure. Then it was: Steve Wozniak, co-founder of Apple, the rock star fan.

I climbed the stairs that leaded to that monument of the computer’s world. There was the man. I had no idea of what he could look like, I didn’t really took the time to check for a picture of him on the internet, and I am not the type of person that really care about this type of thing. So I finally see what the guy look like: really, a rock star of the 80s with some high-tech smoked cell-phone/glasses: the type of think you could see in Tek-War.

We were 5 or 6 person gathered around him. The first 2 minutes I listened to that guy and was thinking: he has something special: he his certainly not a rock star, but he has certainly their charisma aura. That guy that invented the personal computer, something that revolutionized the world, was there talking about the hold time when he was playing with blue and black boxes, making jokes to people with them. Joke after joke, laugh after laugh: this guy is more than human. Simple, charismatic, good-liver, human and hard worker: all it needed to make of him a man that changed the world with his dreams and visions.

It was probably the best part of the conference, being able to see whom the guy really was before that he make his speech. Then the conference restarted, Mr. Wozniak unclimbed the stairs of the conference room and gives his speech. He explained to people how he started is life, how he thought about the personal computer, how he not just thought about them, but how he created them. He is a hacker, a real one. He had a vision, he had a dream, he worked hard, he had the skills, and had the heart; then he created the first personal computer that a normal citizen could afford and that would revolutionize the world.

So, there is the human story of the conference, I will write some other posts during the next week about some other speeches of the conference, some good quotes that I ear and things to remember.

By the way, the number of Mac users in the conference room has impressed me. Around 1/3 of the people had a laptop and about 80% of them had an white apple glowing on their knees.

Review of Foundations of Ajax

Ajax interactive interface techniques are a spreading everywhere since the arrival of web applications like Google Suggest, Google Maps, GMail and many other high profiled web applications. It is even truer considering that Ajax techniques are intimately bounded with the most popular Web 2.0 applications.

Despite the fact that the term is used everywhere and that more and more web developers are using its techniques, Ajax remain mysterious and his techniques misused and sometime obscure. Dedicated web sites to Ajax’s development are opening and people start to standardize its development techniques and deployment.

If you start checking how to develop Ajax applications, and think that Ajax is a Greco legendary warrior, you will probably be lost in all the paths you searches will lead you. It is not an easy task, at first, to know what Ajax is and is not. Many web technologies are implied in Ajax application development like: JavaScript, XML, server-side programming languages, many different browser technologies, etc. Trying to make some order in all this information is a daunting task.

Mrs. Parker of Apress contacted me last week to ask me if I would like to review one of their new books: Foundations of Ajax. Considering what I said before on current state of Ajax development techniques’ documentation, I naturally said yes. I would had like to read that book before starting to develop Talk Digger, the Ajax interface’s development pain would had been greatly diminished. My goal by reviewing this book is: helping you to find the right tools and techniques to start on the right foot when developing web interfaces using Ajax techniques.

To whom the book is intended?

The book is intended to intermediate and expert web developers. The premise of the authors is that you already developed and implemented web sites and applications. They will not spend time to teach you what a server-side programming language is or how to create a function in JavaScript; they will teach you what are the best Ajax techniques and the available tools.

Where Ajax came from?

The first chapter is dedicated to the history of Ajax: where it came from and what motivated the development of technologies supporting it. The history of Ajax is the history of the evolution of web applications: CGI, Applets, Java, Netscape, the browsers war, servlets, server-side programming languages, Flash, DOM, DHTML, XML, etc.

How Ajax emerged from this evolution line? How should I use it? What do I need to know prior starting to develop Ajax applications? What do I need take into consideration when starting the design of my next Ajax application? All these questions will be clearly answered by the authors.

I want asynchronism

The most important feature of Ajax techniques is the possibility given to a web browser to asynchronously interact with a web server using an object called XMLHttpRequest. What it is all about? Which possibilities this object gives you? How could you use it to enhance the usability of you web site?

Then, what do I do with that information?

Once you mastered the asynchronous interaction between your application and a web server, you have to master the techniques to dynamically change the content of a web page. You have to take the received information and display it to the user by changing the DOM document of the web page. The authors will explain how a DOM document works and how to modify them to make a web page dynamics.

Many basic Ajax techniques used on popular websites are then explained: how to validate code, how to create an auto-refreshing web page, how to display a progress bar, how to create tooltips, how to automatically update a webpage, how to access a web-service, and how to create an auto-completion combo-box.

At that point you have all the knowledge necessary to create Ajax applications. The only other thing will you need is imagination and creativity to make all these things interacting together in such a way that people will say: ‘Wow!’ when they will use your interface.

I learned how to develop Ajax applications – now what are the tools that can help me to develop web applications with Ajax techniques?

Any developer wants a development environment with the best development tools. They want these tools to help them to quickly write better code. This is the exact purpose of the second part of the book: creating a toolbox for Ajax developers. The authors will describe the best available tools, what they are used for, and what is the best way to use them to develop Ajax applications.

You will find tools to write documentation on your JavaScript scripts, to validate the content of your HTML files, to inspect your DOM documents, and to compress and obfuscate your JavaScript code.

A whole chapter is dedicated on JSUnit: a unit-testing program for JavaScript. They explain how to install and use it. You think that you are losing your time implementing unit tests into your applications? Well, it depends on the length and complexity of the project you are working on. However, more often then not, you will save a lot of time on the long run. It helps you to validate that the new changes you do in one script do not affect any other functionalities of your web application before putting the modification online. Do not forget, we are talking about a web application: as soon as you save it on the web server the modifications are took into account by all users.

Finally, what would be a developer’s toolbox without debugging capabilities? Nothing. JavaScript debuggers for both FireFox and Internet Explorer are described at length.

Conclusion

What I liked while reading this book is that the authors tell you the truth about the current state of Ajax applications’ developing. Technologies that support Ajax are old, but their interactions are young. I expected, and always expect, various programming errors and problems on many web browsers while developing Talk Digger or Lektora. Many times you have to use some programming tricks to make it works the same way on all the available browsers on the market. I can’t hide it to you: it is sometime a real pain. The authors are aware of that situation and tell it to you without reserve.

This is a definitive book for web developers having to spring into Ajax’s application development world. It will show you the most effective programming techniques, tips, and tricks to create interactive web pages. It will explain you how to use the best free available tools to create your Ajax developer’s toolbox. It is an interesting reading striped of any fluff with an incalculable number of illustrations and examples.

Wikipedia as a collaborative editing-ontology tool

Introduction: ontologies

Tim Berners-Lee have a dream: the creation of a semantic web. One of the issue of with that dream is that it rely on various and well-defined ontologies. All the power of the semantic web resides in these ontologies. The current question is: how could we create such ontologies: ontologies that would describe, semantically, the world that we are living in?

Creating ontologies

Two choices are offered to us when comes the time to create ontologies:

  1. Manual creation by humans
  2. Automatic creation by documents analysis softwares

The problem with the second method is that we do not have the document analysis methods and technologies to automatically create complete and well-defined ontologies. The best we can current do with these softwares is what we could call lightweight-ontologies or associative semantic networks[1]. This is a good base to start with, but clearly not enough evoluate to make the semantic web a reality.

Manual ontologies creation

At that time, the best way to create completes and well-defined ontologies is to write them manually. Two types of manual creation of ontologies exists:

  1. Non-Collaborative
  2. Collaborative

A non-collaborative ontology is created by an expert or a small group of experts; only he/them will be able to change and update the ontology in the future. Some issues exists with that ontology creation method:

  • The availability of the expert(s)
  • The price related with he/them
  • The possibility that the expert create a part of the ontology with his believes on a subject that are not accepted by the community

A non-collaborative ontology is created and updated by a larger group of people. In fact, such ontology will normally be created on the Internet, edited and maintained with collaborative ontologies editing tools, and shared and open to anyone who would like to change/expend it. Some issues also exists with that ontology creation method:

  • The availability of easy-to-use collaborative ontology-editing tools
  • How should we handle the open issues where people do not agree on
  • Should these ontologies be centralized or distributed?

Wikipedia as a collaborative ontology-editing tool

A new type of web site emerged in the past years on the Internet: Wikis. A wiki is a collaborative web-page editing tool. It enables people to create collective works like Wikipedia.

If we check at the evolution of Wikipedia [a collective encyclopedia] in the past years, we can clearly see that people are willing to take of their time to write about various subjects, and share these writings with the Internet’s community.

People are writing up-to-date, detailed and complete documentation on any subjects that exist in our World. The question I then ask is: why should they not be willing to create ontologies related with these subjects?

So,

We have a dream: the emergence of a semantic web
We have a problem: the creation of complete and well-defined ontologies
We have a solution: to create these ontologies with collaborative ontology-editing tools
We have a problem: we do not have such tools available
We have a partial tested solution: Wikipedia

How could Wikipedia be upgraded in such a tool?

The idea is the following: upgrading the current Wikipedia’s Wiki software to create an ontology-editing module.

That way, when people would write about a subject, they could also create an ontology related with that subject. After, other people would be able to edit, change and upgrade these ontologies.

The infrastructure is already in place and really reliable. We know that people are willing to create such things. Now what we have to do is to create such a module to implement into the current infrastructure.

What would be the utility to create such ontologies?

The utility would be that new services and new applications would be able to request and use these complete, well-defined, and reliable ontologies. It would open unimaginable possibilities in the domain of information processing. I would greatly help us to handle on of the current problem we have with the Internet: the information overload.

Technorati: | | | | | | | |

I will be at the Startup School conference this 15 October at Harvard

This conference is an initiative of Y Combinator. It will be a good opportunity to make news contacts, and to ear how the speakers created, managed and extended their past ventures. It will be a really enjoyable one day conference at Harvard, Cambridge: two places I never been before.

Who will speak at that conference? There is an impressive list of people:


David Cavanaugh

Partner, Wilmer Cutler Pickering Hale and Dorr

Hutch Fishman

CFO, cMarket; CFO, Veveo

Paul Graham
Partner, Y Combinator

Marc Hedlund
Entrepreneur in Residence, O’Reilly Media

Qi Lu
VP of Engineering, Yahoo!

Mark Macenka
Partner, Goodwin Procter

Michael Mandel
Chief Economist, BusinessWeek

Stan Reiss

General Partner, Matrix

Olin Shivers
Associate Professor, Georgia Tech; Co-Founder, Smartleaf

Langley Steinert

Co-Founder, TripAdvisor

Stephen Wolfram

Founder, Wolfram Research

Steve Wozniak
Co-Founder, Apple Computer

If you can’t be there, keep checking at the web site of the Startup School, they are supposed to Podcast the whole event.

Hope to see you there

Technorati: | | | | |