Labs/Ubiquity/Ubiquity 0.5 Release Notes: Difference between revisions
Line 42: | Line 42: | ||
Here is [[Labs/Ubiquity/Parser_2_API_Conversion_Tutorial|the command conversion tutorial]] that documents how to take a command written for the old version and make it work in the new version. | Here is [[Labs/Ubiquity/Parser_2_API_Conversion_Tutorial|the command conversion tutorial]] that documents how to take a command written for the old version and make it work in the new version. | ||
= Changes to Built-in Commands = | = Changes to Built-in and Standard Feed Commands = | ||
* Built-in and Standard Feed commands have all been updated to work in Parser 2. | |||
* New commands include "enable command", "disable command", "get support", "run selector-selector", "command history", "undo closed tabs", "run bookmarklet", and "check livemark". See the command list page for documentation on these new commands. | |||
* The "map these", "sparkline", "convert (to format)", and all image-manipulation commands have been moved out of the standard feeds into the experimental-command feed, because their interfaces and implementation need to be redesigned in order to bring them in line with the standards set by the other commands. You can still run them if you go to the "hack ubiquity" page and click on the "experimental feeds" link (at the bottom left). | |||
* Most commands have been renamed to bring them in line with our new naming standards. All commands with hyphens in their names now have spaces instead. Command names should all start with action verbs now (e.g. 'check weather' instead of 'weather', 'list commands' instead of 'command list'). Many synonyms have been added. Wherever possible, we tried to make it so that using the old command name would still complete to the new name (e.g. typing 'weather' still completes to 'check weather'). | |||
= Asynchronous Queries and Noun Recognition = | = Asynchronous Queries and Noun Recognition = |
Revision as of 20:43, 23 June 2009
Changes to Web Content
- The 'tabs' at the top of the about:ubiquity pages have been reorganized. The new list is "tutorial", "settings", "your commands", "get new commands", "support", and "hack ubiquity".
- Tutorial page has rewritten contents aimed at brand-new users: explanation of what ubiquity is, etc. Video has been removed.
- Tutorial page has new interactive tutorial which walks user through the basic concepts of using Ubiquity and introduces several of the most useful commands.
- All the developer-related stuff is off the front page and is now on the "hack ubiquity" page along with the command editor.
- UI to change keyboard settings moved to same page with skin-list, and that page renamed from skin-list to settings. The new language settings are also on that page.
- New support page has links to bug reporter, to reset settings, and links to many places to get help.
- Commands list has been combined with subscribed feeds list into a new unified interface on the "your commands" page.
- Links are updated, some slogans are changed, etc.
New Parser
- New parser implementation (parser 2), with new parsing algorithm; the design is documented here. Parser 2 is now the default; there is a switch on the Settings page which you can use to get back to the old parser if you want it.
- Parser 2 identifies arguments by semantic roles for easier localization. (e.g. the recipient of the email command is a "goal" role, which means it is identified by the word "to" in English, by the particle "ni" in Japanese, etc.)
- Language-specific grammar files for Parser2 are a new format, which is all declarative -- essentially, just a bunch of strings, so that non-programmers can help with localizing the parser grammar. See theParser 2 Localization Tutorial.
- Parser 2 uses a more sophisticated ranking mechanism, which among other things allows nountypes to contribute weightings that affect how their verbs are ranked in the suggestion list.
- Spaces are now allowed in command names, a feature of which we take full advantage -- see the section on changes in standard feed commands.
Localization and Internationalization
Changes in Command API
The API for writing Ubiquity commands has changed for Parser 2. Parser 1 is forward-compatible to use commands written for Parser2, but Parser 2 is not backwards compatible to use commands written for Parser1, so commands written for Parser 1 need to be rewritten.
(We know that changing the API is a pain for command developers, so we will try not to do it often. We tried to make the new API future-proof and flexible enough to support our plans for the forseeable future, so we don't think we'll have to change the API again after this.)
Here is the Ubiquity 0.5 command development tutorial that documents the new API.
Here is the command conversion tutorial that documents how to take a command written for the old version and make it work in the new version.
Changes to Built-in and Standard Feed Commands
- Built-in and Standard Feed commands have all been updated to work in Parser 2.
- New commands include "enable command", "disable command", "get support", "run selector-selector", "command history", "undo closed tabs", "run bookmarklet", and "check livemark". See the command list page for documentation on these new commands.
- The "map these", "sparkline", "convert (to format)", and all image-manipulation commands have been moved out of the standard feeds into the experimental-command feed, because their interfaces and implementation need to be redesigned in order to bring them in line with the standards set by the other commands. You can still run them if you go to the "hack ubiquity" page and click on the "experimental feeds" link (at the bottom left).
- Most commands have been renamed to bring them in line with our new naming standards. All commands with hyphens in their names now have spaces instead. Command names should all start with action verbs now (e.g. 'check weather' instead of 'weather', 'list commands' instead of 'command list'). Many synonyms have been added. Wherever possible, we tried to make it so that using the old command name would still complete to the new name (e.g. typing 'weather' still completes to 'check weather').