Categories
World Wide Web

Google, Yahoo! and innovation

Google recently released “Google calendar“. Time and again, Google reminds me of Jeremy Zawodny's blog, Google is building Yahoo 2.0 – Google trying to re-build what Yahoo and others have built, but provide one killer feature that makes it irresistible.

Ok, if you search for comparsions of the Yahoo and Google services, you are bound to get thousands of entries. I don't want to do the same here. But there are some things that I would like to highlight from my own personal experience.

I have tried out a lot of the Yahoo services. Same is the case with Google. Although Yahoo has a lot of features, the innovation seems to have stopped. The mail, address book, calendar, note services are still in the pre-Web 2.0 phase. (Yeah they have been promising a new look and feel, but where is it??? I am waiting). Google on the other hand started off in the early Web 2.0 phase, and has added some product or the other to its portfolio, not to mention adding petty features to existing products.

Another striking difference has been the kind of integration that exists between the services. Yahoo started with lots of services. Each service was on offer individually, least bothered about what other services offer and how the 2 could be related. For example, Yahoo's calendar service seems disintegrated from Mail. Then there is a briefcase service to store files and attachments. The chat service is different; there are different kinds of searches. There are different kinds of bookmarking services. The list goes on and on.

Contrast this with Google. Google started off providing services one after the other, carefully keeping them tightly integrated. (Is this slow poison? 🙂 Get users to use one service and lure them into the rest?) Google seems to be building a 'single page interface'. “For all your requirements on the web use Google.”, that's what they seem to say. You can use the calendar from the mail interface, your chat logs are in your mail. You have ample space to store all your mail (you don't need a briefcase), the search is always there no matter where you are, search something, if you find it interesting save it, label it and search for it later.

This does not mean Google has done it all right. There is a lot still left to be done. The ultimate aim seems to be – get me all my information on demand – get me the information, wherever I want it, whenever I want it, get me only the information I want, and all the information I want, instantly.

All this translates to: A great expectation from Yahoo's new service. Do they have this kind of service integration? Or is it just old things in new clothing? I am waiting.

Categories
World Wide Web

Programmable wikis, Application wikis, Situational applications

Heard of Jot? It has been in the news for some time now, calling itself the first true application wiki.

So what's this thing all about and how is it different from normal wikis?

Before we delve into this, we need to know where normal wikis fail and how this new concept of application wikis helps in solving them.

Wikis in their present form contain highly unstructured data. Take the example of Wikipedia. Wikipedia allows users to create pages containing information about just anything in the world.

The information in the wikis would be more useful if it can be used somewhere else. For example, I would want to just double click on a word in my browser and view the definition of it (and not the entire page). Or I might want to relate content in a page with that of another – semantically. I might also want to view content based on my current expertise level (contextual views).

In order for this to happen, we require that wikis be more intelligent. Enter application wikis.

Application wikis bring in the dynamic content aggregation feature that is lacking in current wikis. This means that the data may not even reside in one place. It might be aggregated at runtime. However this is not it. The content might be pushed out as an RSS and people can subscribe to changes made to specific sections of the wiki or maybe mailed to them. The basic idea is to be able to 'program' the wiki to display 'information' dynamically.

This brings in some interesting applications of application wikis. Application wikis can be used, for example to create a page for a conference. This page would contain 'A google map' plugin, which would show the venue on the map, latest news in the form of an RSS feed, the weather information in another portlet, a list of all participants, which might be coming from a database directly, a list of all talks (which might be maintained in a separate database for some reason).

You might note that the data does not actually exist in the wiki at all. The wiki just acts like an aggregator of content.

Now comes the concept of views. As a participant in the conference, I might be given more information about the talks, while a non-participant may get lesser information. A speaker might get a totally different set of information and so for the organizers.

You probably don't even need a Graphical UI to view the data. You might as well have a kind of Query Interface that allows you to view data based on your role and your preferences.

It might be obvious, but let me clarify that the content for a particular page may come from a specific section of some other page. So I could have, say a page on Bangalore, a page on Mysore and a page on Cities in Karnataka, which fetches content from these pages. The moment the content changes in the original pages, the content viewed from the aggregated page also changes.

Yeah, there's nothing special here, it's the traditional MVC pattern applied to Wikis. It had to come some day.

Two initiatives that I know in this field are from Jot and Semantic MediaWiki.

If you are a Web 2.0 or a Semantic web geek, you might have come across this by now, but if you have not, then you got to check this out.

Categories
World Wide Web

Yeah I do have a URI

In respect of Sir Timbl's blog, Give yourself a URI, I thought I should have a URI for myself.

So here it is.

Categories
World Wide Web

Semantic Crawler – an update

This is in continuation of my blog entry on Semantic Grabbers. I did some experiments after consultation with . Thanks for the inputs.

My intention was to get a set of related words given a single word as input. I wanted to make use of the <rdf:Bag> tag that Delicious provides.

The idea that I had in mind was to start off by seeing the number of occurrences of each tag in the <rdf:Bag> of all links and then to use this to decide which tag to analyze next. The more frequent the occurrence of a tag, the more likely it is to be chosen next.

For example, suppose I see that RDF occurs most frequently in the links, then I select that as my next tag for analysis. I keep updating this list with more tags and their frequency as I crawl through the tags.

Here's the problem I faced: There are chances of the use of very generic words like tech, development, tutorial etc that are likely to be used in more links than others. So the crawler was mislead. The selected tag becomes more and more irrelevant as the crawling proceeds.

There are some solutions that I have in mind.
1. Provide weight-age in comparison with the root-word (i.e. the given word).
2. Do a study of 'all' the tags for the entire list possibly including the description as well and then see the relationships. (This emerged after my discussion with .
3. Provide more than one word as input and use these words to determine the set of related words.

Determining relationships between words is not quite easy in folksonomies because of the lack of contextual information. However it surely is a rich set of information that needs to be exploited.

The result will be available here for a few days.

Categories
World Wide Web

Happy birthday ? /\ /\/ /\ /\/ `/ /\

Yeah, this is the day I get to speak out and Gautham shuts up.

I am 2 years old today. I was born on 10th March 2004 at 12:45 in Mysore. Last year, I celebrated my birthday like this. I was called Modus Vivendi then, but now I am called ? ? /\ /\/ /\ /\/ `/ /\.

So here's how I am progressing:

Journal entries: 147

Total comments: 353

1 120
2 51
3 41
4 27
5 19
6 13
7 13
8 12
9 11
10 8
11 7
12 5
13 5
14 4
15 4
16 2
17 2
18 2
19 2
20 1
21 1
22 1
23 1
24 1

Generated using ljstats.

Categories
World Wide Web

A semantic grabber

So what's a semantic grabber? If you do a Google search, you get, umm, '0' results (as on 08-March-2006).

So this definitely is not the word used in the wild. So what's it then?

Well, the story began like this. I started off experimenting the evolving pub-sub model wherein you give a list of keywords and you get the latest feeds for it based on the keywords specified. I was trying to come up with an optimum filter that would give me really crisp information. This is a tough job especially in the as yet semantically immature WWW.

My first requirement was to get a good list of keywords. For example, I would like to know all keywords related to semantic-web. I know words like RDF, OWL, RDQL etc are related to semantic-web. But I want a bigger list. (Does this remind you of Google sets?)

Where can I get a list of keywords? I turned to Delicious. If you are a Web 2.0 geek, you would definitely be aware of the rdf:Bag tag, where you get the list of all tags for a particular link.

For example, an rss page for the tag 'rss' has a link which has the following tags:

<taxo:topics>
  <rdf:Bag>
    <rdf:li resource=”http://del.icio.us/tag/rss”/>
    <rdf:li resource=”http://del.icio.us/tag/atom”/>
    <rdf:li resource=”http://del.icio.us/tag/validator”/>
  </rdf:Bag>
</taxo:topics>

So you know that rss, atom and validator are some 'related' keywords. Of course, there is no context here, so there could be possibilities of people tagging http://www.google.com/ as 'irc'. (This is true. I have seen people tag Google as IRC). But if you consider a weightage for tag relationships, then soon you can come up with a model where you get to see tag clusters.

Ok, now back to the topic on Semantic grabbers. The idea came to my mind when I thought of writing a crawler that crawls on Delicious RSS feeds and tries to find out tag clusters. So this crawler is not interested in links, but is actually interested in data that resides in the links. That clearly distinguishes it from a normal HTTP grabber, which blindly follows links and grabs pages.

Soon, with the evolution of RDF, I guess there will be more such crawlers on the web (what are agents?) and people are already talking about how we can crawl such a web. This is my first attempt at it.

So ditch Google sets (if at all you have tried it) and use a 'semantic grabber'. 😉

Categories
World Wide Web

I changed my RSS reader

In my recent posts [Maintaining multiple feed lists],[The evolution of the pub-sub model on the web], I have been mentioning about this new trend emerging in the RSS world, where people subscribe to tags rather than specific feeds. This helps in getting all the data related to these tags from the entire index of the search engine (or crawler, or indexer, or whatever). I also mentioned about the problems faced.

Now it should be obvious that I have been looking around for some solution to this problem and my present reader Google reader does not help me in doing this well. The reason is that this reader has been designed for a very different environment and although I was reluctant to switch from it, I had to.

So what did I find that helped me change my mind? Blogbridge.

What's so special about Blogbridge?
Blogbridge has the concept of Smartfeeds, which is not rocket science, but this ability to support tag-subscribes. This shows that they are trying to address the very thing that I am looking forward to. Now the interesting part here is that you can define simple rules to aggregate multiple Smart feeds so that you get all the feeds aggregated into one single feed.

Categories
World Wide Web

Maintaining multiple feed lists

said, “Hey, I want to read News in the morning and Hacking in the evening. I have a list of feeds for each. How do I use my reader to do this?”

I said, “Create multiple accounts. Simple. 🙂 ”

I was joking. Somewhere in the back of my mind, I was thinking of a solution to this. I have been facing this problem especially after the explosion of blogs/feeds that I have subscribed to. I seem to have different interests at different times and want to read different set of feeds. What can I do?

As a co-incidence, the founder of Feedblendr updated me on an earlier request of mine asking him to remove duplicate feeds that result due to subscription to different tags that result in the same feed. (Grammatical error: Extremely long sentence) He said he has fixed it and this is the link he sent.

I started experimenting with it and it works like a beauty.

Now this seems to be a good solution to the earlier problem that we are facing. Just create a subscription list (or a blend) using Feedblendr containing a set of related feeds you are interested in and then use its RSS in your Reader. So basically this boils down to having ONE RSS to define each of your interests. Howzzat?!

Categories
World Wide Web

Firefox extensions – my picks II (a web developer’s heaven)

Are you into development of scripts using JS and DOM? Do you do AJAXian scripting (using XMLHttp etc)? Then you might have realized the pain of not being able to debug them when faced with problems. A set of 'alert's is not always elegant.

So here's what you do:
1. First things first : Use Firefox
2. Install these extensions.

* Venkman Javascript Debugger : https://addons.mozilla.org/extensions/moreinfo.php?id=216&application=firefox
If you start using this, you will forget that you are using a browser. You will see how the browser is changing into something like an IDE. More about it here.

* Firebug : https://addons.mozilla.org/extensions/moreinfo.php?id=1843&application=firefox
This extension shows you errors that occur during rendering of a page. Click on the line no and it will transfer you to the appropriate line in the appropriate file. Not just this, you can also use this to inspect different values of the HTML DOM, by just clicking inspect element and then clicking the item that you want to inspect and find request/responses of XMLHttp Requests.

* Hypertext DOM browser : https://addons.mozilla.org/extensions/moreinfo.php?id=1584&application=firefox
Yet another cool extension that helps you view the DOM values. This is more 'navigable' than the one that Firebug provides. It also has an evaluator, which helps you to navigate to the appropriate node and then start inspecting the values.

HTML scripting has never been as much fun before!

Categories
World Wide Web

The evolution of the pub-sub model on the web

Recently, I have seen a new trend emerging on the web. Until quite recently, we had people publishing their information as RSS feeds and others subscribing to it. This was the first step towards the pub-sub (publish subscribe) model.

Then came tagging and people started publishing 'relevant' tags along with the feed entries. This has helped in the emergence of a new trend, wherein I am able to track not just websites, but information pertinent to certain keywords (or tags).

A major advantage of this is that I don't have to subscribe to RSS feeds, rather I just subscribe to a set of keywords (optionally combined using a regular expression) and then get information based on it. I have been trying this for quite sometime now and have been getting wonderful results.

In fact, this is how founders of websites are able to track the popularity of their tool by just subscribing to the keyword that relates to their website. The moment someone tags their blog entry with this tag, it arrives in the feed readers of the founders and they are quick to comment and 'show interest'. Here's more information and an example of how the founder of a website tracked my blog entry within a single day and here's another.

Hoping that tagging is not misused (remember what happened to <meta>?), we have a new way of tracking relevant information.