About ADI Practice Areas Service Offerings Technology Careers Home
Case Study
Search  
 
 
You are here :: Home : Case Study - Speaky Sim
   
Go back
Speaky Sim

Background and Business Requirement
Speaky Sim is a unified instant messaging (IM) application that can interface with 5 popular IM services – AOL, MSN, ICQ, Yahoo and Wireless Village (WV). With the Speak Sim IM client, a user would be able to access these IM services over a single interface.

Solution
As each IM service has its own protocol and set of functionalities, Speaky Sim’s design involved leveling out differences between the IM services and presenting to the end user, uniform access to a given set of functionalities.

Speaky refers to the voice chat capability of the application. The voice module is designed in 2 parts – first, for voice sessions between Speaky Sim users, and the other for sessions across non-Speaky Sim users. For both cases a Voice over IP (VoIP) has been developed that implements integrated voice chat sessions across all the above IM services irrespective of their individual voice capabilities. For voice sessions across users who do not have the Speaky Sim libraries (non-Speaky users), a simple standalone application is written that uses the common VoIP library. This application was delivered as a Win32 executable.

The voice chat module uses RTP/RTCP protocol to deliver real-time voice data over the internet. Another interesting technology used here is the Media Control Interface. This interface is used to control the settings and usage of the sound adapter(s) in the system i.e. for Volume control of incoming and outgoing sound; Recording and playback of sound in real time; Detection and enumeration of sound adapter(s) and Detection of presence of sound and filtering of silence.
The application with the above mentioned functionalities was a part of a larger system which involved instant messaging and voice communication with a mobile device via a desktop PC. The customer had pre-developed appropriate hardware and software required to interface the mobile device with a PC using which the device could utilize services from libraries (DLL’s) on the PC. Thus, the Speaky Sim client needed to be delivered in the form of Win32 DLLs for each of its modules – IM and VoIP library.

Since Speaky Sim dealt with popular proprietary IM services, there were certain issues involved for which a good amount of time and effort had to be spent in terms of research. Most important issue here was that of the IM services not being open i.e. none of the targeted IM services had documented protocols available. Research was carried out over the IM protocols for each service which involved studying multiple open source codes, analyzing regular client behavior (of the particular IM service) with low level TCP packet analyzers. Another issue was that of the IM service providers blocking all or any specific 3rd party IM clients. For such issues, workarounds were implemented with help from open source forums.

Apart from the complex features of the unified IM interface, and voice chat capability, Speaky Sim also included typical IM functionalities like contact list management, block and un-blocking of contacts, group chats, alerts – as and when provided by the underlying IM service and online status change. Given the huge list of features, Speak Sim’s design called for detailed and thoroughly researched system architecture coupled with a planned testing phase. Post-development phase, a rigorous testing plan was formulated and executed where the application was tested over major windows platforms (Win XP – Home and Professional, 2000, 98SE, Me) with the testing criteria being memory constraints, code coverage, system integration and other performance parameters.

Speaky Sim spanned over 7 months of development and 3 months of maintenance phases with a team size of one manager, one project lead, one QA and 5 developers. For ADI, its been a great help in terms of honing our IM development capabilities. With the low level debugging and other research carried out for understanding proprietary IM services, we definitely gained in terms of understanding IM protocols and standards.

   
Technology Used
  C++
  Win32
   
 
Contact Us | ADI Products | Sitemap | Privacy Policy Copyright © 2004-5 Amiga Development India. | All Rights Reserved.
  Site best viewed at 1024 X 768 monitor resolution.