A Case Study: UIM The Universal Instant Messenger Babak Esfandiari Carleton University SYSC 5800 Winter 2003
What is UIM? UIM is a small Instant Messaging program, developed by your instructor for this course! Unfortunately it only works locally, in a single JVM… It will be up to you to make it work over the internet!
But What is Instant Messaging? One of the most popular internet tools Allows users to send and receive short messages to “buddies” over the net Users can track the availability of their buddies More features have been added to most programs: file transfer, audio, even video…
Some IM Programs ICQ, by Mirabilis (later purchased by AOL) – the pioneer AIM (AOL) MSN Messenger Yahoo Messenger Jabber
How Does IM Work? It is one of the first popular peer-to-peer applications Usually a server manages the user ids, their buddy list and status info But clients communicate directly with one another But not all IM tools work this way..
IM Challenges and Promises Scalability Performance Privacy Standardization – Jabber, SIMPLE, … Integration in other tools “Presence” a desired feature for many devices! (not only for humans…)
Back to UIM You will be asked to enhance UIM The next few slides will give you an overview of its initial design.
UIM Requirements
UIM States
UIM Packages
The Client Package
The Server Package
Interaction 1: Status Update
Interaction 2: Sending an IM
Running UIM Unzip the Jar file run the main() method in the AgentGui class it will open two UIM windows (one on top of the other) you can now register users, log them on, change their status, send messages…