Tuesday, December 20, 2011

Repontik

In the last project, there was a mention about what were going to do as our 7th semester project. Well, its almost the fag end of this semester and we have finally half way through what we started out to do. After a few weeks of nightouts on every alternate day, fueled by redbulls, tzingas and any other beverage that had alarming amounts of caffeine in them, we were racing against time to meet the deadline of our reviews and meetings with our guides, we finally converted caffeine into code.
So, the status finally stands " Code pushed, it works! and it kicks ass too! "

The ultimate aim of the project was to redefine how you interact with your computer. Voice being the primary medium of instructing your computer to carry out tasks. So, no more clicking on My Computer to reach your music, all you need is to 'tell' your computer to "play song kolaveri" and your computer fires up your music player and the song. And you can give fancier instructions like "play the song that I listened to last night" and it shows you the results. Sounds like 'siri' of the iphone 4S fame? Yes, its very similar to what siri does, but we had the same idea before the release of the 4S and the world got to know about siri.

So, we are midway through what we have set out to achieve. We have a working prototype 'Repontik' which seems similar to a normal file browser but does a *lot* more and developed a framework on top of Nepomuk,a KDE based Social semantic desktop,  which helps us achieve our version of siri for the desktop.

The capacity of our hard-disk drives has increased tremendously over the past decade, and so has the number of files we usually store on our computer. Using this space, it is quite common to have over 100,000 indexable items on the desktop. It is no wonder that sometimes we cannot find a document anymore, even when we know we saved it somewhere. Ironically, in some of these cases nowadays, the document we are looking for can be found faster on the World Wide Web than on our personal computer. And we have a solution to this problem - "Repontik"

Repontik is a browser to browse all your resources in your computer, and a resource can be either a file, music file, contact, bookmark etc. The word repontik is a amalgamation of the words 'Resource Nepomuk Semantic KDE'.




But the standout feature of the Repontik is that you no longer have to navigate to your desired file/resource by clicking on series of folders and navigate through 3 or 4 levels of folder hierarchy. All you need to do is to enter details about the resource you are looking for in the search box and you are given the resources which match the criteria. Details here can mean either the name of the file, any word in the content of the file or any other meta data related to the resource like the date of creation, last modified etc.

There are filters provided on the left hand side of the browser, which can be used to used to fine tune the search results. Eg, you could filter the results to show only audio files or videos, or filter them based on rating of the files. One of the most exciting feature is the filter the results based on the usage count, so now you can search for resources that you have never used/opened. So, searching for those movies that you have never watched from the bunch of movies that you have stored on your computer just became easier. Or to delete files that you never use to free up space on your computer.

Along with it, the user is provided with recommendations related to the resources. The recommendations are based on the content and linked resources to the selected resource. The user click tracking is done, so that the resource that is accessed the most pops out on top of the search results. This is much like how Google search results are displayed. So, basically we are bringing Google like search to the Desktop.

There a few extra features, one of which is where the user is provided with a GUI module to manually create a link between 2 resources. Linking 2 resources helps in easier searching and they pop up as part of the recommendation when one of the files is selected. Another interesting feature, which was suggested by our guide Dr. Kavi Mahesh was to search for duplicates in the system and delete them. This was done, and you can use it to remove all the duplicates present in the system and free up more space. Usage count of each resource is provided to help decide which resource to be deleted.

The aim of the of the Repontik is to cut down the navigation time of reaching to any resource, and provide a user experience similar to what a web search engine provides. That is, the user gets the resource he wants immediately, preferably at the top of the search results.

So, we now have the framework to build more semantic applications on top of this, and the desktop siri will be built using this. We plan to develop this as part of our next semester project. And there will  be a update on its progress very soon.

One last thing, the whole project is open source. The code can be found here
The Repontik is for the KDE platform, uses Nepomuk and runs on the Linux operating system. Please contact Phaneendra (phaneendra DOT hegde AT gmail DOT com) for further details on the implementation.

PS : Thanks to our own Phoenix (Vivek) for suggesting the name 'Repontik' for the resource browser. 
PPS : Thanks to Sebastian Trueg and all other KDE developers for the constant guidance throughout the development of this project. And we are indebted to Dr. Kavi Mahesh, our guide for this project for his support and encouragement and the final 'S' grade. ;)

No comments:

Post a Comment