The Artima Developer Community
Sponsored Link

Weblogs Forum
What Are Your Java ME Pain Points, Really?

41 replies on 3 pages. Most recent reply: Jun 1, 2007 10:03 PM by Niclas Hedhman

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 41 replies on 3 pages [ « | 1 2 3 ]
Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 9:20 PM
Reply to this message Reply
Advertisement
> Java is used in embedded areas, including smart cards
> (probably half the smart cards in the world market run
> Java), SIM cards, and now small wireless sensors (Sun
> SPOTS)

Yes, but these are rather simple devices with a fairly standard architecture, are they not?

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 9:35 PM
Reply to this message Reply
> Java ME is mainly an application framework, Windows Mobile
> is an OS. MIDP runs on many Windows Mobiles, in addition
> to running on linux, Symbian, Palm (somewhat), and
> Blackberrys.

So is it fair to say that Java ME can't run without an OS?

Jiri Goddard

Posts: 54
Nickname: goddard
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 10:08 PM
Reply to this message Reply
> > Java ME is mainly an application framework, Windows
> Mobile
> > is an OS. MIDP runs on many Windows Mobiles, in
> addition
> > to running on linux, Symbian, Palm (somewhat), and
> > Blackberrys.
>
> So is it fair to say that Java ME can't run without an OS?


I just don't get your point here. Are you trying to say that almost any API or standard cannot run on its own (standalone), without an OS at certain point? Because for example the SPOT is the "java iron" and I don't think that you can find any OS running on chips in cards.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 10:44 PM
Reply to this message Reply
> > > Java ME is mainly an application framework, Windows
> > Mobile
> > > is an OS. MIDP runs on many Windows Mobiles, in
> > addition
> > > to running on linux, Symbian, Palm (somewhat), and
> > > Blackberrys.
> >
> > So is it fair to say that Java ME can't run without an
> OS?
>
>
> I just don't get your point here. Are you trying to say
> that almost any API or standard cannot run on its own
> (standalone), without an OS at certain point? Because for
> example the SPOT is the "java iron" and I don't think that
> you can find any OS running on chips in cards.

You quoted two of us, so I'm not sure who the question is directed to. If it's me, I wasn't making any point, just asking a clarifying question.

Jiri Goddard

Posts: 54
Nickname: goddard
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 18, 2007 2:05 AM
Reply to this message Reply
> You quoted two of us, so I'm not sure who the question is
> directed to. If it's me, I wasn't making any point, just
> asking a clarifying question.

Yes, the question was directed to you, thanks for reply.

a san juan

Posts: 8
Nickname: asj2007
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 18, 2007 5:35 AM
Reply to this message Reply
"So is it fair to say that Java ME can't run without an OS?"

Java sometimes is run on bare metal...for example, in Sun SPOT sensors. The Savaje phone also had Java as the OS I believe.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 18, 2007 6:55 AM
Reply to this message Reply
>
> Java sometimes is run on bare metal...for example, in Sun
> SPOT sensors. The Savaje phone also had Java as the OS I
> believe.

OK, now I'm making a point. If Java ME sometimes runs on "bare metal" then I'd say the categorical distinction between it and WM is somewhat artificial. They both can be used as the core software of an embedded system.

Jiri Goddard

Posts: 54
Nickname: goddard
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 18, 2007 9:32 AM
Reply to this message Reply
First, there always has to be some kind of JVM, Java doesn't run just on "bare metal". Read more at http://www.sunspotworld.com/docs/

Second, there's a difference between JVM, Java programs (APIs) that can run on it and some standard defined (like MIDP or CLDC). You have to see 3 layers at least - HW > OS > JVM > Java programs fitting into some of the Java platforms itselves. It's just a mess of terms.
Now we're pretty off-topic.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 18, 2007 10:05 AM
Reply to this message Reply
> First, there always has to be some kind of JVM, Java
> doesn't run just on "bare metal". Read more at
> http://www.sunspotworld.com/docs/
>
> Second, there's a difference between JVM, Java programs
> (APIs) that can run on it and some standard defined (like
> MIDP or CLDC). You have to see 3 layers at least - HW > OS
> > JVM > Java programs fitting into some of the Java
> platforms itselves. It's just a mess of terms.
> Now we're pretty off-topic.


I'm a bit confused because you said earlier that there's no OS running on a smart card and now you're saying that you need an OS to run Java.

Anyway, the point that sparked this off-topic discussion was my belief that Windows Mobile had more modest goals than Java ME and thus it's not entirely fair to compare which is easier to use successfuly. Assuming that some kind of "Java technology" can allow Java ME applications to run on hardware without a "non-Java technology" component, comparing Java ME and WM isn't as much of an "apples to oranges" affair as one might assume.

Dirk Detering

Posts: 16
Nickname: det
Registered: Jul, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: May 29, 2007 11:45 PM
Reply to this message Reply
What I missed here in the discussion a bit:

How big is the learning effort to write an application?

Where do I find an adequate and free VM for my device (if not delivered as "batteries included")?

How would I setup a development environment?

Where do I find tutorials to start programming?

And: If carriers are restricting me to write applications for my own device, I would give up.

What drives Java in many ways in the SE and EE world is the openess. Everyone with a particular skill can contribute in some way. Look at Sourceforge and other repositories and you find at least usable snippets for everything you can think of.
Codes people have written in their spare time, to solve their own little needs, and easily shared that with others, who, if they found it not usable out-of-the-box, adapted it for their own environment.

But for me, I until now never successed in writing an application for at least my own device to share it with other users of the same type.
The entry to ME development (see questions above) was all in all too much effort for only a bit of fun programming.
And if I would need a certificate to run my own little Memory game calculator on my own mobile device, this would additionally be a knock out criteria.

I see the need for WORA and for setting up a complicated build process including many test devices for professional development.

In a more open scenario, one would write an application for his own device, and others would adapt it for theirs. So the Run-Anywhere would be a community result, not a requirement in first place, which no amateur could fulfil.

Young people learn to program Java in school lessons, and sometimes write interesting programs for scientific topics in project groups.

Could you imagine ME development at school?
"Well done on your Nokia, Peter, but let us see how Thomas managed to make it run for his Sony..."

Joe Bowbeer

Posts: 2
Nickname: joebowbeer
Registered: Aug, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: Jun 1, 2007 3:17 PM
Reply to this message Reply
I've been immersed in Java ME since 2001 and have felt lots of pain. I presented a pragmatic developer-view BOF on this at JavaOne in 2003.

Pervasive J2ME in Practice: A Cookbook for Developers and Designers
http://tinyurl.com/yptvrh (powerpoint)

(The 2nd half of this presentation is a portfolio of mobile designs by Cris Cook that may be as inspiring as my developer's perspective is sobering...)

I've been banging my head against the wall for a few years and I've made some headway, and the platform is even starting to achieve some of the promise that we saw in 2001, but I don't see the next few years being any easier for developers than the last several (which feel to me like a decade!).

I'm particularly concerned that there are not more programmers entering this arena. Mobility is one of the fascinating areas of computing that should be a fun, vital part of undergraduate education in computer science, and yet I doubt these courses even exist.

Why? Think about the hurdles one would need to be overcome in order to teach a comprehensive Java ME course at a university (or conference). What handsets and data plans would you require your students to possess? What signing certificates would they need in order for their apps to access such vital resources as the file system, camera, or audio player? (How would they obtain these certificates?)

If we can find a way to unleash the students and hobbyists, then we can vitalize the platform.

I started a discussion on kvm-interest about the negative impact of restricted APIs. It used to be that OEMs and carriers would develop incompatible sets of proprietary extensions. Today, they're more likely to work together to create standardized sets of extensions - but then restrict their use in incompatible ways via permissions. The result is the same, or worse.

--
Joe Bowbeer

Niclas Hedhman

Posts: 3
Nickname: niclash
Registered: Jun, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: Jun 1, 2007 10:03 PM
Reply to this message Reply
> Signed certificates are only needed in most cases if you
> want to prevent the phone from continuously asking the
> user whether to allow an app to access the network or to
> access any file system. With a signed certificate,
> accessing these resources does not create prompts for the
> user all the time. And btw, I have no problems with the
> use of signed certificates. Most developers moan and groan
> about it, but this is a business and so long as the
> carrier does not go overboard with it, it is their
> playground and you have to play by their rules.

Well, if you are going to get 50 certs from each of the operators that requires that, and individually negotiate the terms and conditions with those operators, I think you get put off pretty quickly.

He wasn't talking about the single cert I can buy to sign an application to increase the friendliness to the user, or for that matter the cert needed to be allowed to pre-install on the devices prior to shipping ;o)


> As to "walled gardens", you only have to look at Verizon
> for a nightmare scenario, where everyone has to go through
> the carrier with their brew apps.

So, it is the sign of the same disease.

When will the carriers realize that they are doomed to become transport providers, just like you average broadband provider.

Someone desperate will hopefully start, which will lead to the avalanche of change.

Another IMHO important step the operators can take, to make JME take off really is to allow IPv6 on 3G/4G networks. That's when the killer apps are going to appear.

Flat View: This topic has 41 replies on 3 pages [ « | 1  2  3 ]
Topic: What Are Your Java ME Pain Points, Really? Previous Topic   Next Topic Topic: The Dynamic Web Frameworks Jam

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use