4246
Comment:
|
4468
|
Deletions are marked like this. | Additions are marked like this. |
Line 10: | Line 10: |
== Tasks == | == Case study : Emotional Instant Messaging == |
Line 12: | Line 12: |
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: | All students work in a team to develop an extenstion to an existing instant messaging system that, 1. analyzes the messages and filters the emoticons in the message; 1. calculates current emotional state of the buddies based on the collected emoticons,. 1. keeps track of the emotional state history of the buddies. |
Line 14: | Line 17: |
1. A tangible interface extension that presents the status (online, away, do not disturb ...) of the user and the buddies. 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. 1. An extension that shares photos between the user and the buddy in chat, supporting shared annotations on the photos. |
##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: ## 1. A tangible interface extension that presents the status (online, away, do not disturb ...) of the user and the buddies. ## 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. ## 1. An extension that shares photos between the user and the buddy in chat, supporting shared annotations on the photos. |
Line 24: | Line 30: |
1. other interfaces upon request. | ## 1. other interfaces upon request. |
Line 26: | Line 32: |
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. | The team should not work on: 1. network communication, 1. session management, 1. user profiles, 1. conversation management etc. |
Line 28: | Line 38: |
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. | ##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. |
Formal Software Specification (UML Modelling)
Program Schedule
Case study : Emotional Instant Messaging
All students work in a team to develop an extenstion to an existing instant messaging system that,
- analyzes the messages and filters the emoticons in the message;
- calculates current emotional state of the buddies based on the collected emoticons,.
- keeps track of the emotional state history of the buddies.
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.
The team should not work on:
- network communication,
- session management,
- user profiles,
- conversation management etc.
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