[sip-comm-dev] GSoC-whiteboard: coding questions & new "session manager" functionality


#1

Hi,
I work on the witheboard (GSoC) plugin for SIP-Comm, and i'have some
questions about that.

- First, a whiteboard message is a jabber message extension, so, the Smack
"PacketExtension" (
http://www.igniterealtime.org/builds/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/PacketExtension.html)
it's a good solution to generate a whiteboard-message ? (or it's not
appropriate?)

- The XEP-0113 witheboarding protocol is good but too simple, is it possible
to extend this protocol with "graphic functionalities" from SVGMobile (
http://www.w3.org/TR/SVGMobile/) ?

- For manage the svg code, it's better to use a SVG library. There are two
famous java lib for the SVG :
   * Batik (http://xmlgraphics.apache.org/batik/), but it's a "big" lib...
   * SVGSalamander (https://svgsalamander.dev.java.net/), smaller and
interesting for the whiteboard
Can I use one of these lib ?

- and to finish, I had started to work on another functionality:
a "session manager" for SIP-Comm; several "user accounts" in SIP-Comm,
so it will be possible to run several instance of SIP-Comm on the same
computer (nice for quick debug test ^^).
And for several user on the same computer, it's simpler to separate
contacts/history/...
Is it a good idea or I must forget it?

Thanks

Julien


#2

Hello Julien,

Java wrote:

Hi,
I work on the witheboard (GSoC) plugin for SIP-Comm, and i'have some questions about that.

- First, a whiteboard message is a jabber message extension, so, the Smack "PacketExtension" ( http://www.igniterealtime.org/builds/smack/docs/latest/javadoc/org/jivesoftware/smack/packet/PacketExtension.html ) it's a good solution to generate a whiteboard-message ? (or it's not appropriate?)

Indeed. You can have a look at the typing notifications and geolocation extensions for jabber as they are also doing this.

- The XEP-0113 witheboarding protocol is good but too simple, is it possible to extend this protocol with "graphic functionalities" from SVGMobile ( http://www.w3.org/TR/SVGMobile/) ?

Absolutely! I was also thinking that what XEP-0113 was offering was not enough for building an equivalent to most of the existing wb tools. In other words, feel free to extend it.

- For manage the svg code, it's better to use a SVG library. There are two famous java lib for the SVG :
   * Batik ( http://xmlgraphics.apache.org/batik/), but it's a "big" lib...
   * SVGSalamander (https://svgsalamander.dev.java.net/), smaller and interesting for the whiteboard
Can I use one of these lib ?

SVGSalamander looks nice and the license is compatible. They seem to be moving to a new project though - https://gazelle.dev.java.net/. We should keep this in mind and move to it as soon as they have a stable release.

- and to finish, I had started to work on another functionality:
a "session manager" for SIP-Comm; several "user accounts" in SIP-Comm,
so it will be possible to run several instance of SIP-Comm on the same computer (nice for quick debug test ^^).
And for several user on the same computer, it's simpler to separate contacts/history/...
Is it a good idea or I must forget it?

It is a very good idea! I would prefer to call it a profile manager though, in order to avoid confusion with the protocol accounts that users already have.

Here are a few pointers you might need along the way. I guess you know this already, but it won't hurt repeating, there is a property (net.java.sip.communicator.SC_HOME_DIR_LOCATION) that allows you to select a directory where you store all configuration, history, contact lists, ... and basically any file that sip-communicator creates.

Something else. Your profile manager could load as a first bundle, check if there are multiple existing profiles and popup a profile chooser if this is the case (it should remain silent otherwise). You could also add a configuration form that allows users to create and edit profiles.

Good luck!
Emil

···

Thanks

Julien

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net