|
» Open source APIs » MUPE - Multi-User Publishing Environment » Open source java and mobile applications |
|
» June 2008 » May 2008 » April 2008 » February 2008 » January 2008 » December 2007 » November 2007 » October 2007 » September 2007 » August 2007 |
|
|
Subscribe RSS 2.0 feed |
Subscribe Atom feed If you wish to receive email notification, please here » |
|
» All About Symbian » Symbian One » My-Symbian » Symbian.com » S60 Tips » S60 Freeware » Symbian Freak |
» Darla Mack! » Mobile Jones » MobHappy » The Mobile Weblog » Gadgets 4 Fun » Christian Lindholm |
Our Java Platform guys' first real experience of a open source project has been the eSWT API development. We had multiple different reasons why we ended up collaborating with the Eclipse open source community. Lately there has been other announcements for mobile Java open source projects. Even some Java Community Process JSRs are developed as open source. So to me it seems that it starts to be a defacto way to introduce new mobile Java APIs the open source way.
The primary reason for us doing open source is to improve the compatibility of our API implementation. Opening implementation code for an API will also allow other parties more easily start implementation of the same API on other platforms. Since the implementation mostly shares exactly as-is much of the code base this improves directly compatibility more than just some technology compatibility kit (a test set verifying API signature and expected API behavior). Testing never grabs all the details, similar API compatibility tests won't test everything. Sharing implementation code will ensure in a much better and simple way behavioral compatibility. Open source is thus a way to truly limit fragmentation - a too much used curse word among java apis.
However, the open source license has to be such that it allows commercial usage of the code. The API implementation code must be possible to be used as part of closed or proprietary products. Also the license must not have a viral effect on applications using the API. Open source API implementation should not mean that the applications using that API are also forced to be open source. In other words linking from code with a different license should be allowed. I personally for example would like to see much more mobile Java APIs being developed in open source style licenses.
Open source way of working is also lot more fun. You get to be more in contact with potential clients for your API as well as discussions with other implementation teams is more easy as communication can be open.
I think the project has been around for some time but I found out about MUPE about a week ago. It is an open source project from Nokia. Although, it includes a lot of technologies and concepts underneath, it can simply be described as an application platform that makes it easier to create multi-user applications and games.
It consists of a java ME client that works on the mobile phone and a server that hosts the applications. The client is all that is needed to use different applications. Using this client, applications can be downloaded and used without requiring a separate installation.
I must admit, after reading the definition on the project's site, I did not expect too much from the applications that is available via MUPE . I was surprised with the capabilities of applications that are available. There is already a selection of 4-5 applications, and I especially enjoyed playing piper. Although most of the applications are games, it looks like there are some services in the works.
Overall, MUPE makes use of the java to create a platform that makes it easier to create innovative, multi-user applications. Furthermore, it tries to make it even easier by providing a set of development tools based on my favorite IDE, Eclipse. It is definitely a platform worth checking both for application users and developers.
Every major open source community has good amount of projects that uses java. SourceForge lists more than 25000 projects for java, Google code lists more than 2000. Also Apache and Eclipse hosts large java projects. So there is plenty of open source java projects for end users and developers to choose from.
Unfortunately, mobile java does not benefit enough from open source. There is a number of projects that target mobile java, I will try to introduce some of those projects in the future in here, but compared to desktop and enterprise scoped projects that is a small number.
We love open source in S60 java and we are trying to enable more of it in our platform. But It is always interesting to hear your opinions. Why do you think there are not as many mobile java projects? What about converting those existing desktop and enterprise projects to mobile? What are your candidates for converting to mobile?