gordonbrander/rocket-bar — pull request #2 by Gozala (2013-01-25 10:29:40+00:00)
Title: Better search

Ok so this pull request makes bunch of changes:

1. All the noun data moved into separate json files.
2. Verbs are no longer hardcoded for nouns, instead there is apps.json which is sort of
app registry containing declarative action definitions for apps. This makes adding
new apps / actions super easy.
3. Now verbs and nouns are combined on the fly, first search attempts to match input
as verbs + data (such matches will have bigger scores), then attempts match input
as just data. (such matches get less score than verb + data). All of this are mathches
are merged togather.
4. Now there is `results` stream that represents stream of all searches ever made :) Although each query starts with special `SOQ` value that indicates Start of the query
results. In this way writer / renderer can decide to dim or discard previous matches.
5. Results are now rendered by their score although that part is in previous pull request
#1
6. Instead of making contacts a special case I registered app `contacts.gaiamobile.org`
with action that has empty name and takes `contact` as parameter. This way contact
matches are displayed naturally. In similar way music app could define action with
empty name. This than will match all the songs just by typing song name and will be
identical to typing `play ` followed by same song name.