[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