4817
Comment:
|
3145
|
Deletions are marked like this. | Additions are marked like this. |
Line 21: | Line 21: |
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. ##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. The existing instant messaging system will be provided as a blackbox with the following interfaces: 1. sending messages. 1. notification of the messages received. 1. changing the user's status. 1. notification of the status change of the buddies. 1. file transfer. ## 1. other interfaces upon request. The team should not work on: 1. network communication, 1. session management, 1. user profiles, 1. conversation management etc. ##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. |
[[Include(/CaseStudy)]] |
Formal Software Specification (UML Modelling)
1. Module Description
2. Program Schedule
Include(/ProgramGantt) Include(/ProgramSchedule)
3. Case study : Emotion-based Instant Messaging
4. Feedback
5. Resources
5.1. Slides and Handouts
- attachment:UMLIntro-slides.pdf
- attachment:UMLIntro-handouts.pdf
5.2. 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)]
5.3. Modelling and programming tools
[http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/ms_visio/ Microsoft Visio 2003]
[http://www.phruby.com/stencildownload.html UML 2.0 stencils] from Pavel Hruby
[http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/borland_jbuilder/ Borland JBuilder 2005]
6. Download
6.1. 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.
6.2. 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]
6.3. Requirements
Java 2 JREE 1.4 or above.
6.4. Installation
6.4.1. TIM3
Copy attachment:TIM3.jar to anywhere you like. Double click on the icon to start the program.
6.4.2. 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.
6.5. 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