|
View:
New views
1 Messages
—
Rating Filter:
Alert me
|
|
|
GSoC: Konqueror Bookmarks with Akonadi and NepomukName: Eduardo Robles Elvira
Email Address: edulix@... Freenode IRC Nick: edulix Location: Seville, Spain (GMT +1) Proposal Name: Konqueror Bookmarks with Akonadi and Nepomuk Summary ======= Current Konqueror bookmarks system is showing its age. Most of the main browsers today have a more advanced bookmarking system. Currently it's easier for a user to search his bookmarks with krunner than do it with Konqueror itself. On the other hand we have KDE4 technologies like Akonadi, which allows us to PIM data in a very convinient way. There's also Nepomuk, which has the potential of bringing the desktop more meaning and thus better ways to categorize and retrieve data. There are already some proof-of-concept of konqueror bookmarks using Akonadi/Nepomuk, but bothing more. My propposal is to develop a complete bookmarks system replacement for konqueror ready to replace current one, using akonadi as the backend-frontend interface, and using Nepomuk as the backend in which those bookmarks are stored. This idea has been already proposed and discussed in http://techbase.kde.org/Projects/PIM/Akonadi/Bookmarks . However, A bookmarking system like that is no better than current one if we don't let its power flow to the user. I would also develop a new location bar similar to firefox awesomebar which lets the user type keywords and find related bookmarks, a krunner plugin similar to the current one to be able to find bookmarks using krunner, and a bookmarks editor which exposes all the new posibilities to the user in a friendly way. One important point to take into consideration is that bookmarks are already used widly in other applications: Konsole, Kate, Okular. The idea is to try to keep as much as possible backwards compatibility: I will try to reuse and extend existing kdelibs/kio API. There's no doubt this is an ambitious project, but I will take advantage of my experience with KDE technologies and Konqueror to make it happen. Implementation Details ====================== 1) Core: Nepomuk storage and Akonadi resource: The bookmarks will be stored as pages with some semantic data attached to them: url, title, tags, user rating, usage, date, and full text of the page using Nepomuk + strigi. This will allow me to easily implement a powerful search in the frontends (Konqueror, Krunner). The comunication with the backend will not be done directly, but through Akonadi. Thus, bookmarks will be accessed via Akonadi Resources. 2) Bookmarks menu: I will also rework the Bookmarks menu showing not only the bookmarks but also submenus for recently added bookmarks and most visited bookmarks. There won't be foders anymore as such: the tags will act as virtual folders. Other web navigators already work like this, for example Epiphany. 3) "Awesome" location bar: This is probably the most visible part of the new bookmarking systems from the user perspective. The location bar will be reworked to search not only in konqueror's history as it does now but also in the bookmarks, throught akonadi to nepomuk. Similar to what Firefox does, adding a new bookmark will be as easy as clicking in a star next to the url. Clicking again in that star will allow the user to modify that bookmark, for example adding some tags to it, or even removing the bookmark. The drop down list with the matches of the user input in the location bar will have multi-line entries, one line showing the url of the page and the other line showing its title title. In essence, it will work and feel pretty similar to Firefox' awesome bar, but it will allow full text search inside the bookmarks html pages as opera does. 4) Krunner integration: The awesome bar is similar to krunner in the interface: the user enters some keywords and using different data sources (konqueror history, bookmarks..) some matches are found and shown to the user in a list. Because of this similarity, I will use krunner as a guide for developing the new location bar. 5) Bookmarks organizer: The user will be able to organize bookmarks using the bookmarks editor. It will be either the current editor modified to use the new bookmarking system and allowing user to use tags, etc or a new editor will created as a konqueror sidebar. Whichever way is choosen, a bookmarks sidebar will also be needed, and it will have a search field with filtering capabilities similar to the awesome bar. Deliverables ============ Mandatory --------- 1. Bookmarks storage using Akonadi to handle storage and sync and Nepomuk to handle tagging / metadata. 2. New location bar which allows the user to search through bookmarks and history. 3. Integrate the new bookmarks in the Bookmarks menu. 4. Integrate the new bookmars in the Bookmarks organizer and/or sidebar. 5. Krunner integration of the new bookmars. Optional -------- 6. Support sync with online services / other sources 7. Use not only tagging but also typing (via Nepomuk): kde.org could be of type Project, google.com could be a SearchEngine, etc. 8. Merge bookmarks and history (to get history tagging / rating) Timetable ========= Now - May 23: read all the documentation related with the technologies I will be using; namely, Akonadi and Nepomuk. I will set up a working Nepomuk enviroment, code some small programs to learn how to use Nepomuk and Akonadi, and read the existing code in Konqueror, Akonadi and Nepomuk related to bookmarks. I will also talk with KDE usability people to start determining the best user interface for the new location bar and bookmarks organizer. May 23 - late June: Develop the core of the bookmarking system using nepomuk and akonadi and test it. Use it in the bookmarks menu. late June - mid July: Develop the new location bar. early/mid July - late July: Rework the bookmarks organizer and the krunner integration using the new bookmarks system. late July - August 10: Polish the project and implement missing features. August 10 - August 24: Write more tests and documentation, finish stabilizin the code, do some bug hunting, and try to merge into trunk if it's not there yet. The code should hopefully land at least partially in konqueror trunk if it hasn't landed there yet. About me ======== I'm a last year student of Computer Science in the University of Seville. I have experience working with Qt and KDE being myself a Konqueror developer, so it will be easy and fast for me to make my way in the code because I know it. I like to implement features in Konqueror that makes life easier, like konqi's session management which is a child of mine. I have large experience developing in C++ (about 7 years) and I've been writting code for KDE and Konqueror since two years ago. I'm completly comfortable with working via irc + email and used to it. I plan to meet with my mentor during Akademy though which will hopfully be a very productive week. Dedication and other obligations ================================ From now to just a few days before Akademy starts I will have to combine GSoC with study as I am a CS student, and I am also developing my final year project. I plan to work in this project for 15-20 hours per week before Akademy. Starting in Akademy until the end of the project, I will push the dedication to 20-30 hours per week. This level of dedication should be enough to assure that the project will be successful. |
| Free embeddable forum powered by Nabble | Forum Help |