Labs/Site 2.0/Existing site replacement/Site content/Ubiquity: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(24 intermediate revisions by the same user not shown)
Line 26: Line 26:


== Initial blog post ==
== Initial blog post ==
Copy + links, if any
 
'''Re-Introducing Ubiquity'''
 
As a Labs project, Ubiquity is an investigation into two areas.  The first is '''linguistic interfaces''' -- interfaces where you type what you want to do.  Can such an interface be made practical as a part of everyday internet use?  Can it be made close enough to natural language that people can discover how to use it without special training?  Does it have significant speed advantages over a mouse-based interface?  Can it be made good enough at understanding the user's intentions that it is just as usable as a point-and-click interface?  Can it do all this for more languages than just English?
 
The second area of investigation is what we call '''verbifying the Web'''.  More and more websites are ''things that you do'' rather than ''places that you go to''.  We Digg things, Tweet things, Google for things, blog things, map things, and so on.  But in most cases, using one of these services requires copying some text, going to the appropriate website, and pasting it into a form.  How about if the interface to the Web treated these services as tools that you can pick up and take with you, to use anywhere, instead of treating them as destinations?
 
Ubiquity commands are small chunks of javascript which can interface with web services.  Any website can offer Ubiquity commands; any Ubiquity user who visits the site can see the commands and choose whether to subscribe to them.  Once subscribed to, those commands can be used anywhere.


== Project blurb + tagline ==
== Project blurb + tagline ==
Line 37: Line 44:


== User resources ==
== User resources ==
List of "User Resources" to be linked (and links, if external to Labs site)
 
[https://wiki.mozilla.org/Labs/Ubiquity/Latest_Ubiquity_User_Tutorial User Tutorial on labs wiki]
 
[irc://irc.mozilla.org/ubiquity The Ubiquity IRC channel on irc.mozilla.org].  Most of the developers hang out here and are happy to answer questions.
 
[http://groups.google.com/group/ubiquity-firefox The Ubiquity mailing list/discussion group]
 
[https://wiki.mozilla.org/Labs/Ubiquity Main Ubiquity page on the Mozilla wiki]
 
[https://wiki.mozilla.org/Labs/Ubiquity/Commands_In_The_Wild Browse custom Ubiquity commands others have written]


== Developer resources ==
== Developer resources ==
List of "Developer Resources" to be linked (with URLs, if external to Labs site)
 
[https://wiki.mozilla.org/Labs/Ubiquity Main Ubiquity page on Mozilla wiki]


== Top banner bullets (3) ==
== Top banner bullets (3) ==
Copy and links for three top level bullets, ie: "Where do I start?", "How does it work?", and "How can I help?" -- these can any three things you want.
 
[[#Get_Started|How do I get started using Ubiquity?]]
 
[[#Write_Commands|How do I write my own commands?]]
 
[[#Improve_Ubiquity|How can I help improve Ubiquity?]]


== User resource pages ==
== User resource pages ==
Copy for any "User Resources" pages that will live on the Labs site (ie: where do i start? how does it work? etc)
 
=== Get Started ===
 
First, you'll need to [https://addons.mozilla.org/en-US/firefox/addon/9527 install the Ubiquity extension].
 
After you install the extension and restart Firefox, you'll be taken to a page with a link for an interactive tutorial.  Click on that and then follow the tutorial's instructions; it will explain how to use Ubiquity and several of the most useful commands.
 
When you're done with the interactive tutorial, you can learn more by taking the more in-depth [https://wiki.mozilla.org/Labs/Ubiquity/Latest_Ubiquity_User_Tutorial User Tutorial] on the Mozilla Labs wiki.  The [https://wiki.mozilla.org/Labs/Ubiquity main Ubiquity page] on the wiki has links to many other useful informational resources as well.
 
If you have questions or problems, you can take them to the [http://groups.google.com/group/ubiquity-firefox Ubiquity-firefox mailing list/discussion group] or to the [irc://irc.mozilla.org/ubiquity Ubiquity IRC channel on irc.mozilla.org].  Most of the developers hang out here and are happy to answer questions.
 
If you are looking for more Ubiquity commands, you can browse through [https://wiki.mozilla.org/Labs/Ubiquity/Commands_In_The_Wild Browse Commands In The Wild], a wiki page that lists commands written by other Ubiquity users.  We make no guarantees about any of them, but you are welcome to install some and try them out.
 
Finally, if you are interested in learning how to write your own Ubiquity commands, read the [[#Write_Commands writing commands page]].


== Developer resource pages ==
== Developer resource pages ==
Copy for any internal "Developer Resources" pages to be included (Get involved, how to get started, etc)
 
=== Write Commands ===
 
Ubiquity commands are written in Javascript.  You can open the built-in command editor by running the "open command editor" command.  This is the fastest and easiest way to prototype new commands, as you won't have to restart Firefox or reload anything to see the changes in your commands. The command editor even has a button to import a template so you can
 
[https://wiki.mozilla.org/Labs/Ubiquity/Ubiquity_0.5_Author_Tutorial The Command Author Tutorial] explains everything you need to know about the API for writing commands and the many features and options that are available to you as a command developer.
 
If you wish to share your command with others, the above tutorial explains how to do that, too.
 
You should also read the brief guide to [https://wiki.mozilla.org/Labs/Ubiquity/Secure_Coding_Practices secure coding practices] for Ubiquity commands, which includes making the decision about whether to share your command using the more powerful but less secure Standard Feed, or the more restricted but more secure Locked-Down Feed.
 
Finally, there is also a [https://wiki.mozilla.org/Labs/Ubiquity/Skins_v0.5 skinning tutorial] that explains how to customize the skin of the Ubiquity interface.
 
=== Improve Ubiquity ===
 
You don't have to be a coder to help improve Ubiquity.  We're looking for Javascript coders to help out, but we're also looking for testers, translators, and people who can write good documentation.
 
 
'''Test and Triage Bugs'''
 
# [https://ubiquity.mozilla.com/trac/report/1 Issue Tracker] - Used to report/discuss bugs and submit patches for Ubiquity.
# [[Labs/Ubiquity/Trac Components and Keywords|Trac Components and Keywords]] - Keywords and categories to use when filing Trac tickets.
 
'''Write documentation'''
 
# [[Labs/Ubiquity/0.5_Documentation|Help Document the 0.5 code here]] - working copies of the wiki documentation for the latest source version
# [[Labs/Ubiquity/Command_Documentation_Workspace|Help us improve the built-in command documentation by editing this page]]
# [[Labs/Ubiquity/Interactive_Tutorial_Workspace|Help us improve the interactive tutorial by editing this page]]
 
'''Localize'''
 
Help localize Ubiquity to your language!  Ubiquity has already been partly translated to Danish, English, Japanese, and Portugese, and volunteer localizers are working on many other languages too.
 
# [[Labs/Ubiquity/Parser_2/Localization_Tutorial|Localizing Ubiquity to Your Language]]
# [[Labs/Ubiquity/Ubiquity_0.5_Command_Localization_Tutorial|Localizing Commands to Your Language]]
# [http://groups.google.com/group/ubiquity-i18n Ubiquity i18n Google Group/mailing list] for discussion of internationalization and localization topics
 
 
'''Help out other users'''
 
# [http://groups.google.com/group/ubiquity-firefox General Google Group/mailing list] - Useful for discussion of command development, user interface, feature suggestions, and other high-level discussions.
 
'''Write code'''
 
# [https://wiki.mozilla.org/Labs/Ubiquity/Meetings Developer meetings] are open to anyone to call into: main Mozilla number, extension 92, conference room 202, at 5pm Pacific time on Wednesdays.  Any changes to the meeting schedule are announced on the mailing list.
# [http://groups.google.com/group/ubiquity-core Core Google Group/mailing list] - Discussion of low-level internals of Ubiquity.
# [https://ubiquity.mozilla.com/hg/ubiquity-firefox/ Ubiquity HG Repository] - The Mercurial source code repository for Ubiquity.
# [https://ubiquity.mozilla.com/hg/ubiquity-firefox/raw-file/tip/ubiquity/index.html Ubiquity Code Documentation] - Generated from the latest source code via [http://code.google.com/p/code-illuminated Code Illuminated].
# [[Labs/Ubiquity/Ubiquity 0.1_Development_Tutorial|Contributing to Core Development]]


== Privacy + Legal notices ==
== Privacy + Legal notices ==
Copy for and/or links to any project-specific privacy policies and legal notices
 
There are no Ubiquity-specific notices yet.

Latest revision as of 03:48, 4 July 2009

Project planet feeds

Planet Ubiquity Feed

Download link

Link for downloading most up-to-date production version of Ubiquity

Link for downloading the latest experimental beta version of Ubiquity

Discussions feed

Feed URL for latest discussions (new topics + replies)

Bug activity

Feed URL for latest bug activity

Latest checkins

Feed URL for latest checkins (all)

Support Feed

GetSatisfaction Feed

Initial blog post

Re-Introducing Ubiquity

As a Labs project, Ubiquity is an investigation into two areas. The first is linguistic interfaces -- interfaces where you type what you want to do. Can such an interface be made practical as a part of everyday internet use? Can it be made close enough to natural language that people can discover how to use it without special training? Does it have significant speed advantages over a mouse-based interface? Can it be made good enough at understanding the user's intentions that it is just as usable as a point-and-click interface? Can it do all this for more languages than just English?

The second area of investigation is what we call verbifying the Web. More and more websites are things that you do rather than places that you go to. We Digg things, Tweet things, Google for things, blog things, map things, and so on. But in most cases, using one of these services requires copying some text, going to the appropriate website, and pasting it into a form. How about if the interface to the Web treated these services as tools that you can pick up and take with you, to use anywhere, instead of treating them as destinations?

Ubiquity commands are small chunks of javascript which can interface with web services. Any website can offer Ubiquity commands; any Ubiquity user who visits the site can see the commands and choose whether to subscribe to them. Once subscribed to, those commands can be used anywhere.

Project blurb + tagline

 Don't just surf the web -- command it!

Ubiquity is a time-saving Firefox extension that simplifies common web activities by letting you give commands to Firefox. Ubiquity includes about 80 commands for speeding up common web activities (searching, translating, mapping, emailing, etc.), but also provides an API so you can write your own commands using Javascript. You can also share the commands you write, and subscribe to commands shared by other users.

To make it easy for users to run these commands, Ubiquity provides a unique pseudo-natural-language input method: You type what you want to do, and Ubiquity guesses what you mean and suggests the best-matching commands. For instance, you can select some foreign-language text on a web page, hit a hotkey to bring up the Ubiquity interface, and type "translate" (or just type "tr" and let Ubiquity figure out that you mean the translate command); then hit enter to have the selected text replaced, right in the page, with a translation to your language.

User resources

User Tutorial on labs wiki

The Ubiquity IRC channel on irc.mozilla.org. Most of the developers hang out here and are happy to answer questions.

The Ubiquity mailing list/discussion group

Main Ubiquity page on the Mozilla wiki

Browse custom Ubiquity commands others have written

Developer resources

Main Ubiquity page on Mozilla wiki

Top banner bullets (3)

How do I get started using Ubiquity?

How do I write my own commands?

How can I help improve Ubiquity?

User resource pages

Get Started

First, you'll need to install the Ubiquity extension.

After you install the extension and restart Firefox, you'll be taken to a page with a link for an interactive tutorial. Click on that and then follow the tutorial's instructions; it will explain how to use Ubiquity and several of the most useful commands.

When you're done with the interactive tutorial, you can learn more by taking the more in-depth User Tutorial on the Mozilla Labs wiki. The main Ubiquity page on the wiki has links to many other useful informational resources as well.

If you have questions or problems, you can take them to the Ubiquity-firefox mailing list/discussion group or to the Ubiquity IRC channel on irc.mozilla.org. Most of the developers hang out here and are happy to answer questions.

If you are looking for more Ubiquity commands, you can browse through Browse Commands In The Wild, a wiki page that lists commands written by other Ubiquity users. We make no guarantees about any of them, but you are welcome to install some and try them out.

Finally, if you are interested in learning how to write your own Ubiquity commands, read the #Write_Commands writing commands page.

Developer resource pages

Write Commands

Ubiquity commands are written in Javascript. You can open the built-in command editor by running the "open command editor" command. This is the fastest and easiest way to prototype new commands, as you won't have to restart Firefox or reload anything to see the changes in your commands. The command editor even has a button to import a template so you can

The Command Author Tutorial explains everything you need to know about the API for writing commands and the many features and options that are available to you as a command developer.

If you wish to share your command with others, the above tutorial explains how to do that, too.

You should also read the brief guide to secure coding practices for Ubiquity commands, which includes making the decision about whether to share your command using the more powerful but less secure Standard Feed, or the more restricted but more secure Locked-Down Feed.

Finally, there is also a skinning tutorial that explains how to customize the skin of the Ubiquity interface.

Improve Ubiquity

You don't have to be a coder to help improve Ubiquity. We're looking for Javascript coders to help out, but we're also looking for testers, translators, and people who can write good documentation.


Test and Triage Bugs

  1. Issue Tracker - Used to report/discuss bugs and submit patches for Ubiquity.
  2. Trac Components and Keywords - Keywords and categories to use when filing Trac tickets.

Write documentation

  1. Help Document the 0.5 code here - working copies of the wiki documentation for the latest source version
  2. Help us improve the built-in command documentation by editing this page
  3. Help us improve the interactive tutorial by editing this page

Localize

Help localize Ubiquity to your language! Ubiquity has already been partly translated to Danish, English, Japanese, and Portugese, and volunteer localizers are working on many other languages too.

  1. Localizing Ubiquity to Your Language
  2. Localizing Commands to Your Language
  3. Ubiquity i18n Google Group/mailing list for discussion of internationalization and localization topics


Help out other users

  1. General Google Group/mailing list - Useful for discussion of command development, user interface, feature suggestions, and other high-level discussions.

Write code

  1. Developer meetings are open to anyone to call into: main Mozilla number, extension 92, conference room 202, at 5pm Pacific time on Wednesdays. Any changes to the meeting schedule are announced on the mailing list.
  2. Core Google Group/mailing list - Discussion of low-level internals of Ubiquity.
  3. Ubiquity HG Repository - The Mercurial source code repository for Ubiquity.
  4. Ubiquity Code Documentation - Generated from the latest source code via Code Illuminated.
  5. Contributing to Core Development

Privacy + Legal notices

There are no Ubiquity-specific notices yet.