2006/11/30, Joe Shaw &lt;<a href="mailto:joeshaw@novell.com">joeshaw@novell.com</a>&gt;:<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;">
Hi,<br><br>On Thu, 2006-11-30 at 09:32 +0800, Fabrice Colin wrote:<br>&gt; On 11/30/06, Mikkel Kamstrup Erlandsen &lt;<a href="mailto:mikkel.kamstrup@gmail.com">mikkel.kamstrup@gmail.com</a>&gt; wrote:<br>&gt; &gt; Ok. My opinion is this:
<br>&gt; &gt;<br>&gt; &gt; Create a simple api for direct use. No live queries, just batch deliverance<br>&gt; &gt; and support for paging (much like the current spec on WasabiSearchSimple).<br>&gt; &gt; The question on whether to standardize on a simple query (non-xml, maybe
<br>&gt; &gt; beagle-like syntax) language as well remains open.<br>&gt; &gt;<br>&gt; &gt; When we have the simple interface in place, create a &quot;live&quot; (or &quot;full&quot;)<br>&gt; &gt; interface to support live queries and what not. This includes a XML query
<br>&gt; &gt; language. This interface is intended for toolkit bindings (think native<br>&gt; &gt; Client objects in QT/Gobject), but should be usable without these.<br>&gt; &gt;<br>&gt; Agreed. Let's get a simple search interface working first without
<br>&gt; anything fancy.<br><br>Do we know who the end user here is going to be?&nbsp;&nbsp;Have we talked with<br>application developers about what they want?</blockquote><div><br>Not really. That's why we must pair close attention to what the current consumers does.  I would really love to go out and talk to each and every Gnome and KDE application maintainer, but that would require more people (on the Wasabi end) and a more clear goal.
<br><br>Read on...<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;">I've been involved in adding Beagle support to both Nautilus and Yelp,
<br>and the use cases for the two are pretty different.<br><br>For Nautilus, you're querying only for files, you want a basic search<br>entry, you also want some advanced querying features (like limiting by<br>mime type, or by path), and you want live queries.
<br><br>For Yelp, the use case is much simpler and probably closer to what other<br>people are thinking.&nbsp;&nbsp;You want to search only documentation, and you<br>want a search entry, and that's it.&nbsp;&nbsp;You type something in, you get back
<br>a list of URIs, the title for the document, and a small snippet.<br><br>I can imagine for an audio player like Banshee you'd want to limit to<br>only audio files, maybe some advanced property or date-range queries<br>
(show me only &quot;Rock&quot;, or show me only things I've added in the last<br>month), and you definitely want live queries.<br><br>My question is: what's the target goal here?&nbsp;&nbsp;Of my three listed use<br>cases, the proposed simple API only covers one of them.&nbsp;&nbsp;If our goal is
<br>to have a comprehensive, backend-independent search API, we're falling<br>short.&nbsp;&nbsp;If we're targeting a limited number of applications here, it's<br>probably fine.</blockquote><div><br>That's why I propose 2 apis :-)<br>
<br><a href="http://wiki.freedesktop.org/wiki/WasabiSearchSimple">http://wiki.freedesktop.org/wiki/WasabiSearchSimple</a><br><br><a href="http://wiki.freedesktop.org/wiki/WasabiSearchLive">http://wiki.freedesktop.org/wiki/WasabiSearchLive
</a><br><br>The Simple for apps that need static data (fx Yelp), and the Live for full blown search bonanza (or at least it should match your other requirements).<br><br>The Simple api needs a simple query language (meaning the one that the user types in), and the Libe api needs a full xml based query language which could allow embedding of the simple language as you described Beagle does.
<br></div><br><br>I suggest we agree on a Simple api and a Live api. When we have that we call it Draft 1. Then send it around to various would-be-consumers, and do n iterations of that procedure until we feel good everybody... (or atleast the vast majority)
<br><br>Cheers,<br>Mikkel<br></div>