Tika
  1. Tika
  2. TIKA-488

Add alternative search provider on site

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8
    • Component/s: documentation
    • Labels:
      None

      Description

      Add additional search provider (to existed Lucid Find) search-lucene.com.

      Initiated in discussion: http://www.search-lucene.com/m/uTJxE2kcRv1

      Requirements (copied from discussion):

      Jukka Zitting: "Ideally the search box would allow the user to choose which provider
      to use. Something like a cookie that remembers the user's selection
      would be nice. If the user doesn't make an explicit selection of the
      provider, then one should be selected randomly for the first search
      and remembered afterwards for consistency.

      It would be great if the required logic was implemented on the client
      side using javascript, as otherwise we'd need to start messing up with
      CGI scripts, etc."

        Activity

        Alex Baranau created issue -
        Hide
        Alex Baranau added a comment -

        Attachment contains site.vm changes only.

        Show
        Alex Baranau added a comment - Attachment contains site.vm changes only.
        Alex Baranau made changes -
        Field Original Value New Value
        Attachment adding_alternative_search_provider.patch [ 12452624 ]
        Hide
        Chris A. Mattmann added a comment -

        Hi Alex,

        Thanks for this patch! I'm wondering – why keep the choice for a year? I don't really get that. How about we just expose a select list or something and let the user explicitly choose?

        Cheers,
        Chris

        Show
        Chris A. Mattmann added a comment - Hi Alex, Thanks for this patch! I'm wondering – why keep the choice for a year? I don't really get that. How about we just expose a select list or something and let the user explicitly choose? Cheers, Chris
        Hide
        Alex Baranau added a comment -

        Hi Chris,

        Thank you for reviewing the patch.

        In case user doesn't select any provider from the dropdown then it is determined randomly. And even if it was randomly determined we store the selection in s cookie. I got this idea from Jukka's comment:

        "...If the user doesn't make an explicit selection of the
        provider, then one should be selected randomly for the first search
        and remembered afterwards for consistency."

        Do I understand his intention correctly?

        Re "one year" life time: I thought it is a good term for this purpose. Please, let me know if you think we should adjust it.

        Alex.

        Show
        Alex Baranau added a comment - Hi Chris, Thank you for reviewing the patch. In case user doesn't select any provider from the dropdown then it is determined randomly. And even if it was randomly determined we store the selection in s cookie. I got this idea from Jukka's comment: "...If the user doesn't make an explicit selection of the provider, then one should be selected randomly for the first search and remembered afterwards for consistency." Do I understand his intention correctly? Re "one year" life time: I thought it is a good term for this purpose. Please, let me know if you think we should adjust it. Alex.
        Hide
        Chris A. Mattmann added a comment -

        Hi Alex,

        Thanks.

        In case user doesn't select any provider from the dropdown then it is determined randomly. And even if it was randomly determined we store the selection in s cookie. I got this idea from Jukka's comment: [...]

        I would just force the user to make the selection. Why make it random?

        Cheers,
        Chris

        Show
        Chris A. Mattmann added a comment - Hi Alex, Thanks. In case user doesn't select any provider from the dropdown then it is determined randomly. And even if it was randomly determined we store the selection in s cookie. I got this idea from Jukka's comment: [...] I would just force the user to make the selection. Why make it random? Cheers, Chris
        Hide
        Jukka Zitting added a comment -

        > Why make it random?

        I want to be able to just type in my query and hit enter. The average user shouldn't have to care about which provider is being used. See also http://www.joelonsoftware.com/items/2010/08/19.html

        Show
        Jukka Zitting added a comment - > Why make it random? I want to be able to just type in my query and hit enter. The average user shouldn't have to care about which provider is being used. See also http://www.joelonsoftware.com/items/2010/08/19.html
        Hide
        Alex Baranau added a comment -

        Chris,

        Do you mean something like "disable Search button until provider is selected"? Looks not very user-friendly to me. It might makes sense to select some option from the list when user opens page for the first time (instead of doing it in case user didn't change default "select provider" choice after he presses the Search button). But imo when we show user "select provider" message explicitly, we better "advertise" multiple options he has (so that user can note that he has a choice easier).
        Thoughts?

        Alex.

        Show
        Alex Baranau added a comment - Chris, Do you mean something like "disable Search button until provider is selected"? Looks not very user-friendly to me. It might makes sense to select some option from the list when user opens page for the first time (instead of doing it in case user didn't change default "select provider" choice after he presses the Search button). But imo when we show user "select provider" message explicitly, we better "advertise" multiple options he has (so that user can note that he has a choice easier). Thoughts? Alex.
        Hide
        Chris A. Mattmann added a comment -

        I want to be able to just type in my query and hit enter. The average user shouldn't have to care about which provider is being used. See also http://www.joelonsoftware.com/items/2010/08/19.html

        Heh, yeah. It's simple if there is one provider. The problem is though, the randomness bugs me because it means the results aren't repeatable. As a user, if do a search and then on some days (or in the case of this patch, on some years ) I see Lucid's skin and results and am taken to its website, bu then on others I see Sematext's, with possibly different results, and an entirely different skin, I'm kind of like huh?

        I don't feel strongly about this though since I rarely do searches via our search box, but at the very least if the choice is random it shouldn't be in there for a year. If it is, that means that we really remove the randomness, and then X% of our community will think that the search always go to Lucid, and 100-X% will think that our search always goes to Sematext. So, at the very least, that needs to be a more sensible number, I think.

        Cheers,
        Chris

        Show
        Chris A. Mattmann added a comment - I want to be able to just type in my query and hit enter. The average user shouldn't have to care about which provider is being used. See also http://www.joelonsoftware.com/items/2010/08/19.html Heh, yeah. It's simple if there is one provider. The problem is though, the randomness bugs me because it means the results aren't repeatable. As a user, if do a search and then on some days (or in the case of this patch, on some years ) I see Lucid's skin and results and am taken to its website, bu then on others I see Sematext's, with possibly different results, and an entirely different skin, I'm kind of like huh? I don't feel strongly about this though since I rarely do searches via our search box, but at the very least if the choice is random it shouldn't be in there for a year. If it is, that means that we really remove the randomness, and then X% of our community will think that the search always go to Lucid, and 100-X% will think that our search always goes to Sematext. So, at the very least, that needs to be a more sensible number, I think. Cheers, Chris
        Hide
        Chris A. Mattmann added a comment -

        Hi Alex:

        Do you mean something like "disable Search button until provider is selected"? Looks not very user-friendly to me.

        No. There's more than one UI way to force a user to make a selection. One way would be to just make one of the items in the select box selected by default and let the user explicitly decide to choose the other one. We could make the "selected" attribute the thing that is random.

        It might makes sense to select some option from the list when user opens page for the first time (instead of doing it in case user didn't change default "select provider" choice after he presses the Search button). But imo when we show user "select provider" message explicitly, we better "advertise" multiple options he has (so that user can note that he has a choice easier).

        Yeah like I said above I think what you're saying here is one of the options to make this happen. Also see my comments back to Jukka. I don't feel really strongly about the how UI-wise this gets accomplished, but I do feel strongly about making magic defaults last for a year.

        Cheers,
        Chris

        Show
        Chris A. Mattmann added a comment - Hi Alex: Do you mean something like "disable Search button until provider is selected"? Looks not very user-friendly to me. No. There's more than one UI way to force a user to make a selection. One way would be to just make one of the items in the select box selected by default and let the user explicitly decide to choose the other one. We could make the "selected" attribute the thing that is random. It might makes sense to select some option from the list when user opens page for the first time (instead of doing it in case user didn't change default "select provider" choice after he presses the Search button). But imo when we show user "select provider" message explicitly, we better "advertise" multiple options he has (so that user can note that he has a choice easier). Yeah like I said above I think what you're saying here is one of the options to make this happen. Also see my comments back to Jukka. I don't feel really strongly about the how UI-wise this gets accomplished, but I do feel strongly about making magic defaults last for a year. Cheers, Chris
        Hide
        Grant Ingersoll added a comment -

        Yeah, I'd agree, a year is a bit much. I think a drop down should suffice and it would be nice to be able to get the same results.

        Show
        Grant Ingersoll added a comment - Yeah, I'd agree, a year is a bit much. I think a drop down should suffice and it would be nice to be able to get the same results.
        Hide
        Alex Baranau added a comment -

        Let me elaborate on how the patch works (for those who don't have time to do check-out apply it and build things):

        When user first opens the page he sees the dropdown with providers and "select provider" option is selected by default.
        a) In case user leaves "select provider" (i.e. doesn't pick any provider) then system will determine the provider for him randomly. System will store the choice in cookie (one year length). Next time user opens a page the provider in dropdown will be pre-selected to the use the same search provider (user will see the same "skin" if he doesn't change provider). But user is able to change the provider using that dropdown (it is still available). If he does this, system acts as in point b).
        b) In case user selects particular provider from the dropdown then system will store selection in a cookie (for a year) and will use it unless user one time selects to use different one.

        So it's not that user is "locked" with some provider for a year if he doesn't make explicit selection: he/she is free to change it (I believe that the dropdown is quite noticeable). It's just that consistency of a "skin" that we support by storing selection (random or explicit) in a cookie for such a long period. We could change

        Show
        Alex Baranau added a comment - Let me elaborate on how the patch works (for those who don't have time to do check-out apply it and build things): When user first opens the page he sees the dropdown with providers and "select provider" option is selected by default. a) In case user leaves "select provider" (i.e. doesn't pick any provider) then system will determine the provider for him randomly. System will store the choice in cookie (one year length). Next time user opens a page the provider in dropdown will be pre-selected to the use the same search provider (user will see the same "skin" if he doesn't change provider). But user is able to change the provider using that dropdown (it is still available). If he does this, system acts as in point b). b) In case user selects particular provider from the dropdown then system will store selection in a cookie (for a year) and will use it unless user one time selects to use different one. So it's not that user is "locked" with some provider for a year if he doesn't make explicit selection: he/she is free to change it (I believe that the dropdown is quite noticeable). It's just that consistency of a "skin" that we support by storing selection (random or explicit) in a cookie for such a long period. We could change
        Hide
        Chris A. Mattmann added a comment -

        Thanks Alex. I'll try and test the patch out. Again, my position is that a year is a bit long for a cookie expiration that sets an explicit default (even if it's overridable by a user).

        Show
        Chris A. Mattmann added a comment - Thanks Alex. I'll try and test the patch out. Again, my position is that a year is a bit long for a cookie expiration that sets an explicit default (even if it's overridable by a user).
        Chris A. Mattmann made changes -
        Assignee Chris A. Mattmann [ chrismattmann ]
        Chris A. Mattmann made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Hide
        Alex Baranau added a comment -

        Thanks, Chris.

        I tend to agree with that one year is too much. Let's come up with some time interval which will give user an impression of consistency (in terms of "search skin") and also will allow users to find out that there are multiple search engines available.

        Show
        Alex Baranau added a comment - Thanks, Chris. I tend to agree with that one year is too much. Let's come up with some time interval which will give user an impression of consistency (in terms of "search skin") and also will allow users to find out that there are multiple search engines available.
        Hide
        Otis Gospodnetic added a comment -

        I'm fine with whatever time period people think will work best for users. Maybe that's just 3 months, maybe 6, maybe 12. I suppose it's safer to pick a smaller value.

        I do agree with Chris about picking a random provider and displaying its name as selected in the pull-down menu if we don't detect a previously stored cookie. It feels a little better than picking a random provider after the person clicks on the search button. At the same time, showing something like "select provider" may nudge the person to actually open up the pull-down and explicitly look for and pick a provider (he/she will have to do this only once every N months) - picking a random provider and displaying it as selected may not get the person to look at what other providers are available.

        I can see the benefits of both approaches, so I'm fine with either choice. Plus, we can change the behaviour later if after some use we feel the other approach might be better after all.

        Show
        Otis Gospodnetic added a comment - I'm fine with whatever time period people think will work best for users. Maybe that's just 3 months, maybe 6, maybe 12. I suppose it's safer to pick a smaller value. I do agree with Chris about picking a random provider and displaying its name as selected in the pull-down menu if we don't detect a previously stored cookie. It feels a little better than picking a random provider after the person clicks on the search button. At the same time, showing something like "select provider" may nudge the person to actually open up the pull-down and explicitly look for and pick a provider (he/she will have to do this only once every N months) - picking a random provider and displaying it as selected may not get the person to look at what other providers are available. I can see the benefits of both approaches, so I'm fine with either choice. Plus, we can change the behaviour later if after some use we feel the other approach might be better after all.
        Hide
        Otis Gospodnetic added a comment -

        Chris, do you want to commit this as-is and refine later when more people get to try it, or should we change how things work with random search provider selection before committing?

        Show
        Otis Gospodnetic added a comment - Chris, do you want to commit this as-is and refine later when more people get to try it, or should we change how things work with random search provider selection before committing?
        Hide
        Chris A. Mattmann added a comment -

        Hi Otis:

        Yeah I don't want to get in the way on this. I'll probably just commit it with a shorter cookie lifespan (maybe a few months), and get the ball rolling.

        Cheers,
        Chris

        Show
        Chris A. Mattmann added a comment - Hi Otis: Yeah I don't want to get in the way on this. I'll probably just commit it with a shorter cookie lifespan (maybe a few months), and get the ball rolling. Cheers, Chris
        Hide
        Chris A. Mattmann added a comment -
        • patch applied to latest website in r991187. I changed the cookie time span from 1 year to 90 days. I think that's a fine default, and shouldn't create too much hassle for the users of the site for a default selection. Thanks to Alex for the patch and to those that commented!
        Show
        Chris A. Mattmann added a comment - patch applied to latest website in r991187. I changed the cookie time span from 1 year to 90 days. I think that's a fine default, and shouldn't create too much hassle for the users of the site for a default selection. Thanks to Alex for the patch and to those that commented!
        Chris A. Mattmann made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Fix Version/s 0.8 [ 12314877 ]
        Resolution Fixed [ 1 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        5h 59m 1 Chris A. Mattmann 20/Aug/10 19:04
        In Progress In Progress Resolved Resolved
        10d 19h 36m 1 Chris A. Mattmann 31/Aug/10 14:40

          People

          • Assignee:
            Chris A. Mattmann
            Reporter:
            Alex Baranau
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development