4247
Comment:
|
4246
|
Deletions are marked like this. | Additions are marked like this. |
Line 15: | Line 15: |
1. An tangible emotion extension that analyses the emoticons included in the messages, calculates the emotion states of the user and the buddy, and makes the emotions tangible. | 1. A tangible emotion extension that analyses the emoticons included in the messages, calculates the emotion states of the user and the buddy, and makes the emotions tangible. |
Formal Software Specification (UML Modelling)
Program Schedule
Tasks
I would suggest smaller tasks: extensions for an existing instant messaging system. Each of the team should select one of the following small extensions to design:
- A tangible interface extension that presents the status (online, away, do not disturb ...) of the user and the buddies.
- A tangible emotion extension that analyses the emoticons included in the messages, calculates the emotion states of the user and the buddy, and makes the emotions tangible.
- An extension that shares photos between the user and the buddy in chat, supporting shared annotations on the photos.
The existing instant messaging system will be provided as a blackbox with the following interfaces:
- sending messages.
- notification of the messages received.
- changing the user's status.
- notification of the status change of the buddies.
- file transfer.
- other interfaces upon request.
The students should not work on things like network communication, session management, user profiles, conversation management etc. that are inside the blackbox. What they need to design are small gadgets that can be plugged onto this blackbox, instead of the entire instant messaging system.
Based on this idea, I have worked out 3 skeleton plugin implementations of the suggested extensions to illustrate how to communicate with the blackbox through the above mentioned interfaces without opening the box. The source code of these implementations will be available for the students to start with.
Resources
Software packages to start with
[http://www.jabber.org Jabber]
[http://www.jbother.org JBother - a Java Jabber client]
[http://jivesoftware.org/smack Smack Jabber library for communications (Java)]
Modelling and programming tools
[http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/ms_visio/ Microsoft Visio 2003]
[http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/borland_jbuilder/ Borland JBuilder 2005]
Download
Binaries
- attachment:TIM3.jar - the blackbox. A Jabber client based on JBother 0.8.5
attachment:FileTransfer.jar - a plugin for TIM3 for exchanging files/photos.
attachment:EmoticonCollector.jar - a plugin for TIM3 to collect emoticons from the conversations.
attachment:PresenceWatcher.jar - a plugin for TIM3 to monitor/change the status of the user and the buddies.
please notice that these plugins does not work with the original JBother, use TIM3 instead.
Source code and documents
attachment:AllInOne.zip
[http://id00243.id.tue.nl/~jhu/TIM3/plugins/FileTransfer/doc/ File Transfer Plugin JavaDoc]
[http://id00243.id.tue.nl/~jhu/TIM3/plugins/EmoticonCollector/doc/ Emoticon Collector Plugin JavaDoc]
[http://id00243.id.tue.nl/~jhu/TIM3/plugins/PresenceWatcher/doc/ File Presence Watcher JavaDoc]
Requirements
Java 2 JREE 1.4 or above.
Installation
TIM3
Copy attachment:TIM3.jar to anywhere you like. Double click on the icon to start the program.
plugins
Copy the plugin to <home>/.jbother/plugins. On Linux, <home> is your home directory. On Windhows, <home> is C:\Documents and Settings\<your windows login user name>. You can download these plugins in the plugin manager because these plugins are not part of the standard JBother.
In order to serve the files from your local computer when transferring files, port 8080 will be open for connection. Any other software occupying this port or any firewall security hiding this port will fail the FileTransfer plugin to work properly.
Screenshots
TIM3 in action
attachment:JBother.jpg
Plugins are loaded
attachment:PluginManager.jpg
File Transfer plugin in action
attachment:FileTransfer.jpg
Emoticon Collector plugin in action
attachment:EmoticonCollector.jpg
Presence Watcher Plugin in action
attachment:PresenceWatcher.jpg