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.
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.