This Chrome Extension enables Chrome to be ready for 'Semantic Web Technology' and become more intelligent and personalized. Architecture of this extension is to store annotated web contents into the Chrome Extension and utilize them for daily web browsing experience. You can install from here.
Semantic Spider is one of sample programs of triplestoreJS library which enables web applications to store Semantic Data into web browsers through HTML5 WebStorage.
Semantic Spider is a research oriented open source project. You can see the source codes from here.
Please note that your any actions and stored personal contents are 'NOT' transferred to external servers.
You can see a paper which was nominated as best paper in International Semantic Web Conference 2014 (ISWC2014).
Uchida, Hitoshi, Ralph Swick, and Andrei Sambra. "The Web Browser Personalization with the Client Side Triplestore."
The Semantic Web–ISWC 2014. Springer International Publishing, 2014. 470-485.
Though our daily life became more productive and communicable with friends and family thanks to diverse convenient web services and SNS, current web system doesn't have enough choice to mashup and utilize personal data which are distributed among services. Thanks to authorization protocol like OAuth, we can securely share private data between services by granting access to private data with service scope. However, if our favorite services don't support it, we can't reuse personal data on other services without migrating/copy-and-pasting manually. In addition, the authorization protocol itself is complicated not only for developers but also site users because normal users can't understand where they are staying at during redirections between OAuth client and server.
web browser is becoming more functional with not only rendering graphical web page but also Device API, Web Storage, Realtime transfer protocol support. However, we depend on 3rd party servers to use personal data on the web to get the benefit from services and depend on their functionalities to control our data because current web browser itself doesn't have any functionality for us to control personal data. Though Web Storage stores user data into web browser itself, it is for web applications, not for users. We are always tied up with the architecture of current web system that web browser mainly works for web application execution engine.
The web browser is user's personal tool and we should have more control for personal data on the web without depending on 3rd party servers.
Everybody understand that Semantic Web and metadata has advanced potentials to make their web services more functional. However, it is used especially for enterprise industry, life science and search engine. General web developers don't feel the benefit to use Semantic Web on their services except for found by crawlers, because there are few use cases and challenges to use Semantic Web for consumer applications. Because it is tough work for web developers to integrate metadata into their sites, we require more use cases for consumer application area which apply Semantic Web. The effort and challenge would be a promising bridge between HTML5 developers and Semantic Web ones.
Any web contents annotated with W3C Semantic Web can be stored into your Chrome automatically/manually and your Chrome works with your stored personal web contents. If your stored web contents have something relationship with each other, then they starts to be inter-linked automatically and organize item groups in your Chrome.
If a subject and the properties are already stored and now you store additional new properties which are found in other web sites, the additional properties are added to the subject as additional properties. Therefore, your database of semantic information will grow up based on your daily web browsing, and this Chrome Extension can provide more customized behavior for you.
Auto-save function works like below
This Chrome Extension becomes understandable your interest with your personal stored contents.
You can search the stored contents with keyword or content type.
The content type is standardized URI or term defined in schema.org or Friend-of-a-Friend ... like Person, Product, Organization, Article and so on. Becuse almost web contents are already annotated with the content type, users can easily filter personal stored contents.
When you visit web sites and the sites have any relationships with your personal stored contents, then related information are suggested on UI and you could discover relationships and knowledge you didn't realize so far.
Simple use case is a personal wishlist among online stores without disclosing user's interest to online retail stores. For example, let's assume that you would like to buy a Apple product in somewhere online stores. If you find out favorite products on Bestbuy.com and store it into this Extension, when you visit Apple online store, this Extension shows the Apple product stored in Bestbuy.com during you stay at Apple store without disclosing your wishlist for Apple products to both Bestbuy.com and Apple store because this Extension already knows your stored favorite product on Bestbuy.com. You can compare the spec and price on any retail stores you visit if you stored favorite products on somewhere sites.
Traditional way to share personal wishlist among different services was to use OAuth. However, to combine and mashup user data on the services, users needed to disclose personal data to 3rd party, and if those services don't support such authorization protocols, users can't mashup and utilize their peronal data.
User got the benefit from services by disclosing their privacy.
This Extension calculates the similarity and detects related stored contents with inference algorithms. Additional algorithms will be researched and integrated to improve the accuracy.
This Chrome Extension assists you to share personal data like photo/video with your friends and support users' SNS activities by utilizing stored contact information.
For examples, when you want to send photos stored in Picasa to new friend whose contact list isn't registered yet to Gmail, if you visited his homepage or SNS page including his contact information as metadata and stored into this Extension beforehand, this Extension works like contact list manager without depending on and disclosing the private information to Gmail.
When you are inputting a search keyword into the browser's search box or text fields in web sites, this extension suggests candidates from stored semantic data. Though general search services also suggest frequent used keywords or your prior input histories, keyword suggestion of this extension is independent of any 3rd party services and derived from your personal semantic data representing your concrete interests which latest services are trying to collect.
In browser's search box, this keyword suggestion function is triggered by
inputting "spider" with Chrome omnibox feature.
After inputting "spider", during you input additional characters,
related semantic data are searched and suggested in the browser's search box as candidates.
In text fields of web sites, during you input text, related semantic data are suggested as candidates to assist your input operation. If the text field in the web site is annotated with @itemtype (microdata) or @typeof(RDFa) attribute which constrains the type of items, only keywords of the specified category are suggested in the text field. You can play here.
<input type="text" title="Search" value="" itemtype="http://schema.org/Event">
In case of retail stores, if you visited bestbuy.com and semantic data of your favorite Apple products were stored into the extension, the product names stored at bestbuy.com are suggested in text field of keyword search on Amazon.com.
In another case of photo albums, because the extension supports Google login and stores your several months schedules from Google Calendar as your semantic data, if you would like to find out the locations of your album folders on SkyDrive whose names are based on the schedule titles, the schedule names retrieved from Google Calendar are suggested in a search field on SkyDrive and you can reduce the waste time to find the locations.
You can easily synchronize your favorite contents among your Chrome.
If you would like to copy stored favorite contents into another Chrome, you can indicate which items you would like to synchronize. Synchronization process is executed only when your activity on the browser is idle status. Therefore, it doesn't annoy you at all.
If a stored content has own expiration, they will be removed automatically from local database like cookie or cache.
When a user visits a web site, this Chrome Extension monitors HTTP traffic and find out Expires header in HTTP response. When the annotated content is stored, the expiration information is also stored at the same time. Even if the auto-save option is validated, auto-remove option prevents the increase of stored contents.
Current Web Storage works with same origin policy. However, there is a potential discussion to support cross-origin Web Storage based on the demand of web developers in future.
Though traditional XMLHttpRequest basically works with same-origin policy, recently Cross-Origin Resource Sharing was supported based on the demand of web developers and we can make HTTP requests for cross domains.
I introduced the potential to apply Semantic Web technology to actual web browsers with Semantic Web Chrome Extension named "Semantic Spider".
I have additional ideas to utilize the stored personal contents and plans to upgrade. Any suggestions are always welcome!