IRIS Chat Design - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

IRIS Chat Design

Description:

Low-level jabber connection support. IConnection, IGroupChat, ChatConnectionService ... Add Jabber individual chat (and instant messaging?) Notifications of ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 11
Provided by: open8
Category:
Tags: iris | chat | design | jabber

less

Transcript and Presenter's Notes

Title: IRIS Chat Design


1
IRIS Chat Design
  • CALO Chat, Group Chat, Individual Chat, and
    Journal

2
Contents
  • User Interface
  • Architecture
  • Tasks/Timeline

3
User Experience
4
Navigation Tree
5
Architecture
  • Com.sri.iris.apps.chatapp.ChatApp
  • Toplevel, controls chat UI and services
  • Com.sri.iris.apps.chatapp.viewers
  • ChatViewer, ChatTree, DefaultChatView
  • Com.sri.iris.svcs.chatsvc
  • Base classes for chat and chat services
  • IChat, IChatService, IChatServiceListener,
    DefaultChat, ChatDB
  • Com.sri.iris.svcs.chatsvc.people
  • PeopleChatService, group and individual
    implementations of IChat
  • Com.sri.iris.svcs.chatsvc.calo
  • Com.sri.iris.svcs.chatsvc.journal
  • Com.sri.iris.svcs.chatsvc.conn
  • Low-level jabber connection support
  • IConnection, IGroupChat, ChatConnectionService

6
IChat
public interface IChat JComponent getView()
IChatService getService() / A UI-viewable
string. May be displayed in the treeview for
ChatApp. / String toString() / A
UI-viewable string. Displayed in the treeview
for ChatApp. / String getCategory() /
Can this chat instance be closed. E.g. the
single JournalChat is always open. / boolean
canClose() / Do nothing if canClose() is
false. Do nothing if chat already closed. /
void close() / Can we call addMessage. /
boolean readOnly() / Add a messge to the
chat from the iris user. _at_throws
ReadOnlyException if readOnly() is true. /
void addMessage(String msg) throws
ReadOnlyException, ChatException /
Person/group/thing we are chatting with. UI
visible. / String getName() / Uniquely
identify this chat for all time. / String
getUri() / When did this chat start. /
Date getStartTime() / When chat completed,
or null if still active. / Date
getCompletionTime()
7
IChatService
public interface IChatService void
addListener(IChatServiceListener l) / Hack
for now. Called from ChatApp install(). /
void install(IViewerHost h) / ChatService
provides its own toolbar buttons to ChatApp
toolbar. / void addToolbarButtons(JToolBar
tb) //int getViewingOrder() / Purple
number support. URI can be for open or stored
chat. Will scroll IChat's viewer to
document location if specified in uri.
_at_return the IChat object of the open chat, or
create a new active (read-only) chat
loading in the data from the previous chat.
Return null if does not correspond to open
or stored chat. / IChat showURI(String
uri) / Return the IChat for the given uri,
open a previously completed chat if necessary.
Or, return null if uri does not correspond to
any known chat. / IChat chatForUri(String
uri) / Same as calling IChat.close() on all
open chats from this service. / void
closeAllChats() / Can there be more than one
chat per day. / boolean getMultiDate() /
_at_return All the possible categories for IChat
objects created by this service. /
String getCategories()
8
Database Layout
app//chat/chat-category/date OR
app//chat/chat-category/chat-name/start-time

3/20/2004
app//chat/journal app//chat/journal/03-20-2004
message 1 message
2 app//chat/group app//chat/group/mark
eting/098098 message 1
message 2 app//chat/group/finance/0923804
CHAT_LIST
AIR
CHAT_LIST
CHAT_LIST
AIR
9
Basic Tasks (for 1.3)
  • Merge existing ChatApp, CALOGUI, and Journal
  • HTML viewer
  • Jena/RN relational data store
  • Record chat sessions and messages with URI
    linking
  • View previously recorded chats
  • Add Jabber individual chat (and instant
    messaging?)
  • Notifications of incoming chats
  • Save chat text
  • Chat while other IRIS App is visible
  • Requires IRIS multi-app display

10
Advanced Tasks
  • ContactsApp integration
  • Shared UI
  • Shared ontology
  • Calendar integration
  • Chats appear in calendar
  • DataApp integration?
  • Browse completed chats w/ dataapp viewer?
  • UI for using arbitrary jabber server
    (preferences)
  • Jabber gateways for AIM, ICQ, MSN, and Yahoo
  • Integrate Jabber roster with IRIS address book
  • Jabber chatroom configuration/administration?
  • UI for advanced HTML markup, e.g. dragging
    images, text styles
  • Wiki
  • Vodoo journal
  • Edit journal in place
Write a Comment
User Comments (0)
About PowerShow.com