Planned protocol/code features
Below is a list of the major improvements and areas for research that will probably end up in future releases, but are not scheduled for inclusion any time soon.
The tasks are broken down by subject, in no particular order. See the next releases for caveat on timing.
XMPP coupling
Look at how the following could be useful:
- JEP-0004 Data Forms
- JEP-0020 Feature Negotiation
- JEP-0030 Service Discovery
- JEP-0045 Multi-User Chat
- JEP-0060 Publish-Subscribe
Protocol improvements
- Allow directives to manipulate attributes and text nodes as well as elements.
- (If we can't get multicasting to work) Consider allowing multiple controller JIDs per viewport with one master JID.
- Consider document/service metadata possibilities for provided initial root element etc.
- client-side errors optionally sent to server?
- (maybe) find a way to transport inline DTD info and entity references.
XMPP API Extensions
Demo Gradient Client
- Validate stanzas sent from script.
- Validate directives
General codebase issues
- Get the XMLPull driver to work with the SAX SVGDocumentFactory, which would save us time & memory.
- Consider refactoring the SMACK API to allow registering extension providers PER XMPPConnection. This should allow us to avoid the importNode issue.
- an XMLPULL 2 SVGDoc Factory would be nice. SAX from inputStream would be even nicer...
Client scripting environment:
- Improvement of the ECMAScript extensions for interfacing with XMPP.
- (maybe) Write ECMAScript functions to manipulate the viewport.
- (maybe, eventually, and only after some careful thought) Allow sufficiently privileged ECMAScript to open new tabs.
Work with alternate clients & markup languages
- figure out a way to render / integrate XForms or the XHTML 1.1 Forms module, or XMPP Data Forms.
- (eventually, maybe) use JabberZilla to write an XMPP/Gradient transport for XUL and/or XHTML instead of SVG.
- (eventually, maybe) use JabberZilla to write a Gradient client that can render mixed-mode documents (e.g. XHTML and SVG).
- (eventually, theoretically) use the Gradient client to add network-transparent real-time collaborative document editing to Open Office, since all their document formats are XML (if they don't have a better way of doing this already).
© 2006. Some rights reserved. Author: Ian Sollars.