Archive for October, 2005

History and Future of Talk Digger

Talk Digger is now 3 months old and many things changed since I had the idea to create the service and today.

I developed Talk Digger because I wanted to interrogate many search engines at once to know who was linking back to my blog. I wanted to create that application to save time and being able to quickly know who was talking about my writings and being able to contact them as soon as possible.

Then I choose to put the service publicly available to anyone, like me, that could benefit by using it. The answer has been instant: thousands of people used it less then a week after it have been publicly available. Some people even talked about a buzz.

This inflow of new users, with their comments, suggestions and questions, helped me to find new ways to use and implement Talk Digger. Then the concept of Talk Digger as a tool that help people to search for a conversation that is evolving around a specific URL is born. New ways to use Talk Digger have been developed such the bookmarklet, the creation of RSS web feeds populated with Talk Digger search results, and finally the creation of a link that a blogger or a webmaster can put on his web page to redirect their users to Talk Digger with a specific URL they predefined. Some usability features have also been developed during that time.

All these things have been developed, implemented and debugged during the first online month of Talk Digger. However, what happened during the last two months? Some people probably noticed that nothing really changed since two months, and they are right: nothing really changed; I only fixed bugs.

So, what is happening? Is Talk Digger service development stopped? On ice? Or even dead?

Definitely not!

Right, the development of Talk Digger in the last two months have been marginal, however it growth exponentially. In the last two months a worked with a client to implement Talk Digger in one of their product that permit them to use all the power of Talk Digger into their software. I will talk about it further when the new version of that software will be available, in the next week or two. This contract took most of my time in the last two months.

Then, why the development of Talk Digger growth exponentially? Because since the beginning of Talk Digger I am thinking about how I could develop the basic idea behind Talk Digger: “a social tool that helps people to find and follow conversations that evolve around a specific URL” even further. Since then, many ideas poped-up in my mind, most of them have been investigated, and some of them are on the way to be developed and implemented in Talk Digger.

The future of Talk Digger, for the next months, is simple: making the basic idea evolving in such a way that Talk Digger will be a social tool of choice to find, follow and analyze conversations evolving on the Internet.

People are talking about Web 2.0; personally I am talking about the Semantic Web. I am talking about a way to see and broadcast information in such a way that any application or software agent would easily be able to analyze and use that information. I already talk about the fact that I was orienting my professional career in that way. This said, the only way to go in that direction is by trying to implement the principles into a real application that anybody could use, knowing or not what the terms semantic web, blogs, information overload, or any other technical terms, mean.

Great, but what is the next step? The next step is to upgrade the basic framework of Talk Digger. The idea I have behind the next generation of Talk Digger only want one thing: information. So the next step is to gather even more information. There are the two next things I will develop in the next couple of weeks to make it happens:

  • Returning the last 10 results of each search engines instead of the last 3.
  • Supporting even more search engines.

I hope I answered to some questions you could have with that little article on the history and future of Talk Digger. A thing is sure: Talk Digger evolved in the last two months and many things are coming for the next months.

However, this service would not be what he is right now without you, Talk Digger users, and your feedbacks, questions and suggestions. This is probably the think I like the most: discussing of Talk Digger with people that use it, and to see how they use it or how they would like to use it. So do not hesitate to contact me if you would like to talk about it or to talk about anything else, it is always a pleasure to received, read and answer your emails!

Go big, vision, and actions: Change the World

If everything goes fine, everybody have between 60 to 100 years to spend on this planet. What people will do with that time will depends on their personality, their goals, their environment, etc. A fact persist, we will all do something with it (even if you sit on a chair during 100 years you are doing something: sitting).

From school to business startup, from the poorer to the richer neighborhood, everybody can have the same attitude: Go Big, Have a Vision, Take Actions, and try to Change your world or even The World.

Why thinking small when we can think big? I mean, this is just thinking, everybody can think, this is a question of mind-shift and focus. If we have the biggest vision and the biggest goal to drive our life, we will also try to do the actions to reach these goals. Our vision will drive our actions to reach our goals.

It is sure that it is not easy to live like that, but why don’t we try? Why everybody is not trying? It is sure that a really, really small percentage of people will reach their Big Goal, but I think that everybody that try the experience will earn something by doing it.

Chris Sacca had done a good speech at the Startup School, some weeks ago, at Harvard. He discussed of Google, how the company works, what is the life at Google, etc. However, a good part of his speech focused on how Larry Page and Sergey Brin started Google (from a couple of borrowed computers at Stanford to a multi-billionaire business).

They had a Vision: Go Big!
They had a Goal: Organize the world’s information and make it universally accessible and useful.
They Take Actions: spend many sleepless night to create the first prototype of Google in a dusty sleeping room.

They think Big:

[World’s best engineer]–[Biggest infrastructure]–[Big problems to solve]

These guys where probably saw as geeks, hackers, and psychologically unbalanced by their entourage (it’s a guest, I have no idea if it is true). They thought big, they tried to solve the biggest problem that afflict the information world they tried to do something, and they success.

Finally, why don’t we try that tactic too?

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.




This blog is a regularly updated collection of my thoughts, tips, tricks and ideas about my semantic Web researches and related software development.


RSS Twitter LinkedIN


Follow

Get every new post on this blog delivered to your Inbox.

Join 65 other followers:

Or subscribe to the RSS feed by clicking on the counter:




RSS Twitter LinkedIN