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 10:12 AM
Reply to this message Reply
Advertisement
For the first ten years of my career I did embedded work exclusively. When I heard that Java was originally created for devices I thought it was odd since I knew that embedded systems were very diverse in their architecture and design. It seemed to me they would be the last area where WORA could be successful.

To the extent it works at all, I think it's because embedded has increasingly been redefined as "a general purpose platform in a novel package". Yet even when the scope is narrowed to cell phones, it's still hard. Of course, there's been an explosion of resources available for portable devices in recent years as well.

I wonder: if companies knew then what they know now, would they choose Java or just keep using C and assembly?

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 10:18 AM
Reply to this message Reply
> You guys need to stop complaining and start coding.

Yes, it's very odd that people would complain in a thread called "What Are Your Java ME <u>Pain Points</u>, Really?"

> you'll find an ecosystem that's probably much larger than
> the Java desktop one.

And I can run faster than the slowest runner on earth.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 10:27 AM
Reply to this message Reply
> For the first ten years of my career I did embedded work
> exclusively. When I heard that Java was originally created
> for devices I thought it was odd since I knew that
> embedded systems were very diverse in their architecture
> and design.

That was the whole point. Instead of every development shop recreating the same application for each target, the embedded systems vendor would provide a JVM and the developers would target that.

> I wonder: if companies knew then what they know now, would
> they choose Java or just keep using C and assembly

I was reading an article about cell phone viruses and there was a mention that Java was a often chosen language because it was so widely supported. You point-out above that the developers are dealing with diverse architectures and designs. How would this help with that?

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 10:49 AM
Reply to this message Reply
> That was the whole point. Instead of every development
> shop recreating the same application for each target, the
> embedded systems vendor would provide a JVM and the
> developers would target that.
>

Well, in general you're creating different applications for each target, not the same application. In any case, I understand why you'd want to have WORA for embedded systems, I'm questioning the feasibility of doing so to the degree that you are really saving time and money.

> I was reading an article about cell phone viruses and
> there was a mention that Java was a often chosen language
> because it was so widely supported. You point-out above
> that the developers are dealing with diverse architectures
> and designs. How would this help with that?

I think phone viruses is an orthogonal issue. Anytime you implement software using known standards and code, you increase the risk. This would be true regardless of what language the known code was written in.

Of course if code security was the number 1 priority, you could do things the old fashioned way - don't allow any code updates over the air.

Mark Thornton

Posts: 275
Nickname: mthornton
Registered: Oct, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 12:13 PM
Reply to this message Reply
> Actually, it's almost the same. What's to stop you from
> telling people on your website to use their mobile browser
> to go to your JAD file and download it?
Some of the services are only available if your application is not just signed, but signed with a certificate issued by the carrier. In addition I believe that some carriers don't allow browsing to arbitrary internet addresses, but only to sites with an area of their own (walled garden). In this latter case you can't download anything that hasn't been approved by the carrier.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 12:34 PM
Reply to this message Reply
> > That was the whole point. Instead of every development
> > shop recreating the same application for each target,
> the
> > embedded systems vendor would provide a JVM and the
> > developers would target that.
> >
>
> Well, in general you're creating different applications
> for each target, not the same application.

I'm talking about a web browsers, games, time management software. Developers for these applications don't want develop, tweak and compile for each platform. In a way the whole concept was ahead of it's time. Sun just got distracted before it got some steam behind it.

> In any case, I
> understand why you'd want to have WORA for embedded
> systems, I'm questioning the feasibility of doing
> so to the degree that you are really saving time and
> money.

I think the idea was that if Java became the standard, the manufacturer would develop the system with creating a JVM in mind. I don't see why eliminating duplication of effort doesn't save time and money. Without a common target, the same problems have to be solved many times by many different people for each device. Of course this isn't easy and success is not guaranteed.

> I think phone viruses is an orthogonal issue. Anytime you
> implement software using known standards and code, you
> increase the risk. This would be true regardless of what
> language the known code was written in.

The point is that the JVM on mobile devices is indeed WORA, at least to some degree. Most of the other viruses were pretty limited in their ability to cross devices.

a san juan

Posts: 8
Nickname: asj2007
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 12:52 PM
Reply to this message Reply
"Some of the services are only available if your application is not just signed, but signed with a certificate issued by the carrier. In addition I believe that some carriers don't allow browsing to arbitrary internet addresses, but only to sites with an area of their own (walled garden)."

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.

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.

As to reventing users from browsing the internet, can you give an example of a carrier that does this?

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 1:04 PM
Reply to this message Reply
> I'm talking about a web browsers, games, time management
> software. Developers for these applications don't want
> develop, tweak and compile for each platform. In a way
> the whole concept was ahead of it's time. Sun just got
> distracted before it got some steam behind it.
>
That's what I meant about changing the definition of embedded. A platform that combines web browsers, games, and time management applications is really a general purpose platform. That's not a "device" as it was understood at the time Java was created. So as portable devices look more and more like their larger counterparts it's not surprising that "desktop" strategies can be applied to them. But if you look at those aspects that remain "device like" Java is still falling short.

The abstractions for displays, for example, work fairly well for desktop environments where there's a lot of space and not all that much variation, but how do you write code for a single application that is effective with both a large cell phone display and a two-line display?

It's not about the limits of Java, it's about the limits of abstractions in general. I suspect that James Gosling et al, had little real experience in embedded systems at the time they created Oak, so they didn't realize how difficult a nut they were trying to crack.

Mark Thornton

Posts: 275
Nickname: mthornton
Registered: Oct, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 1:34 PM
Reply to this message Reply
> As to reventing users from browsing the internet, can you
> give an example of a carrier that does this?
My cable company (formerly known as NTL) does this for browsing via the set top box (on the TV). Actually they may have changed, but I lost interest on discovering that restriction.

a san juan

Posts: 8
Nickname: asj2007
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 1:51 PM
Reply to this message Reply
"My cable company (formerly known as NTL) does this for browsing via the set top box (on the TV). Actually they may have changed, but I lost interest on discovering that restriction."

Well, ok, that's a set-top box, and we were talking about cells. That's interesting though because Java ME (CDC/PBP and PersonalJava) is actually in OCAP set-top boxes as well.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 3:14 PM
Reply to this message Reply
> > I'm talking about a web browsers, games, time
> management
> > software. Developers for these applications don't want
> > develop, tweak and compile for each platform. In a way
> > the whole concept was ahead of it's time. Sun just got
> > distracted before it got some steam behind it.

> That's what I meant about changing the definition of
> embedded. A platform that combines web browsers, games,
> and time management applications is really a general
> purpose platform. That's not a "device" as it was
> understood at the time Java was created. So as portable
> devices look more and more like their larger counterparts
> it's not surprising that "desktop" strategies can be
> applied to them. But if you look at those aspects that
> remain "device like" Java is still falling short.
>
> The abstractions for displays, for example, work fairly
> well for desktop environments where there's a lot of space
> and not all that much variation, but how do you write code
> for a single application that is effective with both a
> large cell phone display and a two-line display?
>
> It's not about the limits of Java, it's about the limits
> of abstractions in general. I suspect that James Gosling
> et al, had little real experience in embedded systems at
> the time they created Oak, so they didn't realize how
> difficult a nut they were trying to crack.

I can't really say from experience but I suspect that it is the case that Java does not meet the needs of embedded systems development. My point was more that the idea seems to me to be pretty sound although I will concede that success is probably going to difficult to achieve. I thought you were saying that the whole idea didn't make sense. I thought that most true embedded device programmers had ignored Java anyway.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 5:17 PM
Reply to this message Reply
>
> I can't really say from experience but I suspect that it
> is the case that Java does not meet the needs of embedded
> systems development. My point was more that the idea
> seems to me to be pretty sound although I will concede
> that success is probably going to difficult to achieve. I
> thought you were saying that the whole idea didn't make
> sense. I thought that most true embedded device
> programmers had ignored Java anyway.


I thought the whole point of Java ME was to target embedded devices, which is why I brought all this up. I'm not saying that Java is inappropriate for all embedded systems, it just seems that the power of its abstractions may have been oversold in this arena. There's still a lot of platform specific software "stuff" that still has to be done.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 5:26 PM
Reply to this message Reply
> Compared with the Windows Mobile 5 version of the
> application I had to build as well, the java version
> requires orders of magnitude more effort. The fact that
> there is a lot less variation in WM devices makes it a
> breeze to develop.

To be fair to Java ME (since I've been bashing it a bit), it appears that the goals of Windows Mobile are more modest. The more you narrow the range of platforms you support, the easier it is to approach cross-platform nirvana.

It may be that Sun is just more idealistic and MS more practical.

a san juan

Posts: 8
Nickname: asj2007
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 7:40 PM
Reply to this message Reply
> To be fair to Java ME (since I've been bashing it a bit),
> it appears that the goals of Windows Mobile are more
> modest. The more you narrow the range of platforms you
> support, the easier it is to approach cross-platform
> nirvana.
>
> It may be that Sun is just more idealistic and MS more
> practical.

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.

a san juan

Posts: 8
Nickname: asj2007
Registered: May, 2007

Re: What Are Your Java ME Pain Points, Really? Posted: May 17, 2007 7:43 PM
Reply to this message Reply
> I thought the whole point of Java ME was to target
> embedded devices, which is why I brought all this up. I'm
> not saying that Java is inappropriate for all embedded
> systems, it just seems that the power of its abstractions
> may have been oversold in this arena. There's still a lot
> of platform specific software "stuff" that still has to be
> done.

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)

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