Taskfox
Contents
About Taskfox
Introduction
Taskfox is a project to uplift some of the things that were learnt from the Ubiquity project into a future version of Firefox. Its aim is to allow users to quickly access information and perform tasks that would normally take several steps to complete.
While the two projects share some common ideas and use cases, the goals are not all the same. Unlike Ubiquity, Taskfox is not a platform, is not intended to bring the user and the web together via language, and will not feature natural language processing. Also unlike Ubiquity, Taskfox will be part of the existing Firefox user interface, and will be localized to all locales that Firefox ships with.
Note: Taskfox is just a codename. Don't expect Firefox to ship using this name.
Goals and non-goals
See the goals and non-goals page.
Use Cases
See the use cases page.
Status & Roadmap
See the project status page and roadmap.
Background
Ubiquity
Over 200 thousand people are using Ubiquity daily, with hundreds of command authors, and thousands of commands in the wild. The Herd has seen over 1,200 unique command feeds submitted, many of which contain multiple commands. Commands have been written by the community, extension authors, and developers of websites and web services. The user tutorial is available in 10 languages, thanks to community contributions.
More information:
Rationale
While Ubiquity continues to be a successful experiment, its audience remains limited to people who:
- are willing (and brave enough) to experiment with alternative, natural language keyboard style interfaces
- use web applications extensively for email, calendaring, document editing, online collaboration and most of their day to day tasks
- understand that the web is a collection of data which can be remixed, mashed together, and edited by users as well as by web developers
- are familiar with Firefox Add-Ons and willing to install Ubiquity on all their machines
- know at least some basic English
However, the underlying benefits that Ubiquity offers are far more universal. All internet users perform some set of tasks regularly - and many of these tasks require the same set of steps to be taken every time. The browser should facilitate accomplishing the end-goal and help reduce the number of steps to reach that goal whenever possible.
And that's where Taskfox comes in. The basic idea behind Taskfox is simple: take the time-saving ideas behind Ubiquity, and put them into Firefox. That means allowing users to quickly access information and perform tasks that would normally take several steps to complete. While the two projects share some common ideas and use cases, the goals are not all the same.
Get involved
IRC
Join #fx-team on irc.mozilla.org.
Mailing lists
General discussion takes place on the mozilla.dev.apps.firefox newsgroup. This is also accessible via the dev-apps-firefox mailing list and Google Groups.
Get the code
Note: Taskfox is still in the very early stages of development. As such, there are no guarantees as to whether the code will run, do as you expect, or be stable.
Code
Taskfox is in an Incubator Repository at: https://hg.mozilla.org/incubator/taskfox/.
Normal Firefox build procedures apply. At the moment, it is not guaranteed that the tree will be green at any given time.
Organization
Pretty much all of the Taskfox related code lives in browser/components/tasks.
Some interesting files to note:
- taskBindings.xml: most of taskfox UI
- nsTaskController.js: input parser
- nsTaskQuery.js: parsed input representation
- nsITaskVerb.idl: interface for verbs
- VerbUtils.jsm: helper for making verbs
Modified files that don't live under browser/components/tasks are limited to urlbarBindings.xml to act as a shim for Taskfox and various css files for styling.
Latest Builds
Latest builds are always available at: http://people.mozilla.org/~bmcbride/taskfox/latest/
Report a bug
Submit new bugs to Bugzilla. Be sure to add [taskfox] to the whiteboard.
Existing bugs can be found here.
Issues to resolve
User Interactions & Workflows
The general user experience, and the interaction model are still being designed.
- Interactive mockup here (type slowly): http://www.azarask.in/aza/TaskFox/
- UI wireframes for the Jun 18th meeting, discusses result behavior, simplified UI, improved discoverability. Media:Taskfox_UI,_June_18_Meeting.pdf
Localization
See the l10n page.
Contextual suggestions
Contextual suggestions are desirable, but only if they work correctly. This is comparable to Ubiquity's noun-first suggestions. Potentially, FireFox's microformats support could be leveraged for this. For some additional thoughts on this, see http://www.azarask.in/blog/post/new-tabs/
Required resources
- Metrics on Ubiquity usage
- Specifically, which are the most popular verbs
- Help from localizers
- See the l10n page
- Many cups of coffee
- And cake