Differences between revisions 43 and 44
Revision 43 as of 2005-04-12 21:53:22
Size: 4817
Editor: t-indiv10-220
Comment:
Revision 44 as of 2005-04-12 21:55:10
Size: 3145
Editor: t-indiv10-220
Comment:
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)]]

Navigation(children, 1)


Formal Software Specification (UML Modelling)

TableOfContents

1. Module Description

Include(/ModuleDescription)

2. Program Schedule

Include(/ProgramGantt) Include(/ProgramSchedule)

3. Case study : Emotion-based Instant Messaging

Include(/CaseStudy)

4. Feedback

Include(/Feedback)

5. Resources

5.1. Slides and Handouts

  • attachment:UMLIntro-slides.pdf
  • attachment:UMLIntro-handouts.pdf

5.2. Software packages to start with

5.3. Modelling and programming tools

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

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

JunHu: UmlMasterModule/0503 (last edited 2010-09-28 14:11:22 by JunHu)