Summer Coding 2010 proposal - Nautilus Search Bar

Random list of application requirements

 * 1) Must include a schedule that was worked out with mentor
 * 2) Keep on eye on the Talk: page that is associated with the proposal page you create.  Click on the discussion link on the top of your proposal page.  The Talk: page is where mentors comment on your proposal.
 * 3) Make sure you have clicked on the watch link on the top of your proposal page(s) and Talk: page(s).  Use the link to my preferences at the top of the page to set your Watchlist preferences to email you when changes are made.

About your project
 The goal of my project is to enhance the Nautilus search functionality. Currently Nautilus only supports full-text-search (with Tracker) and two basic filters. I want to let the user choose whether to use full-text-search or not. In addition, I want to add additional filters such as creation date and size. I'll be using C and gtk as that is what Nautilus uses. In the beginning I'll be using the Tracker search engine for the search backend but I'll try to make it easy to extend support to other engines such as Beagle.
 * 1) What is the name of your project? Nautilus Search Bar
 * 2) Does your project come from an idea on the Summer Coding 2010 ideas page?
 * 1) Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?

I've already started with the full-text-search option. In the first two weeks I want to communicate with the relevant usability engineers and developers and finish the fts support. Then I want to create the basic framework that will allow me to add different filters and integrate them with tracker. After that the main work will be to implement the tracker commands which should be relatively easy. First of all, I've already created a "proof of concept" full-text-search" option: and have submitted a few patches to the linux kernel:  I've also worked on many personal projects during the past few years.
 * 1) What is the timeline for development of your project? The Fedora Summer Coding work period is 11 weeks long, May 24 - August 9; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 5-12); the last steps always take longer than you think, and we will consider canceling projects that are not mostly working by then.
 * 1) * If your project development progresses differently so there is not 90% functionality by the mid-term, you must be in regular contact with your mentor about this. Your mentor must not be surprised about the state of your project when the mid-term comes.
 * 2) * If you are not progressed this far in mid-term, you must have a plan with your mentor to fix the situation.
 * 3) Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.

You and the community
My answer: The completion of the project will allow Nautilus users to find their files in a quick and efficient manner. Being able to do this while using the default file browser will improve productivity and overall user experience.
 * 1) If your project is successfully completed, what will its impact be on the Fedora community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Fedora community, at least one of whom should be a Fedora Summer Coding mentor. Provide email contact information for non-Summer Coding mentors.

I'll ask my mentor and post his answer later.

I'll look though the code myself, use gdb, and post questions on the mailing list.
 * 1) What will you do if you get stuck on your project and your mentor isn't around?

Through the nautilus mailing list.
 * 1) In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project?

Miscellaneous
I all ready have. I've emailed with my mentor Medium
 * 1) We want to make sure that you are prepared before the project starts
 * 2) * Can you set up an appropriate development environment?
 * 1) * Have you met your proposed mentor and members of the associated community?
 * 1) What is your t-shirt size?
 * 1) Describe a great learning experience you had as a child.
 * 2) Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?

Note: you will post this application on the wiki in the category Category:Summer Coding 2010 applications. We encourage you to browse this category and comment on the talk page of other applications. Also, others' comments and your responses on the talk page of your own application are viewed favorably, and, while we don't like repetitive spam, we welcome honest questions and discussion of your project idea on the mailing list and/or IRC.

The NeL project has some good general recommendations for writing proposals. We encourage Summer Coding code to include tests.

Comments
Use the Talk:Summer Coding 2010 student proposal application to actually make comment, which then appear here on the main proposal page. You can use this link to make a new comment].