Slashdot Mirror


Sun Is Porting Java To the iPhone

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."

275 comments

  1. No posts and for once I have mod points ! by wildBoar · · Score: 3, Funny

    Oh the irony

    1. Re:No posts and for once I have mod points ! by wildBoar · · Score: 2, Insightful

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

    2. Re:No posts and for once I have mod points ! by Anonymous Coward · · Score: 1, Insightful

      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.

    3. Re:No posts and for once I have mod points ! by mdwh2 · · Score: 2, Insightful

      Indeed - my Motorola V980 runs Java as standard, why not have an article for that? And one for every other phone that runs Java too?

      Welcome to 1995 I guess.

    4. Re:No posts and for once I have mod points ! by Anonymous Coward · · Score: 0

      Java on a 100% secure platform like Apple's is very important news. If the iPhone is '100% secure', then can you explain how people are able to jailbreak them?
    5. Re:No posts and for once I have mod points ! by mdwh2 · · Score: 1

      I presume this was sarcasm/humour, but it's very hard to tell the difference between that and genuine posts these days...

    6. Re:No posts and for once I have mod points ! by Anonymous Coward · · Score: 0

      You misunderstand! The iPhone was concieved by God itself!

    7. Re:No posts and for once I have mod points ! by wealthychef · · Score: 1
      SHUT UP SHUT UP SHUT UP.

      Holy crap, someone call security. You need to go to a seminar. I can just imagine what you're like on the freeway! LOL

      --
      Currently hooked on AMP
  2. Loss of Control by Doomstalk · · Score: 4, Insightful

    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.

    1. Re:Loss of Control by End+Us3r · · Score: 1

      I agree. If Apple does not want it on the iPhone it will not get there (officially).

    2. Re:Loss of Control by onefriedrice · · Score: 1

      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.

      --
      This author takes full ownership and responsibility for the unpopular opinions outlined above.
    3. Re:Loss of Control by Anonymous Coward · · Score: 0, Insightful

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

    4. Re:Loss of Control by erroneus · · Score: 1, Interesting

      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.

    5. Re:Loss of Control by LilMikey · · Score: 1

      Umm... that *is* the loss of control. They have the right of refusal for everything that goes up but once Java is on there there's no telling what the JVM will run. Apple can't control what apps the JVM launches or where it gets them.

      --
      LilMikey.com... I'll stop doing it when you sto
    6. Re:Loss of Control by shoemilk · · Score: 1

      OOO a monopoly on ONE FUCKING PHONE! That's real insightful. Please, look up the definition of monopoly before modding ACs.

    7. Re:Loss of Control by perlchild · · Score: 1

      Most likely, Apple just doesn't want to get stuck supporting it. I doubt they have anything against java per se(well except it can run arbitrary apps...) Oh wait...
      And Sun is notorious for not letting others have control of the standard...

      Hmm guess they will have to supply it themselves... Now the big question becomes, will apple really try to block them? It could be a big stinker either way.

  3. Re:Apple's stance by croddy · · Score: 4, Interesting

    Sure, possibly security or performance. More likely, NIH.

  4. Not without a private agreement with Apple by adamwright · · Score: 5, Informative
    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).

    1. Re:Not without a private agreement with Apple by sane? · · Score: 4, Informative

      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.

    2. Re:Not without a private agreement with Apple by bagofcrap · · Score: 2, Informative

      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.

    3. Re:Not without a private agreement with Apple by civilizedINTENSITY · · Score: 4, Informative
      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.
    4. Re:Not without a private agreement with Apple by robizzle · · Score: 0, Troll

      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")

    5. Re:Not without a private agreement with Apple by RalphBNumbers · · Score: 5, Informative

      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.

      --
      "The worst tyrannies were the ones where a governance required its own logic on every embedded node." - Vernor Vinge
    6. Re:Not without a private agreement with Apple by Stuart+Gibson · · Score: 2, Insightful

      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.

      --
      It's all fun and games until a 200' robot dinosaur shows up and trashes Neo-Tokyo... Again
    7. Re:Not without a private agreement with Apple by 0xdeadbeef · · Score: 1, Insightful

      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...)

    8. Re:Not without a private agreement with Apple by argent · · Score: 4, Interesting

      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.

    9. Re:Not without a private agreement with Apple by DdJ · · Score: 5, Insightful

      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.
    10. Re:Not without a private agreement with Apple by RalphBNumbers · · Score: 3, Informative

      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.
      --
      "The worst tyrannies were the ones where a governance required its own logic on every embedded node." - Vernor Vinge
    11. Re:Not without a private agreement with Apple by firewood · · Score: 2, Insightful
      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.

    12. Re:Not without a private agreement with Apple by shutdown+-p+now · · Score: 2, Interesting

      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.
      I'm not sure what you're aiming at here, but .NET (and, by extension, Silverlight) has a sandbox security model; moreover, Silverlight (2.0) applications run in a rather restricted mode by default. If you trust Java applets, there's no reason to not trust Silverlight.
    13. Re:Not without a private agreement with Apple by jc42 · · Score: 1

      It's restrictions like this, and the locking in general, that are why I quickly decided to not waste my money on an iPhone, attractive as it might be.

      An anecdote: A few years back I worked on a project in which we investigated making some of our apps available on various smartphones. The main app that I worked on was remote access to medical databases, and we thought it could be very useful if, for example, emergency medical workers could have wireless access to their databases from an accident scene. We had a lot of good stuff working in the hospitals; now could we make it work wirelessly? Various developers volunteered to get different smartphones and try to port the code. My phone was a blackberry model which was widely advertised as being capable of wireless Internet access, and whose software is mostly in java. I had java versions of a lot of our programs, but was totally unsuccessful at porting them to the BB. I spent time with the AT&T Wireless support folks, but they were remarkably uncommunicative about the problems. A couple of years later, after the contract had run out, one of the support guys casually told me that, although that model did have the capabilities we needed, they had locked them out, and the support people were forbidden to tell customers how to get around the lock. You could almost hear the snickering "Ha, ha; we got your money and you failed."

      Meanwhile, the other guys with other smartphones from other cell providers all had similar problems. We eventually gave up, and stuck with wired access. Since then, I've read hints that others are working on similar capabilities. Some of them are working for bigger corporations that have a lot more clout, so they may succeed. We were a small independent software house, so we had no clout with cell providers, and they could con us however they liked. Of course, this means that when such wireless access to medical info does come out, it'll be from a big, bureaucratic developer, not from a smaller shop.

      Myself, when I get my hands on a google phone, I may personally try again. I'm also looking at openmoko, and wondering if I should pay out the money for one. But after you've been burnt a few times by the companies that control the wireless system, you might understandably be a bit shy about betting your own money that this time you'll succeed at making something work despite their ability to lock you out.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    14. Re:Not without a private agreement with Apple by argent · · Score: 2, Informative

      I'm not sure what you're aiming at here, but .NET (and, by extension, Silverlight) has a sandbox security model;

      CIL is not run in a sandboxed interpreter like Java, it's just an intermediate form for native code.

      And I did not consider the JVM security model acceptable when it was first introduced. Making part of the sandbox dependent on the class model was a very dangerous step, and it's only been the years of secure Java implementations that demonstrate that Sun's design is secure. And Sun's design does not include a mechanism for a Java applet to acquire rights outside the sandbox simply by the "zone" it's in.

      Microsoft may be able to prove that they have got it right this time. But they will need to prove it, as Sun did.

    15. Re:Not without a private agreement with Apple by Kattspya · · Score: 2, Funny

      Yeah, that pisses me off. I have no choice at all in operating systems, I wanted to install Ubuntu but I couldn't because of Microsofts monopoly. Their evil monopoly is horrible, just horrible.

      Goddamn fanboys.

    16. Re:Not without a private agreement with Apple by Anonymous Coward · · Score: 0

      Why isn't it because they want to prevent applications from being able to steal your data? Everyone will have an iPhone with the same directory structure and the same applications that store their personal data in the same format, it would be really easy to target the iPhone with a trojan or worm.

    17. Re:Not without a private agreement with Apple by TheRaven64 · · Score: 1

      Exactly what I was thinking. It excludes, as far as I can tell, every single app I run. I guess it also means that the Vi and EMACS debate is pointless on the iPhone - neither of them is allowed to run.

      --
      I am TheRaven on Soylent News
    18. Re:Not without a private agreement with Apple by petermgreen · · Score: 1

      At least for GSM phones the soloution is not to buy your phones from the network but to buy them with plain manufacturer firmware either direct from the manufacturer or from a small dealer. Sure you will miss out on the subsidy from the network but from the sounds of the project you were doing that would be a relatively small part of the overall cost.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    19. Re:Not without a private agreement with Apple by Anonymous Coward · · Score: 0

      This isn't going to fly. If Apple wanted java on the iPhone it would be there, and obviously it wasn't a cost issue. Apple has every right to act as a quality barrier for the platform- really, thats why the iPhone is better after all. Its not Apple's responsibility to provide a playpen for Sun, or any other development company to goof around in.

      I like java, use it everyday, and agree with other posters that its quite a bit more modern, and performant than ObjC. The deal here is that Apple has a set of very high quality libraries it wants people to use, to make sure the experience is similar, and great, for all apps on the phone. Adding java doesn't help this AT ALL.

      Apple is not microsoft, it makes high quality products people love. Its not Sun either, as I said it makes high quality products people love. Sun is a technology company, and does us all a LOT of good by inventing all that cool stuff for all of us. Sun has serious iPhone envy right now, and deep in their heart of hearts they know their JFX product will never fly on phones, because between Apples superior timing and design, and Googles Android thing, there is no space for them.

      Also Apple and Sun have always had a weird relationship, both before Steve's return from the desert, and after. Java sort of ate Next's lunch back in the day, so there are alot of weird old emotional scars in Apple upper management about java.

      So the idea that some new guy at Sun (whatever his title, Sun is an also ran right now in the Valley) would make this pronouncement, probably expecting the masses to rally around his call and charge the gates of Infinite Loop, probably amounts more to a desperate cry to be noticed, than any serious sign of tech showing up on the iPhone.

      The funny thing is, java is great on the desktop, that forgotten land before everyone decided that fortunes where only made on the web.

      Thats all I got.

    20. Re:Not without a private agreement with Apple by Anonymous Coward · · Score: 1, Informative

      CIL is not run in a sandboxed interpreter like Java, it's just an intermediate form for native code.
      Bullshit. Java bytecode is just as much an intermediate form for native code as CIL is. Let's compare: both can be interpreted, but in their actual implementations, both are often transformed to native code by their respective JIT compilers. Both can run in a sandbox (as in Silverlight or Java Applets), or with full system access (as in Java Web Start and .NET's ClickOnce deployment). With full system access, both can call native code (via JNI or P/Invoke). Silverlight does not grant security privileges to applets based on IE Zone settings. The security models are exactly equivalent. You are correct that Java is more proven, but there is nothing inherent in either system's design to indicate that it has a dramatic security advantage over the other.
    21. Re:Not without a private agreement with Apple by tsa · · Score: 1

      MS wasn't convicted because they are a monopoly because they broke European law. I won't be surprised if Apple gets a piece of the EU's cake for what they try to do with the iPhone. The EU is already looking into their iPhone/iTunes/one provider scheme, which is forbidden in certain countries here. If not stopped in its tracks, the way the iPhone is sold at the moment will have a very detrimental effect on the quality of the mobile phone services here in Europe. What Apple basically is trying to do here is bring the retarded American way of providing mobile phone services to Europe. I don't like what they're doing with their iPhone one bit and I hope and pray Mme Kroes will stop them.

      --

      -- Cheers!

    22. Re:Not without a private agreement with Apple by altamira · · Score: 1

      And Sun's design does not include a mechanism for a Java applet to acquire rights outside the sandbox simply by the "zone" it's in. Erm, you can just sign native code to run it outside the sandbox to be able to do as you please with the actual machine. Is that so much better? If it's better, then why is being in a zone and requiring a signature (i.e. ActiveX) worse?
    23. Re:Not without a private agreement with Apple by Anonymous Coward · · Score: 0

      You could install Ubuntu, but you have to do a lot of work to avoid buying Windows while still getting a PC of the spec you want, thus making your "choice" somewhat less valuable than you'd wish.

    24. Re:Not without a private agreement with Apple by argent · · Score: 1

      In theory, perhaps, but I'm talking about the real software that might be actually deployed. Java can be run JIT but isn't in Sun's implementation. CIL can be run in an interpreter but isn't in Microsoft's implementation. There is no widespread use of unsandboxed Java except through explicit installation of Java applications, and no active effort to change that, but Microsoft has been pushing for widespread use of ActiveX (with both native code and .NET) outside the sandbox for the past decade.

      Silverlight does not grant security privileges to applets based on IE Zone settings.

      Given Microsoft's relentless push for the integration of the browser and the desktop, something they risked having the company broken up to retain, I have no reason to believe that this is anything but temporary.

      Sun had to prove they could handle security, and they didn't have a history of creating the biggest security design cockup on the internet. Why should Microsoft get a pass?

    25. Re:Not without a private agreement with Apple by argent · · Score: 1

      It's called Code Access Security and it ensures that the calling code cannot exceed it's bounds as configured by a serious of very granular permissions applied to a variety of "zones" determines by a set of mechanisms including the origin of the assembly,

      Wait a second here...

      Another poster has just stated that Microsoft is NOT using "security zones" for Silverlight.

      You're saying that they ARE using them for .NET.

      Does this mean that you're mistaken, or that he's being disingenuous (for example, he means Silverlight doesn't implement security zones but it's built on code that does).

    26. Re:Not without a private agreement with Apple by shutdown+-p+now · · Score: 1

      Java can be run JIT but isn't in Sun's implementation.
      Java is JITed in any implementation from Sun beginning from 1.2 (that's when Hotspot VM appeared).

      Microsoft has been pushing for widespread use of ActiveX (with both native code and .NET)
      .NET has nothing to do with ActiveX, save for the fact that WinForms allows to host (not write) ActiveX controls.

      Anyway, regarding .NET sandboxing, I suggest you to read up on "verifiable managed code" with respect to safety of JIT, and "code access security" to cover everything else. You might also want to do some experiments, like writing a C# program which attempts to do something nasty that'd break the sandbox (e.g. use wild pointers, or StructLayout trickery, or P/Invoke calls), and see how well that works when it's run in the browser (hint: it doesn't).

  5. Oh boy! Time for some barely useable ports... by wal9001 · · Score: 2, Interesting

    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.

    1. Re:Oh boy! Time for some barely useable ports... by palegray.net · · Score: 4, Funny

      At least it's not Flash, right?

    2. Re:Oh boy! Time for some barely useable ports... by VGPowerlord · · Score: 3, Interesting

      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.
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    3. Re:Oh boy! Time for some barely useable ports... by bigstrat2003 · · Score: 2, Insightful

      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?

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    4. Re:Oh boy! Time for some barely useable ports... by wal9001 · · Score: 5, Interesting

      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.

    5. Re:Oh boy! Time for some barely useable ports... by civilizedINTENSITY · · Score: 4, Interesting

      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 :-)

    6. Re:Oh boy! Time for some barely useable ports... by Anonymous Coward · · Score: 1, Insightful

      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.

    7. Re:Oh boy! Time for some barely useable ports... by argent · · Score: 1

      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.

    8. Re:Oh boy! Time for some barely useable ports... by dfghjk · · Score: 1

      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.

    9. Re:Oh boy! Time for some barely useable ports... by rs79 · · Score: 1

      Can somebody explain to me what it is you can do on an iPhone app you can't do through a web page on a regular cel?

      That is, it just glitz? Or is there any actual functional characteristic the iPhone has that sets it apart?

      --
      Need Mercedes parts ?
    10. Re:Oh boy! Time for some barely useable ports... by edalytical · · Score: 2, Insightful

      Well for starters you can use the location APIs to get the physical location of the iPhone. You can get information from the iPhone's 3D accelerometer and use it's multi-touch input. That opens the doors to a whole range of interesting application that wouldn't otherwise be possible.

      --
      Win a signed Stephen Carpenter ESP Guitar from the Deftones: http://def-tag.com/?r=0008781
    11. Re:Oh boy! Time for some barely useable ports... by edalytical · · Score: 1

      damn, i realize it's "its" and not "it's".

      --
      Win a signed Stephen Carpenter ESP Guitar from the Deftones: http://def-tag.com/?r=0008781
    12. Re:Oh boy! Time for some barely useable ports... by shutdown+-p+now · · Score: 1

      If what they'll offer is J2ME-based, then it shouldn't be that bad. The GUI framework in J2ME, LCDUI, is so generic that it is sometimes annoying because of not being able to specify precisely what you want; but, on the other hand, all applications written using it are inherently adaptable to pretty much any device- and platform-specific UI conventions. I've had two different mobile phones, a Sagem and a Nokia, and the same J2ME LCDUI application looked native on either one. I don't see any reason why it should be any worse with iPhone.

    13. Re:Oh boy! Time for some barely useable ports... by furball · · Score: 4, Insightful

      On the other hand, having one menu bar for the entire system is the worst UI design decision I've ever seen.


      http://en.wikipedia.org/wiki/Fitts'_law

      That "worst" UI design decision results in a menu bar of infinite size which is better for usability than a menu bar of finite size. Poke around the Mac UI and you'll find other examples of Fitt's Law, like how its tree displays work compared to everyone else's.
    14. Re:Oh boy! Time for some barely useable ports... by bigstrat2003 · · Score: 1

      No, it really isn't better for usability. But this is why UI design is art, not science. You're welcome to believe otherwise, of course.

      --
      "16MB (fuck off, MiB fascists)" - The Mighty Buzzard
    15. Re:Oh boy! Time for some barely useable ports... by jc42 · · Score: 1

      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?

      Heh. Apple's own "native" apps do it.

      For example, I have a Safari window next to this SeaMonkey window that I'm typing into. When I click on the Safari window, the usual "Safari" menus appear in the top-of-screen menubar. But the Safari window has a number of bars across the top. One of them (I don't know what it's called) starts with "Google News", and when I click on it, I get a menu. So Safari has at least one menu bar in its window, in addition to the top-of-screen menubar.

      This isn't at all unusual. I've seen quite a few windows from Apple apps that use both the top-of-screen menu bar and also a per-window menu bar. I can't tell you offhand exactly which apps do that, but I've noticed a lot of them. It's funny that the mozilla apps don't seem to do this, while the Apple apps do. BICBW (But I could be wrong.)

      I've been somewhat bemused by the simplistic arguments for the single top-of-screen menu bar, while seeing that Apple's own developers apparently don't quite agree. Or maybe they see a use for both, and put different kinds of things in the different menu bars.

      My main comment on the top-of-screen menu bar is that on a large screen, it makes use of the menus rather time consuming. Others have observed the same thing. OTOH, I haven't seen too many comments on the other main problem that it causes: If you're working with several apps simultaneously (e.g., an a code editor, a debug package, and editors for various input and debug-output files), switching rapidly between windows becomes a real time waster when you need a background app's menus. You have to find the app's window, click on it, move to the top-of-screen menu bar, click on it, select a menu item, click on it, then find the original app's window, click on it to bring it to the foreground, and on and on.

      The top-of-window menu bar may be demonstrably efficient for a single app on a small screen. That's fine for users who never do anything else. But the time-and-motion people don't seem to have studied the sort of things that software developers and other "power users" do all the time, that involve a lot of windows run by multiple apps. In that scenario. the top-of-window menu bar is a time waster, because it is only shown for the top app in the stack. Accessing other apps' menus involves a lot of extra motions and clicks to make the menu bar you need visible.

      Not that I expect Apple or anyone else to pay attention to the needs of developers and power users. (Well, except for those FOSS geeks, who do it solely for their own selfish purposes, y'know. ;-)

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    16. Re:Oh boy! Time for some barely useable ports... by powermacx · · Score: 1

      For example, I have a Safari window next to this SeaMonkey window that I'm typing into. When I click on the Safari window, the usual "Safari" menus appear in the top-of-screen menubar. But the Safari window has a number of bars across the top. One of them (I don't know what it's called) starts with "Google News", and when I click on it, I get a menu. So Safari has at least one menu bar in its window, in addition to the top-of-screen menubar. This isn't at all unusual. I've seen quite a few windows from Apple apps that use both the top-of-screen menu bar and also a per-window menu bar. I can't tell you offhand exactly which apps do that, but I've noticed a lot of them. It's funny that the mozilla apps don't seem to do this, while the Apple apps do. BICBW (But I could be wrong.)
      It's not a menu bar. It's a bookmarks bar, and Firefox and every other browser have it. The "Google News" item is an RSS feed.
    17. Re:Oh boy! Time for some barely useable ports... by jc42 · · Score: 1

      It's not a menu bar. It's a bookmarks bar, and Firefox and every other browser have it.

      If so, why is the first item a menu? ;-)

      Of course, it's fairly common for such "bars" at the top of windows to have a mixture of menus, buttons, info widgets, and other such things. In fact, the top-of-screen bar on my Mac PB has a number of widgets that aren't menus. At the rightmost end of my bar is the little blue circle with a white 'Q' that produces the Spotlight data-entry window, but no menu. And there's the speaker icon that produces the volume adjustment slider, which is also not a menu. For a confusing example, the "amphitheater" icon that shows wifi strength also produces a menu if you hold down the mouse button, but most of the time it shows the changing signal strength. I also have the Activity Monitor's CPU usage widget displayed in the top-of-screen bar, and it's obviously not a menu.

      That's four non-menu items in that "menu bar" right now. So if having non-menu items makes a bar not a "menu bar", then my top-of-screen bar isn't a menu bar. If it is a menu bar despite the presence of non-menu items, then so is that bar below Safari's title bar, because it contains both menu and non-menu items. In my case, there's also a third and fourth such bar in the Safari window. The second is the tab bar, and the third is the google news top bar, which contains a couple of things that produce menus, among a lot of simple links.

      It's all a rather silly nomenclature game. We probably should just say "widget bar" or something like that, because all the WIMP packages I know of have allowed mixtures of widget types in all such bars. And these "bars" really aren't at all special; they are just ordinary frames that happen to have just one row of items. The term "bar" is just a conceptual convenience, because people like certain kinds of data to be laid out that way. But we could call them "menu frames" or "mixed-usage linear frames" if we wanted to be technically more accurate.

      I think I'll continue to call them menu bars. People know what you mean, and they don't expect such things to contain only menus, so the term's good enough.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    18. Re:Oh boy! Time for some barely useable ports... by Ma8thew · · Score: 1

      It really is. Firstly, with a universal menu bar, it has infinite height, which allows quicker selection of menu bar items. Contrast this to the ten or so pixel width of a Windows menu bar, a much smaller target. Secondly, it is more efficient. On Windows, you may have multiple identical menu bars all on screen at once. On OS X, you can don't have this, so you have more space for other things.

    19. Re:Oh boy! Time for some barely useable ports... by Lisandro · · Score: 1

      With Sun opening up Java, its time to reconsider the use of a VM to draw our desktops. I'll have some of what you're smoking, thank you.

    20. Re:Oh boy! Time for some barely useable ports... by angel'o'sphere · · Score: 1

      Well,

      I'm a Java Developer and I'm a Mac user. My Java Apps have the menu bar on top of the window! Why? Because the time where the original apple menu bar made sense is over, long in fact.

      I have a 15" MacBook Pro and a 30" external monitor, where should I put the menu bar? Most windows on my external monitor are rather small, e.g. when you work with XCode ... for me it would make far more sense if those windows had their own menu bars ... instead of forcing me to move the mouse from the big screen to the build in one for menu operations. If the menu bar is on the 30" display, it is just ugly. About 2 hand spans on the left side offer menus and then a long wide wide bar to the system menus at the right side, horrible.

      Anyway, I like it that at least my own code snippets/miniapps have the menu where it belongs ;D

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    21. Re:Oh boy! Time for some barely useable ports... by jsebrech · · Score: 1

      Agreed that Java is preferred to Flash.

      Flex (flash for app dev) is a much nicer toolkit than swing, and it allows you to create smoothly interactive attractive applications with low footprint, compared to java gui apps, which inevitably are dogs.

      Actionscript 3 is also not that bad a language. It's pretty much java without threads.

      Flash would be much better suited to the iphone than java imho. We're not going to see either however. Desktop flash and java are too heavy for the iphone. We're only going to get J2ME and/or Flash Lite. Neither of these are particularly appealing stacked up against objective c and cocoa touch.

    22. Re:Oh boy! Time for some barely useable ports... by jsebrech · · Score: 1

      No, it really isn't better for usability. But this is why UI design is art, not science. You're welcome to believe otherwise, of course.

      Usability is influenced by prior experience. This is why even though it's a science, it is mostly an academic one, since the definition of "usable" changes based on people's earlier computing experiences.

      For novice users the single menu-bar at the top model is much more usable. For people whose perceptions of usability have been bent by other systems, the menu bar only makes sense on the windows. What can't be denied is that it is faster to select menu items from the menu bar the edge of the screen, since this is an experiment anyone can easily run for themselves.

    23. Re:Oh boy! Time for some barely useable ports... by Anonymous Coward · · Score: 0

      Can somebody explain to me what it is you can do on an iPhone app you can't do through a web page on a regular cel? Assume that the handset doesn't have 3G and also can't copy and paste?
    24. Re:Oh boy! Time for some barely useable ports... by RzUpAnmsCwrds · · Score: 1

      Poke around Windows and you'll find that the taskbar obeys Fitts' Law.

      Here's a question, though. Fitts' Law says that the time to access an object depends on BOTH the distance from the pointer and the size of the object.

      The Mac OS menu bar may be infinitely large, but the bigger your screen gets the further away it gets from the work area. And even if you think that the time to access the menu is low (which it may be), the time to RETURN from the menu to doing other work becomes increasingly large.

      Context-sensitive (right-click) menus are particularly attractive according Fitts' Law, but they are terribly underutilized on the Mac.

    25. Re:Oh boy! Time for some barely useable ports... by civilizedINTENSITY · · Score: 1

      "Actionscript 3 is also not that bad a language. It's pretty much java without threads."

      JavaScript and Flash ActionScript share a syntactical core - ECMAScript edition 2. Don't get me wrong, I like JavaScript; especially considering when JavaScript was released, it was an early glimpse of the next generation. It isn't Java, though.

  6. Why the Micro Edition?! by Dlugar · · Score: 1

    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

    --
    Computer Go: Writing Software to Play the Ancient Game of Go
  7. Why bother? by Realistic_Dragon · · Score: 2, Insightful

    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.

    --
    Beep beep.
    1. Re:Why bother? by Guy+Harris · · Score: 1

      However, I don't see the logic behind this move - or equally, behind anyone writing free apps for the iPhone via a jailbreak app.

      ...

      Then a later version can close you out and bang, lay off time is here again.

      Oh, noes! I've been laid off from my job of writing free apps for jailbroken iPhones for the fun of it!

      (Yes, I suspect that's at least part of the logic - doing it for the fun of it. I doubt, for example, that there are zillions of customers who just won't buy an iPhone without term-vt100 and the BSD subsystem.)

    2. Re:Why bother? by DaleCooper82 · · Score: 1

      (snip)... However, I don't see the logic behind this move...(snip)

      The outcome is that they are making a platform with a high degree of Apple lock in more attractive to consumers.(snip)

      So why do it? (snip)

      From Sun's perspective? To keep the Java promise "write once, run everywhere" and/or, if you want to, to keep developers "lock-in" with Java. (*)

      From developers perspective? For developers it is just great news as the same JME app will (most probably**) run on iPhone as well as on S60 or any phone supporting JME and selected profiles.

      From users perspective? The same as for developers minus developing the app :) That is, if I have iPhone, use important JME app there and find out that iPhone is lousy I can buy S60, Treo, HTC or whatever that has JME. I can be (almost**) sure that my crucial JME app will be working there pretty well.

      Actually having JME in iPhone prevents Apple lock in as you can freely switch phones being sure yours apps will move with you happily anywhere you go.

      my 2c.

      (*) Still, I personally do not see any lock in there as Java world has evolved the way it has. It feels more like community than big company driven (evil) platform that will lock you in to theirs tools/HW/services/SW. IMHO the "atmosphere" in Java world is quite different than in .NET world.

      (**) Well, reality bites sometimes and JME implementation behaves sometimes strangely on different phones etc.

      --
      :: There is no light at the end of a tunnel. There is a tunnel after a tunnel : Thom Y. ::
  8. Re:Apple's stance by da_matta · · Score: 2, Interesting

    ...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.

  9. The beauty of letting Sun port it by crovira · · Score: 4, Insightful

    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.

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
    1. Re:The beauty of letting Sun port it by Ma8thew · · Score: 1

      Apple said at the announcement that there will be an application available for corporate environments, that will allow deployment of custom applications without going through Apple.

  10. Re:Apple's stance by Anonymous Coward · · Score: 5, Interesting

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

  11. Re:Apple's stance by NMajik · · Score: 1

    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.

  12. Slow me down, java, slow me down... by Klaidas · · Score: 0, Troll

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

    1. Re:Slow me down, java, slow me down... by Anonymous Coward · · Score: 0

      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.
    2. Re:Slow me down, java, slow me down... by Anonymous Coward · · Score: 0

      Fast enough that it's a primary development environment on basically every advanced phone in the world except for the iPhone.


      Is that why the software on just about every other phone I've used sucks so badly? Thanks for the tip.
    3. Re:Slow me down, java, slow me down... by pak9rabid · · Score: 1

      I mean, well, you know... java... speed... those two combined... ...maybe a little oil... two fat cocks... together... oil...
    4. Re:Slow me down, java, slow me down... by aled · · Score: 1

      As fast as in almost every mobile phone, because Java is already in them, you know? I don't remember any "real" person complaining about the speed of their cell phone games because they are in Java, do you?

      --

      "I think this line is mostly filler"
  13. Network-Mobile Objects by Doc+Ruby · · Score: 4, Interesting

    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" 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"?

    --

    --
    make install -not war

    1. Re:Network-Mobile Objects by BotnetZombie · · Score: 1

      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.

    2. Re:Network-Mobile Objects by ScrewMaster · · Score: 1

      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?

      --
      The higher the technology, the sharper that two-edged sword.
    3. Re:Network-Mobile Objects by BotnetZombie · · Score: 1

      Sun - Skynet? Fsck, seems like whatever you've got has infected me too.

    4. Re:Network-Mobile Objects by znu · · Score: 1

      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.
      --
      This space unintentionally left unblank.
    5. Re:Network-Mobile Objects by Doc+Ruby · · Score: 1

      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.

      --

      --
      make install -not war

    6. Re:Network-Mobile Objects by znu · · Score: 1

      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 know, it's like you didn't read my post. I'm talking about a functional market for developing and distributing third-party apps. There is essentially no third-party app market for the devices you're talking about, and Java isn't the native environment for the iPhone. You tell me Java can produce apps up to native standards, but... try telling to to someone who hasn't used Java apps.

      Anyway, you seem to think a market for third-party Java apps might emerge on the iPhone and carry over onto other devices. Why? How many actual use cases are there where it's actually useful to be able to run the same code on your iPhone and your TV? As far as remote objects making the iTunes App Store unnecessary, well, this really doesn't make any sense. OK, so remote loading of objects is a way to get code onto an iPhone. But it's going to suck over EDGE (or even 3G), there's no model for charging money for code delivered that way, and what's the point, really? These devices have huge amounts of local storage, by the standards of the mobile application market. Why not just put real apps on them, and just exchange plain old data via nice lightweight protocols rather than shuffling objects around?

      You seem to be really hung up on the technical elegance of the notion of a bunch of devices all seamlessly exchanging objects. It's neat, but it doesn't actually get you anything of substantial value.
      --
      This space unintentionally left unblank.
    7. Re:Network-Mobile Objects by Doc+Ruby · · Score: 1

      Of course I read your post. Just parroting that back at me isn't a valid criticism. Your arguments didn't even recognize the points I made, that I just made again. My arguments addressed your points specifically.

      And so it looks like you've once again failed to read my post. Here's another free clue:

      For one, I didn't say that Java is the native iPhone environment. I said that it's native to those other devices I mentioned, DVB/ATSC/BDP/phones.

      For another, there is certainly a market for apps on those devices, but their developer community is small and top-down from the device vendors (making them effectively closed). Java on iPhone changes that, especially if there's Java in the iPhone Apps Store. Those changes make the market accessible by both consumers and developers, which is the magic stroke.

      At least in the end you start arguing something from the very beginning of my first post, the viability of network mobile objects. You don't even seem to realize that the native iPhone apps will all have the same network limits you're talking about. Or that the network mobile objects can be very small. In fact, once again proving you're not reading my posts, you don't notice the remote device UI use case I mentioned, which is of course just one possible application.

      That's it. No more free clues. You're annoying to discuss this with. You get the most basic stuff wrong. You don't have any good ideas, even when they're given to you over and over. iPhone Java is coming, bringing along the platform for network mobile objects (and other Java techniques) and a developer community that can reach the combined multiplatform of all those devices. You can stand outside in 2001 and watch the rest of us prove you wrong. Just don't pretend that you're qualified to talk anyone out of it.

      --

      --
      make install -not war

  14. What about the fact that... by bluemonq · · Score: 1, Redundant

    ...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.

    1. Re:What about the fact that... by MadMidnightBomber · · Score: 4, Funny

      Easy - we'll just port Emacs. Then you won't need to run anything else.

      --
      "It doesn't cost enough, and it makes too much sense."
    2. Re:What about the fact that... by prxp · · Score: 2, Informative

      "Only one iPhone application can run at a time, and third-party applications never run in the background." This is a completely fabricated limitation. For starters, the iPhone email app does run in the background (when it's fetching new messages). There is a good number of non-official (as in jailbreak based) 3rd party applications for the iPhone that run as background processes (including some popular daemons like apache, sshd, tinyproxy, etc). There are even applications that run their UI on top of the UI of another application (both applications running at the same time), like the dock App that runs on top of Springboard.app. I am positive that it will be fairly feasible to bypass that limitation given the current state of the art on iPhone hacking. I wonder if that would disrespect the developers license agreement (thus causing account termination).
    3. Re:What about the fact that... by adrianmonk · · Score: 1

      Easy - we'll just port Emacs. Then you won't need to run anything else.

      Well, Emacs does have one of the original multitouch interfaces...

      (Doesn't it stand for "Escape Meta Alt Control Shift"?)

    4. Re:What about the fact that... by wik · · Score: 1

      Eight Megs and Constantly Swapping

      --
      / \
      \ / ASCII ribbon campaign for peace
      x
      / \
    5. Re:What about the fact that... by TheRaven64 · · Score: 1

      Except that the SDK conditions prevent you from porting any app that contains a scripting language, which rules out EMACS due to Scheme (and Vi, but Mg can still be used).

      --
      I am TheRaven on Soylent News
  15. In line with Design guidelines? by aneviltrend · · Score: 5, Insightful

    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.

    1. Re:In line with Design guidelines? by argent · · Score: 1

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

    2. Re:In line with Design guidelines? by DdJ · · Score: 1

      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.
    3. Re:In line with Design guidelines? by johannesg · · Score: 1

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

    4. Re:In line with Design guidelines? by DdJ · · Score: 1

      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.
    5. Re:In line with Design guidelines? by argent · · Score: 1

      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?

    6. Re:In line with Design guidelines? by argent · · Score: 1

      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.

    7. Re:In line with Design guidelines? by krquet · · Score: 1

      Audio applications are currently playable in the background. So too maybe a few low level connectivity apps. I suspect, Apple is only trying to prevent system crashes and thereby minimise poor user experiences as much as possible. Apple is often known to challenge their engineering to the limit of end user (in this case walled garden happy business users as well) friendliness, I'd think they might expect something similar from the 3rd party developers for their system. Challenging projects often bear good than lowering the bar and fudging the requirement.

    8. Re:In line with Design guidelines? by malevo · · Score: 1

      Not really. It should be possible to save the state of the vm, and reload it when restarted.

    9. Re:In line with Design guidelines? by edxwelch · · Score: 1

      Seems like a dumb and unnessary restriction considering that the iphone is ment to be a high end phone.
      All j2me enabled phones put the running midlet into the background when recieve call and this works without any problems even on low end phones

    10. Re:In line with Design guidelines? by Graymalkin · · Score: 1

      As of the 1.1.3 firmware userspace apps no longer run as root. It's also absurd to think forthcoming changes in the 2.0 firmware won't lock this access model down any more. As per the documentation, apps will be run in sandboxes which can and will control the sort of access they have to resources.

      --
      I'm a loner Dottie, a Rebel.
    11. Re:In line with Design guidelines? by argent · · Score: 1

      So basically this SDK isn't going to let even developers open up their own iPhones, and Jailbreak will continue to be a necessity to use an iPhone as a regular smartphone. Even PalmOS, limited as it is, provides a better environment.

      Oh well.

      I hope Apple is not going to make the mistake of trying to push the idea that a leaky OS level sandbox is a free pass for security, the way Microsoft has.

    12. Re:In line with Design guidelines? by Macrat · · Score: 1

      By closing the app?

    13. Re:In line with Design guidelines? by AaronLawrence · · Score: 1

      30 seconds? Are you just making numbers up? Opera in Java launches in about 2 seconds on my lowly Nokia 6234. While I still don't like Java on the desktop, it is pretty slick on mobile devices.

      --
      For every expert, there is an equal and opposite expert. - Arthur C. Clarke
    14. Re:In line with Design guidelines? by Ma8thew · · Score: 1

      AFAIK, Apps are completely sandboxed. They can only access their own files, with a few exceptions, and they are forcibly terminated if they take too much memory. Apple has also said that using private APIs isn't allowed for apps in the store.

  16. Re:Apple's stance by BotnetZombie · · Score: 2, Interesting

    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.

  17. Re:Apple's stance by Anonymous Coward · · Score: 5, Informative

    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.

  18. Re:Apple's stance by adrianmonk · · Score: 5, Insightful

    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.

  19. Secure by harroinc · · Score: 1

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

    1. Re:Secure by Ilgaz · · Score: 1

      Can you give me a single example of security breach occurred because of Java on ANY platform/device?

      iPhone is running things like UID 0, it was dreamed to be a completely closed platform and right after they saw people easily crack their protection, they opened it up to developers.

      Java is running things in a sandbox since it was invented. Java applications can't see anything except their directory, J2ME/Symbian has plain English (or whatever language) basic questions like "Do you want to allow this application to access your phonebook data?", user says "Yes" or "No" and it occurs _ONLY_ if the Application has a security certificate. If your application wants to access to net, J2ME or Symbian kernel will ask "Allow this Application to access network?".

      Java doesn't have a superb AI framework which does proactive security or application heuristic watching. It is secure by design. That is why it is preferred.

      If I had a iPhone, I would be bugging F-Secure and Kaspersky about plans to ship their security products right now. Unless they sit with Apple to agree on a special access right, iPhone official SDK won't even be able to run a security solution. As they still force users to "hack" their phones by asking $100 etc. and offer a single channel, there will be very interesting issues with it. They can ask their rival Nokia about what would happen since they somehow, amazingly do the same mistakes of them which they barely recover to this date.

      A $3000 TCO device owner is a black hats dream and Apple doing everything possible to make sure people get used to "hack" their devices.

  20. In lieu, I will be... by Anonymous Coward · · Score: 0

    "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.

  21. Re:Apple's stance by wildBoar · · Score: 1

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

  22. And now for something completely different... by downix · · Score: 1

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

    --
    Karma Whoring for Fun and Profit.
  23. How do you figure it's "insecure"? by argent · · Score: 1

    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.

    1. Re:How do you figure it's "insecure"? by harroinc · · Score: 1

      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.

    2. Re:How do you figure it's "insecure"? by argent · · Score: 1

      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. Re:Apple's stance by cbart387 · · Score: 3, Interesting

    May I recommend doxygen 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.

    --
    Lack of planning on your part does not constitute an emergency on mine.
  25. Re:Apple's stance by T-Bone-T · · Score: 1

    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.

  26. Control by argent · · Score: 5, Insightful

    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.

    1. Re:Control by Richard_at_work · · Score: 0

      Why should Apple support two different APIs? No one has yet asked or answered that question - they have a viable and available API already (Cocoa), why should they splinter their developer base and spend more time and money supporting a second API at the same time?

    2. Re:Control by argent · · Score: 1

      I'm not sure I understand what you are getting at.

      The iPhone already has two different APIs: Cocoa and Webkit. Until now, only the Webkit API was available, and now that they are releasing Cocoa they're releasing it under very tight controls and setting up extreme limitations in what Cocoa applications are going to be allowed to do... enforced by contract rather than software, but still limitations. One of those limitations is that third parties are not to provide their own interpreters (like Java). Apple is not just not implementing Java, they seem to want to prevent it or any other development environment than theirs from being available on the iPhone.

      That's nothing to do with support costs. That's all about control.

    3. Re:Control by 955301 · · Score: 1

      I don't quite follow this assertion: control. They want to control application access - but they release an sdk. And regarding foot-dragging, how many months ago was the iphone released? Can you honestly say it's foot-dragging or a staged schedule?

      --
      You are checking your backups, aren't you?
    4. Re:Control by argent · · Score: 1

      They want to control application access - but they release an sdk.

      They release an SDK that can not be used to create applications that can be distributed by anyone but Apple.

      And regarding foot-dragging, how many months ago was the iphone released?

      Every actual smartphone that I know of had SDKs before launch.

      Can you honestly say it's foot-dragging or a staged schedule?

      Given that Apple originally said that the only SDK was going to be via Javascript applets, and that it's only been after massive pushback by the community, I think I can honestly say it's foot-dragging.

    5. Re:Control by argent · · Score: 1

      Those bastards at Apple are trying to keep use from using all those great Java apps we love so much.

      This isn't about Apple being "bastards". There are some perfectly good reasons why they might not want to provide users full access to the iPhone. The original suspicion I had was that there didn't seem to be any hardware protection for the software radio, so a malicious application could easily use the iPhone to screw with the cell network. Steve Jobs experience with the phone system would make that kind of possibility very obvious to him.

      This also isn't about Java, it's about all open toolkits. They didn't say "we won't allow Java", they said "we won't allow any interpreters other than the ones we approve of". That not only includes Flash, which is huge, but also Apple's own Applescript, which is pretty damn popular on the Mac.

  27. This is known as piggybacking by furball · · Score: 0, Troll

    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.

  28. Re:Apple's stance by xouumalperxe · · Score: 4, Informative

    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.

  29. Azureus is not a Swing aoo: It is SWT based. by dwalsh · · Score: 1

    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.

    --
    ${YEAR+1} is going to be the year of Linux on the desktop!
    1. Re:Azureus is not a Swing aoo: It is SWT based. by LDoggg_ · · Score: 2

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

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    2. Re:Azureus is not a Swing aoo: It is SWT based. by ShinmaWa · · Score: 1

      The GTK port for eclipse on Linux seems ok to me. This is true, as IBM is a huge Linux supporter (and has a lot of applications for Linux, comparatively speaking). However, IBM doesn't really support OS X, and SWT has always had big problems on that platform.
      --
      The /. Effect: Thousands of users simultaneously accessing a site to not read its content.
  30. JDK 6 - Leopard?? by yamamushi · · Score: 2, Insightful

    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!

    --
    - Aetheral Research -
  31. JME is not JSE by Logi · · Score: 1

    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).

    --
    Logi - I can do anything, but not everything.
  32. Re:Apple's stance by samkass · · Score: 5, Insightful

    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) 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.

    --
    E pluribus unum
  33. Re:Apple's stance by tkinnun0 · · Score: 1

    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?
  34. Well, It Could Be Worse by ibmjones · · Score: 1

    It could have been EMACs. :D

  35. Re:Apple's stance by Anonymous Coward · · Score: 0

    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.

  36. Re:Apple's stance by architimmy · · Score: 1

    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...

  37. Re:Apple's stance by call-me-kenneth · · Score: 0

    Performance? A stretch but I guess it's possible. Security? Naahh... this is Apple, remember.

  38. There already is a Java port to the iPhone by laird · · Score: 4, Informative

    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!

    1. Re:There already is a Java port to the iPhone by saurik · · Score: 1

      I got that working ;P. It's JamVM with a custom connector from Java to Objective-C that works like PyObjC, allowing access to all of the frameworks on the device. It's actually been around for _months_ now, but I have been quite busy and have been unable to really market it well enough. If anyone wants more information, please e-mail me: saurik@saurik.com. My website is http://www.saurik.com/, and I've had a bunch of time in the last couple days to actually write articles for my site, and JocStrap/iPhone/Java is next ;P.

    2. Re:There already is a Java port to the iPhone by laird · · Score: 1

      That's just cool. I love Slashdot!

  39. Uh, if Apple doesn't want it on the phone... by divisionbyzero · · Score: 1

    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.

    1. Re:Uh, if Apple doesn't want it on the phone... by jpellino · · Score: 1

      I doubt Sun would be willing to live with their product as an unsupported environment.

      I'm still not sure why this is worth anything other than a meetoo for Sun.

      Given the native dev system and OS on the iPhone, and the utter dearth of the promised Java as universal, HW independent environment (wasn't it supposed to be on my light switches and fridge by now?), what's the point? So when my MOTO dies I can enjoy the same dog apps on my new iPhone?

      --
      "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  40. i call bullshit.... by bennini · · Score: 3, Interesting

    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

    its not that complicated....

    1. Re:i call bullshit.... by VGPowerlord · · Score: 1

      You should probably tell the guy who made the great-grandparent post, not me. He's the one complaining about how "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."

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    2. Re:i call bullshit.... by DaleCooper82 · · Score: 1

      Common mods, "Interesting"? What is "Informative" for then? ;) (Aiming at -1 Troll :)

      --
      :: There is no light at the end of a tunnel. There is a tunnel after a tunnel : Thom Y. ::
    3. Re:i call bullshit.... by reiisi · · Score: 1

      Well, you're the one saying Apple should have fixed it, and they did, in the only reasonable way.

      Maybe the guy you were responding to was lamenting all the programers who will not even look to see if there is a way to put the Java menu up in the Mac menu bar. (Or consider the consequences of doing so.)

      --
      Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  41. should be interesting... by hitmark · · Score: 1

    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.

    --
    comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  42. Re:Apple's stance by Bill_the_Engineer · · Score: 5, Informative

    OK I'll bite == Keep in mind I am more familiar with Java than Obj-C but here I go:

    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) it would be brilliant.

    It is my understanding that Rococoa is a wrapper that allows Java to call Obj-C library routines. I guess this would put it in the same ballpark as IBM's GUI library.

    Java's support for everything else-- from multithreading to data structures-- makes Objective-C look like the 30-year-old grampa it is.

    I don't know what you are talking about here. All languages support data structures, and Obj-C is no different. I assume you mean built in library templates, and Java may have an edge here. I don't know how big the edge is, since personally I only use a subset of them and a lot of them are just there for legacy reasons. I would put this more in the realm of JavaSE/ME/EE the environment instead of Java the language. I'm sure it would only be a matter of time that Obj-C has a similar class library, if it isn't good enough already.

    As for threading, Obj-C has an atomic attribute, @synchronized attribute, exception handling across threads, NSLock, NSRecursiveLock, NSConditionLock, and Semaphores. As for Java, you have the monitor attribute, synchronized, and event handling. I believe that both languages do adequately support threads. Both languages are subject to the limitation imposed by their host OS. Ok the JVM could perform multitasking in its own time slice, but boy would that suck...

    I admit I only have written seriously multithreaded programs in Java (I have little demand for ObjC at the moment), but the Apple documentation seem pretty complete and ObjC has 20 more years of multithreading over Java (smile).

    Anyway, I think I hit the crux of the problem being that I've had little demand for ObjC compared to Java. In fact, it is this demand that is forcing Apple to support Java. If the native SDK proves popular and the iPhone/iTouch marketshare continues to grow, I'll probably see less demand for Java and more demand for ObjC. This is what Sun is worried about, and this is the motivation for Sun to make a JVM for the iPhone.

    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.

    You are the first person I have seen (outside of Sun) that has used "extremely fast" and "java" in the same sentence. Do you have references? I would like to read up on the architectural differences. Objective C can drop down to C, but let's face it the speed factor now-a-days is more academic than practical. To be fair, both languages run fast enough to give a good user experience. I always had my doubts on the effectiveness of benchmarks in arguments like these. I am more of a "the right tool for the job" kinda person. This right tool being, what ever you feel most comfortable programming in.

    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.

    You are sorta right. The ARM 1176JZF does have built in hardware that is capable of running Java bytecode. It is a Software/Hardware solution called Jazelle. I don't know how easy it would be to incorporate its use into OS X lite. I know it's nice in an embedded JVM environment, but I have no clue on how well it would work in a mach environment. I'm thi

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  43. Re:Apple's stance by RockoTDF · · Score: 3, Informative

    As a current college student, let me tell you that the Java Hype bomb is still around. I say that Java is to computer languages what English is to spoken languages....clunky but totally acceptable to people that don't know any better. I find myself spending more time solving Java related problems than I do solving the problems of my assignments. I really wish they would do python at the intro level so students could learn how to think about coding and then do C/C++ or something so we can see how shit *really* works at a more basic level. (I believe this is what MIT is doing at the moment?)

    --
    There is more to science than physics!

    www.iomalfunction.blogspot.com
  44. Re:Apple's stance by Tjp($)pjT · · Score: 1

    I am not sure how a Java APP will help developers if Sun follows the SDK license. And I can't explain exactly why because of the same license. But since that would mean all Java applications would load and play in the "Java APP" space Sun would have to reinvent a lot. The shame is that the Samsung chip used has java support built in. And since the SDK severely limits hardware access and the license precludes it as well if you use the SDK, no BT profiles can easily be added, can't play with the dock connector. The chip also supports USB OTG even though the dock connector is not so wired, software could make the iPhone a USB "master". The chip also supports SD/MMC cards but that requires a mod to the hardware and adding some software. So I am pretty safe in predicting Apple will have to make some subtle mods to the SDK license (it stops to many very useful applications ... that there is demand for) and that unofficial development will continue to meet market needs.

    --
    - Tjp

    I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

  45. Re:Apple's stance by Ilgaz · · Score: 1, Interesting

    Security and Performance concerns? No, it is openness concerns. What is a meaning of iPhone software store if user can click a jad/jar file which is SECURELY signed from their browser and install it?

    What if people starts to use the higher than average CPU speed and memory of iPhone to setup "Javatunes Store" ? What if they offer Skype calling? What will phone company say?

    If Java was unsecure, we would be fighting eachother with stones and sticks instead of posting to slashdot. Java is secure enough for a BANK, Military, Space, mission critical things. Forget the 1 billion handheld devices having java in them and there hasn't been a single java security issue like worm.

    If iPhone gets J2ME, I may consider to buy it since my banks pseudo random password generator runs on it as well as their millions of customers.

  46. Re:Apple's stance by Ilgaz · · Score: 1

    Do you remember why Sun took over the Windows Java development even fighting in a court for it? Microsoft. Now Apple gets the same treatment, "If you don't ship it and spread false rumours about it, we code and ship ourselves".

    Comparing Windows JRE to OS X JRE, I think it would be a lot better port than Apple would ever provide. As Sun says "Once the capacity of devices are comparable to laptop, we will look for desktop java on mobile" or it is the general thinking, I wonder if iPhone being the only $100+ phone not having J2ME would be the first handset with "real" JRE instead of J2ME in future. That would be really ironic.

  47. SCRABBLE by crevistontj · · Score: 1

    SCRABULOUS here I come!

  48. Re:Apple's stance by shutdown+-p+now · · Score: 2, Insightful

    Speaking of Objective-C: there's simply no excuse for a language that claims to be modern to not have namespaces, or some analogous mechanism to deal with name clashes, in 2008.

  49. Re:Apple's stance by LiquidCoooled · · Score: 1

    Look closer at the CPU (arm11) included in the iPhone.

    It includes hardware Jazelle DBX extensions:

    ARM Jazelle DBX (Direct Bytecode eXecution) technology for direct bytecode execution of JavaTM delivers an unparalleled combination of Java performance and the world's leading 32-bit embedded RISC architecture - giving platform developers the freedom to run Java applications alongside established OS, middleware and application code on a single processor.

    Performance isn't really an issue..

    --
    liqbase :: faster than paper
  50. Re:Apple's stance by Ma8thew · · Score: 1, Redundant

    Trust me, no Java app on OS X feels anything like a Mac app. They look slightly better than on Windows, but they still feel like Java.

  51. Re:Apple's stance by Ilgaz · · Score: 1

    If SJobs said "We decided J2ME is too light for iPhone" , it wouldn't bother anyone. Everyone knows when handsets can be comparable to a cheap celeron laptop, J2ME will be a thing of past and people will use real JRE.

    Guy said it is insecure and nobody asked for it. With apocalypse like "Taking down entire East Coast network". That is something you would expect from Ballmer but they got a very good $500M lesson for acting like that.

    While doing the iPhone J2ME, I hope they use their Cocoa abilities to start coding Java 6/7 for OS X for BOTH Intel and PPC, accelerated for both CPUs. They should have started a very long time ago right at 10.4.x times where Apple showed first signs. They sit and code one of the most good performing, compatible JRE for Windows. Reason? MS hates them and tried to kill it. Guess the very single desktop OS not having JRE 6?

    Linux/PPC has Java 6 for more than a year now, thanks to IBM never abandoning their users.

  52. thanks for the idea! by SethJohnson · · Score: 2, Interesting



    Wow. Your post got me thinking. I could write a remote-control interface for my iPhone that would send commands via TCP/IP to my MythTV box. Change channels, play / record, etc. over wi-fi.

    Seth

    1. Re:thanks for the idea! by Doc+Ruby · · Score: 1

      You're welcome.

      But you don't need Java to do that. A native iPhone app can send TCP/IP commands to MythTV.

      What's really cool is when the MythTV server has Java applets for remote control that can run on you iPhone, and on your cablebox, and on your Blu-Ray player.

      --

      --
      make install -not war

  53. apple ships a jvm with OSX by enos · · Score: 1

    Not only does Apple ship a descent JVM with OSX, they even customized its Swing so that apps look just like native apps. Yes, Swing is a crummy GUI toolkit, but you can't say it's ugly. The rest of Java is actually pretty fast, you just don't notice it because your window has to go through 20 levels of abstraction to draw itself. On the plus side, you'll never see a Swing dialog box with an itsy bitsy input field that you can't make bigger *caugh* win32 absolute placement *caugh*

    --
    boldly going forward, 'cause we can't find reverse
    1. Re:apple ships a jvm with OSX by petermgreen · · Score: 1

      you do know that there is nothing forcing developers to use the layout managers in awt/swing right?

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  54. Apple fhtagn. by Lewrker · · Score: 0

    The article doesn't speculate on how Apple might to react to such a loss of control. There's been a heavy snow-storm in here, and I think Australia might've sunk.
    People of feeble and creative minds everywhere in the world went into deep comas, the mental institutions survived a major influx of patients.
    For now, Steve Jobs dreams again in R'lyeh.
  55. Re:Apple's stance by eosp · · Score: 0, Offtopic

    No, they use Scheme. It is MIT, so a non-LISP is not good enough.

  56. Re:Apple's stance by soliptic · · Score: 1

    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.

    Nice pun ;)

  57. Re:iPhone or jPhone by borgboy · · Score: 1

    [...] but it has no place in embedded hardware.

    cuz, lolz, it sure as heck wasn't designed with that use case in mind. At all. Shucks no.

    --
    meh.
  58. Re:Apple's stance by TheRaven64 · · Score: 2, Interesting
    The concurrency thing in the grandparent made me smile. I've implemented Futures in Objective-C and they can be used entirely transparently - just create the object with +threadedNew instead of +new (or +alloc -init) and you get a version that runs in a different thread, handles method calls asynchronously and returns a proxy object which just blocks when you try to access it until it's ready (or you can ask if it's ready), which is great for long-running worker tasks. This is not possible in Java because the static dispatch mechanism doesn't allow you to alter message delivery (method call) semantics.

    As for Java being faster? Well, the benchmarks disagree. And, of course, there are ways of making Objective-C as fast as C if you have some bottlenecks where you're willing to sacrifice a little flexibility.

    I can definitely see a business case for Java on the iPhone - there is a lot of existing Java (particularly J2ME) code out there for mobile apps. With a JDK that had a nice UIKit wrapper it would be possible to reuse a lot of the existing code and just add a new UI.

    --
    I am TheRaven on Soylent News
  59. Re:Apple's stance by TheRaven64 · · Score: 1

    Everyone knows when handsets can be comparable to a cheap celeron laptop, J2ME will be a thing of past and people will use real JRE. The first machine I ran Java on was a 133MHz Pentium with 32MB of RAM and a 1GB hard disk. My current (cheap, three-year-old) phone has a 220MHz ARM CPU, 32MB of RAM and a 1GB flash card. So, uh, why does it still use J2ME?
    --
    I am TheRaven on Soylent News
  60. Re:Apple's stance by Cyberax · · Score: 1

    >As for threading, Obj-C has an atomic attribute, @synchronized attribute, exception handling across threads, NSLock, NSRecursiveLock, NSConditionLock, and Semaphores. As for Java, you have the monitor attribute, synchronized, and event handling. I believe that both languages do adequately support threads. Both languages are subject to the limitation imposed by their host OS. Ok the JVM could perform multitasking in its own time slice, but boy would that suck...

    Java also has a very nice concurrency library: http://java.sun.com/j2se/1.5.0/docs/guide/concurrency/index.html and VERY good parallel collections library.

    >You are the first person I have seen (outside of Sun) that has used "extremely fast" and "java" in the same sentence. Do you have references?

    Ok, now you can see the second person who claims that Java is extremely fast.

    References: http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=javaxx&lang2=gcc - Java is generally about 20% slower than optimized C, thanks to http://en.wikipedia.org/wiki/HotSpot compiler.

    Objective C performance is about the same as Python: http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=javaxx&lang2=python - i.e. Java is in general more than 1000% faster.

    Oh, and Java GUI can be fast - check Google Android, it has a very nice custom Java GUI, which works blazingly fast on 200MHz CPU.

  61. Re:Apple's stance by TheRaven64 · · Score: 1

    Not quite true. Mocha - Cocoa + Java - apps often felt really nice (although they were rare). These typically took an existing Java application and re-wrote the UI using the Cocoa bridge, and behaved exactly like Objective-C Cocoa apps (to the user). Shame Apple deprecated the bridge with 10.4...

    --
    I am TheRaven on Soylent News
  62. You're annoying to discuss this with by Serious+Callers+Only · · Score: 2, Interesting

    Of course I read your post.

    That's funny, because very little you said responded to it - in fact you're more guilty of using his posts as a springboard for tangential rants than he is.

    Your arguments didn't even recognize the points I made, that I just made again. My arguments addressed your points specifically.

    Not from where I'm standing - your points are orthogonal to his central argument, and mostly to do with how great Java is for everything.

    You don't have any good ideas, even when they're given to you over and over.

    eh?

    The only people asking for Java on the iPhone will be phone developers who want to make a quick buck with a port of their existing J2ME app, and corporate developers who follow the religion - customers will avoid it like the plague because it will suffer from the same mediocre mongrel interface as Java on the desktop does on every platform, and the apps won't feel like they belong, because there won't be proper integration with things like the touch screen, native UI transitions etc etc.

    Java on phones is not dead, it just deserves to die, and roping J2ME to the new hot platform is not going to make it magically better. There's an interesting post further up this thread about the mediocrity which is Java as a language, but all that doesn't matter to the users; the ultimate arbiters in this matter, all they care about is the UI and user experience, which is historically Sun's weakest point.

    For one, I didn't say that Java is the native iPhone environment. I said that it's native to those other devices I mentioned, DVB/ATSC/BDP/phones.

    Maybe that's why phone UIs almost universally suck - I know the ones using Java for apps that I have used do, not really because of Java the language, but because of the libraries and UI conventions used, which are presumably closely tied in with the framework itself. I'm sure it's *possible* to do anything, but developers will tend to do what is easiest with a given framework.

    once again proving you're not reading my posts, you don't notice the remote device UI use case I mentioned, which is of course just one possible application.

    Maybe he just felt it was irrelevant and of more interest to Java aficionados than anyone else. Sounds like a solution looking for a problem to me - I'm sure it would be neat and all, but ultimately as a user I don't really care if you use the same objects on several different interfaces, it _might_ even end up a horrible kludge if they have different screen sizes and UI control schemes and the views aren't appropriately tailored. By the by, this facility (distributed objects) has been available in Objective C since the mid 90s, even if it's not available on the iPhone. Java really isn't as original as you seem to think it is. It's just as derivative as Objective-C for example, and if it ever was visionary, it isn't now.

    iPhone Java is coming, bringing along...Just don't pretend that you're qualified to talk anyone out of it.

    Well the future will tell all (including maybe even telling you you're wrong, if you're willing to listen), but if it's anything like the acceptance by consumers of Java on desktop OS X, you'll have a hard time convincing someone to use your J2ME app over a native one, that's if Sun even manages to get a credible solution supported on the iPhone.

    Frankly I find his arguments more convincing that yours, because they're grounded in an understanding of what the *user* wants, not a Java developer's hopes.
  63. Re:Apple's stance by Anonymous Coward · · Score: 1, Interesting

    No need to provide examples of the current version of Java being faster than the current version of Objective-C. One can prove it analytically.

    The Objective-C compiler only has access to the Objective-C source code when compiling the code, and the run-time (AFAIK) only optimises method calls (by caching them).

    The Java HotSpot JIT on the other hand has access to the source code but also the run-time profile of the executing code, and can thus optimise the execution in many more ways.

    That's how Java can be as fast, even faster, than C, and is currently way faster than Objective-C. This is not to say that the Objective-C run-time couldn't be changed to do more optimisation.

  64. Re:Apple's stance by Vexorian · · Score: 1

    The way I see it, apple had long before a chance to let Java break all the compatibility issues with apps, but it ruined it, and last year, instead of improving so, they made Java support worse, fun?

    --

    Copyright infringement is "piracy" in the same way DRM is "consumer rape"
  65. Re:Apple's stance by Ilgaz · · Score: 1

    The first Java you used was not advanced as current one. Java 5-6 are huge things , they had to evaluate based on needs. Nobody could code a complex thing like Azureus for example at that time. Nobody had the idea of natively playing a mpeg 4 file, interact with a webcam etc.
    Desktop Java has features, libraries which your (or mine) phone would never, ever need or use. Additional security is required along with a strict policy for network usage, phones have features which doesn't exist on PCs (e.g. dialling) or even GPS in new models. Memory is still an issue, even iPhone got limited RAM, my Symbian S60 (E65) has 64MB RAM but when it is booted, only 24-26 MB available maximum.
    Funny thing is, Apple would die rather than getting into J2ME process. It is like Nokia, Samsung and Sony may work on same standard proposal together while trying to erase each other from market. It is very visible on J2ME standards.
    To see what J2ME has to deal with, start with the CLDC (connected limited device configuration) http://en.wikipedia.org/wiki/CLDC . It is how it became de facto standard for mobile devices.

  66. Common platform by SpeelingChekka · · Score: 1

    My guess, because it's not about the *iPhone*, it's about the entire cellphone market: Sun want Java to become the standard language/platform for cellphone app development, and Java ME is already commonly used and has an application base - it's most useful to have all those apps be easily portable to the iPhone, and vice versa for new iPhone apps.

    If iPhone app developers code for the full version, their apps won't run on Java ME devices and will be even harder to port to (non-ME) Android, which is the other important 'prong' in their strategy --- with Android on the way, Java looks set to become "the" future platform for mobile devices, and then quite possibly later to basically all computers due to eventual convergence of cellphones/laptops - after nearly dying, Java may be truly getting a 'second chance at life' here, but only if Sun can make it a kind of de facto standard platform.

  67. Go Back In Your Cave, Mr. Ballmer by curmudgeon99 · · Score: 1

    You Microsoft trolls never learn do you. Go and waste your time on a Silverlight port for the iPhone. Better yet, make it run on a Zune.

  68. Re:Apple's stance by mdwh2 · · Score: 1

    Products on all sorts of platforms succeed by at least as much, because they are also polished. And for Java, Opera Mini for example is polished and it succeeds. So I don't see how this is relevant.

    And Apple's Quicktime on Windows is one of the worst offenders for not looking the same as other apps, so that's not something to complain about!

  69. Re:iPhone or jPhone by mdwh2 · · Score: 1

    Java runs fine on my dirt cheap phone. I'm sorry your iphone isn't up to it.

  70. new Brand? by GermanDZ · · Score: 1

    If Sun make a JVM for the iPhone, then an iPhone + JVM could be considered as a jPhone.

  71. Adobe AIR by Rix · · Score: 1

    Is basically Java on the desktop done right.

  72. Re:Apple's stance by MickDownUnder · · Score: 0

    I think he's saying if you read between the lines he's saying swing is total shit.

    But really ur right, Apple r just a bunch of thought Nazi's, sure Java would probably make their phone look crap, but it's more about domination and control of their platform. It's the jobs effect, the man is a genius, but he has an ego exceeding that genius by an order of magnitude, whilst he creates great stuff he ruins it with his megalomania. To Jobs anyone elses input or ideas without his right of viteo is just a recipe for imperfection. Nothing will go on the iPhone without Steve giving it his approval and more importantly taking ownership of the idea like he had it all on his own.

    This is why, I've always preferred Microsoft over Apple as the lesser of two evils, as Microsoft is really just a business entity. They're not that interested in technical perfection, just perfect business models. They don't care what you do with their platform, they let people do whatever, just as long as it doesn't screw their business model. The net effect is you have a lot of creative and technical freedom on the MS platform, but the day you screw with their business model they'll crush you like an ant.

  73. Re:Apple's stance by WatertonMan · · Score: 1

    Where did you read that Obj-C is as slow as Python?

    It seems odd to be discussing Obj-C and Java and then give a benchmark comparing Java and Python.

  74. Whipper snapper... by MacDork · · Score: 1

    Java's support for everything else-- from multithreading to data structures-- makes Objective-C look like the 30-year-old grampa it is.

    At least grandpa can use unsigned types.

  75. Re:Apple's stance by MacDork · · Score: 1

    AFAIK, Apple thoroughly customized the version of Java that comes bundled with OS X

    Apple also consistently stays one version out of date because of this, leaving Apple's java-dev list full of bleeding edgers who quote Jobs ad nauseam on his "best platform for java" quip.

  76. Re:Apple's stance by cryptoluddite · · Score: 1

    Yes, Java is pretty fast these days. That's because Sun welded the virtual machine from another 30-year-old language, Smalltalk, onto their Java implementation. But is there any way that Java is better than straight up Smalltalk? Smalltalk is as fast, and simultaneously simpler and more powerful. And not just more powerful than Java today (with the abomination that is Generics), but more powerful than Java with the BGGA Closure proposal [parleys.com], which threatens to make Java even more confusing than C++. A) the hotspot vm was inspired from Sun's work on Self, which has more in common with JavaScript really than Smalltalk. The hotspot-like vm in smalltalk was a one small step between Self and Java.

    B) Even the fastest smalltalks like cincom's can't even get method calls as fast as Java's. When I last benchmarked them they were 4 times slower. And math is typically 20 times slower than Java, or more.

    C) Assembly is simpler and more powerful and faster than Java. That doesn't mean jack about whether it is a good application programming language. A language where you can change any part of it can't be used in a secure way and isn't forward compatible. ie it's for scripting.

    If I sound bitter, it's because I was in college right when the Java Hype Bomb hit, and so I spent about 2 years writing Java code, continuously waiting for Java version N+1 to actually have some features we were begging for. I'm glad I had the sense to get out when I did, because if I was waiting for language features as basic as closures (which are far older than 30 years, gramps), I'd still be waiting, 10 years later. What's funny is that Java's inner classes are almost a direct mapping from the common ancestor of all successful object oriented languages, Simula 67. In another ten years maybe you'll have the context to know that it isn't Java that's making you bitter.
  77. Re:Apple's stance by Kuciwalker · · Score: 1, Insightful

    As a current college student, I can say that if you are spending significant amounts of time fighting with Java-related issues instead of the actual assignments, you are hopelessly incompetent.

  78. menu bars at the top are so atari ST by cheekyboy · · Score: 1

    Yeah good for phones, crap on desktops if you have real big desktops 1920 wide or 3 screens, i prefer localized menus, and hate to drag
    all the way to the top to see the menu, its crap.

    --
    Liberty freedom are no1, not dicks in suits.
  79. Re:Apple's stance by wildBoar · · Score: 1

    I shall indeed take a look.

    In the meantime I will continue with Google ;-)

    Most programmers need working examples and an easy to understand overview of what is in an api and how it should be used. Luckily this type of stuff is fairly quick to find - but for me there should be a place for it in JavaDoc, which also suffers from being very dry not to mentin terse.

  80. Re:Apple's stance by BotnetZombie · · Score: 1

    What specific 'Java related problems' are you having? I'm pretty sure that whatever you're talking about can be easily googled for, and/or asked/answered on one of the gazillion forums out there. This one here is usually helpful for programming at various skill levels. The only real problem I know of, is when teachers insist on using garbage libraries for assignments.

  81. Re:Apple's stance by Cyberax · · Score: 1

    Objective C _is_ as slow as Python when it does dynamic function calls. That's because they both use dynamic binding.

    Of course, programs in Objective C use plain old C for most of functionality. But once you start using dynamic binding and other goodies - it's the world of SLOW.

  82. Oh Please No by tacocat · · Score: 2, Insightful

    If you compare the languages, Objective C and Java, odds are that Java really can't bring anything to the table that is going to make it stand out from the crowd. Java works if Java can stay in memory, or be the entire application interface so it's always in memory, that's how is can make a decent application for phones -- be the application. That isn't the case here. Apple has their own OS that they are running and it's pretty good. They won't get rid of it. So now you are going to run two on tandem. Which will be very bad for Apple.

    JVM based widgets will suck ass and everyone will want to blame Apple for their shitty phone that doesn't run Java apps really fast. Well, it wasn't designed to. But there are like a million little programmers running around saying "Go Java" and banging out every kind of widget they can think of anyways. And still people will blame Apple for making a shitty iPhone because Java widgets don't run fast. Recall that it still isn't designed to do that.

    I have a very strong dislike for Java because of what Sun did with it. They lowered the entry barrier to Java by making is really easy for someone to get a certification in a week and then start programming at a job. Problem is you end up with a lot of programmers who are stupid shits and can't code their way out of a paper bag. The really amazing programmers still exist, but they've been diluted by the thousands of overnight contractors that have no experience.

    So the net effect is that you end up with a lot of bad programmers making a lot of bad programs on a code base that is very sub-optimal for the applications and platform that they are going to be developing. And even the really good programmers are going to struggle because it's not a native Java machine and they'll have to fight against that one.

    I guess I forgot to say, I don't think that there is any problem with what Apple is doing with their SDK and their product development model. They have a different approach to their products. They release what they can and need to in order to ensure functionality. This is contrary to Windows and others who release crap for everything all on the same day and then have a lot of people pissed off with things not working. It is the quality of their products that has been a corner stone in their success in the market.

    Opening up the iPhone like this is going to mess that their perception of quality in the market and that is probably one of their most valuable selling points.

  83. when apple owns the portable phone market by reiisi · · Score: 1

    When apple owns the portable phone market, then, yes, this would become subject to anti-trust measures.

    Why can't people tell the difference between a monopoly in the market for brand X of product B of product category Q and a monopoly in the market for the entire product category.

    iPods are kind of close to the borderline, but not really approaching the degree to which MSWindows/MSOffice has become the market for general purpose computers except for mainframes. And, yes, Apple has used various things to keep control of their own products, but have done nothing approaching what Microsoft has done to establish and maintain their monopoly. Give it a break.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  84. interpreted speed by reiisi · · Score: 1

    Well, I remember, back in the 80s, fans of FORTH who claimed it was faster than compiled C.

    Some of those who made those claims understood that the FORTH interpreter was a better run-time execution model than the model that many C compilers for microcomputers back then implemented. So, FORTH interpreted code could be faster than a bad compiler's compiled code.

    But some didn't seem to understand the fundamental behavior of an interpreter. I heard one guy talk about, if your program was too slow, just make parts of it words of their own, and then those words would be fast. (Didn't seem to understand that a call to a routine still had to execute the body of the routine. Or maybe he was confusing size optimization with speed optimization. I've done similar things, said "It does cool thing A." when I meant "It does cool thing B".)

    There's no way an interpreter can run without putting at least a branch/jump between every primitive executed.

    Well, I know the JIT is supposed to solve that, but why not just unroll the invariant primitives? If the code itself is final, it ought to be possible to just pick up everything to the last branch and insert it in the stored instruction stream without the branch. Large primitives aren't going to be helped much, but small primitives would. And, at compile time, you could dredge the unrolled code for things like a move to the parameter stack followed directly by a move from the stack to an accumulator.

    Anecdotes: My Mac Mini (1.2G PPC, 512M RAM, slow frontside cache) runs Java about half the speed of my Linux box (1.7G Sempron 2700+, 768M RAM, frontside about half CPU speed). The pause between double-click and application coming up on screen is a bit longer than with native code on both machines, which is not surprising considering the pre-flighting Java does for security and other purposes. You see the effects of the branch being in there, speed-wise, but, as you say, it's fast enough.

    On my clamshell iBook, however, rendering of html is seriously slow. Makes the help screen I'm rendering that way more or less useless.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  85. Re:Apple's stance by aphor · · Score: 2

    As a professional cat herder in global mission-critical financial J2EE application environment of a fortune 100 company, I would peg you as a "significant risk" because you are completely willing to judge something on assumption without knowledge of basic requisites like "You are incompetent" without knowing exactly what the guy is trying to do, nor the nature of his difficulty.

    I would take it as a personal task to destroy your code's behavior if there were any production impact on any bug. So, mister high-and-mighty "only incompetent people struggle with Java tools or language idiom" you get the prize. Only the best will be tolerated from you. A good teacher will specifically assign work which exposes the limits of a language/tools so that students get real experience learning how to push the envelope. Maybe struggling with Java is *part* of the assignment. I contend that if you went to school and did not struggle in this way, maybe you wasted your tuition and time?

    --
    --- Nothing clever here: move along now...
  86. menu bar by reiisi · · Score: 1

    apple.laf.useScreenMenuBar

    Can be set on the command line or programmatically. Or in the plist in the bundle, of course.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  87. menu bars and tool bars by reiisi · · Score: 1

    Do you customize your Mac UIs very much?

    By the way, the reason the first item in the bookmarks bar is a menu is because it's a menu of bookmarks. That is not the same as a file menu and you probably at least subconsciously know this, so you are just playing semantics games to try to defend your arguments that everyone should be a poweruser just like you.

    I'm a poweruser of sorts, but I'm not a poweruser just like you, thankyouverymuch. I don't really appreciate having to hunt for a safe place to click non-foreground windows to bring them front.

    Oh, and the first item on the left in the bookmarks bar (which you can get rid of if arguing about it is going to distract you from real work) is not a menu, I think.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  88. Re:Apple's stance by drozofil · · Score: 2

    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. Citation needed. Especially, a relevant citation for Java would be appropriate.

    As far as I know, "there is no optimization", especially when it comes down to "performance". Routines that can enhance the performance of matrix computations are different in every point from routines that enhance the performance of device bandwidth management (used in NIC drivers, of video adapters drivers), and have nothing in common with optimizations related to "responsiveness" (latency management).

    What performance are you talking about ? Please be more specific.

    Extremely dynamic linking Sorry, I can't guess what you can't spell. What is that already ?

    And Java is extremely fast-- almost certainly faster than Objective-C Citation needed.

    Looking for benchmarks, I found many references to a "String" benchmark is which Java is supposedly faster due to a certain amount of optimizations in the JVM String handling routines. More, I don't see any reason not to write an String handling library for objective-c that could provide the same kind of optimizations (come on, a String Handling Library. Such a thing is like "you're first assignment as a CS student ever").

    I was unable to find benchmarks caring enough to be unbiased i.e. with a valid test methodology, and reasonable explanations of the choices made, measurement of the biases etc.... I didn't spend more than 10mn on google. I'm not trying to prove that either Java or Objective-C is faster than the other though.

  89. Re:Apple's stance by RockoTDF · · Score: 1

    Yeah, I do google things and visit forums when I am having trouble, but its a huge time suck.

    I just think its amazing that as a novice programmer I managed to write a program in python that does pixel counts in images and will soon be able to clunk them together, but in Java it takes me ages to do my homework. I really do spend more time trying to figure out how to create the algorithms in *java* than I do logically/in my head, if you see what I mean.

    --
    There is more to science than physics!

    www.iomalfunction.blogspot.com
  90. Re:Apple's stance by RockoTDF · · Score: 1

    People like you are the reason why the CS/engineering crowd are considered arrogant douchebags. Java is a clunky language that should not be taught to intro classes. Not everyone is a genius like you are, apparently. FYI, I'm going into a career in neuroscience, and the CS department is overriding me into the AI course next semester even though I have less than a year of programming under my belt.

    --
    There is more to science than physics!

    www.iomalfunction.blogspot.com
  91. Re:Apple's stance by BotnetZombie · · Score: 1

    Again you mention no specifics of your problems with Java, only that you spend more time than you perhaps would using Python. You can do most things in similar ways in both languages, Java is just more verbose*.
    That said, I agree that it would probably be better for novice programmers to start with Python than Java, it's an easier tool for training your brain into a programming mindset.

    *yes, collections and lists are much more cumbersome to work with in Java than Python

  92. Re:Apple's stance by Anonymous Coward · · Score: 0

    Python is a scripting language. It's designed for write-once programs that kinda work. Java is a programming language, for when you need it to work for a lot of people for a longish time. Try running your python script again in 10 years and see how awesome it is... it probably won't even run, since the library interface will have changed or something else will have broken.

    Seriously, are you getting assignments so basic as to count the number of pixels in images?

    Java is not that hard. In fact, it's several orders of magnitude simpler than C++. It doesn't do any good if you can design algorithms in your head... anybody can do that. The only thing that matters is if you can get the computer to perform them. And it sounds like you are struggling with that part.

  93. Re:Apple's stance by Bill_the_Engineer · · Score: 1

    Java also has a very nice concurrency library: http://java.sun.com/j2se/1.5.0/docs/guide/concurrency/index.html and VERY good parallel collections library.

    Yes I know. But that is a function of Java class library not of the language itself. I written similar libraries for embedded projects using C++ and any language that supports encapsulation and has support for / or have access to semaphores can easily be made thread safe. My personal favorite use of such objects are FIFOs that transport messages between threads (and processes).

    Ok, now you can see the second person who claims that Java is extremely fast.

    References: http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=javaxx&lang2=gcc - Java is generally about 20% slower than optimized C, thanks to http://en.wikipedia.org/wiki/HotSpot compiler.

    Objective C performance is about the same as Python: http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=javaxx&lang2=python - i.e. Java is in general more than 1000% faster.

    Oh, and Java GUI can be fast - check Google Android, it has a very nice custom Java GUI, which works blazingly fast on 200MHz CPU.

    You show benchmarks for Java versus C, python versus C, and only provide conjecture that loosely links ObjC versus Java via Python. Unfortunately, you provide no benchmarks comparing ObjC to Python or more importantly ObjC to Java. You did show references for Java, C, and Python but none for Objective-C

    It's refreshing to see someone come to the aid of Java. I like Java (and have used it since forever), but I just don't quite fully believe that Java is "faster" than Objective-C. I really don't know why it should matter...

    The really cool thing about Objective-C is that you don't have to compare it's speed with C. You can write actual C code in your application. It looks like you can write your dynamically linked objects in Objective-C (which makes the GUI programming nice at least that's what I've heard) and you can write your bare-metal stuff in C. Java only offers JNI.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  94. Re:Apple's stance by Cyberax · · Score: 1

    I remember several Obejctive-C vs. Java comparisons from several years ago, but I can find only one:

    http://web.archive.org/web/20040805153930/http://homepage.mac.com/spullara/rants/C1464297901/E775622191/index.html - In this benchmark Objective-C is 6.4 times slower than Java. And it's nothing unexpected - try to walk an Objective-C method call in a debugger in assembly language view someday...

    I wrote several applications for Mac OS X and I don't really like Objective-C. It doesn't have a built-in garbage collector (it's possible to use conservative GC, but it's light years behind GC in Sun JVM), Objective-C is SLOW when you try to use it not only for UI, it doesn't have namespaces, and I also don't like its syntax (though it's a personal preference).

    Speed Objective-C is quite OK when you need to write event handlers which are called maybe several times per second. But it's not enough for anything more serious.

  95. Re:Apple's stance by Bill_the_Engineer · · Score: 1

    Objective C _is_ as slow as Python when it does dynamic function calls. That's because they both use dynamic binding.

    Of course, programs in Objective C use plain old C for most of functionality. But once you start using dynamic binding and other goodies - it's the world of SLOW.

    You do realize that 99% of Java is dynamically linked. All methods are created to be virtual (makes since it's OO after all), and uses the "final" keyword to make a class more "directly invokable" (final means no more overriding is possible for that class) by reducing the tree of method addresses to a single table. By eliminating the tree searches for the entry point, you do speed up the invocation speed for that method. What you give up is all the nice OOP paradigm that Java has to offer. What you gain is some modularity by being able to use the same block of code / code space within multiple loops. If code space was not a concern, you could simply inline the method and let the compiler optimize it for you. Both ObjC and Java support inlining.

    Now if I wanted to "game" a benchmark to promote my favorite language, I could make a simple program with all of its classes marked "final." This makes Java look better on the benchmark, but a proficient programmer would have thought that if he was going to give up all the OOP goodness Java had to offer, he would have written it in C. Technically, ObjC programmers could simply not encapsulate their code in a class, thus producing C code...

    Keep in mind that the final trick only works with small code used in benchmarks. Applications that users would want to use would use the SDK and some GUI and that would require dynamic linking...

    One final thought. A lot of Java libraries are not "final", otherwise they wouldn't be nice to work with. On the other hand, ObjC takes advantage of the C library which are directly called.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  96. Javadoc by ttfkam · · Score: 2, Insightful

    Yeah, Javadoc should have a place for that stuff. Oh wait, it does! It even has a style guide for information about your fields, methods, classes, and packages. They even describe how to embed (wonder of wonders) diagrams and other images into your source documentation.

    It's not like Javadoc (or any other documentation tool) can magically create annotated code samples and training tools on its own. Don't blame Javadoc, blame the lazy bums who never bother to actually document their stuff.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
    1. Re:Javadoc by wildBoar · · Score: 1

      Oops, after traipsing through volumes of JavaDoc and never seeing anything more than the very basic I assumed it couldn't do it !

      Guess I should go back and RTFM.

      I still maintain that most JavaDoc I have seen - especially the official stuff - is pants.

  97. Re:Apple's stance by Cyberax · · Score: 1

    Do you realize that the MAIN feature of the HotSpot compiler is dynamic inlining of virtual methods?

    http://en.wikipedia.org/wiki/Java_performance#Adaptive_optimization

    That's why Sun JVM is sometimes 'faster' than C++ - it can inline function calls which can not be inlined by a static compiler. So there's no need to abandon OOP niceties to gain some speed.

  98. Smalltalk? by ttfkam · · Score: 1

    Please cite where Smalltalk is shown to be anywhere near the speed of Java. A quick Google search reveals this language comparison where Smalltalk gets its ass handed to it, and that was written in 2004. Say what you will about Smalltalk's elegance, but speed was never truly its forte.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  99. Re:Apple's stance by Bill_the_Engineer · · Score: 1

    http://web.archive.org/web/20040805153930/http://homepage.mac.com/spullara/rants/C1464297901/E775622191/index.html - In this benchmark Objective-C is 6.4 times slower than Java. And it's nothing unexpected - try to walk an Objective-C method call in a debugger in assembly language view someday...

    Unfortunately, I couldn't get the source code that was used in the Benchmark. I do find his results about string handling dubious especially when he claims Java is actually faster than C. I really would like to see his code. Of course string benchmarks means squat, and I mean that in a good way (smile). If the benchmark was to allocate a string buffer assign it a value, and then change its value by inserting a substring, I could see Java being faster but not because of its op-code execution speed but how Java designers handle strings as immutable objects, cleaning up the dereferenced original values after execution. C, on the other hand, does exactly as it is told. Of course you can't upscale a string benchmark to a system benchmark...

    I wrote several applications for Mac OS X and I don't really like Objective-C. It doesn't have a built-in garbage collector (it's possible to use conservative GC, but it's light years behind GC in Sun JVM), Objective-C is SLOW when you try to use it not only for UI, it doesn't have namespaces, and I also don't like its syntax (though it's a personal preference).

    I also prefer Java, but only because I am more familiar with it than Objective C. It is my understanding that Objective-C 2.0 does have garbage collection. Personally I don't particularly care for garbage collection (I work with resource limited devices most of the time) and do like to be able to clean up my own mess as soon as I want to. I am able to gracefully perform garbage collection with J2ME, but only after experimentally figuring out where to manually invoke garbage collection during "cut-scenes" and sneaking in a garbage collection when the user believes he is actually waiting on the remote server. Admittedly, I use C for 99% of my embedded stuff now, and C++ when there is a need for OOP design.

    Speed Objective-C is quite OK when you need to write event handlers which are called maybe several times per second. But it's not enough for anything more serious.

    I can say the same thing about Java and most any interpreted/p-code out there... Maybe I'm misunderstanding the events that you are trying to handle.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  100. Oh please. by kapowaz · · Score: 1

    I have to laugh at the histrionics coming from some quarters. Apple sell a hardware device which runs its own software, and so they restrict what third-party software can and can't run on that device. Why is this such a bad thing? I don't hear screams of 'no fair' being aimed at Sony, Nintendo and Microsoft for their similar behaviour in the console industry, so why should this be so maligned here? Frankly, I'm glad they've put this restriction in place, as it means we as iPhone users won't be subject to this kind of crap. Java applications have long been the absolute worst where UI is concerned, and Apple wants the iPhone to be considered the pinnacle of the mobile interface, not the sloppy bottom of the barrel that Java ME represents.

  101. Re:Apple's stance by ttfkam · · Score: 1
    1. Adobe owns Flash, not Sun.
       
    2. There are very good reasons why Flash is not on the iPhone.
    --

    - I don't need to go outside, my CRT tan'll do me just fine.
  102. Re:Apple's stance by Bill_the_Engineer · · Score: 1

    Beware of market hype. I also believe that JVM could improve its performance when it is able to profile its execution and make dynamic adjustments. The longer the thread is in operation, the greater the chance that the execution speed of a section of code at a given interval can be improved. The performance gains are more noticeable when the baseline performance of the interpreter is poor. What I find hard to believe is that these optimizations make Java faster than other languages.

    The problem with marketing literature is that it makes you believe it is a panacea for what ails Java. Java has a legacy of being SLOW. JIT and adaptive optimization came about to improve Java's speed. I do believe that Java's adaptive optimization has the potential to surpass the performance of unoptimized code written in some languages. Unfortunately for Java, people do tend to write code optimized for the expected usage patterns (profiling is great isn't it). I don't see any appreciable gains (if at all) being made by adaptive optimizations when compared to properly optimized code written in other compiled languages.

    The problem being that a program that starts fast and stays fast will outperform a program that started slow and eventually got up to speed. Real world usage has proven that as long as the application starts fast and remains responsive the end-user will not notice any minor difference in speed offered by other languages. This is why Python, Perl, and others are still around. The problem Java has is that it must load a huge JVM and it needs to be responsive afterwards. Java has a disadvantage when it comes to starting up, and it does OK in operation. I find Eclipse and Netbeans quite usable, but I do find Xcode, VI, Visual Studio much more responsive and "faster".

    The cool thing about using JVM and its adaptive optimizations is that if you have no clues on how your application will be used by the end user (or guessed wrong), it will make the adjustments for you and make the performance the near-best possible in Java for the end user.

    The main advantage that Java has is that it can pretty much run on any hardware platform without modification and without the end-user compiling source code. To my knowledge Java is the fastest environment that can make that claim. This is why I use Java for all my cross-platform needs, yet stick to C/C++ for my embedded needs. Yes C++, it works great when used properly and at the right amount.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  103. Re:Apple's stance by Bill_the_Engineer · · Score: 1

    I don't know why the parent was modded down, well I might ;).

    He provided a shootout link that compared Java6 directly with Objective-C. Objective-C was faster than Java on 7 of the 10 benchmarks (the smallest margin was 1.5 and the largest being 5.7). Objective-C started 28 times faster than Java6 and in all benchmarks Object-C consumed significantly less memory than Java.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  104. That's just not true by snowwrestler · · Score: 1

    The jailbreak apps are broken by updates because they use security exploits to install. Apple closes those exploits (as they should) to improve the security of their product.

    When it comes to officially supported development environments, Apple is no more likely than any other platform company to shoot themselves in the foot by choking off existing apps.

    In fact, Apple has a recent history of legacy platform support that is pretty good. The switch to OS X included the Classic environment to support older software for a time. Cocoa and Carbon had equal status as development environments for years. Rosetta transparently handled PowerPC code when they switched to Intel.

    An iPhone JVM implemented by Sun through the official SDK can't escape Apple's notice. If it's allowed to released, I see no reason to believe that it would be choked out later.

    --
    Build a man a fire, he's warm for one night. Set him on fire, and he's warm for the rest of his life.
  105. Re:Apple's stance by drix · · Score: 1

    I'm going to go out on a limb and say MIT uses Scheme, or some variant of Common LISP. My intro CS courses at Berkeley did the same. It was a real eye opener to build OOP and metaprogramming from scratch using the really quite simple constructs afforded to you in Scheme. Later on we used Java for data structures, but after a semester spent marveling at SICP and the elegance & power of functional programming, that was a painful experience indeed.

    --

    I think there is a world market for maybe five personal web logs.
  106. Perl is already running ... by Anonymous Coward · · Score: 0
  107. Re:Apple's stance by Zebra_X · · Score: 1

    The only part of the Java API that is worse than the Apple SDK is the GUI part.

    The "only" thing... lol. Java does not belong on the iPhone - it brings almost nothing to the table for the iPhone other than being able to run a bunch of ugly ass quirky apps on a superior piece of hardware all in the name of "cross platform". For all of sun's engineering prowess (which is not unsubstantial) they do not get what "end user experience" means. If they did, Java would have advanced user interface options - I mean, it's been around for over 15 years...

  108. Re:Apple's stance by larry+bagina · · Score: 1

    the iPhone DSK uses llvm gcc to do ARM compilation. LLVM (low level virtual machine) does similar optimizations when converting to the target executable. With the advantage that it's being done before hand on a faster computer with a lot more memory, so it can be more aggressive.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  109. Re:Apple's stance by Cyberax · · Score: 1

    LLVM currently doesn't support _dynamic_ recompilation in runtime with speculative inlining. iPhone just has the static image of compiled binary, with dynamic calls.

  110. probably won't use java by SethJohnson · · Score: 1



    But you don't need Java to do that. A native iPhone app can send TCP/IP commands to MythTV.

    Actually, I'd probably code the app in Objective C. The part of your post that gave me the inspiration was your idea of different pieces of furniture (appliances) communicating with one another. I'd love to have a nice touch-LCD remote for my MythTV box, and my phone is always with me when I'm watching TV, so making an iPhone tv remote is a no-brainer. I like the idea of having the wifi-TCP communication, because then it'd be a remote that wouldn't depend on IR hitting the MythTV box. Much like a radio wave remote.

    Additionally, it could be used for remote programming of the MythTV recorder.

    seth

    1. Re:probably won't use java by Doc+Ruby · · Score: 1

      I guess it's not what you want to do, but what would be cool would be a Java applet served from MythTV that is the UI to that MythTV. Then all these devices, from phones (including iPhone, once Sun is done) to Blu-Ray players, to cableboxes (across N America and Europe) could all control the MythTV box with the same UI. That remote could travel across the network, for use around the home, or across the Net (like if you want to turn on your MythTV recording while you're away). Yes, you could do that with HTML/CGI, but the Java app could run in those devices that don't necessarily even render HTML or do HTTP. And the UI could be more interactive, and include actual MythTV logic running in the UI.

      That was my idea, which I'd like to see someone do, even if it's not me :).

      --

      --
      make install -not war

  111. Re:Apple's stance by RockoTDF · · Score: 1

    No, the pixel counter was actually a project for image analysis in an animal behavior lab I work in until we got a grant for more funds. And it did more than just count pixels.

    And since when was java a long lasting language? I look stuff up in the API and it seems like a good fraction of the stuff is deprecated.

    For the record, I am not a CS major, so all the comments trying to provide insight into my programming skills (or apparent lack thereof :-P ) aren't relevant to the discussion.

    --
    There is more to science than physics!

    www.iomalfunction.blogspot.com
  112. Re:Apple's stance by larry+bagina · · Score: 1

    the iPhone SDK uses llvm gcc. LLVM does optimization (often better than hotspot since there are more CPU cycles and memory than on the iPhone) when it is converted to ARM binary code

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  113. JavaME MIDP by krischik · · Score: 1

    The MIDP profile already supports touch screens - after all Sony Ericsson has touch screen phones for years now.

    Martin

  114. Re: "foot dragging" by Jeremy_Bee · · Score: 1

    "... Apple's continual foot-dragging over opening it up is getting increasingly old."

    What's getting really old is this kind of hyperbolic comment. I am so tired of hearing about how Apple "wants to keep the iPhone closed" (when they have never actually said anything of the sort), and that it's "taking them forever" (or words to that effect), to open it up.

    Fact 1 - they never explicitly ever said it would be closed
    Fact 2 - they opened it up to web apps quite quickly
    Fact 3 - it's LESS THAN A YEAR since the device has been in existence.

    Any statement of the form described above is pure hyperbole plain and simple.
    Can't we just stick to the facts and leave the emotions at home?

  115. why java? by Russell2566 · · Score: 0

    Am I right in thinking that no one would care about an iPhone JVM port (including Sun) if Apple wasn't being an overprotective nazi mom in reguards to what kind of application can be installed on the phone that I bought? I have "unlimited" data access as long as it's the right kind of data... Fantastic!!! I for one have not been drinkning the Apple Coolaid...

  116. Mono is already there by rocket22 · · Score: 1

    While the Java folks are "going to port it" the Mono project is already running C# applications on the iPhone. Check www.go-mono.org/monologue