Back to Labs/Weave.
Weave Projects And TODOs
Here's a start. This list is not exhaustive ;)
WebUI
Ability to view bookmarks. Adding bookmarks or otherwise managing them would be nice too. Viewing history would be a plus.
Encryption and decryption in the browser will be quite slow, both RSA and AES are required, the web app will probably need to present progress to the user so they know what's up.
Server Formats / DB Splitting
The server currently has all data from a given engine (bookmarks, history, etc) all in one big blob. This needs to change to multiple files so that we can share different chunks of data with different people.
Another related project is to split up deltas so they are on separate files on the server, with the filenames being the delta version number. Currently they are all in one file, and that means that adding a delta requires downloading all deltas, appending, then uploading all of them again.
UI Work
From design to implementation, we need it all.
OAuth Support
Implement OAuth on the server-side to allow 3rd parties to access your data. This involves creating a registration system for 3rd parties, implementing the OAuth spec (probably in python/django), and creating some basic landing pages for it all to work.
Thunderbird Port
Thunderbird trunk would be easiest. Chris has some starter code here already, but there's a lot to do, and interesting projects to build on top, sharing data between TB and Fx.
Mobile Devices
Any project here would be great to see. It can be web-based, and through a separate service that talks to Weave using the 3rd-party API (e.g., OAuth), then transcodes to make content easy to consume on the phone.
NSS Support
We are using OpenSSL at the moment, but we really need to move to NSS. Weave is implemented in JavaScript, and there are currently very few interfaces to NSS from JS. This work involves several sub-projects:
- Ensuring NSS can do all the things we need it to.
- Putting together a build environment within the Weave extension, so we can build binary components that link to NSS.
- Creating interfaces (XPCOM) to expose the required NSS functionality.
- Changing Weave to use these new XPCOM interfaces instead of calling out to OpenSSL.
Additional Data-Type Support
Dictionaries, sessions (or just open tabs if that's too hard), installed extensions, preferences, ...
Data Harvesting
Detection of small bits of data (microformats, phone numbers, addresses, etc) and syncing them to the Weave store, so they can be reused/recycled by other apps and devices.
For example: you could use a simple webUI in a phone to look at addresses of places you were browsing yesterday to get a restaurant address you forgot.
Or: a thunderbird extension to sync URLs in emails you have received into your bookmarks store, so they will be automatically available in Firefox.