Rapid Realization Communication Services System (RRComSSys)
Description
This project was divided into two parts. First one is a modeling environment that incorporates it's own metamodel, tools, and graphical interface to describe and create communication models that can easily be remodeled, expanded, and shared with other users. The second part of the system is a client program able to create the communication described by the previously created model.
With the modeling environment, the user is able to set up several types of communication with just one model execution. The user can design a model to start a voice meeting with one or more people, or initiate a group chat, or send a file to one or more people at a time. Also, the user is able to combine all three of these features in such a way that one could be talking to a set of users and at the same time (in the same session) be chatting with some of them and not with others, and also sending a file to some of the users in the conversation without the others even noticing it.
After the client program has completed parsing the communication model, it initializes the required communications using the available APIs. For this program,
Skype and
AIM were the only APIs used. The program will decide which API to use for each event without the user noticing there was any change.
For example, assume the two APIs used provide voice communication features. API_1 provides better audio quality, but it only allows up to 4 members in the conversation. While API_2 has a lower quality of audio, but it allows up to 10 member in the conversation. If we were to do a three-way communication, then the application will use API_1 to communicate, but if a communication involves 5-10 members the application automatically uses API_2 without the user needing to specify anything more.
Other People Involved in Project
David Villegas
Lazaro Pi
Meng Shi
Yudiesly Herrera
Detailed Features
Start and Login
The client program provides the user with a single personal login system. The application itself takes care of login the user into the necessary accounts to achieve the communication specified by the executed model. When a user account is created using the Administrator window, login information of all the subscribed third-party services can be added so that the application can establish the best possible communication. For ease of development, all user information, contacts, etc are stored in an XML file inside a repository folder. For security purposes, all passwords are encrypted.
Settings, Contacts, and Models
Using the settings window, a user can select it's preferred third-party service to use for each of the specified communication capabilities (Chat, Voice Talk, and File Transfer).
The contacts window shows all the contacts the user can connect to. It shows the name of the contact, their username in the RRComSSys application, and icons of the third-party services that the contact has. For example, user David Perez have two services provided; Skype and AIM.
The models window shows all the possible communication models the user can execute. Each contains the assigned name and a description of what the model is going to do.
Administrator Panel
One of the purposes of the administrator window is user management. There, the administrator can add, edit, and remove users; also add and remove communication services like Skype, GoogleTalk, or AIM; and also add and remove contacts of that user.
The second purpose of the administrator window is to remove and reference new models. To add a new model, the administrator must assign a name to the model, write a description of what the model is supposed to do, and provide a path to the file model.
Voice Call
The video in the right shows the execution of a simple one-to-one voice communication model. For this test, the user we are connecting to is the Skype Echo Server which is offered by Skype to test microphone settings. The same model can be applied to any of the other contacts and the result will be similar even if the we were to call a mobile phone or a land line.