Suggestion :
- WebPainter maintains consistency among all the clients by message passing. Just like some other distributed
applications, state-consistency problem in WebPainter is not easy to solve. For example, consider the case of two users,
one is drawing a circle and the other is drawing a rectangle at the same place on the canvas at the same time. It is possible that
the circle is on top of the rectangle on one canvas while the rectangle is on top of the circle on the other.
This kind of inconsistent states can be avoided by using some traditional consistency solutions, however, the additional
mechanism will dramatically degrade the performance. There is a tradeoff between consistency and performance. I
choose the latter because of one reason. Although the coordination is not enforced at the system level, users can
do their own coordinations at the user level. More specifically, one can tell other members what he or she will do next
by writing others a message. The user may tell others to wait until he or she finishes the action. The coordination
at user level will perfectly solve the consistency problem. The additional advantage to do it at user level is flexibility.
The user can decide the level of the coordination -- one action at a time or no coordination at all or etc.
As a result, the suggestion is that when consistency is considered critical, user level coordination is necessary to
maintain the consistency.
Future work :
- A lot of things can be done to extend this project. Users may want to load and save the drawings. It is not
possible right now because there are security constraints of applets and no image-format conversion support in
Java. Hopefully, it can be done in the future release of Java. It is also cool to let users create their own
geometries on the canvas instead of the four fixed ones. Of course, integrating WebPainter with some other
applications is also a good way to extend its functionality. As a conclusion, I think useful applications like WebPainter
will make Internet more powerful and popular in the near future.