tags:

views:

806

answers:

5

I'm developing applications for mobile devices. I've never developed for OSGi and right now, I'm considering to get started with it.

I've read a lot about using OSGi on mobile phones, and it's said to run on J2ME, Symbian, Windows Mobile, Android... But to me it seems as if nobody currently uses it there.

I really would like to exploit the many benefits of OSGi, but I know I could do it without. And I don't want to exclude any users who are not able to use OSGi on their phone or would have to go through complicated setup processes make their phones ready for OSGi.

And I just can't believe that most of those cheap J2ME phones can run something sophisticated as OSGi. Not talking 'bout $1000 smartphones, but rather about those consumer devices you can get from e.g. Sony Ericsson for $100 (or $200 to be fair).

Is mobile OSGi a real alternative right now, or is it only a nice perspective for future use?

Edit: Until now, there's only one answer and it states that we're far away from using mobile OSGi. But for me, one answer is to few to base important decisions upon, so I hope a bounty will attract some more readers.

If no more answers will arrive, then that's a sign that nobody has experience with mobile OSGi, and then I would conclude the I wouldn't want to be the first one to explore it. Normally I love to try new technologies, but this time it's to critical to bet on the wrong horse.

A: 

We're nowhere near there yet but I completely agree that it needs to be added to mobile phones everywhere.

Future mobile virtual machines are going that way, at least.

So, right now: no way. future : no one can say yet but that woul dbe great and actually make a lot of sense.

QuickRecipesOnSymbianOS
+3  A: 

The reason that you are getting no answers is probably, because OSGi Mobile isn't ready for the real world. Even worse, since this was announced more than 3 years ago and it still hadn't caught up, it seems that everyone has forgotten about. This is something similar with MIDP 3.0, which still everyone is waiting for.

From what I understand OSGi is promising to deliver a CDC configuration to mobile devices, allowing them to use rich frameworks like Swing. It will also lift some of the restrictions imposed by MIDP profile and most importantly, it will allow the user to download and install plug-ins over the air.

You now need to think how all these fit to the current status of the market. We now have a bunch of smartphone platforms (iPhone, Windows Mobile, Symbian). These are all key players and of course they want people to prefer the native apps instead of Java ones. Apple has in fact gone so far to ban Java or any other VM applications from the iPhone. But even if the manufacturers haven't done so, I don't think that the customers themselves would prefer Java applications in whatever flavor over the more rich and powerful native ones. Java mobile applications made some sense a few years ago, but nowadays they seem to be a thing of the past.

Of course one would argue that Sun wouldn't want to let go on mobile Java, which was deployed in billions of devices and would do something to resurrect it. Well they actually do something and this is JavaFX mobile.

So in my opinion, OSGi mobile is ruled out for now and the future.

kgiannakakis
Seems that I forgot to mention that I'll be using Java anyway, the only question is: with or without OSGi. Anyway, your post has some interesting thoughts.
Brian Schimmel
Are you building your own device or you are using a consumers device? In the latter case, you need to find one with a Java version capable of supporting OSGi. I don't think that you will be able to find one.
kgiannakakis
I'm writing software that should run on a number of different exisiting consumer devices, so even finding ONE capable device is not the option.
Brian Schimmel
Then your choices are restricted. For Windows CE devices there is IBM's J9 CDC VM, but I don't know if it is still supported. SonyEricson had a CDC Java for UIQ phones, but the whole platform is being abandoned. There are also a handful of devices based on Linux. J2ME CLDC phones won't do.
kgiannakakis
+3  A: 

There is no reason why it shouldn't be. OSGi as a framework, bundle definition and dependency management is relatively compact. What is then heavy are the standard services defined by the OSGi standard. However they are not required for the framework to function properly.

Even though OSGi mobile might not be there yet, there is no reason why not to use an OSGi platform specially designed for small devices. An example is the BUG from http://www.buglabs.net/. They use the concierge OSGi implementation which is specially designed for small devices (http://concierge.sourceforge.net/).

According to the concierge project page: "Concierge is an optimized OSGi R3 framework implementations with a file footprint of about 80 kBytes. This makes it ideal for mobile or embedded devices.". The concierge project page also provides a list of tested platforms, see: http://concierge.sourceforge.net/platforms/index.html

In my opinion it is an alternative already right now.

lewap
This is an alternative if you are building small devices yourself - it would be then indeed a good idea. Don't expect to find it in a consumer's phone though.
kgiannakakis
@lewap Well, Concierge seems to be a cool thing, but I also thunk kgiannakakis is right with his objection
Brian Schimmel
A: 

Sorry I was not aware of this forum so I did not see the question earlier. Mobile OSGi is alive and real and has been release by Sprint on its winmobile devies and will soon be avail for other devices in the sprint portfolio. Sprint has also release an Open eval version for any winmobile 6.0 phone even if its not on sprints network. Mobile OSGi offers capabilities that are avail nowhere else in the mobile space. You can run a fully manageable Java Web/App server in OSGi (come to javaone and see the demo). and can create rich internet applications that use the browser on the device connected to the server on the device in what we call rich mobilenet mode. its fully remotely manageable unlike android. and fully open unlike iphone. It does require the move powerful Java CDC VM as a base so it will not run all the way to the lower end devices, but will do fine in the middle and upper segments. Its also the only application framework that will run across OS's. It is the full OSGi r4 meg stack which brings the same power of OSGi that is used in glassfish, oracle server, websphere, springsource etc to the mobile. This is the only mobile solution this is not some unique mobile hack, but rather the same technology from the glass house server to the edge of the cloud. take a look developer.sprint.com/titan Jon Bostrom President of MobiNoir consulting Father of Mobile Java

A: 

The bad news: There is NO technology in the world that you as an app developer can use to develop apps that would run everywhere, so either you limited yourself to one platform or you re-write your app multiple times.

The good news: OSGi is available for 4 platforms already (Win Mobile, Android, Nokia, Brew), what other platform gives you that coverage?

Great article on why OSGi is needed: http://www.pikesoft.com/blog/index.php?itemid=220

As far as market penetration is concerned, yes, it's not universally deployed yet and I understand that for an app developer (who typically does not want to deploy the platform along with his app) this is a limitation. However, as Jon said, mass deployments start to take off this year in the US, others to follow. Bear with this technology!