[sip-comm-dev] [GSoC] Whiteboard - service classe patch


#1

Hi everybody,
You will find in attachment all the "service" classes for the whitboard :
OperationSetWhiteboarding
WhiteboardObject (comment not finish, but the methods are very simples)
WhiteboardParticipant
WhiteboardSession
...
It's a good "preview" for the future implemented functionalities (in the
next post :wink: )

Cheer,
Julien

sip-communicator_whiteboardService.patch (57.5 KB)


#2

Hi Julien,

As I've told you already, this is definitely a very good start! We've discussed certain aspects and improvements off list, and I am listing them here for the record. You could use this thread if you'd like to further discuss these issues or propose solutions.

* You have implemented a WHITEBOARD_STATE_CHANGE event and a WhiteboardState class. Still, it is not possible to retrieve the state of a whiteboard session. Guess, we'd need a new getState() method.

* The WhiteboardObject class (apart from lacking javadocs :wink: ) seems to be offering less functionality than might be necessary for implementing common WB features. What I am specificly interested in is how do we represent an object composed of multiple segments of different types (e.g. a curve, an arc, and a line)? How do we send binary images? How do we define a single color or a gradient background for an object?

Some less important remarks, cosmetics, and typos:

* Could you please make sure that all lines are shorter than 80 columns?
* Could you also add comments for all methods that are currently missing javadocs?
* WhiteboardObjectListener.whiteboardObjecModidified should be renamed to WhiteboardObjectListener.whiteboardObjecModified
* WhiteboardObjectListener.whiteboardObjecModified() should probably take a parameter of type WhiteboardObjectModifiedEvent rather than WhiteboardObjectReceivedEvent ... I didn't see such an event so I guess it would be a good idea to create one.

It goes without saying that the above list should in no way seem discouraging! I am quite happy with the direction you are following and I am really looking forward to using the whiteboard myself!

Cheers
Emil

Java wrote:

路路路

Hi everybody,
You will find in attachment all the "service" classes for the whitboard :
OperationSetWhiteboarding
WhiteboardObject (comment not finish, but the methods are very simples)
WhiteboardParticipant
WhiteboardSession
...
It's a good "preview" for the future implemented functionalities (in the next post :wink: )

Cheer,
Julien

------------------------------------------------------------------------

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

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


#3

Hi

...Guess, we'd need a new getState() method.

oups, it was a oversight, now it's done :
public WhiteboardState getWhiteboardState();

*WhiteboardObject:
At the beginning these methods was written for an implementation of the
simple protocol (without complex curve or objects with background...). Now
for a Tiny-SVG/SVG-mobile extension, we must add new features in the
WhiteboardObject:

how do we represent an object composed of multiple segments of different

types
a whitheboard object
with methods setType() / getType(), we can specify the various types of
possible objects (like RECT, CIRCLE, ELLIPSE,LINE, POLYGON, BEZIER...)
>How do we send binary images? / How do we define a single color or a
gradient background for an object?
a binary image and a background can be treated with the same system :
a "picture" is a rectangle with a background of "pixel".
A set/getBackground(Object background); is sufficient and "extensible" (for
others backgrounds like pattern...).

*remarks, cosmetics, and typos:

renamed to WhiteboardObjectListener .whiteboardObjecModified

it's dodone :stuck_out_tongue:

all lines shorter than shorter than 80 columns & missing javadocs

in "progress"

WhiteboardObjectModifiedEvent rather than WhiteboardObjectReceivedEvent

it's done (these two methods are almost similar).

Julien

路路路

2007/6/29, Emil Ivov <emcho@emcho.com>:

Hi Julien,

As I've told you already, this is definitely a very good start! We've
discussed certain aspects and improvements off list, and I am listing
them here for the record. You could use this thread if you'd like to
further discuss these issues or propose solutions.

* You have implemented a WHITEBOARD_STATE_CHANGE event and a
WhiteboardState class. Still, it is not possible to retrieve the state
of a whiteboard session. Guess, we'd need a new getState() method.

* The WhiteboardObject class (apart from lacking javadocs :wink: ) seems to
be offering less functionality than might be necessary for implementing
common WB features. What I am specificly interested in is how do we
represent an object composed of multiple segments of different types
(e.g. a curve, an arc, and a line)? How do we send binary images? How do
we define a single color or a gradient background for an object?

Some less important remarks, cosmetics, and typos:

* Could you please make sure that all lines are shorter than 80 columns?
* Could you also add comments for all methods that are currently missing
javadocs?
* WhiteboardObjectListener.whiteboardObjecModidified should be renamed
to WhiteboardObjectListener.whiteboardObjecModified
* WhiteboardObjectListener.whiteboardObjecModified() should probably
take a parameter of type WhiteboardObjectModifiedEvent rather than
WhiteboardObjectReceivedEvent ... I didn't see such an event so I guess
it would be a good idea to create one.

It goes without saying that the above list should in no way seem
discouraging! I am quite happy with the direction you are following and
I am really looking forward to using the whiteboard myself!

Cheers
Emil

Java wrote:
> Hi everybody,
> You will find in attachment all the "service" classes for the whitboard
:
> OperationSetWhiteboarding
> WhiteboardObject (comment not finish, but the methods are very simples)
> WhiteboardParticipant
> WhiteboardSession
> ...
> It's a good "preview" for the future implemented functionalities (in the
> next post :wink: )
>
> Cheer,
> Julien
>
> ------------------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
> For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

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


#4

Hello Julien,

Comments inline:

Java wrote:

Hi

>...Guess, we'd need a new getState() method.
oups, it was a oversight, now it's done :
public WhiteboardState getWhiteboardState();

OK

*WhiteboardObject:
At the beginning these methods was written for an implementation of the simple protocol (without complex curve or objects with background...). Now for a Tiny-SVG/SVG-mobile extension, we must add new features in the WhiteboardObject:

>how do we represent an object composed of multiple segments of different types
a whitheboard object
with methods setType() / getType(), we can specify the various types of possible objects (like RECT, CIRCLE, ELLIPSE,LINE, POLYGON, BEZIER...)

I am not very familiar with SVG, so maybe this won't make much sense but Wouldn't it be better to have the type as a property of a segment rather than a whole object? Otherwise how would we represent complex objects that have line, and curve segments in the same time?

I'd personally suggest having a segment class to take care of that. This way we could represent objects as a collection of segments (some of which might be transparent) plus a common background (color/image/gradient)

>How do we send binary images? / How do we define a single color or a gradient background for an object?
a binary image and a background can be treated with the same system :
a "picture" is a rectangle with a background of "pixel".
A set/getBackground(Object background); is sufficient and "extensible" (for others backgrounds like pattern...).

OK, this is nice. Only I am afraid that accepting any Object as a background might cause confusion. How about defining a dedicated class that precludes the types of background that a whiteboard implementation would have to support? Image, pattern, color, and gradient seem like a good start, but you could of course get inspiration from SVG and add others that you judge useful.

Something else that I just noticed. What's the purpose of the WhiteboardObjectEvent class? Are you planning any future use for it or is it just a leftover from previous architecture attempts?

Cheers
Emil

路路路

*remarks, cosmetics, and typos:
>renamed to WhiteboardObjectListener .whiteboardObjecModified
it's dodone :stuck_out_tongue:
>all lines shorter than shorter than 80 columns & missing javadocs
in "progress"
>WhiteboardObjectModifiedEvent rather than WhiteboardObjectReceivedEvent
it's done (these two methods are almost similar).

Julien

2007/6/29, Emil Ivov < emcho@emcho.com <mailto:emcho@emcho.com>>:

聽聽聽聽Hi Julien,

聽聽聽聽As I've told you already, this is definitely a very good start! We've
聽聽聽聽discussed certain aspects and improvements off list, and I am listing
聽聽聽聽them here for the record. You could use this thread if you'd like to
聽聽聽聽further discuss these issues or propose solutions.

聽聽聽聽* You have implemented a WHITEBOARD_STATE_CHANGE event and a
聽聽聽聽WhiteboardState class. Still, it is not possible to retrieve the state
聽聽聽聽of a whiteboard session. Guess, we'd need a new getState() method.

聽聽聽聽* The WhiteboardObject class (apart from lacking javadocs :wink: ) seems to
聽聽聽聽be offering less functionality than might be necessary for implementing
聽聽聽聽common WB features. What I am specificly interested in is how do we
聽聽聽聽represent an object composed of multiple segments of different types
聽聽聽聽(e.g. a curve, an arc, and a line)? How do we send binary images? How do
聽聽聽聽we define a single color or a gradient background for an object?

聽聽聽聽Some less important remarks, cosmetics, and typos:

聽聽聽聽* Could you please make sure that all lines are shorter than 80
聽聽聽聽columns?
聽聽聽聽* Could you also add comments for all methods that are currently missing
聽聽聽聽javadocs?
聽聽聽聽* WhiteboardObjectListener.whiteboardObjecModidified should be renamed
聽聽聽聽to WhiteboardObjectListener.whiteboardObjecModified
聽聽聽聽* WhiteboardObjectListener.whiteboardObjecModified() should probably
聽聽聽聽take a parameter of type WhiteboardObjectModifiedEvent rather than
聽聽聽聽WhiteboardObjectReceivedEvent ... I didn't see such an event so I guess
聽聽聽聽it would be a good idea to create one.

聽聽聽聽It goes without saying that the above list should in no way seem
聽聽聽聽discouraging! I am quite happy with the direction you are following and
聽聽聽聽I am really looking forward to using the whiteboard myself!

聽聽聽聽Cheers
聽聽聽聽Emil

聽聽聽聽Java wrote:
聽聽聽聽聽> Hi everybody,
聽聽聽聽聽> You will find in attachment all the "service" classes for the
聽聽聽聽whitboard :
聽聽聽聽聽> OperationSetWhiteboarding
聽聽聽聽聽> WhiteboardObject (comment not finish, but the methods are very
聽聽聽聽simples)
聽聽聽聽聽> WhiteboardParticipant
聽聽聽聽聽> WhiteboardSession
聽聽聽聽聽> ...
聽聽聽聽聽> It's a good "preview" for the future implemented functionalities
聽聽聽聽(in the
聽聽聽聽聽> next post :wink: )
聽聽聽聽聽>
聽聽聽聽聽> Cheer,
聽聽聽聽聽> Julien
聽聽聽聽聽>
聽聽聽聽------------------------------------------------------------------------
聽聽聽聽聽>
聽聽聽聽聽> ---------------------------------------------------------------------
聽聽聽聽聽> To unsubscribe, e-mail:
聽聽聽聽dev-unsubscribe@sip-communicator.dev.java.net
聽聽聽聽<mailto:dev-unsubscribe@sip-communicator.dev.java.net>
聽聽聽聽聽> For additional commands, e-mail:
聽聽聽聽dev-help@sip-communicator.dev.java.net
聽聽聽聽<mailto:dev-help@sip-communicator.dev.java.net>

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

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