I’ve been covering Java on the Mac for a little more than ten years now. Fortunately, I have other beats. If this were my only focus then I’d be really worried by a Steve Jobs quote on David Pogue’s blog.
I’m sure I’ve blogged this part of the story before, but I was teaching an intro to Java at John Carroll and Java 1.1 was released for Windows only a couple of weeks into the semester. Some of my students were able to use that new full-featured version of Java while me and my Mac-bound friends were stuck on 1.02. I complained to the right people and the next thing you know, I was covering the Java on the Mac beat for JavaWorld Magazine.
Among other things, this meant that I was a working member of the press when Steve Jobs returned to Apple. I went to Boston to see his first Macworld keynote. Since then I’ve been able to cover every Macworld Expo at which Jobs’ has delivered the keynote. That year he introduced new board members and outlined the items he thought were important to re-invigorating the Mac. This included the famous investment by and peace settlement with Microsoft. Netscape continued to ship on the Mac but IE was the default browser. Part of the Microsoft announcement was that Apple would be collaborating with Microsoft on Java.
That might not seem like a big deal. But if you’ve ever been to a Steve Jobs’ keynote you know that there are a ton of things that he can talk about and only a small focused subset makes it to the main stage. For example, this year there was no mention of the features coming in Leopard in the next few months. The discussion was mainly AppleTV as the opening act followed by the iPhone. And within the iPhone announcement, plenty of details were left out.
So Java on the platform was a big deal in 1997. I also remember that that was the show where I saw my first Java IDE that was (supposedly) written in Java.
In 2000, Steve Jobs appeared at one of the JavaOne keynote addresses. I quoted Jobs as saying that “Sun and Apple haven’t worked that closely on Java in the past.”
“That was your fault,” interrupted Sun CEO Scott McNealy. “I think we had a hard time feeling like the [Mac] Java desktop strategy was working with us.”
“And you guys were putting Java in light bulbs and everything else,” answered Jobs.
Jobs then keyed in on his message: “We want to bring Java back to the desktop in a really big way. I’m here today to personally tell you we are working hard to make Mac the best Java delivery vehicle on the planet. The biggest thing we are doing is we are going to bundle Java 2 SE into every single copy of Mac OS X [the upcoming Macintosh operating system] that we ship later on this year.”
Again, that seemed to be a pretty clear sign that Java was important to Apple and Apple was important to Sun.
Now back to the David Pogue blog post. John Markoff asks, “What about all those plugins that live within Safari now, like Flash or like Java or like JavaScript?”
Jobs replies, “Well, JavaScript‚Äôs built into the Phone. Sure.”
Markoff: “And what are you thinking about Flash and Java?”
Jobs: “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.”
Markoff: “Flash?”
Jobs: “Well, you might see that.”
O.K., so maybe Flash, definitely JavaScript, and “Java’s not worth building in.” Jobs says it’s heavyweight and nobody uses it anymore.
Wow. Too heavyweight for the iPhone. The iPhone with four or eight gig of storage. The EveryMac.com site reminds us that the PowerPC introduced in November, 1997 had 4 gig of storage. Those were back in the days where the machines shipped with 32 meg of RAM and the processor was topping out at 233 MHz. This iPhone will put more power in your pocket than the PowerPC put on your desktop — and the iPhone includes a display.
Is Java done on the Mac?
Chris Adamson and I have written that Java could have been used in interesting ways. Think of iTunes which has pieces that run on servers, pc’s, and handheld devices. That could have argued in favor of Java. But Java never made it to the iPod and it doesn’t look as if it’s headed for the iPhone.
So Java didn’t make it into OS X.
In a way I find this hard to believe and in a way I don’t. Desktop Java has never been managed right by Sun and I can see Apple not wanting to be dependent on them. Java in the browser is finally right enough that you often don’t notice it. When I contact my ISP to complain about a service, it’s a Java chat window that pops up. When I check my connection speed using the Las Vegas speed test, it is a Java applet that runs the test.
Could these be done in different ways? Sure. But they’re not. And that means that not everything on the internet will work on the iPhone. I think that Markoff got to the key issue. He didn’t ask about Java anywhere else on the phone other than in the web browser.
Sun has worked hard to get Java on a ton of handheld devices. But they aren’t nearly as cool as the iPhone. Over the years Sun has played hardball with Apple over Java. While Sun has built the runtime for Solaris, Windows, and Linux, Apple has had to build and tune the Java runtime for the Mac while paying a heavy licensing fee for the privilege of doing Sun’s work for them. Sun’s marketing always mentions the desktop platforms as being Solaris, Windows, and Linux. Solaris and Linux? And not Mac?
Sun is a server company and mainly thinks about Java sitting on servers powering the internet. But they may have just gone too far. Java not being on the iPhone and not shipping as part of OS X is a big deal.
Developers are looking at Flash and at AJAX as platforms for rich desktop (yes desktop) applications. If Java becomes irrelevant on the PC and on the device then we will enter a new phase in it’s life. There will be plenty of uses for Java for a good long while but we are entering the FORTRAN phase or the COBOL phase.
Finally, I wonder if Steve Jobs has decided that Java has no place on OS X on the iPhone, what will its role be in the future on Mac OS X on the Mac?


I recently looked into building a web-launched tool that would need to do some things client-side that were beyond JavaScript's limitations. It was pretty clear that to have something that would work on both MSIE and Firefox, we would have to develop separate ActiveX and Java apps. You can ask MSIE users to install the JVM, but most wont, and it is an extra step in a process you want to be quick.
If Microsoft isn't including the JVM, Java on the desktop is more or less dead.
Things seemed to be going better with mobile phone "desktops", but but the iPhone seems more focused on being a consumer media product than either a phone or a computer.
Don't forget, that apple already dropped Cocoa-Java Bridge.
But on serverside Appple uses Jva quite intensive (WebObjects, blogging server) and Eclipse become the IDE of choise for WO development
The points in this article are well made and certainly something Sun should be VERY concerned about. However, in surveying the use of Java on the "desktop", you overlooked what Pepper Software has done with the Pepper Pad. While built on Fedora and Gnome, the custom desktop is written entirely in Java. The feature of the device is the JRex/mozilla based web-browser. It shows that Java can be successfully used in a desktop environment and even look good! The main problem is exposure and acceptance, two things Jobs is certainly not helping with.
P.S. And yes, I am typing this comment on my Pepper Pad.
With Java SE 6 and Java ME now being open sourced, what licensing.
Also, Steve Jobs hasn't been keeping up. Java SE 6 is lightweight. Etc.
When I say what licensing... I mean what fees will Apple continue to pay?
When I say what licensing... I mean what fees will Apple continue to pay?
Well, GPL Java might be free, but Sun is continuing to offer its existing license program, which presumably involves some level of support from Sun. Moreover, if Apple went with the GPL version, they might have to open-source all their additions, like the Apple Java Extensions, or maybe even QuickTime for Java?
I hope Steve does not bite the hand that feeds him again. Well ok, iPod is really feeding him today. But a big growing market for Mac today seems to be the Java Developers. When I go to technology conferences and I see the top notch Java developers presenting on their Mac, I this as a new grass roots effort. For example, the speakers at No Fluff Just Stuff are almost exclusively Mac now. I see how that is effecting the purchasing decisions of other developers like myself. Comments like this from Steve are making me rethink my decisions which I thought I had already made.
In addition, today's current developers are potentially tomorrow's CTOs who will be making purchasing decisions for large corporations.
The iPhone seems to be completely closed thing. As far as I understand it dosen't run ANY third party software. Whether this pricy thing conected with a contract will be of big significance in a saturated market remains to be seen. Apple has in no way a licence to success only because iTunes store and iPod worked so well (in the US). Java is on most phones out there, so why should Java bother if it is missing in this special phone model. If the Mac would stop Java support most of the damage is with Apple as they loose many customers. I think they will support it. Always keep in mind: This company has hardly 5% marketshare !
I think Java *is* pretty dead, for client-side web applications. But it's certainly not dead for mobile apps in general. I would hope that Apple might eventually relent and permit J2MEE apps on the iPhone, but I wouldn't push for a Java plugin for the iPhone Safari.
I think the real problem with Java on the iPhone (at least from Jobs' perspective), is that if they supported java in the web browser, the closed architecture would be broken, and people could do all kinds of things that either Apple or AT&T don't want on the iPhone (VoIP).
I suspect that the only way Apple could get Cingular/AT&T to agree to the deal was to close up the iPhone tighter than a drum. I suspect that 80% of the negotiations between them revolved about what would be allowed and what would be blocked.
Consider the impact of a java applet that implemented a Skype client and was loaded via a web page.
I use a mac for server-side java development and I would hate hate hate to have to use a different OS platform because of a 'client-side' decision. Our particular 'sweet-spot' technology stack is Flex/Javascript on the client, but heavy Java on the server. Very sad if Apple chooses to ignore this sector.
Java is server-side technology - close the book on Java as a compelling option for client-side developers. The tools are lacking, Sun wants to push NetBeans on us at every opportunity, and, honestly, even though they've improved the look and feel over the years, you can still tell the difference.
Flash, OTOH, is slick and has friendly content creation tools. If Flash had a more programmer friendly Actionscript interface, why bother with Java on the client side?
"I think the real problem with Java on the iPhone (at least from Jobs' perspective), is that if they supported java in the web browser, the closed architecture would be broken, and people could do all kinds of things that either Apple or AT&T don't want on the iPhone (VoIP)."
If that's true, then Steve should have just said so, instead of trashing and dismissing Java.
I don't think that there's a need for Java on the iPhone.
I can't remember last time I stumbled over a Java-Applet-Webside by accident. There are two chat-sites I know, but they do not count, because I can't really imagine anyone wants to use that kind of chat on an iPhone. Others websites.. NONE. Even my bank has dropped Applet-driven frontend.
And for the iPhone itself? Why? There is no need for "write once, run everywhere" in the way it's meant. As Apple wants at least controll the deployment of the software... but I guess they want controll the market even more... Devs will not much care about if it runs on iPhone and any other phone... they will just care about the iPhone. And when coding only for one plattform why pay the costs of the bytecode interpreter and so on? I guess language of choice will be Objective-C and of course the Cocoa Framework and with that, you can write even better apps that with java (ME?).
When presenting the iPhone, Steve Jobs showed what techniques it will have For example Core Animation... you don't have anything like CA in Java.
Even Java for the desktop is dead.. at least it's seriously hurt. I work for a company where 75% of the server apps are written in java and Java-devs vs. RPG-devs is about 5:3. That is, nearly any of our desktop apps are written in Java. But if I could code as I want (and the whole company would use macs) I would do every single app in ObjC/Cocoa... except one for not heaving adequate DB-drivers for ObjC.
So, what's left? Servers. Webserver? Well people won't notice on what plattform the server is running they are browsing but that doesn't count, representation of HTML is client-side. (Except you have to deal with something like the Casabac-GUI .. then you will notice one big thing... slowliness!) But Java doesn't even have lot to do with delivering the HTML-content in the first row. There it is Apache or ISS and those are mostly running PHP,Perl,C# and Phyton and Ruby are gaining marketshare too. So, then it's the backend where Java has it's home? Maybe, but there, you are not so much in danger of DOS-Attacks that can harm your native-plattform and Java sucks much of RAM if you want to run serious business. Well on the backend Java my survive, but does the "public" take notice?
Please stop the confusion. Java is big on the server and non existent on the desktop (applet, webstart, whatever). So the missing java-plugin for mobile-safari is not a huge deal.
BUT, Java is huge on the mobile space. Every handset (well, everyone except high-end PocketPCs) implements Java Microedition. It was used mostly for games (there is a mobile java 3d JSR), but operaMini and google (mobile maps, native gmail) are changing the landscape.
So, I deeply respect (actually something more) SJ for everything he does--and if he wants to make the iPhone a closed platform, I can accept the decision. But if the rationale is "Java is big and no one uses it", well, I think that the mobile space is the best counterexample.
1) One of the best JVM on the market, Esmertec jBed, supporting CLDC and MIDP checks out at less than 300K. 2) It is on every handset shipped today. Case closed.
I think Java actually is on its way to the COBOL phase. Perhaps Ruby/Rails just got some love from Steve here...
I'm with Steve. (And I spent the years 1996-2000 working my heart out to make Java work well on the Mac, before giving up in the face of the platform's insatiable desire to gobble memory and CPU, and to provide poorly-done knockoffs of every desktop API.)
The Java Steve is talking about is Java applets in the browser, i.e. Swing and AWT. That platform is a bloated pig by any standard, and runs poorly even on a well-equipped 'real' computer. Thankfully, it's been pretty much killed off by Flash and Ajax.
There's also Java on phones (J2ME, etc.). This is alive and well, and (apparently) not that piggy. But no way Steve is going to agree to a cheesy-looking emulated UI running apps that don't work like the rest of the iPhone.
And of course there's server-side Java, which has nothing to do with phones, but is also apparently doing OK, although I'm a Rails / TurboGears guy myself. To each his own.
a new phase in it's life --> a new phase in its life
There are currently 36 jobs posted on apple's job site that have "Java" in them. Including:
"Java Frameworks Engineer
We are interested in an energetic engineer who can master our Java implementation (Java, Obj-C, C & C++) and contribute to making Mac OS X the best environment for Java development."
I think the main reason for dropping support on java-cocoa is that developers that choose Java, want to run it on multiple platforms.
Here's Jonathan Schwartz, Sun Microsystems' CEO, giving his side of the iPhone and why Java should be included on it: http://www.podtech.net/scobleshow/technology/1322/sun-microsystems-ceo-we-almost-died
Well, I think there are a lot of confusion about Java, the iPhone and MacOS. As said in other posts, the iPhone not having Java on the browser is not surprising: although I disagree, even a lot of die hards Java advocates don't count Java as a big player in the browser. Why should Steve?
Now, if JME is left off the iPhone, I think Apple is making a big mistake. This is even how a lot of operators earn money! And, I think it will frustrate a lot of users. And Jobs' paranoid about not allowing users to install applications is pretty misleading: JME applications are not "applications", they are really much more content then anything else.
Now, what does all of this have to do with the Mac? I don't think much. Take out Java from MacOS, and instantly, Apple can stop selling their servers. What good is there on an Apple server that cannot run an app server? Will it compete with Windows print servers then? And even if you give in to the argument that Java on the Desktop is not all that great, even Linux users will go to great lengths to install Java in their systems. Apple will become second class citizens with the lack of Java, not the other way around.
Now, if you are asking Sun to provide a runtime for the Mac, no thank you, I don't want that. I understand we as developers would love to have the latest JDK release as soon as it cames out. And I really hope that with OpenJDK, and the commitment from the FreeBSD foundation, we will have that sooner, rather then later. And it is nothing agains Sun, that have one of the best Java implementations in the market. But, the oficial runtime has to come from Apple, even if it is a bit behind. End users need the cool, smooth, desktop integration that only Apple (or, to be more generic, the platform vendor, whoever it is) can provide. This is how Java was planned in 1995: platform vendors are the ones that can provide good l&f tracking, automatic updates, end user support. And if end users don't have a smooth experiences, developers will not use the technology. Apple did that, and I really wish other platform vendors would follow them.
And I think developers are well served by Apple so far. JDK 6 is not on the end user system yet, but it is available for us developers, and has been for quite some time. Honestly, how many other platforms already have pre-instaled Java 6 on then? Well, how many have Java 5 pre-installed and really well integrated? ;-) We need to keep pressuring and developing applications, to show the value of what we have, and make sure we are heard on what we need.
It's important to remember that Java (as a programming language) is different from Java (as a VM). We've established that Java is all but useless in the browser, so all that's left is Java (J2ME/MIDP) as a platform for installable applications.
J2ME Apps already need to be compiled into different versions to account for differences in hardware, screen size, etc. Instead of JIT Compilation, which would be wasteful on such a homogeneous platform, why not just have Eclipse or XCode turn your Java app into a native binary? Including Java-compatible classes or redirecting API calls at compile-time is a trivial issue. I could see iPhone development going this way, with Java code and libraries shared with other projects or versions of the same project, but with the UI code being platform-specific (Interface Builder, at a minimum) -- and the whole thing compiling down to native code for whatever device it's being deployed on.
It'd probably be a bad idea not to (eventually) allow some Java code to make it into client apps for the iPhone, but there are a lot of ways it can be done.
RIMs BlackBerrys are completly programmed in Java! So I think Steve Jobs does not know what he is talking about Java and Mobile Phones. Or maybe he is lying?
I don't disagree with Jobs. While I think Java has a viable lifespan in the enterprise, Java on the consumer desktop is a non-starter. I go out of my way to avoid apps that are written in Java as they are ususally slow, ugly and don't follow a platform's user interface. I don't think I'm alone in this either. You can rebut with all of the reasons why this has changed or isn't true but if you are honest with yourself you too know that Java apps "feel different" from native apps. I remember taking a few introductory Java programming courses and couldn't understand why "hello world" was so large in filesize. Yes, the Java language is rich but as a result it is bulky - you have to load huge libraries to do the simplest thing.
Jobs is right on this one.
"Those were back in the days where the machines shipped with 32 meg of RAM and the processor was topping out at 233 MHz."
Right. And the Java that shipped on it was very different from the J2SE that ships today. For one thing, it had a much smaller footprint, on mass storage and in RAM. For the iPhone, I assert the RAM footprint as being most important.
You can't just say "Java", because that covers a wide range of things. You have to say "J2SE" qualified by "version number", or "J2ME" and version, or some other combination of terms that narrows down what you're talking about. The smallest version of J2ME could well fit on the iPhone, but the current version of Java 5 likely could not. By "fit" I mean RAM, with the other features also in RAM.
Finally, if Apple puts J2ME on the iPhone, what does that do for applets in the web browser? I doubt that any applets currently deployed for browsers are written to the J2ME spec, so the answer is "Nothing" So the basic idea of Java+Browser virtually REQUIRES J2SE. And that *IS* big and bloated.
Why put Java on their phone when Sun already makes them go through extra effort to provide a suitable, but unofficial runtime and development kit for Mac OS X? The 1.0 release of Java by Sun for the Mac in the 1990's was terribly unstable, incomplete, and worse than on other platforms. Apple had to develop their own compatible version, get the compatible blessing from the Java certification team and pay them for it, without any help from Sun.
Before the FreeBSD Foundation was around, FreeBSD users had to use linux-compat and SCSL sources and unofficial patches to get it working. This is a similar situation regarding Sun's "blessing", which is a mere compatibility review and not a from the source implementation, they don't help Apple at all, neither do they help FreeBSD. There are more Mac OS X desktops than Linux, possibly even during the 10.2 days, so it doesn't make sense why Sun didn't offer to work with Apple engineers and get out a from the source implementation, which probably would had been better given the fact that J2SE 1.6 is only a developer preview right now for Tiger, and probably won't be a GA for Tiger, leaving Tiger users with 1.5 and no 1.6 features, so as the interface improvements or more efficient memory usage.
As a side effect of having to create their own compatible JRE and JDK, they also included Cocoa and Quicktime bindings because they might as well had developed extensions since Sun didn't want to give a hand. Mac OS X is above 5% share, they account for as much as 15% of notebooks as of December 2006, and account for 6% of desktops as of December 2006, depending on your source of course.
Many computer science, engineering, bio sciences, and Java programmers use Mac OS X extensively for both the desktop and server side. (Less so the servers, most of them use Solaris or Linux these days) Apple will not drop Java on the desktop anytime in the foreseeable future, but not including J2ME on the iPhone does in fact make sense. Sun already had made them go through extra effort (And still do) to make the desktop and enterprise implementations of the JRE and JDK for Mac OS X, even though the system is based on UNIX internals, which would make a port not hard, since Java doesn't hook into the kernel, and the whole userland is FreeBSD based. (Remember, SunOS was based on 4.2BSD, and a few of Sun's internal servers run FreeBSD, their engineers know how it works)
The iPhone is meant to reduce human caused errors, is NOT a PDA so therefore doesn't need to be extensible, includes everything most average people need in a PDA and Phone without requiring them to go out and install software. Remember, your comments about Microsoft bundling JRE? It's proven that customers don't like going out to get things, that's a geek and "hacker" type thing. Many people use Internet Explorer since they don't know they have a choice, or because they find that it does the job "OK" for most purposes.
The iPhone is meant to compete with the Windows Mobile and Palm SmartPhones, including the Treo, Blackjack, Q, Razor. Opera mobile is not a good browser compared to desktop browsers, and many business types would rather bring one piece of hardware with them that can do just enough then to deal with airport security, risk of theft, and multiple bulky single function devices to get the job done. The matter of including J2ME or the ability to extend the functionality of the iPhone comes down to R&D overhead, lack of demand, the demand of the common denominator. Heck, even the majority of technical people are probably getting tired of lack of options with smartphones, they basically boil down to using windows mobile, not a good operating system to use, let alone on something as important as a phone.
On another subject about the OS, Apple engineers claim they are using a stripped down version of Mac OS X, which is a bit of a stretch. My guess is that they are in fact using Darwin 8 as a base, using an ultra lightweight XNU kernel, and a completely different WindowServer. The system is supposed to be around 500MB, which might sound like a lot for a phone, but the OS is not technically from embedded beginnings, and includes a fully working browser based on Safari, widgets, expose-like effects, e-mail that competes with Blackberry using Yahoo! services, (A lot more reliable than Exchange) and up to 8GB flash memory for storing photos, music, and contacts.
Features I predict will be in the phone, include:
Ability to assign an MP3/AAC file with a phone number
Ability to assign an MP3/AAC file with an e-mail address
Ability to send images and use images on stored contacts
Some type of "killer app" like iTunes for Windows/Mac OS X which completes the puzzle, or maybe a revamp of iTunes for contact synchronization and movie/music synchronization with the iPhone.
Knowing Job's ability to be mysterious and create followers by using vague dialog during technical exhibitions, I suspect he has some "special" feature that will be on the iPhone. Leopard for instance has industry technologies from Sun, such as ZFS and DTrace with shiny GUI frontends integrated into it. (I'm not violating NDA, they openly admitted these two features, the later is called XRay) There are other things in Leopard we don't know about since the NDA is lingering and they don't haven't put out many builds for select/premium developers.
While I do indeed find that the iPhone is cost effective compared to the same priced Treo SmartPhones, I'd rather invest the 500 dollars on a Playstation 3, since it comes with a 7 core PowerPC processor, XDR memory, NVIDIA graphics, wireless internet, utilizing open API's (OpenAL, OpenGL) and the ability to install alternate operating systems on its drive. Say what you want about it, but for the extra money the PS3 is most cost efficient than buying a 360, which is vendor locked in to DirectX, ugly programming API's and a lower quality chip. (ATI's drivers on the PC side are horrible) If I lived in an area where Cingular coverage was better, and if I did a lot of phone conversations, traveling, I would buy the iPhone, but in my experience Cingular's coverage in Southern California is terrible.
Bear in mind the following points:
[1] iPod / iTunes store is critical to Apple's business model (these days)
[2] iTunes store is written in WebObjects
[3] WebObjects can only be written in Java these days
... I don't think Java will be going from Mac OS X Server soon at least, even if something happens whereby it does go from Mac OS X client...
I took Steve Jobs' comments to mean that Java web applets are heavy, not that having Java as an API on a mobile phone is necessarily heavy,
Ken
is OSX dead to java
What is all this blah, blah about ????
If Apple had included Java, even only in the browser, than it would have been possible to install programs in this way on the iPhone thingy. Apple does not want other applications on the iPhone thingy !
So they do not install Java. Why all this palaver, whether Java is good or bad or doomed or whatever?
A few people have commented that Java on the desktop is dead. Clearly then they don't work with Swing like so many others. What would they propose as an SDK for cross-platform desktop app development then? Do they propose that developers only develop for one platform eg. Windows using C#? Java/Swing is modern, crossplatform, opensource, and improving and evolving (from 1.4 to java5 to 6 to 7) in features, performance, l&f, et cetera. Suggesting that is "dead" is just silly, c'mon.
When I was a rabid defender of all things Apple, I too had a hard time with seeing things for what they were. Recently however, it became clear that Apple will do what it takes to lessen the competitive stress on their platform, even attempting to sideline Adobe, the very breadbasket of MacOS with their latest offering: Aperture. It appears Apple will continue to attempt to sideline developers by doing everything themselves, or at the very least funneling all 3d party development through the Cupertino bottleneck thereby "reaping" profits. Rest of the phone and other device manufacturers, one would hope, would continue to reap real profits by developing open platforms.
3d party matters. Open matters. Common experience shows that users (and developers are users) are creatures with their own minds, by and large, and do not like being railroaded.
UnknownManufacturere: Here is our device, please develop for it, we want it to succeed.
Apple: Here is our device, bow down and pay for the privilege to put your stuff on OUR device.
Best of luck. Making everything yourself is not bad, in and of itself, its just rather myopic, as a vast and diverse market such as the PC has far greater growth potential from the amount of interests involved than a single company with a single interest.
I am not a big fan of Mr. Jobs, but he has a point here.
Sun did neglect desktop Java for years. They could hardly muster the necessary manpower to fix decade old bugs in Swing and AWT. They didn't manage to maintain or implement badly needed APIs for talking to desktop hardware. Like, for example, serial interfaces, USB devices or FireWire. They didn't manage to ship basic desktop integration features, like the ability to interact with Windows shortcuts or the toolbar. They let the media framework rot until it smells like a five year old dead fish in the sun.
Frankly, Sun was just giving lip service to desktop Java while hardly doing more than writing fancy demos for some conference show events.
So, if Sun doesn't care, why should Apple care?
Now, mobile phones are not the desktop, and while Mr. Jobs is right about desktop Java, he might be wrong when it comes to mobile phones. I have the impression Mr. Jobs doesn't have the slightest clue about the European mobile phone market.
Here's the benefit of Java on a phone.
http://www.theregister.co.uk/2006/10/25/bye_bye_savaje/
Just an observation: Apple is a first world concern :) Third world does not used Apple stuff, never.. simple due to money reasons :) And the third world is the majority of human population. and they use Java anywhere for a long time now :)
I guess all this rumors about Steve words is just marketing.. how much percent is Apple about ? 2% ? iPhone, how much it will be ? 0,1% of world mobiles ?
If you believe in iPhone as a next great wave, ok.. but I don't :) ... and I supose there is another minority products out there not using Java anyway.. so I guess it is not so important...
iClone, what are you talking about? Lightroom hadn't been announced when Aperture was, and its intended use was not the pervue of any of Adobe's existing apps.
If you want to make this argument, there exist many better examples - Final Cut, for example.
Didn't see the value to put java into Mac, iPhone, forget all about it, java is dying, just about time. Dont make java mess up the cool & beautiful iPhone.
Apple has always been about looking pretty. Java is not very pretty... it's about being powerful. Java shines on the back-end. Then again, I am a server-side developer, and not a client-side developer. I am not worried about Java becoming like Fortran or COBOL. When it comes to server-side programming, I believe, Java is as strong as it ever was. I am not sure what Jobs means about Java not being used anymore. Apple is after all, in my opinion, is mostly known for being pretty... not so much for being powerful. Just my 2 cents....
Why do u say that desktop java has never been managed well by sun? What about Java Desktop?
In real estate transactions, prepaid finance charges include loan origination fees, prepaid such as FHA or private mortgage insurance
Thank you for that post. We do amazing things with Desktop Java, and it would be a wonderful way to allow developers to write Applications for the iPhone. It would be sufficient to support Applets, indeed, but without Java on the iPhone, well,... just a wrong decision.
I'm the author of CardMeeting (http://cardmeeting.com), which uses Java applets to deliver a zooming user interface and a multiplayer content editing system. AJAX and Flash were inappropriate technologies for what my requirements were network-wise.
CardMeeting would have been just beautiful on the iPhone, especially if they included some special multitouch input control Java classes just for the iPhone... Oh well, opportunity lost...
Java is far from dead, and I don't see it entering a COBOL phase, either. It's the most elegant OO language out there, IMHO, and Apple is just being arrogant if they think they can kill it. I get the feeling Jobs thought he was being ironic in quipping that Sun wants Java running on every little device out there, but, um...hello? Wasn't that the whole idea in the first place? Sun was way ahead of their time, and just because the Web hadn't taken the world by storm yet didn't mean they weren't visionaries. Ajax, shmajax. Cute face, unhealthy physique. Somebody ought to slap a Java API on that bitch and give her a serious makeover. Oh, wait...somebody did (http://code.google.com/webtoolkit/).
Wow...whoever thinks that Javascript, CSS, HTML, and server-side Jave, Ruby, PHP, etc. are the best Web 2.0 tools vs client/server Java is on the wrong path. The reason that Java *seems* heavyweight on the client (app or applet) is that heavyweight implementations like Swing have been taken to be Java's core, when in fact, more elegant lightweight implementations have always been a possibility.
I for one have always seen Java's potential on the desk, lap, palm (and ear?) tops...but you can't innovate if the JVM is not there. I personally could care less about Sun or its strategy for Java. As has always been the case, what Sun thinks about Java is really beside the point; it's what developers see that is important. I find it so very ironic that, in the end, it may be Steve Jobs and not Bill Gates who is the killer of Java.
Here is an interesting bit of trivia... Goggle Analytics reports that the iPhone supports java. How do I know this? Well, I have a few iPhone games on me website and have had 3,086 visitors with a screen resolution of 320x396 (presumably iPhone's), yet only only 59 visitors that did not support Java.
To me this means one of 3 things:
1. Google Analytics is confusing Java w/ JavaScript.
2. Safari on the iPhone lies and claims to support Java.
3. The iPhone supports Java
Honestly, I'd bet money on #2, but it is interesting...
Java IS on the iPhone because it is on the built in run-time version included in the processor that comes with the iPhone. The catch is that it is not enabled...however, it could be with a software update from Apple. Details here: http://www.javalobby.org/java/forums/t98506.html
I am on the iPhone atm and its pretty cool but java scripts don't work
I have encountered issues using Wi-fi that needs to be authenticated through a java applet...this sucks because there also is no signal inside the building (for any cellular service).
Yes. I totally agree with Daniel H. Steinberg. I bought Sony Ericsson k750i only because of its java platform. So I can write programs for myself and even sell my mobile software to the market. In my eyes IPhone is just a piece of flashy things (as all fashion products) with no use for mobile developers. I told my friends that I won't want one IPhone even as a gift.
how can i save an offline page from safari on my iphone 1.1.2?
My only reason for migrate from FreeBSD to Mac OS X 2 years ago is Java development on Mac is better than any other OS in the planet, even for OpenSolaris(they do not have developer support and not an easy to use OS).
Right now, i feel tired defending Apple from my java developer friends, I tired to wait for Java SE 6 release on Leopard(not developer preview, means full java se 6).
Now I read this article, and I feel down, Java is not dead for Desktop, Java giving alternative way to build desktop application become cross platform. And Java had it's power on networking and multi-threading application, I had experienced on C# build multi-threading apps, it's not as cool with Java.
I also used Netbeans for Mac since it's still version 4(now is 6).
I don't want any other platform than Mac for my development OS, but I also need new JDK for my development.
Hope Steve Job can hear this, and work hard on maintain his relationship with worldwide java developer.
What is the use of a handled or a mobile phone without Java?
I was thinking of buying an iPhone but changed my mind after I knew iPhone does not have Java.
I need to connect to different Servers from my mobile phone on daily bases. So, I am going to buy RAZR2 V8. I used Nokia n73 and RIZR Z6 before. And I definitely prefer Linux based OS to Symbian.
Here is a video and a snapshot of Mono (.NET) running on the iPhone.
http://blog.sublimeintervention.com/archive/2008/Mar-13.html
http://tirania.org/blog/archive/2008/Mar-10.html
There are some very well thought out arguments here and I don't disagree with many of them, but I can't help thinking that you might be missing the point which Apple are trying to make with the iPhone. They're selling the iPhone as a "groundbreaking" mobile device; as something unique. (Yes, I own and use one, no I don't think it's the "be-all and end-all" that it has been cracked up to be, but yes, I totally love it and do think it breaks new ground) The central concept is a new, multi-touch UI with some very innovative physical sensors, an incredibly well designed GUI and a core OS that's amazingly efficient in mobile hardware.
So, "groundbreaking" is Apple's target. Think of it this way; Apple develop an amazing device and then release an SDK for the iPhone "Platform". "Platform" is the operative word here; for Apple, the iPhone isn't another mobile phone, it's a new computing platform. No other device will use the iPhone OS (I'd bet money on that - think Mac OS X) and Apple are hoping that the appeal of this unique hardware / software platform will bring them many users (and it seems to be working). Apple don't want to dilute that with 'generic' applications that would run on thousands of other mobile devices, they want developers to create applications that make full use of the iPhone's unique abilities and UI; applications that stand above these 'generic' applications in terms of usability and functionality. Apple aren't trying to compete with existing phones and "converged devices" (what a phrase), they're seeding a brand new platform (and market) and one that they believe to be the absolute best solution available. They want developers who will specifically target iPhone development and they've made it easier for developers by providing such an appealing platform and full featured development environment.
If you think about it, this is a very well conceived plan. Developers want to develop for the iPhone, so great applications get built which only run on the iPhone (okay, there may be versions for other devices, but none of them will work like the iPhone version because of the inherent abilities of iPhone OS and hardware). Users want iPhones, so developers already have a sizable audience from which to make their money. At some stage, Apple are looking for the 'killer app' (and we all know how it is "the killer app" that makes or breaks a platform). So Apple's success may well be co-dependent on the success of some application being developed on the iPhone which users REALLY want. Apple sell more phones and developers sell more software.
So far, Apple's plan is working. A plan that benefits Apple and Developers. A plan that makes iPhone a platform for successful applications that make money. A plan that protects iPhone's unique abilities, maintaining its status as a unique platform. A plan that forces developers to sell through Apple, for Apple's financial gain, but primarily so that Apple maintain control of the platform to ensure its continued success.
I'm not so sure where I stand on the economics of this situation, but I do know that by doing what they are doing, Apple are insuring the future success of the iPhone and generating excellent opportunities for developers. Java is not dead, far from it, and won't be removed from Mac OS X simply because it would immediately remove OS X from the developer and server market. In a nutshell, I agree that Java ME on the iPhone would have limited usage potential - the reason it is so prevalent in the mobile market is because people buy games on their phones. Apple have worked extremely hard to provide features in iPhone OS that I just didn't expect (OpenGL ES, Core Animation, etc - all with hardware acceleration) and these have been provided to make iPhone an extremely viable gaming and media platform. I think the big message from Apple is this; "Here's something better and groundbreaking, now go and make amazing applications the break new ground too"
Now I have owned a list of handheld devices (Psion II, Psion 3 (and 3a, 3b), Palm Tungsten (T1 and T3), HP Journada (720 & 820), HP hx4700) and phones, but with my iPhone, I find myself not even bothering to switch on my laptop because I can do most of what I want on my iPhone. For me, that's groundbreaking. Before you ask, I'm a Java developer and have been for many years, also developing complex clients in Java with Swing.
Well first off, lets dispel a few doubts about touted 'Heaviness' in java. Java is not Heavy anymore. saying that Java is heavy is like living in 60s with Big Blue ... which our friend *ahem* jobs hated so much. Then comes this weird notion that Java has entered a COBOL phase, its a joke; Discussing this is pointless obviously unless you go and take a hard look at what commercial enterprise 'web' applications are like. This side of the street has seen through (to production) at least a zillion applications in Java (and C# is just very very similar to Java, so yea). There are new languages on horizon, but the truth is that there's just too much money and time already invested in Java (10 years+?), and it doesn't make sense to suddenly move out of it. The comparison of COBOL and Java is farcical. COBOL is a pretty apt language for "where" it is being used. It is verbose and that makes it better for writing business rules etc; But java in comparison with COBOL?!
Java is not a dead language in that, its constantly evolving, in the latest version they are going to come up with slew of features, how well the change is accepted and adopted is a different matter altogether, but it makes more sense for businesses to keep the same languages and train people in newer features in the same language which empowers them to be more effective.
I agree with one point though, which is for Desktop applications. Yes i agree that desktop applications running on java cannot look exactly the same (there are workarounds and i wont go into that here), so yea people do have a choice in that respect.
Jobs has said a lot of things in past; like "who would want to see a video in an iPod, people just "hear" music and they cannot watch and listen while doing stuff" (when asked about a video iPod), so i don't take his word that seriously. I am not a mac buff, but i love iPod, iPhones like any other dude on the block. If iPhone has to remain a trend setter, then sooner or later it will have to accept java (bear in mind the fact that most commercial online profit or non profit units actually "make" their profits using either Java or Java clones (C#)) ...
Regards
Vyas, Anirudh
I wane java on my ipod/iphone to play runescape , ther are more than 10000000 runescape players so ,jagex ,java abd apple could make a lot of money and 100000000more custemers
I wane java on my ipod/iphone to play runescape , ther are more than 10000000 runescape players so ,jagex ,java abd apple could make a lot of money and 100000000more custemers