Title/Summary Bookmark History Integration in Epiphany for GNOME wide access. Student Shishir Kumar Goel Student Email crazyontheedge@gmail.com Student Major Computer Science Student Degree undergrad Student Graduation 2008 Student IM l1unatic (IRC) Organization GNOME Assigned Mentor No Mentor Assigned Score 0 Abstract I would like to integrate Epiphany's bookmarks and history into a single storage in to provide an easy access to the stored information. This idea is inspired from a similar proposal for Epiphany that was accepted last year [1]. The aims are to: 1. Implement an integrated sqlite3 storage for bookmarks and history. 2. Implement an intuitive user interface for viewing, searching and managing objects within the integrated storage. If time permits, I plan to integrate this with Xesam for accessing and querying the object store from Epiphany extensions and other GNOME components. Detailed Description Rationale: Most of the web pages visited by a user are generally revisits. For revisits a person has four options: 1. Use of back/forward buttons. (if it is in the same session.) 2. Use of the recency list, known as History. 3. Use of the bookmark user saved for that page. 4. Access the page again afresh. Generally, users have to visually scan the whole history (maintained as a recency list) to locate the item of interest. It might be difficult for the user to recognize the page representation (page title or URL) as it might not match with how the person remembers the page. Bookmarking a page is something people have to do explicitly. Therefore, it requires a separate decision from the user to bookmark a page or not. Also maintaining a cluttered list of bookmarks becomes a separate concern. If all the visited pages are kept in a single storage by integrating the history and bookmarks, the user can directly search and access those pages from that storage. And if the person remembers in hindsight that the page should have been bookmarked, he can do it later from the history. This will also eliminate the need for maintaining the highly cluttered list of bookmarks (which might contain stale and useless links) as bookmarks are persistent history items. Moreover, if a good unified user interface is available, it eases and speeds up the search for the then required page. So, the integration of bookmarks and history will not only enable the user to dynamically perform a search for the revisit, but integrating this integration (bookmarks + history) with Xesam can also be facilitated. Then, Xesam can be used to perform a wide search on the person's system from the central object pool of bookmarks + history alongwith other places on the GNOME desktop.This would also increase the usability of the desktop search and metadata services depending upon the user's interests. Background: The prime motivation behind the project is to prevent the last year's work from being wasted. The chances and confidence to complete the project increases from the fact that much of the basic work has been already done and so there is no need to start from scratch. Last year it was too big a project to fit into a single GSOC timeline, but I believe it is more manageable now. So, I would like to complete it. Till now, a single command line sqlite3 storage for history has been implemented. Sqlite3 storage for bookmarks remains to be integrated with it.The user interface elements have to be created. Use Cases: 1. Vivek wants to find and revisit a page that he visited 15 days back. 2. Mark wants to bookmark a Wikipedia page he visited earlier. He looks in the integrated storage, finds it and bookmarks it for future reference. 3. Alice just closed a web page and then realised she could have bookmarked it as she would need it in future. She goes to the integrated storage,searches for it using the date filter and bookmarks it. 4. Rishi wants to find out a page about Opyum he bookmarked earlier under the topic "Fedora". 5. Bob wants to recommend a page titled "love calculator", which he visited last week to his friend. Although he has forgotten the URL, he remembers that he had visited it on February 14. He searches the storage using the date filter to find the page. 6. Varun wants to find out a page, of which he remembers he typed something on.If the history/bookmark items are sorted by relevance, he can find his page among the pages under the category 'typed'. Benefits to Epiphany and GNOME: For epiphany, the integrated bookmark + history UI manager would provide easy and quick search of the previously visited web pages.It would provide free-text search over entire contents of bookmarks+history URLs as well as filtering based on metadata attributes such as page visit date. It would encourage the development of new epiphany extensions. For GNOME desktop, it would encourage more application development for organising and recognizing the central object store of bookmarks and history. Through which,desktop search tools could also be made use of for wide search and relevant results.In addition,applications such as Deskbar could easily integrate handlers for bookmark+history search using the Xesam API. Roadmap: 1. Discussion with the developers and study of the code that has been written as a part of last year's accepted proposal. (By late April) 2. Improve the existing code for error handling. (By early May) 3. Integrate sqlite3 storage for bookmarks + history.(By early June). 4. Design a User Interface for searching,viewing and managing integrated bookmarks and history. (By mid June) 5. Implement the User Interface to integrate the unified storage in Epiphany.(By late July) 6. Testing of the interface, Documentation of the work done and Study of the Xesam's DBUS API. (By early August) 7. Start Implementation of a simple high-level wrapper API over Xesam's DBUS API. (By the end) Biography: I am a 22-year old engineering student based in the city of Dehradun, Uttarakhand, India. Presently I am in final year, studying Computer Science and Engineering at National Institute Of Technology, Hamirpur, India. I have been using GNOME for more than two years and Epiphany for the last 8 months. I like the ideology behind GNOME and want to improve it. I have been studying and trying to develop some Epiphany extensions for the last two months as part of my university project. I did my internship at HBCSE, Mumbai where I got a chance to contribute to GNOWSYS[2]. I am also a active member of GLUG-NITH[3]. External Links: [1] http://live.gnome.org/SummerOfCode2007/Ideas http://code.google.com/soc/2007/gnome/appinfo.html?csaid=C228E14687A8C2D4 [2] http://www.gnu.org/software/gnowsys/ [3] http://glug-nith.org/ http://wiki.glug-nith.org/ Link to Further Information: http://glug-nith.org/~lunatic/gnome-proposal.txt