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