Labs/Weave/Developer/HowToWriteClient

From MozillaWiki
< Labs‎ | Weave‎ | Developer
Jump to: navigation, search

How to Write a Weave Services Client

The Weave Services platform provides always-on, server-side services to give our users a consistent web browsing experience across all of their devices and programs.

This page describes how you can use these services to construct a client that uses this data. With these services, you can read from, and write to, the user's browsing history, bookmarks, saved passwords, open tabs, form history, and preferences.

Note that you should not use these services to construct a service that republishes the user data, or aggregates it. Users of our services expect their data to always remain under their control, which means that the plaintext should only be used on their own computer.


1. Choose an implementation platform, and check for library availability.

The Weave service is defined using standard HTTP messages, JSON encodings, and well-defined cryptographic protocols, but your job will be much easier if you use one of the libraries.

Check the Libraries section to see if your preferred language is supported yet; if not, you'll need to read the API pages and construct the appropriate network and cryptography calls yourself.

2. In your application, securely prompt the user for their username, password, and passphrase. If this information is to be persisted to disk, consider using encryption on it to prevent a casual attacker from gaining access to secret credentials.

3. Use the Sync API to retrieve data from the server. You can specific which collections or items you want, and provide additional restrictions like modification date, to reduce the amount of effort required.

4. Interpret the data from the server according to the Browser Object model, and implement your application!