2006/11/26, Jean-Francois Dockes <<a href="mailto:jean-francois.dockes@wanadoo.fr" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">jean-francois.dockes@wanadoo.fr</a>>:<div><span class="gmail_quote">
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>It's quite amazing how parallel thinking can bring people to the same point<br>over a few days. I am in quite complete agreement with Fabrice's message<br>and most of Wasabi2 or the recent edits by Mikkel on Wasabi.<br>
<br>The initial stated goal for Wasabi is/was quite broad, "Unified dbus api<br>for desktop search" was the subject of the email I received. This is what<br>made me react quite energically to the proposal for a query language.
<br><br>After a few days of thinking, I now think that there are 2 distincts<br>needs:<br><br> 1- A need for trivial enabling of text search in any (non-search)<br> application, with minimal fuss, (better described by Fabrice in the
<br> quoted message).<br><br> 2- A more hypothetical need for an interface that would allow<br> *search tool* front-end writers to make use of different search<br> back-ends.<br><br>The need for (1) is immediate and obvious, and maybe it should be made
<br>clearer that this is the initial goal for the Wasabi project.<br><br>This would remove any major objection on my part about the simple query<br>language on the WasabiDraft page.<br><br>In this perspective, I would even be in favor of removing the specification
<br>in Wasabi2 that the on-bus language is structured. Let us just prefix the<br>interface as Simple or Trivial or whatever, and let the backend deal with<br>query string interpretation.<br><br>As to (2), maybe we can put this on the back-burner for the time
<br>being. This is a more difficult project, and, if needed, it will be easy<br>enough to extend Wasabi with an alternative query interface, while keeping<br>compatibility for the non-search apps using the trivial interface.
<br>(There probably should be some mention of it somewhere on the project page<br>though, to make it clear that we differentiate the two perspectives).<br><br>Under the assumption that we are more or less in agreement, I have a few
<br>more comments about the simple interface:</blockquote><div><br><br>You can count me in on that assumption :-)<br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
- About the query language, and just for the record, the syntax described<br> on WasabiDraft is more the one from Beagle than the one from Lucene<br> (which defaults to ORing, not ANDing the terms I think). This is probably
<br> and appropriately more intuitive for end-users.</blockquote><div><br><br>Which is? AND or OR? This is kind of a religious thing I guess. At wotk we had a huge flame fest about this :-) We ended up ANDing... This was the ruling from our usability consultants, I work at a library, and the same usability rules might not apply to desktop search...
<br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
- I think that there are too many mandatory things in the 'switch'<br> list. For example, the 'group' concept, while interesting, is not<br> necessarily common back-end functionality. The 'author' switch might not<br> be so commonly supported either. I think that we should, specify a set of
<br> standard switches, specify also that back-ends should just ignore<br> switches they don't know or support, and let them do their best.</blockquote><div><br><br>Yeah, I admit that the current requirements was a bit arbitrary, I just needed to put something there...
<br>The idea with author and title and such was to take dublin core into consideration (which should probably not be mandatory for indexers). <br><br>The group switch is another deal. As I've pointed out before I think this is a really really useful switch to application developers, and as it has been pointed out elsewhere in this thread it is not always and easy task to group files.
<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">- Should we provide one/several sample parsers to turn the query string<br>
into a simple data structure ? This might help back-end adapter writers,<br> and also help remove any possible ambiguity from the language definition.</blockquote><div><br><br>There are several ways to do this. One idea could be to provide stand alone libs for QT and GObject... Ie. no "bindings" just pure implementations.
<br></div><br><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>PS: about Beagle and XML. There was a question about this somewhere, so I
<br>had a look this morning. From what I could see, XML is used only<br>implicitely in Beagle as the serialization form for communication between<br>the front-end and the beagled daemon. As this kind of serialization is<br>
supported directly by the standard C# libraries, it's more or less<br>transparent. The libbeagle C front-end library has to generate and parse<br>the XML "by hand". I don't think that there is anything else than this
<br>ad-hoc use of XML, and I didn't see anything ressembling a document<br>definition anywhere.</blockquote><div><br><br>Cool. Good that you took the time to look at this. Now we can dismiss that option with confidence. Thanks.
<br><br>Cheers,<br>Mikkel<br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Fabrice Colin writes:<br> > On 11/24/06, Jean-Francois Dockes <
<a href="mailto:jean-francois.dockes@wanadoo.fr" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
jean-francois.dockes@wanadoo.fr</a>> wrote:<br> > > Here follow my impressions after reading the Wasabi Draft document.<br> > > ...<br> > > Ok, enough for now, my only hope here is to restart thinking about the
<br> > > query language.<br> > ><br> ><br> > I have given some thought to this over the weekend and here's what I reckon.<br> ><br> > We do need a simple text string-based query language. The way I see it,
<br> > the main goal of Wasabi is to allow to plug any personal search system<br> > into existing applications (file managers, toolkits' file chooser<br> > dialogs, cataloguing software, etc...). These applications typically
<br> > only have a basic search user interface, i.e. a text field and maybe<br> > some knobs that can be tweaked.<br> ><br> > Once we have sorted out the dbus interface, these apps will only have to<br> > make a couple of method calls and pass the string entered by the
<br> > user. We should try to make it as easy as possible to run searches; any<br> > parsing/formatting that's necessary on the part of these apps will add<br> > complexity. The more complex it is, the less widely it will be adopted.
<br> > Since most end-users are familiar with the query format supported by<br> > popular Web engines, we should go for something similar. Leo mentioned<br> > Lucene's query language. While I agree we should avoid tying anything to
<br> > a particular search toolkit, a subset of that query language might make<br> > sense. If need be, an ABNF grammar would remove ambiguities.<br> ><br> ><br> > On the other hand, I agree with Jean-Francois that a more powerful query
<br> > language is better in the medium to long term. I don't know which is the<br> > most appropriate.<br> ><br> > I think a dual approach, as proposed on the second draft, makes sense.<br> ><br> > Fabrice
<br> > _______________________________________________<br> > xdg mailing list<br> > <a href="mailto:xdg@lists.freedesktop.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">xdg@lists.freedesktop.org
</a><br> > <a href="http://lists.freedesktop.org/mailman/listinfo/xdg" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.freedesktop.org/mailman/listinfo/xdg</a><br>_______________________________________________<br>xdg mailing list<br><a href="mailto:xdg@lists.freedesktop.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
xdg@lists.freedesktop.org</a><br><a href="http://lists.freedesktop.org/mailman/listinfo/xdg" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.freedesktop.org/mailman/listinfo/xdg</a><br></blockquote></div><br>