On Thu, Apr 3, 2008 at 1:44 AM, probir roy <[EMAIL PROTECTED]> wrote: > Hi all, > > I have submitted a GSOC project on "application sharing framework based > on XMPP for mobile devices (J2ME platform)". > > Synopsis > ======== > My project will work as a base for application shared to the instant > messaging contacts. It will extend existing XMPP library of miniim > <http://miniim.sourceforge.net>. The application will be loaded and running > in messaging server and keystrokes will be transmitted from and screen > changes will be transmitted to the participant mobiles. Users will be able > to send instant message while playing games in mobile ! > > Benefits to Community > ===================== > People will be able to use this framework to write their own > communication application. The library keeps the protocol implementation > invisible to the application. So the implementation of other communication > protocols (like SIP, AIM, YAHOO, MSN and more ) will be plugable without any > modification to the application. It will give the whole new idea of > messaging protocol based application development for mobiles. People already > writing games for mobile will be sharing the framework idea and enhancing > it. And XMPP will lead the specification to get the messaging protocol work > for communication application development. As hundreds of millions of mobile > users out there , may be it will be useful to a vast community. People will > be sharing a large variety of things than text messages to their network. > > Deliverables > ============ > > - The miniim library will be enhanced to support multi-user-chat(MUC). > - It will give the required user interface to test the facility of MUC. > - It will create an interface of selectable components. And notify > server > about the user event on a component. > - It will create a server component that will act on an user event to > output an svg command. > - There will be two turn based sample games written based on this > library, tick-tack-toe and a card game. > > Description > =========== > > My framework consists of a server application and a client application. > Any shared application needs to be in the server. I am thinking to write the > server as an XMPP component in perl. The shared application will be written > as CGI script. The xmpp component executes those scripts on client events. > > Shared Application Script > ^ > Execute CGI | A session id will identify > | this application > session. > | > +---------------------+ > | XMPP component | > | ------------------- | > | Server | > +---------------------+ > -----------------/ > \----------------- > / > \ > +----------+ > +----------+ > | Mobile-1 | > | Mobile-2 | > +----------+ > +----------+ > > Figure: Two mobiles are in an shared application session. > > One thing I must say that the server component may be skipped and a bot > can be wrtten in perl to behave as the game server. >
I vote for the bot idea, because it will be easier to develop, test and implement. People will be freely implementing their application through bot escaping the server activities. > The client application in mobile will communicate with the server. It > will enable user to seek for an application and invite other people to share > that(for example, play a game). Users using this client tool can accept > invitation of shared application too. > > This client will give a component-display. Some of the components can be > traversable and selectable. The figure below shows such a display. > > > +------------+ > | +--+--+--+ | > | |S |S |S | | > | +--+--+--+ | > | |S |S |S | | > | +--+--+--+ | > | |S |S |S | | > | +--+--+--+ | > +------------+ > Figure: A component display for tic-tac-toe. The boxes marked as 'S' are > selectable components when the game starts. > > This display will be implemented as rendered svg. The components are > analogous to the svg elements or element-groups. User may use the arrow keys > of the mobile phone to traverse those elements. And use the middle key to > initiate an event. This event will be notified to the server and server will > respond by modification to the svg data (creation and deletion of the svg > elements). > > Additionaly the server can respond with an xform. An xform will be > presented as midlet form in mobile. After user fills the form, the data is > passed to the server. > > I am not thinking about any client side scripting to aid the application > in order to keep things simple and suitable for mobile. I hope it will be > extensible for adding script support. > > I hope the proposal will change over time upto the most appropriate one > for this time. > > Im am choosing XMPP as communication protocol as it is extensible open > standard and there are successful shared application idea implementations > using XMPP. Finally it is also a widely accepted instant messaging standard. > > Related Work > ============ > - Psi Whiteboarding > -- http://wiki.jabber.org/index.php/Psi_Whiteboarding > This is a whiteboarding project based on XMPP. It is plugin written > for psi messaging client. It also transmits svg commands describing the > changes on the whiteboard. The scope of this application is bound to > whiteboarding. It has no server component to coordinate with shared > application. > But it is pretty close to my idea of implementation. > > references > ========== > - http://commons.oreilly.com/wiki/index.php/Programming_Jabber > -- specially http://commons.oreilly.com/wiki/index.php/JabChapter_9 > - [Definition of application sharing] > http://dictionary.zdnet.com/definition/application+sharing.html > - [User Gaming] http://www.xmpp.org/extensions/xep-0196.html > -- This extension does the task of inviting or publishing a game. > - [A simple game bot] http://www.stevegibson.com/main/?q=node/17 > > > I am waiting to hear any reviews and advices. Please tell me if there > any changes needed. > > > Thanks > > Probir Roy > -- -- Thanks Kamanashis Roy
