Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
JPlease help me understand why people feel they need java in the iPhone?
Apple is providing a full fledge and free programing environment that generates fast native applications.

What makes java on the iPhone attractive for you?

Citrix applications can run in a Java environment though my university hospital's Citrix web interface, including MS Office, remote desktop, and a few Windows-only apps such as the electronic medical record and patient scheduling systems. It would be very handy to have access to these Citrix applications via the iPhone.

Of course maybe Citrix will create a native iPhone client app and then there would be no need to run this through Java. :rolleyes:
 
Citrix applications can run in a Java environment though my university hospital's Citrix web interface, including MS Office, remote desktop, and a few Windows-only apps such as the electronic medical record and patient scheduling systems. It would be very handy to have access to these Citrix applications via the iPhone.
you SERIOUSLY think running excel/remote desktop through citrix through java through your web browser ON THE IPHONE would be a good experience? You actually would PAY for this?

The iphone is a small computer but it really shouldn't try to do everything a normal computer does. the use cases are very different for most things, like spreadsheets
 
you SERIOUSLY think running excel/remote desktop through citrix through java through your web browser ON THE IPHONE would be a good experience? You actually would PAY for this?
you can skip browser part if JVM can be supported natively.

and when did you ever see a remote desktop being smooth anyway?
 
you can skip browser part if JVM can be supported natively.

and when did you ever see a remote desktop being smooth anyway?

That's my point. Remote desktop sucks enough when you're in a high bandwidth location like an office network on a regular computer. Why make that experience even worse by using remote desktop on a 480x320 screen over a spotty cell connection?

My guess is that 99% of people asking for stuff like this will never use it, or when they do use it they'll find the experience so bad that they don't do it more than once. And I'm not sure how much of that remaining 1% would actually pay for the privilege of jumping through all those hoops.
 
That's my point. Remote desktop sucks enough when you're in a high bandwidth location like an office network on a regular computer. Why make that experience even worse by using remote desktop on a 480x320 screen over a spotty cell connection?

My guess is that 99% of people asking for stuff like this will never use it, or when they do use it they'll find the experience so bad that they don't do it more than once. And I'm not sure how much of that remaining 1% would actually pay for the privilege of jumping through all those hoops.

I'm quite certain my hospital will never make a native iPhone version of our EMR. Remote desktop of one form or another is the best I can ever hope for. Currently I've been using iPhone VNSea to remote to my home Mac, then going into the Citrix web site through Safari, to access the EMR or my office computer.

I use it occasionally when I need to, and it works, even over EDGE. I'm not suggesting that I would do my taxes or write the great American novel this way. I guess I'm that 1% of people asking for this sort of thing that would (and already do) use it. And since it would mean one less hoop to jump through than what I'm currently doing, I'd definitely pay for it.

Is it that disturbing to you that other people have needs different from yours that you must write replies full of sarcastic capital shouting letters? :(
 
Not anti-java, not anti-java on iPhone, I just see that there is no real value given that there is a perfectly good SDK that takes full advantage of the hardware.

If you don't like Java on the iPhone, just don't use it. But denying the right of other people to access essential applications is simply fascist.
 
I'm quite certain my hospital will never make a native iPhone version of our EMR. Remote desktop of one form or another is the best I can ever hope for. Currently I've been using iPhone VNSea to remote to my home Mac, then going into the Citrix web site through Safari, to access the EMR or my office computer.

I use it occasionally when I need to, and it works, even over EDGE. I'm not suggesting that I would do my taxes or write the great American novel this way. I guess I'm that 1% of people asking for this sort of thing that would (and already do) use it. And since it would mean one less hoop to jump through than what I'm currently doing, I'd definitely pay for it.
Is there not another device out there that would make accessing this data on the go easier? I just think going for that device instead of going for the iphone would work out better in your case.
blybug said:
Is it that disturbing to you that other people have needs different from yours that you must write replies full of sarcastic capital shouting letters? :(
No, I just think the desktop experience is a terrible thing to replicate on a small phone. And there are plenty of devices outside of the iphone (I know we all tend to have iphone blinders on here) that do other things better, the iphone shouldn't really try to do all things for all people or else it won't do anything well (see: windows).
 
Nobody said Sun wants to bring Java SE to the iPhone.

The point here is Java ME.
 
Is there not another device out there that would make accessing this data on the go easier? I just think going for that device instead of going for the iphone would work out better in your case.
Of course my MBP and PowerMac (even the Dell box in my office at work) are vastly superior devices for accessing this data. They are also better for web browsing, contact and calendar management, watching YouTube, getting directions...

But short of carrying my laptop everywhere I go and finding WiFi access, then the next best device I can think of (distant 3rd or 4th to be sure, but nice to have when I need it) would be the phone I already carry with me everywhere with Java support as an option...are you suggesting I should get an additional mobile device/phone/PDA for this purpose? I doubt there is one that can do better than what I am already doing with the iPhone. :confused:
 
If you don't like Java on the iPhone, just don't use it. But denying the right of other people to access essential applications is simply fascist.

I don't make the decision, Steve does. Send him an email, call him Fascist and lets see how well he listen to the rest of your email.

A large debugged code base immediately compatible with any platform Java itself lives on.

Rocketman
Rocketman, I always love your posts, you are one of my favorites in this forum, however you did state the same thing (large body of pre-existing work). You did not state what makes those particular applications important given that they do not take advantage of the iPhone features that make the iPhone an iPhone. I do not believe there is a single person here that does not understand that there is a huge body of java applications out there, however not every one is going to want to run them all. There is always a handful that one thinks nobody should do without. What is your handful and why? Elaborate.

Citrix applications can run in a Java environment though my university hospital's Citrix web interface, including MS Office, remote desktop, and a few Windows-only apps such as the electronic medical record and patient scheduling systems. It would be very handy to have access to these Citrix applications via the iPhone.

Of course maybe Citrix will create a native iPhone client app and then there would be no need to run this through Java. :rolleyes:

Now that is very interesting .... For one I was not aware that Citrix had a java client, and second it never occurred to me that one would want to be able to interact with windows applications. It just never occurred to me, great point and very valid.
---

To all, I am not against it, I am just trying to understand for my own education and for the education of others that may want to keep an open mind, what java would bring to the table that is missing if all applications are created only by using the Apple SDK.

This is a friendly discussion / exchange of ideas.

Help me and others see the way. People here are very passionate about this issue, lets discuss as friends, I and others should have an opportunity to see the light.
 
A large debugged code base immediately compatible with any platform Java itself lives on.
You believe the JVM implemented on the iPhone will be bug-free? And the UI differences will be compatible out-of-the-gate? I don't have that impression at all. :shrug: Its moot anyway, as a native JVM isn't coming to the iPhone any time soon.
 
Thirded (is that a word?)..

No.

The last thing any iPhone needs is to bear is the bloated Java tit upon which the java-weenies find their suck.

Gee, that's a shame, because all the "Java-weenies" (note Java is a name, and starts with a capital letter) were planning on forcing you to use it. Now what are they going to do to specifically offend you and your friends?

Leaving aside the offensive rhetoric, Java being available on the iPhone will help in the corporate sector. Existing J2ME apps might well just go straight on.
 
That's my point. Remote desktop sucks enough when you're in a high bandwidth location like an office network on a regular computer. Why make that experience even worse by using remote desktop on a 480x320 screen over a spotty cell connection?

My guess is that 99% of people asking for stuff like this will never use it, or when they do use it they'll find the experience so bad that they don't do it more than once. And I'm not sure how much of that remaining 1% would actually pay for the privilege of jumping through all those hoops.

No-one is advocating doing a full days work on an iPhone using remote desktop, but for those situations where you need to dive into your desktop machine to do something - look something up, or upload a file - it would be very useful. Logmein.com uses a Java client and works very well indeed, even in a browser.
 
Ok, I'll do my best!

Java is a programming language (with its associated class libraries for things like parsing XML, writing files, handling dates and time etc.), but it is much more than another programming language:

Point #1 — Cross Platform Conundrum
Most computer programs are compiled to run on a single processor. Windows programs are compiled to run on the x86 (Intel/AMD) architecture, Mac programs were traditionally compiled to run on the PowerPC architecture (although now most Mac programs are compiled to run on both, these are called by Apple “universal binaries”). iPhone programs are compiled to run on the ARM architecture.

Problem: If you want to write for PC and Mac, you need to write two separate applications. Want to write for iPhone? That will be another application. Want to write for Symbain? Guess what? Another application. Oh dear.

Solution: Java. Java provides a method of writing applications which target multiple platforms.

Point #2 — Java Virtual Machine to the Rescue!
Java programs are not compiled to run on x86, PowerPC, ARM or any other processor. They are compiled to run on the Java Virtual Machine (or JVM, for short). This virtual machine sits on top of a real processor. This means that (providing an implementation of the JVM exists for the platform you are targeting) your Java program will work without changing a single line of code.

Advantages: Write once, run anywhere. PC, Mac, Linux, Symbain etc.

Disadvantages: Because the code is running on the virtual machine, it is abstracted one layer further away from the hardware, which means it will execute slower. How much slower depends from program to program, sometimes it is not noticeable, sometimes it is very noticeable (this was particularly the case in the past, not so much now) sometimes the portability benefits outweigh the performance issues.

Point #3 — Does a cross platform look and feel suffice?
Java programs need a way to display a graphical user interface (windows, menus, textboxes etc) to the user.

Problem: Java runs on many different platforms, each with their own separate windowing systems and interface guidelines.

Solution: Java solves this problem with the SWING and AWT libraries, which allow for the creation of Graphical User Interfaces which work the same across platforms. They will look different. For example, a JButton on Windows will look like a standard Windows Button, a JButton on Mac will look like a standard Mac Button. There are some inconsistencies though (a button is a very simple example).

Disadvantages: Java application often look “out of place” and feel “non-native” to the platform they run. For example, even if a Java application looks very Mac like, it cannot use the standard Mac toolbars used in iWork, Preview etc. and it cannot access the services menu. So even if it looks the same as all you Mac applications, it will never work the same as your Mac applications, as it will work like a Java application.

Summary
So it's more than just “fanboy” thing. The disadvantages which I have outlined above are often summed up in one phrase “slow and ugly”. Whilst the real issues are a good deal more complicated than that there is a thought that Java programs will never ever work as well as native applications targeted at a single platform.

Google have used Java to build most of their services and they make a little bit of money! All of WebObjects is written in Java (iTunes Store, Apple Online Store etc.). It is also I believe the most popular programming language in the world. So it does have a lot going for it.

Footnote: I've not told the “whole story” above in order to keep it simple. Of course there are different types of Java, J2SE (Standard Edition), J2ME (Mobile Edition) and J2EE (Enterprise Edition) and different versions as well: Java 5, Java 6 etc.

The responsibility of maintaining the JVM varies from platform to platform. Sun are responsible for the Windows JVM, Apple is responsible for the Mac JVM. Apple lag behind Sun, they only have Java 6 in beta on the Mac, whereas Java 6 has been available on other platforms for over a year now.

Because of the differences in JVM from platform to platform, the “Write once, run anywhere” mantra isn't always accurate.

Where I use the phrase “standard Mac application”, it should be taken to mean an Application built in Xcode, using the Cocoa frameworks.

Wow, what a fantastic explanation! I especially liked the problem/solution, advantages/disadvantages bits. I think I'm going to bookmark this page so I can come back to it when I need a refresher on it. So basically, java is something you use to make something else. Right, I think I got that one down. Is there anyone to tell me what flash is, then (again, more or less). It's just that I take it the iphone doesn't support that either, and I once saw someone say that it was dumb that it didn't because, '90% of what's worth it on the Internet is Flash'.

Personally, I've come across flash (that I know of, because it said so somewhere :p) on some brand websites, and have found it kinda irksome. For instance, sometimes I check out the site for Kipling bags, but I always give up after a couple of clicks because it takes longer to load, I have to go find little arrows and stuff on the screen to scroll, I can't save images or print easily to take with me to the store, and it doesn't make it more fun to look at after the novelty of the automatic changes wears off. But that may be just an idiotic way to use flash, so I'd love to know more about what flash is! Again, I tried wikipedia, but I'm in way over my head here :( I guess I'm one of those people who learns about computers from the outsied in; first we get familiar with the user interface (that's the right word I think?), then we begin to get interested in what's underneath and how it all works :D
 
Jonathan Schwartz, CEO of Sun Microsystems has a phone without Java ME.

Any guesses which one?

Hint: At least one other Silicon Valley CEO carries one daily.
Hint Hint: It begins with “i” and ends in “Phone”.

;)

[source]
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.