IM

From Openmoko

Jump to: navigation, search

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)

Personal tools