[jdev] GSOC project : Student Proposal

Kamanashis Roy Shuva kamanashisroy at gmail.com
Thu Apr 3 05:55:05 CDT 2008


On Thu, Apr 3, 2008 at 1:44 AM, probir roy <probir04 at gmail.com> 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



More information about the JDev mailing list