Hi Dev,

It's great to hear from you, and great to see that you're approaching this project with a lot of both enthusiasm and thought.

So - you bring up a few different things in this email. First, there are the "quick wins" (well, hopefully quick) - things that could be improved in Special:Ask without needing to change the interface. The autocompletion currently times out the whole page if there are too many properties defined on the wiki - that can be fixed by just putting a limit on the number of properties retrieved, or, more sophisticatedly, by switching to "remote autocompletion" if there are more than x properties - so that the the property names aren't stored directly within the page HTML. And if a query is badly formed, the page should definitely display an error message at the top.

Second are the interface improvements. In my opinion, and I think it's shared by some developers I've talked to, the single biggest improvement to the Special:Ask interface would be to turn the two textareas on the page into groups of rows, that users can add to and remove from (via Javascript). For the first textarea, the one to define the set of pages queried, there could be one row for each "filter" - that way, users wouldn't have to learn the syntax ("[[a::b]]", etc.), and you could have autocompletion and such. Actually, it might be good to have three different such groups: one for categories, one for concepts (if there are any on the wiki), and one for properties. And that approach probably makes sense for the 2nd textarea as well, especially given the "display parameters" (defined by "|+") that are now possible in queries.

You seem to be getting at something more, though, especially in this paragraph:

One of the ways many others have attacked the problem is by building
extensions for SMW which make it easier to find data or build queries, such
as Halo, Drilldown and Exhibit. These products do a great job, but they have
common aspects (which people at the dev-list were kind to point out) that
could be abstracted out. In short, if we could separate (i) a powerful
result printer and (ii)a clean usable interface, from Special:Ask, then in
the future one could build an awesome query builder/a new result printer/a
data-explorer by writing less code.

This paragraph confused me, actually. Semantic Drilldown and Exhibit definitely have aspects in common - SD's "filters" and Exhibit's "facets" are basically the same thing. For Halo - I assume you're talking about Special:QueryInterface, but maybe you're talking about the SMW+ "Faceted Browser" extension. In either case, I don't know what you mean about abstracting out common aspects. And I also don't know what you meant by "a powerful result printer". Could you clarify these?

Finally, this is kind of a minor point, but we had a brief discussion on the mailing list a while ago about maybe renaming "Semantic search" (the current title of Special:Ask) to something that sounds less intimidating - I suggested "Query creator" or "Create a query". If you're already overhauling the page, that might be worth thinking about too. And the actual name of the page, "Special:Ask", could be changed as well, if some other name makes more sense.

-Yaron