×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Sun Is Porting Java To the iPhone

kdawson posted more than 6 years ago | from the who's-driving-now dept.

Java 275

krquet notes an InfoWorld article on Sun's plans for the iPhone. After studying Apple's newly released SDK docs for 24 hours, Sun decided it was feasible to develop a JVM, based on Java Micro Edition, for both the iPhone and the iTouch. An analyst is quoted: "I think going forward, with the SDK, it takes out of Apple's control which applications are 'right' for the iPhone." The article doesn't speculate on how Apple might to react to such a loss of control. "Apple had not shown interest in enabling Java to run on the iPhone, but Sun plans to step in and do the job itself... The free JVM would be made available via Apple's App Store marketplace for third-party applications."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

275 comments

No posts and for once I have mod points ! (3, Funny)

wildBoar (181352) | more than 6 years ago | (#22687746)

Oh the irony

Re:No posts and for once I have mod points ! (2, Insightful)

wildBoar (181352) | more than 6 years ago | (#22688024)

Damn there are some mean spirited people out there. I generally spend my mod points on pumping up the good stuff.

Re:No posts and for once I have mod points ! (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#22688166)

A real shame i have to get my point across as an ac but you can just go fuck yourselves. What the hell is up with the apple-hating thats going on around here anyways?

Re:No posts and for once I have mod points ! (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#22688232)

Damn there are some mean spirited people out there. I generally spend my mod points on pumping up the good stuff.
And if I had mod points I'd bump you up, since I spend a lot of mine compensating for the stupid and mean spirited, but c'mon, your id is low enough that this can't be a surprise to you. Have you been drinking?

Re:No posts and for once I have mod points ! (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#22688270)

i haven't had a single cunt all night pintstable! i had an ale at lunchtime and thats it.

Re:No posts and for once I have mod points ! (1, Insightful)

Anonymous Coward | more than 6 years ago | (#22688280)

Perhaps it is because of others who feel as I do:

SHUT UP about the MOTHERFUCKING iPhone, I am sick of hearing about that PIECE OF SHIT every single GODDAMN DAY.

SHUT UP SHUT UP SHUT UP.

Re:No posts and for once I have mod points ! (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#22688338)

Wow. You're a huge twat.

Apple's stance (-1, Troll)

NMajik (935461) | more than 6 years ago | (#22687756)

If Apple hasn't been proactive in trying to port Java to the iPhone I expect they must have a good reason, whether it be security or performance concerns. I really question how much of a blessing this independent push for porting is.

Re:Apple's stance (4, Interesting)

croddy (659025) | more than 6 years ago | (#22687766)

Sure, possibly security or performance. More likely, NIH [wikipedia.org].

Re:Apple's stance (2, Interesting)

BotnetZombie (1174935) | more than 6 years ago | (#22687896)

Not only that, maybe Apple has even known all along that they wouldn't have to do the work - Sun, or someone else would take care of it.
I think this is great, used to think that I'd had enough of j2me but now I'm finding myself interested to tinker with this gizmo. First the sdk and now java, good times ahead.

Re:Apple's stance (5, Informative)

Anonymous Coward | more than 6 years ago | (#22687906)

Apple uses lots of software that they don't develop in house, NIH has absolutely nothing to do with it. Apple wants to keep the quality of applications high, and Java applications are slow, ugly and integrate poorly with the rest of the system. Java on the desktop is dead outside of horribly conceived enterprise business applications.

P.S. The Apple SDK is actually quite nice. Compared to the standard Java API it's a fucking masterpiece of computer programming.

Re:Apple's stance (1)

wildBoar (181352) | more than 6 years ago | (#22687986)

comparing it to the Java API (and have you seen the really useful JavaDoc... :-( ) isn't setting the bar very high.

Re:Apple's stance (3, Interesting)

cbart387 (1192883) | more than 6 years ago | (#22688090)

May I recommend doxygen [stack.nl] for your documenting needs. Does what javadoc can do + more (can create 'call graphs', works on several languages, and outputs to html, pdf, manpages, rtf etc etc). It is truly an impressive piece of software.

Re:Apple's stance (5, Insightful)

samkass (174571) | more than 6 years ago | (#22688224)

I can see you're wholly unfamiliar with Java.

The only part of the Java API that is worse than the Apple SDK is the GUI part. If Sun completely threw out Swing and started again from scratch (or Mac Java developers used Rococoa [java.net]) it would be brilliant. Java's support for everything else-- from multithreading to data structures-- makes Objective-C look like the 30-year-old grampa it is.

And Java is extremely fast-- almost certainly faster than Objective-C, which suffers from the worst of both worlds in performance: static compilation and extremely dynamic linking. These days, dynamic compilation (which has available to it runtime and usage statistics) can optimize much more efficiently than static, leading to higher performance code. And Objective-C's extreme approach to dynamic linking means almost nothing can be inlined or statically optimized across message/function boundaries.

Finally, the iPhone/Touch has some specific hardware to help make Java fast. Apple's just ignoring it. But Java on the iPhone using Apple's GUI library would be extremely cool.

Re:Apple's stance (0)

Anonymous Coward | more than 6 years ago | (#22688404)

That's some very interesting opinion, but the fact remains that there are relatively few large-scale desktop applications written in Java, and the ones the do exist are known for their poor performance and excessive resource usage. Java Foundation Classes have largely solved the "clunky" UI problem, at least on Windows, but significant issues remain for desktop Java.

Regular OS X users actually demand Cocoa applications. I can't imagine Java ever reaching that level of acceptance. Of the three big dynamic languages/frameworks (Java, .NET, Cocoa) only one has been used successfully to consistently deliver large-scale desktop applications to consumers.

Re:Apple's stance (1)

tkinnun0 (756022) | more than 6 years ago | (#22688268)

The Apple SDK is actually quite nice. Compared to the standard Java API it's a fucking masterpiece of computer programming.
I tried to do such a comparison few days ago, but there didn't appear to any API docs iPhone available without registration. Can you summarize some of the improvements their APIs have over Java Micro Edition?

Re:Apple's stance (1)

architimmy (727047) | more than 6 years ago | (#22688418)

My jailbroken phone literally stopped working. Performance definitely suffered and the extra apps were not worth the trouble. At this point I'm more than willing to patiently wait and only use Apple vetted apps through the app store. Besides, I don't think it will take very long for whatever authentication method to be broken that Apple is using to prevent SDK apps not purchased through the store to run on the phone.

It would be more exciting if Sun was porting Flash...

Re:Apple's stance (2, Interesting)

da_matta (854422) | more than 6 years ago | (#22687842)

...Or they thought it would be bad for business. Think about it, what's implied here is that Sun has only the publicly available information on feasibility of a JVM in iPhone. I.e. they've not had serious discussions about the JVM implementation (with or without the public SDK). Either Apple has not recognized the value of JVM in iPhone, or they see it as threat to them and are not pursuing it in purpose.

Re:Apple's stance (1)

NMajik (935461) | more than 6 years ago | (#22687860)

I strongly doubt that they see it as a threat. If this was the case I think they would be pushing more strongly against Sun's stated intentions instead of their current ambivalence. In regards to them not seeing the value, I expect that they must have considered it; you can't just *forget* about Java.

Re:Apple's stance (5, Interesting)

Anonymous Coward | more than 6 years ago | (#22687858)

For one thing, if iPhone developers choose to just use Java, then the applications could run on other phones relatively easily.

Re:Apple's stance (0)

Anonymous Coward | more than 6 years ago | (#22688486)

That would happen only if Sun or any other java supporter released a framework or something that would allow easy access to iPhone features such as touch-screen.

Re:Apple's stance (0)

Anonymous Coward | more than 6 years ago | (#22687886)

If Apple hasn't been proactive in trying to port Java to the iPhone I expect they must have a good reason, whether it be security or performance concerns.

You skipped the real reason, losing total control of the platform.

Apple pwns its fanboy customers, and wants to keep it that way.

Re:Apple's stance (5, Insightful)

adrianmonk (890071) | more than 6 years ago | (#22687920)

Others have offered reasons why Apple didn't bother with Java (such as wanting to maintain control or not liking its performance), but I think there's a much simpler reason: Apple's products succeed because they are polished. The graphic artists make sure everything looks nice, the UI designers spend time on special touches, and there is a lot of effort that goes into consistency and uniformity.

So, I think Apple didn't bother with Java simply because it didn't fit in with this. They have their own UI, and Java apps either won't look the same or will require a lot of effort to get there. That alone is enough to make Apple say "why bother?" when it already has one language that does the job.

Re:Apple's stance (1)

T-Bone-T (1048702) | more than 6 years ago | (#22688102)

With Java, one can make one's program look and feel different from other Java programs, but that isn't required. All Sun has to do is make a look and feel similar to the iPhone's and as long as a developer doesn't specify a different look and feel, it will be consistent from app to app.

Re:Apple's stance (4, Informative)

xouumalperxe (815707) | more than 6 years ago | (#22688172)

AFAIK, Apple thoroughly customized the version of Java that comes bundled with OS X so as to make it look consistent with the rest of the platform. It certainly doesn't look half as jarring as it does on windows.

Control (5, Insightful)

argent (18001) | more than 6 years ago | (#22688110)

If Apple hasn't been proactive in trying to port Java to the iPhone I expect they must have a good reason

Control.

Apple wants to control application access to the iPhone.

I've never been a huge fan of the iPhone, and Apple's continual foot-dragging over opening it up is getting increasingly old.

Loss of Control (4, Insightful)

Doomstalk (629173) | more than 6 years ago | (#22687758)

What Loss of Control? They've got final right of refusal on everything that goes up, and they hold the only means of distribution. If that's a loss of control, I don't want to know what it'd be like when Apple is totally in control.

Re:Loss of Control (0)

Anonymous Coward | more than 6 years ago | (#22687944)

I think the idea is that people wouldn't be forced to use Apple's API which probably enforces some of their ideas about interface design.

Re:Loss of Control (1)

onefriedrice (1171917) | more than 6 years ago | (#22688002)

I agree. I'm not sure what they mean by loss of control, but this move makes me happy. I'm not especially a fan of Java in general, but it supports what I've been saying all along. One just had to look at the number of developers and the cool stuff being designed for the iPhone/touch months ago to know that it would just take off when Apple finally got around to creating an official avenue for 3rd party apps. Developers (including me) want to develop for the iPhone because it's such a cool platform (oh yeah, plus the market is there). Good move, Apple. Good move, Sun. This will be fun.

Re:Loss of Control (2, Insightful)

Anonymous Coward | more than 6 years ago | (#22688116)

This is a pure monopoly. apple sucks. They are no better than microsoft. fsck them.

Re:Loss of Control (1, Insightful)

Anonymous Coward | more than 6 years ago | (#22688146)

What Loss of Control? They've got final right of refusal on everything that goes up, and they hold the only means of distribution.
That's the Control part. A (non-Jailbroken) iPhone/Touch only runs (Apple-)signed binaries natively.

If that's a loss of control,
The Loss part is that if a well performing JVM were released, non-signed Java apps from anywhere can run on it. It's not quite native, but a lot more powerful than web-apps.

Re:Loss of Control (1, Interesting)

erroneus (253617) | more than 6 years ago | (#22688408)

I got modded flamebait on a previous thread discussing Apple's intended singular point of control disallowing enterprise administrators the ability to install apps on the phones within their enterprise domain where at least three people (so far) said I simply didn't read the articles that Apple *will* in fact, allow such enterprise control.

I still doubt Apple will release control. I'd be similarly surprised if Apple even allowed Sun's Java on the iPhone at all. After all, once Java gets on there with internet access, there's no way they can control additional Java apps from being sent to the phone... well I shouldn't say no way, but it'll be a lot harder.

Rember to tag (0)

Anonymous Coward | more than 6 years ago | (#22687770)

whatcouldpossiblygowrong

Not without a private agreement with Apple (5, Informative)

adamwright (536224) | more than 6 years ago | (#22687784)

Section 3.3.2 of the SDK agreement states...

An Application may not itself install or launch other executable code by any
means, including without limitation through the use of a plug-in architecture, calling other
frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in
an Application except for code that is interpreted and run by Apple's Published APIs and built-
in interpreter(s).

Now, this is certainly lawyer speak and probably covers more than they'd like - I very doubt they'd care if you used some of your own library code to script custom UI elements in, say, LISP. But it is certainly their intent to stop people from just republishing all the iPhone APIs under a new wrapper, then selling an "Interpreter App" that downloads and runs "jPhone Apps" (aka "data" for your special iPhone app), thereby bypassing all their controls. It certainly seems to rule out a JRE in the sense that we've used to, and from Apples point of view, this is correct (no judgements from me on whether this is a good thing or not).

Re:Not without a private agreement with Apple (4, Informative)

sane? (179855) | more than 6 years ago | (#22687900)

What a lovely way for Microsoft, err sorry, Apple to find themselves in court. I'm sure the EU will look forward to the fresh cash injection. If Microsoft find themselves hundreds of millions of Euros down the swanny for failing to document APIs and make them available, what will be the fine for actively trying to prevent competitors having the same access to the machine that Apple does?

I guess Sun have read the API and know they can bend Apple over their own arrogance.

Re:Not without a private agreement with Apple (0, Troll)

robizzle (975423) | more than 6 years ago | (#22687978)

I'm all for free market competition and in the end I hope that Sun goes through with this and we get to see it all play out; however, a part of me feels like Apple developed the hardware, API, and SDK and should get their $99 + 30% if thats what they require. If consumers don't like this in the long run, they can go buy other phones.

Either Apple is starting to see enough revenue that the business division is getting more swing within the company, OR, the engineers have some reason that they didn't want to bother trying to implement Java (performance, security, etc.)

Personally, I'm holding my tongue for Silverlight with a custom set of iPhone controls (afterall, Microsoft said in MIX08 something along the lines of "We intend to port Silverlight to every mobile device that has an SDK")

Re:Not without a private agreement with Apple (1, Insightful)

0xdeadbeef (28836) | more than 6 years ago | (#22688120)

Why should they? How much of the software on the device did Apple actually originally write? The "they made it, they control it" argument is a weak cop-out. Legally, they can do what they want with it, but any appeal to artistic moral rights is pure bullshit. There is no iPhone without the contributions of thousands who have come before it, who forged the smartphone market, who invented the technologies Apple merely licensed, who wrote the BSD kernel, WebKit, and several other FOSS libraries that are part of the SDK. They are standing on the shoulders of giants, and they have a responsibility to let this revolutionary device live up to its full potential.

Nothing beautiful ever grows out of ham-fisted control.

(Thankfully, Google seems to understand this: there is another... [openhandsetalliance.com])

Re:Not without a private agreement with Apple (4, Interesting)

argent (18001) | more than 6 years ago | (#22688154)

Apple has every right to lock in the iPhone, yes, but that doesn't mean we have to go along with them.

As for Silverlight... no thanks. Microsoft has proven that their 'no sandbox' security model is completely unworkable so many times that it amazes me that anyone would consider taking yet another spin on the wheel. ActiveX, .NET, Silverlight, Moonlight, it's all the same vigorous viral ecosystem.

Re:Not without a private agreement with Apple (2, Insightful)

Stuart Gibson (544632) | more than 6 years ago | (#22687994)

Apple aren't a monopoly. I'm guessing that's where the differentiation is, there is plenty of other options if you're unhappy with the iPhone.

Re:Not without a private agreement with Apple (2, Informative)

bagofcrap (260283) | more than 6 years ago | (#22687914)

Which isn't to say Sun and Apple couldn't come to a separate agreement wrt "jPhone", but this does serve to highlight a rather problematic licensing limitation in this day and age of greasemonkey and users wanting more control over the devices they own.

Re:Not without a private agreement with Apple (4, Informative)

civilizedINTENSITY (45686) | more than 6 years ago | (#22687926)

Please note that:

No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple's Published APIs and built- in interpreter(s).
...is not mutually exclusive to:

After studying Apple's newly released SDK docs for 24 hours, Sun decided it was feasible to develop a JVM, based on Java Micro Edition, for both the iPhone and the iTouch.
...which fact is attributed Eric Klein, vice president of Java marketing at Sun, in TFA:

Sun came to the conclusion it could make a JVM work on the iPhone after taking 24 hours to look at information on Apple's SDK. Sun saw nothing in the public statements preventing the JVM from being one of the applications enabled on the iPhone, said Klein.

In lieu, I will be... (0)

Anonymous Coward | more than 6 years ago | (#22687960)

"It certainly seems to rule out a JRE in the sense that we've used to, and from Apples point of view, this is correct (no judgements from me on whether this is a good thing or not)."

No, no it is not. It's a Bad Thing.

But I'm sure it will stop viruses and malware on the iPhone, seeing as that is such a huge problem with Windows Mobile, Symbian, PalmOS and portable Linux installations. Oh, wait.

Okay, it will ensure that only the highest quality software that fits Apple's guidelines, including possibly design guidelines, and thus provide the user experience that Apple holds so high, will be available.
Well I guess that's true enough, but if I want to install CrashOTron2000 with a godawful UI on my iPhone, then who are Apple to tell me I cannot? Who are Apple to tell the developer that they cannot even offer it?

Don't get me wrong, I wouldn't want Random Application X messing around with the radio either. And, from Apple's point of view, VOIP over the cellular network may indeed be unwanted (by the telcos). Any other application that could, most certainly, render the thing useless or degrade its performance in standard use is not very nice either. I can even see a ban on the first one, and a moratorium on the second one, but to blanket-ban any application willy-nilly when they don't like it - even if the end-user may very well love it - is, imho, a Bad Thing.

If the only way to get around Apple is to provide a wrapper for the APIs, which they very well could code so that calls to the radio etc. are -not- exposed (not even implemented. Then again, are they even implemented and exposed in Apple's own SDK/APIs?), then I think it would be a Good Thing for it to be available. Any end-user complaints would have to go to Sun, and not Apple, for support / I-bricked-my-iPhone-you-buy-me-a-new-one crap.

Re:Not without a private agreement with Apple (5, Informative)

RalphBNumbers (655475) | more than 6 years ago | (#22687980)

True.

But Sun has Lawyers too, surely they've read the license as well. They wouldn't say they're going to make iPhone-java unless they saw a way to actually do it (albeit, their way to do it may just be to say they're doing it even though they know it's forbidden, and then try to drum up public support if Apple stops them).

It seems likely that larger players are getting access to extra capabilities not allowed by the public SDK.

Sun isn't the only big company doing things with the SDk that imply a special deal. AOL already demonstrated an AIM client for the iPhone, which would be rendered largely useless if it had to follow the restriction against public-SDK based apps running in the background.

Re:Not without a private agreement with Apple (5, Insightful)

DdJ (10790) | more than 6 years ago | (#22688196)

But Sun has Lawyers too, surely they've read the license as well. They wouldn't say they're going to make iPhone-java unless they saw a way to actually do it (albeit, their way to do it may just be to say they're doing it even though they know it's forbidden, and then try to drum up public support if Apple stops them).
Sure, and there's a very easy way for them to do it.

They make the JDK/JVM available only to developers. Then it's essentially just a library that a developer can use. The finished app still needs to go through Apple, and be posted as an individual app. And installing such an app on the iPhone doesn't enable the end-user to install any other apps on the iPhone.

I don't see Apple's terms as forbidding that.

Also, note that if you're a developer, you can install whatever you want on your own iPhone. That $99/year gives you the tools to install apps on your own phone by a mechanism other than the consumer-oriented ones. So, a more conventional JDK/JVM could be made available to developers pretty easily.

And there's also that talk about corporate centralized app-loading. We don't know what the rules for that are going to be, yet.

But it does seem likely that ordinary consumers are not going to be able to load a conventional JVM or Perl interpreter or PalmOS emulator or MAME implementation onto iPhones.

Re:Not without a private agreement with Apple (3, Informative)

RalphBNumbers (655475) | more than 6 years ago | (#22688392)

They make the JDK/JVM available only to developers. Then it's essentially just a library that a developer can use. The finished app still needs to go through Apple, and be posted as an individual app. And installing such an app on the iPhone doesn't enable the end-user to install any other apps on the iPhone.


They might try that, but the article says, "The free JVM would be made available via Apple's AppStore marketplace for third-party applications." So if that's all they intend to do, they didn't get that point across to the reporter.

Re:Not without a private agreement with Apple (2, Insightful)

firewood (41230) | more than 6 years ago | (#22688496)

Section 3.3.2 of the SDK agreement states...

        An Application may not itself install or launch other executable code by any
        means, including without limitation through the use of a plug-in architecture, calling other
        frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in
        an Application except for code that is interpreted and run by Apple's Published APIs and built-
        in interpreter(s).


As written, that would appear to exclude programmable calculators, games with scriptable characters, sprites or robots, PalmOS sandboxes, game emulators, or even an Apple ][ emulator.

iPhone or jPhone (0)

Anonymous Coward | more than 6 years ago | (#22687792)

Great, just what we need, more Java crapplets, but for the iPhone.

I don't see what Java can really add to the iPhone, aside for making it go slower, and potentially crash more.

Java is great for students, and other beginner programmers, but it has no place in embedded hardware.

Oh boy! Time for some barely useable ports... (2, Interesting)

wal9001 (1041058) | more than 6 years ago | (#22687802)

Now that the Mac is overrun with terrible ports of Java apps with Windows interfaces and menus at the top of windows instead of in the menubar, we can send the iPhone down the same road! Horray for inefficient power wasting slow ports! But at least it's easy to go cross platform with Java, as long as you don't want it to look right or run fast. Ok, I'm a tad cynical. We can hope that iPhone users will demand a higher standard of usability than the "hey, I bet we could make this run on Macs with a few hours of work" that are fairly common in the software market. Otherwise it's going to be overrun with bad versions of apps thrown over from other java capable mobile platforms.

Re:Oh boy! Time for some barely useable ports... (4, Funny)

palegray.net (1195047) | more than 6 years ago | (#22687834)

At least it's not Flash [informationweek.com], right?

Re:Oh boy! Time for some barely useable ports... (4, Interesting)

civilizedINTENSITY (45686) | more than 6 years ago | (#22687976)

Agreed that Java is preferred to Flash.

Java is a decent language. The library support is fantastic. With Sun opening up Java, its time to reconsider the use of a VM to draw our desktops. Certainly Java is preferred to Mono ;-)

Still, there is a certain amount of Java-biased derision echoing about slashdot. Perhaps those issues need to be addressed before advocating the embracing of Java. Yet it is a decent language, one of the best of the curly bracket languages :-)

Re:Oh boy! Time for some barely useable ports... (0)

Anonymous Coward | more than 6 years ago | (#22688178)

With Sun opening up Java, its time to reconsider the use of a VM to draw our desktops.

No it's not.

Re:Oh boy! Time for some barely useable ports... (3, Interesting)

VGPowerlord (621254) | more than 6 years ago | (#22687868)

Now that the Mac is overrun with terrible ports of Java apps with Windows interfaces and menus at the top of windows instead of in the menuba

For Swing apps, isn't that Apple's fault? They did the JVM port to OSX, after all... they had the power to make the JVM merge the Swing menu with the Apple menu using OS hooks.

Instead, they chose to have it display at the top of each application like Windows and most XWindows GUIs.

Re:Oh boy! Time for some barely useable ports... (1, Insightful)

Anonymous Coward | more than 6 years ago | (#22688040)

Merging java menus into the menu bar at the top of the screen sounds good at first, but doesn't really work out when you consider that there can be multiple windows, each with their own menu system, in a single java app.
Having the menu system change whenever you focused on a different window in the same app would not be very mac-like.

Re:Oh boy! Time for some barely useable ports... (1)

argent (18001) | more than 6 years ago | (#22688128)

Having the menu system change whenever you focused on a different window in the same app would not be very mac-like.

They could merge the menus and disable the entries that aren't associated with the active window, just like any other app.

Re:Oh boy! Time for some barely useable ports... (1)

dfghjk (711126) | more than 6 years ago | (#22688378)

I'm trying to imagine a single app with multiple windows where each window has it's own, unique menu system, then try to imagine how the user would easily differentiate that app from multiple unique apps each controlling similar windows. I think the distinction is academic since each window is performing an independent function in either case. In the latter case, having the menus change would clearly be mac-like. I'd love to hear an example where such approaches are distinct and your assertion is true.

I think having the global menu bar change as you switch apps is one of the most godawful things about a mac.

i call bullshit.... (3, Interesting)

bennini (800479) | more than 6 years ago | (#22688472)

sorry but you are wrong.

if you have a java application and want the menu bar to appear at the top of the desktop (like all other OS X apps), then simply invoke the jvm/java app and pass the following system property as a JVM arg:

-Dcom.apple.macos.useScreenMenuBar=true

as described here [sun.com]

its not that complicated....

Re:Oh boy! Time for some barely useable ports... (2, Insightful)

bigstrat2003 (1058574) | more than 6 years ago | (#22687870)

Now that the Mac is overrun with terrible ports of Java apps with... menus at the top of windows instead of in the menubar
People seriously do that?

I'm kind of torn. On one hand, it's terrible form to violate an operating system's UI conventions. You just don't do that. On the other hand, having one menu bar for the entire system is the worst UI design decision I've ever seen. I'm really not sure which is the good alternative between those two... but I am still really honestly surprised that people are violating the system's UI conventions. How do they figure it's going to help usability, contradicting everything users of that platform are conditioned to expect?

Re:Oh boy! Time for some barely useable ports... (5, Interesting)

wal9001 (1041058) | more than 6 years ago | (#22687942)

Well, they're not all that bad. It's mostly smaller projects, like PCGen that are the worst offenders, and some more widely used ones like Azureus never really got good Mac interfaces. For example, when you make the Azuerus window smaller, instead of adding a scrollbar it just covers stuff up bit by bit. So you can make it small, but if you want all of the statistics to be available you have to leave it at a fairly large size. Azureus's interface is the main reason that everyone I know has switched to Transmission.

And I don't want to sound all negative, because there are plenty of good Java based programs on Mac. For example, Lux does a great job with the interface (maybe because it started on Mac and was ported the other way), but I'm still worried. The prospect of hundreds of developers jumping on the iPhone thinking "I already know Java, so I don't have to learn anything new" seems like it could end badly. I guess we'll have to wait and see what happens, if Sun does go through with this.

Azureus is not a Swing aoo: It is SWT based. (1)

dwalsh (87765) | more than 6 years ago | (#22688188)

Just note that Azureus uses a non-standard Java UI API called SWT. This was developed by IBM for the Eclipse project and it is significantly biased towards Windows, and is more of a fish-out-of-water on other OSes.

Re:Azureus is not a Swing aoo: It is SWT based. (2)

LDoggg_ (659725) | more than 6 years ago | (#22688246)

The GTK port for eclipse on Linux seems ok to me. Looks no better or worse than the other apps on my system.

Why the Micro Edition?! (1)

Dlugar (124619) | more than 6 years ago | (#22687806)

It seems like the iPhone is fully-featured enough to completely support a full, first-class JVM. Why are they porting a crappy pared-down Micro Edition version? That limits a lot of developers in what they're able to do. Maybe that's all they could get Apple to agree with?

Dlugar

Re:Why the Micro Edition?! (0)

Anonymous Coward | more than 6 years ago | (#22687932)

The specs of the iPhone ressemble those of a desktop of 10 years ago, so they should aim for something that has about the complexity of Java 1.1.

Java? Are you f'ing kidding me?! (-1, Flamebait)

urcreepyneighbor (1171755) | more than 6 years ago | (#22687818)

Why won't this bitch die?!

(Note: I love the idea of Java. The implementation, however, is... uh... yeah. The phrase "dead crackwhore" comes to mind.)

Why bother? (2, Insightful)

Realistic_Dragon (655151) | more than 6 years ago | (#22687822)

I strongly respect anyone's right to do anything they want. However, I don't see the logic behind this move - or equally, behind anyone writing free apps for the iPhone via a jailbreak app.

The outcome is that they are making a platform with a high degree of Apple lock in more attractive to consumers. When version two comes along with more effective control mechanisms users will be tied to Apple's integration services, and the tenuous foundations of a business model standing on some else's shifting sand will be destroyed.

So why do it? It's bad enough choosing to write apps for Windows, but at least there is some logic given the size of the user base. The iPhone user base isn't very big (compared to, say, s60) but it _will_ be if it becomes the best option in town because everyone has helped Apple make it the best tool around by writing software for it. Then a later version can close you out and bang, lay off time is here again.

The beauty of letting Sun port it (4, Insightful)

crovira (10242) | more than 6 years ago | (#22687844)

is that Apple is off the hook for anything that fucks up with Java Apps (and Sun knows it so look for very conservative Java apps to get rolled out first.)

That opens up the iPhone (and iPod Touch but who cares about that minority,) for corporate deployment and all those goodies without exposing Apple at all.

Waiting for Android (0, Troll)

Anonymous Coward | more than 6 years ago | (#22687848)

Fuck the iPhone.

All I have to say about that.

Slow me down, java, slow me down... (0, Troll)

Klaidas (981300) | more than 6 years ago | (#22687872)

I wonder how fast java's going to be on the iPhone... I mean, well, you know... java... speed... those two combined...

Re:Slow me down, java, slow me down... (0)

Anonymous Coward | more than 6 years ago | (#22687970)

I wonder how fast java's going to be on the iPhone... I mean, well, you know... java... speed... those two combined...
You know nothing about J2ME, do you? It's fast. Fast enough that it's a primary development environment on basically every advanced phone in the world except for the iPhone.

Network-Mobile Objects (4, Interesting)

Doc Ruby (173196) | more than 6 years ago | (#22687876)

Java ME is already part of the default platform for DVB/ATSC (European / N American cableTV clients), most mobile phones, and Blu-Ray (so all HD videodiscs). When it's on the iPhone, JME will get high visibility as a development platform (DVB/ATSC/BD-J and even most mobile phone development is nearly all done by a small niche of developers).

The same JME applets will run on any of those devices. In fact, the Java classloader lets any running Java program load a class from any other Java device connected by the network, load it and run it (safely) locally.

I wonder whether having lots of developers targeting a very featureful terminal that can be used as a "universal remote" for all these personal devices will finally offer some good applications for Java's ability to transmit the same objects around all the devices. Like the GUI objects installed in each device being available on any other device, to control the "home" device in familiar terms. Or any other of these.

And if that "mobile objects" platform does indeed come of age, will even Sun's "JavaSpaces" [wikipedia.org] finally have a use for its far-out platform?

Will all of Sun's "useless" Java platforms from the past decade+ eventually be recognized as "visionary"?

Re:Network-Mobile Objects (1)

BotnetZombie (1174935) | more than 6 years ago | (#22687992)

I've been wanting to do this for years now. Did a home automation server for my final project 10 years ago in C++ but it was cumbersome, SDKs difficult to work with if you could call them SDKs. I, for one, hope that at least some parts of your prophecy come true.

Re:Network-Mobile Objects (1)

ScrewMaster (602015) | more than 6 years ago | (#22688062)

I, for one, hope that at least some parts of your prophecy come true.

I, also, welcome our mobile class-loading Java-based Overlords.

Gagh. Did I actually say that?

Re:Network-Mobile Objects (1)

znu (31198) | more than 6 years ago | (#22688158)

Java ME is already part of the default platform for DVB/ATSC (European / N American cableTV clients), most mobile phones, and Blu-Ray (so all HD videodiscs). When it's on the iPhone, JME will get high visibility as a development platform (DVB/ATSC/BD-J and even most mobile phone development is nearly all done by a small niche of developers).

The same JME applets will run on any of those devices. In fact, the Java classloader lets any running Java program load a class from any other Java device connected by the network, load it and run it (safely) locally.


Look, we've been hearing this message of cross-platform utopia for a decade now. The truth is that while Java might be a useful platform technology for developers of embedded systems or whatever, it has largely been a failure in terms of creating a market for third-party applications that are acquired and used by actual end-users. In the mobile space we've got a lot of J2ME apps, but most are trivial or poorly executed (or both), and the market is in disarray; most users of J2ME phones have never installed an app and don't think of their devices as applications platforms, carriers erect high barriers to selling apps, and the widely varying capabilities of handsets make a mockery of "write once, run anywhere".

Java's problems delivering apps that perform at the same level as native apps are more significant in the mobile space than on the desktop. Its problems matching the native UI and the fit-and-finish of native apps are going to matter more on the iPhone than on any other platform, because of iPhone-specific features that cross-platform J2ME apps probably won't take advantage of (multi-touch, etc.), and because of the extremely high standards for UI that Apple has created with its own iPhone software (which third-party developers using the native SDK, having largely Mac roots, mostly will live up to.

As such, the notion that the iPhone represents a new opportunity for J2ME is a fantasy. Quite the opposite is true. Let Sun port J2ME to the iPhone. It will be widely ignored. In six months there's going to be a rich collection of fully-native apps on the iPhone -- something that has really never happened in the mobile space before, because nobody has taken hardware this capable and combined it with excellent marketing, first-rate interaction design, a software platform made for today's devices (which have as much RAM and storage as desktop computers circa 2001), and a straightforward easy-to-use application distribution and update model -- all while shipping enough units (remember the iPod Touch!) to create a single large unified user base to target with apps.

Re:Network-Mobile Objects (1)

Doc Ruby (173196) | more than 6 years ago | (#22688340)

You know, it's like you didn't read my post. It's like all you saw was "Java", and kicked on some standard Java rant. The only thing missing is "Java is slow", which you implied with your general "perform at the same level as native apps".

If you read my post, you'd see that lots has changed. For one, Java is now the "native platform" on these other small multimedia devices like DVB/ATSC/BDP. You'd see that I proposed mobile objects with precisely the purpose of delivering native UIs from remote devices. Let's see native iPhone apps do that - without rewriting Java, that is.

You also don't know how Java works now, which means porting it to the iPhone will let Java apps present the same "high standards" UI that native apps present.

You also missed the essential point that until now, the developer community for Java has been a small niche inside the device maker industry, but the iPhone will change that. Especially since Java applets will likely not require the iPhone App Store (or whatever they call it) for distribution, without sacrificing safety, the iPhone represents the first big opportunity for those applets to reach a big audience without hassle (even though you vastly underestimate the number of Java apps running on other mobile phones already). New apps in a hot marketed platform that can integrated with those other devices across the network represent a new basis for demand for those apps, and therefore for its programmers. Presto: an ecosystem.

I think the only part of my post you got right was when you tagged your response with "circa 2001". Just because you don't understand Java, or the power of the same code running on all those ubiquitous devices, doesn't mean the opportunity isn't there.

Interesting (-1, Redundant)

sneakyimp (1161443) | more than 6 years ago | (#22687878)

I wish Adobe would port Flash to the iPhone. Also, I haven't looked at the SDK, but how can Apple prevent folks from installing this newly built Java thang on their iPhone? Granted, Apple can control which apps are for sale in their fancy app store, but if you have the SDK, doesn't that mean you can build and install things on the phone?

What about the fact that... (1, Redundant)

bluemonq (812827) | more than 6 years ago | (#22687884)

...third-party apps can't run as a background process? From the documentation: "Only one iPhone application can run at a time, and third-party applications never run in the background." Limited resources or not, it seems like this is going to end up like the older versions of PalmOS.

In line with Design guidelines? (5, Insightful)

aneviltrend (1153431) | more than 6 years ago | (#22687890)

Here's a short section of the interface design guidelines as released by Apple:

Only one iPhone application can run at a time, and third-party applications never run in the background. This means that when users switch to another application, answer the phone, or check their email, the application they were using quits. It's important to make sure that users do not experience any negative effects because of this reality. In other words, users should not feel that leaving your iPhone application and returning to it later is any more difficult than switching among applications on a computer.

So when the JVM is used by an application, it'll be launched/terminated each time the app is switched to? I'm willing to bet that will make apps that leverage the JVM almost unbearable to use.

Re:In line with Design guidelines? (0)

Anonymous Coward | more than 6 years ago | (#22688100)

So when the JVM is used by an application, it'll be launched/terminated each time the app is switched to? I'm willing to bet that will make apps that leverage the JVM almost unbearable to use.
No kidding. Imagine waiting for 30+ seconds every time you wanted to open a Java applet. I suppose it would be nice to have WebCT CE6 suck on yet another platform.

Re:In line with Design guidelines? (1)

argent (18001) | more than 6 years ago | (#22688190)

How can they prevent third-party applications from running in the background?

Re:In line with Design guidelines? (1)

johannesg (664142) | more than 6 years ago | (#22688276)

That's a silly question. They control the OS, so they can kill -9 anything they please at any time they like.

Re:In line with Design guidelines? (1)

argent (18001) | more than 6 years ago | (#22688292)

They control the OS, so they can kill -9 anything they please at any time they like.

That's got nothing to do with them controlling the OS... any application can do the same thing. They all run as root.

But, yes, I agree, they could have some daemon sitting there looking for unexpected processes and killing them, but if they did wouldn't you expect it to have shown up by now?

Re:In line with Design guidelines? (1)

DdJ (10790) | more than 6 years ago | (#22688286)

How can they prevent third-party applications from running in the background?
You don't understand how this is all working.

The only way for ordinary consumers to install anything at all is going to be through Apple. You won't be able to hand someone a floppy with your own program on it and have them load it on their own iPhone. It won't work.

So, all Apple has to do to prevent third-party applications from running in the background is refuse to distribute any apps that do. An ordinary consumer with an ordinary iPhone who hasn't done any kind of jailbreak is not going to have any other source for applications, besides Apple. Period.

Re:In line with Design guidelines? (1)

argent (18001) | more than 6 years ago | (#22688312)

Yes, I know they can stop them at the political/financial layer (or at least play cat-and-mouse games with people who sneak "accidental" backdoors in anyway). What I want to know is if they have built any technical restrictions into the API... for example, running installed apps as non-root in a chrooted or jailed environment, or restricting the system calls available to installed apps.

JME is not JSE (1)

Logi (2799) | more than 6 years ago | (#22688210)

I'm sure there is some overhead, but this is the micro editon which is optimized for small devices. It's a sub-set of the language, no garbage collection, no floating point, etc. and a much reduced standard library. All of this will greatly simplify the runtime environment.

Also, JME doesn't do some of the ridiculously complex runtime optimizations that standard java does, most of which are about improving execution speed at the expense of... everything else. This includes startup time and memory usage which is rather impressive on standard java (but sort of getting better with time).

Re:In line with Design guidelines? (1)

DdJ (10790) | more than 6 years ago | (#22688256)

So when the JVM is used by an application, it'll be launched/terminated each time the app is switched to?
Yes and no.

It sounds like you're taking "launched/terminated" to mean "jumps to main()/gets a kill signal". I'm sure a hibernate/resume cycle will be just fine, in terms of meeting that requirement. The point is that when it's not in front, the app can't have any RAM footprint, any CPU cycles, respond to any interrupts, et cetera.

Secure (1)

harroinc (1253032) | more than 6 years ago | (#22687922)

With all this new porting and the release of iPhone SDK, wont this make the iphone even more insecure than it already is.

How do you figure it's "insecure"? (1)

argent (18001) | more than 6 years ago | (#22688074)

I've seen a lot of speculation about the iPhone being somehow insecure, but most of the "security issues" I've seen have been from companies who want to sell security software, or that want to lock down company owned phones. The former can be dismissed as sales material, and the latter are at BEST irrelevant to most users.

Unless you're talking about jailbreak? That's not a security hole, that's an advantage. I wish I could jailbreak my own cellphone, since Sprint has locked out most of the functionality that led me to pick the model I did.

Re:How do you figure it's "insecure"? (1)

harroinc (1253032) | more than 6 years ago | (#22688112)

Im just meaning that if new software comes out, it will lead to more insecurities within the iphone itself. Just like for example theres exploits within windows Software, but its not Windows itself. We will see.

Re:How do you figure it's "insecure"? (1)

argent (18001) | more than 6 years ago | (#22688176)

Your original comment implied that it was already "insecure": wont this make the iphone even more insecure than it already is.

Do you know something more than I've been able to pull up, or were you talking through your hat?

24 hour decision for a fortune 500 company? (1, Interesting)

Anonymous Coward | more than 6 years ago | (#22687968)

Is java the best solution for Iphone? Seems like a step back, gluing feathers on an airplane.

It's vulnerable enough without a hackneyed java client, thanks. Slow enough also.
Wasn't really designed for business either, if that's what they're pushing it towards.

If there's one area iPhone really doesn't need more options, it's attack vectors.
And it voids your warranty, right? Sure, every business has an in-house iPhone reflashing service.

Dunno, take another 24 hours and think about it.

And now for something completely different... (1)

downix (84795) | more than 6 years ago | (#22688060)

How long before Amiga, Inc announce that they'll have the next AmigaAnywhere running on the iPhone...

This is known as piggybacking (0, Troll)

furball (2853) | more than 6 years ago | (#22688144)

Here's how it works:

* Take something the press has forgotten about because it basically gets no press. Find a product that the press is buzzing about.
* Somehow tie the thing the press has forgotten about to the hot new thing.
* Remind the world your old forgotten thing is relevant and still exist.

* Fade back to obscurity shortly thereafter.

JDK 6 - Leopard?? (2, Insightful)

yamamushi (903955) | more than 6 years ago | (#22688202)

That's great and all, but a lot of us are still waiting for a decent JDK 6 and Java SE 6 releases for Leopard!

There already is a Java port to the iPhone (4, Informative)

laird (2705) | more than 6 years ago | (#22688448)

There's already a port of Java to the iPhone. To run it on a jailbroken iPhone, first install Cydia (http://www.saurik.com/id/1) and then install iPhone/Java.

It even comes with a simple demo Java app that uses the iPhone frameworks!

Admittedly it's pretty primal, and there's a long way from "JVM runs" to being able to run J2ME app's (like, for example, a GUI layer). But it's still really cool!

Uh, if Apple doesn't want it on the phone... (1)

divisionbyzero (300681) | more than 6 years ago | (#22688450)

then how is it going to get on AppStore? They are the gatekeeper.

If you are talking about some sort of hack, then how is that different than all of the other hacks? I suppose it might make the iPhone easier to hack, but how hard will it be for Apple to put out a firmware update every three months or so that wipes out anything related to Java on the phone because it violates terms of service? Will serious users put up with that kind of instability?

If Apple doesn't want it to happen, it ain't gonna happen.

This is a non-issue.

should be interesting... (1)

hitmark (640295) | more than 6 years ago | (#22688502)

to see if apple lets this pass. as i understand, they have final say as to whats made available in the appstore, freeware or not.

should be a nice test of how control freak apple wants to be about the store.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...