IM
From Openmoko
Contents |
Overview
This article defines the Instant Messenger (IM) Application, an application designed for the OpenMoko platform. This is a Native Stylus-Based application.
Use Cases
Here are some possible use cases:
- I want to be able to chat with a buddy.
- I want to be able to conference with many buddies at the same time.
- I want to add multiple accounts from multiple IM services.
- I want to use IM to initiate VoIP phone calls with others.
- I want to use IM to initiate video calls with others.
- I want to send and recieve files over IM services that support this.
- I want to be able to talk with local users in bluetooth or wifi range.
Layout Components
Application Area
Application Menu
| Item | Action | Constraints |
|---|---|---|
| Accounts | Opens Dialog to view / modify all accounts | |
| Help | Opens Help Viewer Application with help for this application |
Filter Menu
| Item | Action | Constraints |
|---|---|---|
| All | Displays all buddies | |
| <groups> | Displays all buddies from this group | |
| Online | Displays all buddies currently online | |
| Search Results | Displays all buddies matching current search string |
Navigation Area
Displays list of buddies from current Group using the Navigation Widget. Has the following structure:
| Item | Action | Constraints |
|---|---|---|
| Column 1 | Displays the buddy's screen name | |
| Column 2 | Displays the buddy's email |
Tap selecting a row, will start a conversation with the correspoding buddy in the Details Area.
Toolbar
Search
Search reindexes, after every keypress, the buddy membership of the Search Results Group.
Action Buttons
(TBD)
Details Area
(TBD)
Footer Area
Status Bar
Displays the total number of buddies in the current Group.
Constraints
(TBD)
Sessions
- The current buddy selection and Details Area mode is persistant.
Architectural Details
(TBD)
Implementation Recommendations
- Serverless Instant Messenger http://RetroShare (Qt gui c++ (resized) or a new GTK gui)
- Should probably use libpurple. Maybe even a modified version of Pidgin.
- An other option to go for Jabber is Gajim
- May I suggest using Telepathy ?
- WIth telepathy-haze we can use telepathy with all libpurple protocols [1]
Interactions
(TBD)
Unresolved Issues
(TBD)
Questions and Answers
(TBD)


