I intend to develop the framework for an interactive networked vector environment, with optional modular features such as a chat client and mouse capabilities in order to increase usability. The primary goal of the project will be to allow one or more users to interact with a vector-based drawing, allowing them to work co-operatively on the same project.
This tool would have many practical applications such as allowing an architect to
interactively collaborate on blue-prints with a client via a remote computer connection.
Modifications could be made to the drawings dynamically.
A first version with basic network access and text communication will be my main goal. That will involve a series of smaller steps, beginning with the choice of language. Followed by a networking framework and a basic text messaging system, leading up to the beginnings of a vectoring environment.
I have already researched some of the language alternatives for a project like this, and the general consensus of scientific articles I've found show Java to be an excellent language to implement this project. I have never worked in Java, but it is reputedly the tool of choice for this task. Based on that reputation, it appears that the time involved in mastering Java will be offset by the advantages it offers, so my first step will be a rudimentary mastery of Java.
Once that is met, I shall investigate methods of networking within Java, using the concepts I already know about the client-server paradigm. Initially I plan on simply having a server program run that allows any user to log into the system and receive data from other users.
Once a basic networking capability is built, I shall build a simple chat client to enable users to interact in text mode. Possible extras such as color indicators by user are under consideration for this stage. The simple chat module will be a template for other modules, allowing expanded messaging to be developed with a simple text backbone.
I intend to allow users to enter vector drawing commands, because those allow a high level of precision. A user might easily click three pixels away from where they want an object and so might instead want to place the line by exact vectors.
To manipulate lines and circles, the program must be able to recognize them as more than colored pixels, and vector based is the most practical paradigm. This not only applies to the manipulation of objects, but also the security settings that prevent users without appropriate permission from manipulating those same objects.
Initially the user will be able to call up the vector drawing methods from a command-line. Later development possibilities include methods for adding object directly to the drawing space using the mouse and a graphical toolbar. Once mouse interaction is developed, it will be possible to also add capability to move objects around and reshape objects.
The goals of this project is to develop a vector-based drawing program in java. It will allow users to interact on a vector-based drawing. This tool would have many practical applications such as allowing an builder to interactively corroborate blue-prints with a client or clients via a remote netwrok connection. In order to allow for future development, modularity of features will be implemented, allowing additional modules to be designed and built in the future.
This version will specifically implement a simple chat client and basic vector-drawing methods.