Slashdot Mirror


Sun and 3Com agree to embed Java into Palm Pilot

killbill writes "3Com and Sun have agreed to put a Sun Java virtual machine inside the Palm Pilot. Attenders of the JavaOne Developer Conference can purchase a Palm V with the Java VM already installed as of today, and I assume it will be available to the general public as soon as you can tap your "beam" button. "

99 comments

  1. Let's predict the responses by Anonymous Coward · · Score: 3


    Some language bigot will say "Java Sucks"

    Some other bigot will say "Why not Linux on
    the Palm V instead of Java, with GTK apps
    ported to the Palm"

    Someone will suggest running a BeoWulf cluster
    of these babies, as if it mattered.

    Obligatory bashing of MS and WinCE devices


    Did I get all of them? Oh yeah, "First Comment",
    or is that out of Fashion?

    1. Re:Let's predict the responses by Anonymous Coward · · Score: 0

      You have got them all, but one: those who will flame your post *sigh*

    2. Re:Let's predict the responses by Chexum · · Score: 2
      You missed the "but Java is not open source!" crowd; among them me :) Stereotypical, I know, but it's really irking some of us. Of course Sun just want to retain full control of Java, but IMHO, strict control is no good for the public/developers/users. The main advantage of Linux is that there is no real control kicking it into the "right" directions; by giving up a bit control on Java, they could get the impulse of the whole river, instead of a few feet.

      Java, for many people is still looking like being forced down their throat, and this handheld Java invasion (while obviously better than the WinCE army) is still a Microsofty solution: "get the people see it everywhere, buy the developers, make contracts, whatever, and then we can reap". The good solution from the open-source advocate's viewpoint would be: "spread it, and let them pick the good parts, improve it, and it will be ubiquitious, and really cool technology". Obviously, Sun's exploit-the-community license (Alan's words, AFAIR) is going too slow for their Marketing dept. They just don't seem to want to give (wrt. Java, I know about NFS, RPC), that will always cut some shades on them; it just doesn't help that you are welcome to work on their stuff... well...

      --
      "Ten years from now, they could do it in a few seconds." -- The Racketeer of the Hellfire Club, 1993, Phrack 42
    3. Re:Let's predict the responses by Anonymous Coward · · Score: 2


      The problem with the open-source VM approach is that it only works (achieves write-once run-everywhere) if *EVERYONE* runs the open-source
      VM.

      The first time the VM gets "forked" and improved, all of a sudden, developers start taking advantage of these new hacked in features,
      and the app loses its portability between VMs.
      At some point, just like KDE and GNOME, one
      of the VM's will become the defacto "standard"
      and we have a fracturing of the standard.

      The only way Java portability truly works is if there is a strict VM spec and everyone is forced to adhere to it.


      I personally think Sun has done a very good job. The quality of their APIs far surpasses anything the OSS community has come up with. Java2D, Java Advanced Imaging, Graphic Layers Framework, blow away Imlib/ImageMagick/PBM. Swing is much superior to GTK's API, except in performance.

      Plus, I have the source code to the JDK, and
      the class libraries (I just can't redistribute
      the source), which 9 times out of 10, I don't
      need to. I mostly use the source to fix bugs
      in my own code, or find bugs in the documentation.

    4. Re:Let's predict the responses by TummyX · · Score: 1

      Um, why do you think Plam and Plam/Java is better than WinCE?

      WinCE is a general purpose embedded OS. Supports color, sound, PCMCIA and is also not controlled by a hardware manufacturer, so there are many manufacturers.

      Personally, I think having a PalmPC that can play colour MPEGS is way cooler than a Palm (I own a Plam tho cause I bought it a couple of years ago).
      Java for CE will come out soon (and since CE has a decent GUI engine, it'll support Swing and AWT properly).
      The new Plams have the advantage of being smaller tho.

    5. Re:Let's predict the responses by Anonymous Coward · · Score: 0

      WinCE sucks the batteries and it is just too big.

      Not to mention that the start menu just doesn't work on the small screen

    6. Re:Let's predict the responses by petchema · · Score: 1

      ...As if Sun control over Java protected it from forking...

  2. hmmm... by teeheehee · · Score: 1

    woo! not too much longer and we'll be able to check how our jvm-run dishwasher is doing while looking at intense web pages on our palm... wow!

    thbbbbbbt!

    :-)

    *doot* *doot* :::::> beam me up!

    --
    "We are not always what we seem, and hardly ever what we dream."
    Schmendrick the Magician
  3. In unrelated news... by gavinhall · · Score: 1

    Posted by FascDot Killed My Previous Use:

    3Com announces that the "PalmPilot" will henceforth be known as the "HeavyArmfulPilot".
    Seriously, Pilot apps already have to be tiny, why add the dubious benefits of a large, slow Java VM? It seems unlikely that apps will port over all that well anyway, considering the completely different UI.
    --
    "Please remember that how you say something is often more important than what you say." - Rob Malda

    1. Re:In unrelated news... by Anonymous Coward · · Score: 0

      Have you ever programmed in C? Have you ever programmed in Java? Have you ever tried to program a network client in C? How about Java? Networking the PalmPilot is alone the best reason for Java on the Palm. I agree that C is faster, but as for ease, gimme Java, every time.

    2. Re:In unrelated news... by Anonymous Coward · · Score: 1


      Maybe because you don't know what you're talking about? Because Sun has already done it with the KVM (runs in 64kb of RAM), and WabaSoft has been shipping a Java VM that runs on the PalmOS and WinCE for a long time?

      It's amazing to me how "knee-jerk" Slashdot users are. There's nothing in the Java language or VM spec that demands a large memory footprint.

      Sun themselves recently crunched the JDK1.2 runtime by 50%. HP's Chai claims 50-90% compression. Also, the VM itself can be made to fit in as little as 32kb of ram.

      You realize of course that the whole regular VM doesn't have to be put into the Palm because of the unique aspects of the device. That is, you install applications onto the device from your desktop, so before placing the Java app into the Palm, it can compress it, JIT it, byte-code verify it, and load only the methods/classes needed across the HotSync interface into the palm.

      Therefore, most of the functionality is offloaded onto the desktop machine.

      The same goes from HTML browsers, where you can offload parsing, and even style-sheet application to the host, and then simply store the display objects (compressed) on the Palm.

      For a site with geeks, you people sure do lack imagination and technical problem solving skillz.

    3. Re:In unrelated news... by Mad+Browser · · Score: 1

      Did you read the press release? It's part of the Personal Java implementation. Not a large, slow JavaVM.

      --
      RateVegas.com - Vegas Reviews
    4. Re:In unrelated news... by gavinhall · · Score: 1

      Posted by FascDot Killed My Previous Use:

      "You realize of course that the whole regular VM doesn't have to be put into the Palm because of the unique aspects of the device."

      If the full VM isn't implemented, I can't copy my apps from OS A to PalmOS and have them just run--thus defeating the purpose of using Java in the first place.

      OTOH, many people tout Java's easier networking code as a reason to use it. That's as may be for a normal machine, but even 64KB sounds like a pretty big networking abstraction layer on a 2MB device.


      --
      "Please remember that how you say something is often more important than what you say." - Rob Malda

    5. Re:In unrelated news... by Anonymous Coward · · Score: 0


      Fastdoc, the purpose of having a java VM on your palm pilot is not to be able to port your existing applications. At least I don't think so.

      I think it is rather meant at developping new apps. And as someone said, you will only need a subset of the jdk.

    6. Re:In unrelated news... by Anonymous Coward · · Score: 1

      Personal Java is totally horrible.

      1. It hasn't shipped on any devices (yet)
      2. It's not particularly memory-efficient
      3. The standard has too many "optional" classes
      4. Incomplete implementation of AWT (missing things like ScrollPane. "Who would ever want to scroll on a small device?")
      5. Certain classes have the same name but different methods - there isn't anyone way to distinguish at runtime between the pJava and normal JDK versions of the classes without doing nasty reflection stuff ...
      6. pJava won't get Swing or a subset thereof any time soon - you get to develop your apps in AWT hell. Now developers on small devices can experience the schizophrenic problem with the AWT's native peer model first hand!
      7. eJava (for embedded devices) is much better,
      has shipped on a device (from Tektronix, I believe) and includes a complete AWT implementation.

      So, let's not assume that pJava is good just
      because Sun claims it is good. I think it's awesome that the palm pilot is going to get a Java VM - I just wish it weren't pJava.

    7. Re:In unrelated news... by Anonymous Coward · · Score: 1


      You can't just copy an application from OS A to a Palm.

      Do you even have a Palm? The only way to get an application onto a Palm device is to HotSync the palm to a desktop machine and use an install tool to transfer the app.


      It works like this:

      OS A ----> OS B ----> Install Tool --> RS232 --> Palm OS

      In the JavaVM scenario, it would work like this:

      OS A ----> OS B ----> Java Aware Install Tool ---> RS232 -> Palm OS

      The Java Aware Install Tool would byte-code verify the app, JIT compile the Java app, package only the methods needed at runtime, compress it,
      and then transfer only the needed code to the PalmOS.

      There is a lot of extra functionality that a normal VM requires, that a symbiotic Palm/Desktop VM doens't need.

      Once the desktop has verified the code, compiled the bytecode to native Dragonball assembly, then the install tool can place it on the Palm device.

      All the palm device VM needs to have is native methods to interface with the GUI, a garbage collector, and a ClassLoader (if dynamic class loading is required)


      Got it? The Palm VM will still be 100% compliant with the Personal Java/Embedded Java/MicroJava spec, except that it offloads some of the functionality of the VM required at install time, to the desktop.

      Sheesh

    8. Re:In unrelated news... by TWR · · Score: 1
      If the full VM isn't implemented, I can't copy my apps from OS A to PalmOS and have them just run--thus defeating the purpose of using Java in the first place.

      Read a few of the press releases from Sun. Sun is defining three levels of Java2: Micro, Standard, and Enterprise. The Palm JVM is in the Micro class. You can take any app for Micro and run it on Standard or Enterprise, and any app for Standard will run on Enterprise. Going down the hierarchy may not work.

      IMHO, this _rocks_. I'll be getting that IIIx any day now...

      -jon

      --

      Remember Amalek.

  4. jvm + useful apps in 2-4 megs? by xeno · · Score: 1

    Does this mean that we'll get Palm devices with more OEM memory? I think it's a great idea to make the pilot able to run portable apps & interoperate with more of the computing world. But when the rubber hits the road, 2 megs is a piddly little amount of memory even for a system designed to run fairly compact & elegant java apps.

    Show me a PalmV with 16 or 32mb out of the box, and then I'll be convinced.

    --
    I think not...(*poof*)
    1. Re:jvm + useful apps in 2-4 megs? by mattdm · · Score: 1
      Well, the IIIx has four megs.

      Java certainly changes the picture -- I've got to stretch to use more than two megs with normal palm os apps.

      --

    2. Re:jvm + useful apps in 2-4 megs? by Anonymous Coward · · Score: 0


      Many Palm apps are already written in Java using
      the Jump compiler which generates native Dragonball code.

      There are already about 4 minature VMs out there that run in 64kb of ram.

    3. Re:jvm + useful apps in 2-4 megs? by Anonymous Coward · · Score: 0

      What is the number one reason people choose palms over wince's ?
      They run a month on the same set of batteries.
      Stick 32 mb in them, and you'll not only have fragmentation problems, but your batteries will drain faster than the sewage system, leaving no reason for not choosing a wince machine, since a lot of apps exist for both.

  5. sheesh.. by drwiii · · Score: 1
    And I thought the new wireless features would be the most brain-dead marketing decision..

    I thought the whole idea of palm apps was to stay as low profile as possible. How can adding a VM and other assorted unneeded tidbits to an environment that's already starved for memory help anything?

    1. Re:sheesh.. by Anonymous Coward · · Score: 1


      Because VM's are not a-priori bulky. Only
      specific implementations are depending on
      the time-space tradeoff used.

      Apple's Newton also used a VM, only it was
      called NewtonScript which was a derivative of
      Sun's Self language (which had a nice optimizing VM on which Java's HotSpot is based)


      If there is ever going to be a vibrant market for Palm devices, consumers can not be put into the situation of having to know which CPU their particular device has (DragonBall? SH-4? MIPS? etc) and having to download the correct utility.

      Some sort of binary-neutral format is needed no matter what. Otherwise, as soon as a new Palm device calms out with a new embedded CPU, 10,000 palm apps have to be recompiled.

  6. White Paper on The New JVM by mr.Peabody · · Score: 4

    Sun has a white paper describing the implementation of the JVM for the Palm system,
    codenamed "Spotless" It goes into detail about the design of the system. At the end it include a short description of some stuff they've implemented in Spotless.

    http://www.sunlabs.com/technical-reports/1999/ab stract-73.html

    Mr. Peabody

    1. Re:White Paper on The New JVM by Ryan+J.+Evans · · Score: 1

      Are you sure that it's in fact the same JVM that they were talking about in the press release? There's no mention of it being the project formerly known as spotless. Furthermore they mention a project known as KJava, which also seems to be unreleated to spotless. I played with spotless for a while, and it's kind of neat, but I really don't think it's going to be the Java2ME unless there have been _alot_ of changes in the last month or so.

      Just my $0.02

  7. The forking myth by Chexum · · Score: 1
    Yes, free software can be forked; but that's *good*. It won't be forked like crapola just for the forking; only for *very* good reasons, maybe for different *targets*, and it either won't matter for the users, or it will be unified again. A few examples: the Linux ports (m68k/alpha/mips/etc), and the egcs/gcc split. Yes, both is a real fork, but the pressure is there to unify the forces. When there isn't a big bad entity out there preventing the forks, the fork will happen, but there will be also a deeper pressure to fix the situation, and the end result will be better. This pressure is really more urging than the official enforcement to comply to standards.

    Sure, anyone could "fix" the byte codes all they want, but that would be a worthless effort; I wouldn't use an incompatible JVM either. But the development must be kept open, central control is not a good solution. What do you have now? We can't fork the code, but anyone can license, and build all their enhancements, and market it. Tons of different JVM's, different optimizations, all (most) in binary modules. There are different "brands" of java, different levels of implementations, different native libraries, etc. If Java were open source, you still wouldn't download JoeBlowJava v3.81, but the real enhancements would be better, and integrated faster into the common code, while causing less work for Sun to do the dirty work to support N+1 architectures/features. In the end, much *less* fragmentation than now.

    The source is really my pet peeve (although not really relevant to Java now, but there was the difficulty to cooperate with other developers, and proprietary license agreements "poison" even more than the GPL, IMHO) without source, you are effectively locked into the vendors' imagination of the market; you can't port it to the newest toy you built, and over time, the PIII-500 will also be an overheated, noisy, slow, and overall undesirable platform...

    --
    "Ten years from now, they could do it in a few seconds." -- The Racketeer of the Hellfire Club, 1993, Phrack 42
    1. Re:The forking myth by Anonymous Coward · · Score: 0


      Well, you can point to gcc/egcs, but I'll point
      to the fact that whenever I download an RPM
      for Linux, it ends up needing yet ANOTHER version of a library I already have because some developer needed some function, and decided to break the API abstraction layer by adding it in as a dependency for his app.

      Let's say I wrote a web browser. And my gif encoder needs to get access to some data that libgif version 2 won't give me.

      Fine, I have the source to libgif, so I hack it in. Then I distribute the patch back to the maintainer of libgif, and it gets incorporated.


      Now all of I sudden, I notice that everytime I download some app, one app demands libgif 1.0, one demands 1.1, another demands 2.0, and so on.
      And I'm sick of it.


      Open-Source API's are not well thought out. They are very opportunistic with developers adding functions willy-nilly as the need them.


      Give the poor portability of most GPL'ed Linux software, like depending on bleeding edge versions of glibc which aren't ported to other OS's like Solaris, I highly doubt a similar occurance won't happen with Java.


      IMHO, Open-Source is nice for write-once compile-everywhere, but it is too prone to featuritis and patchitis. It is 9 times out of 10, written in C, doesn't have a high level of abstraction or API contract, and people don't feel bad at *ALL* about going into other libraries and changing private functions or appending new functions to the interface.

    2. Re:The forking myth by Fizgig · · Score: 3

      I agree with most of the latter part of what you said, but you have to admit that forking something like JavaVMs would be a little more problematic than forking something like a library, a compiler, or, say, Emacs. Those are used by one person. The dependency begins and ends with the user, but that isn't the case with Java. If the JavaVM is just a little bit broken, it's no good at all. As long as there were decent standards, it would be ok, but as we see with Web browsers, it's tempting to avoid standards. It's more akin to forking C than gcc. If I fork gcc to change C in an incompatible way (no matter how cool it is), we've got problems. If only there were ANSI Java!

  8. Java VMs already available by Anonymous Coward · · Score: 0

    Sun already has a JVM for the pilot, "Spotless" is a subset of Java. Also another company has a JVM for the pilot and other handhelds called "Waba"

    Spotless can be found at http://www.sunlabs.com/research/spotless/index.htm l

    Waba is at http://www.wabasoft.com

  9. Why this is a good move by Tool-Man · · Score: 1

    Until recently, 3Com had been positioning the Palm Computing Platform as a competitor to both Wince and Personal Java. Naturally we should wonder about the (semi-)reversal of their position. I have a few thoughts:

    1) it's a Pepsi/Coke world. That Wince is here to stay is a given. It's likely that the same is true for Personal Java. Not much room left for a "platform" that only works on one vendor's device.

    2) adding a Java VM (potentially) increases the applications available for the Palm. You gain all those network effects by becoming another node. Of course, this requires the acceptance of things like Java set-top boxes, Embedded Java, and Jini. If these technologies do pan out, the value of owning any device capable of running those apps goes up. Bingo! Instantly (not quite), it's even cooler to own a Pilot.

    3) perhaps this first iteration is geared mostly towards geeks. The unveiling at Java One would seem to indicate this. Besides, if I were a normal consumer, the relatively small number of Personal Java applications doesn't justify the resource consumption of the VM. That's sort of what letting us geeks have it is for. There's just no cool PDA that has people writing apps in Personal Java the way they do for the Palm and for Wince. That's what Spotless is supposed to provide.

    Just my thoughts. Mostly this is a good move because I've holding out from buying a PDA for over a year until one was available with a Java VM. Now if I only new the pricetag...

    1. Re:Why this is a good move by ciurana · · Score: 1

      Quote:
      if I were a normal consumer, the relatively small number of Personal Java applications doesn't justify the resource consumption of the VM.

      I was pleasantly surprised at the small footprint that KJVM has in comparison with other JVM's we're evaluating from other vendors (i.e. Jeode under Wince). Check out my posting below under subject I have a Palm V with KJava! for a somewhat detailed list of things I found in the pre-loaded Palm V available at JavaOne.

      Cheers!

      Eugene
      --
      http://eugeneciurana.com | http://ciurana.eu
  10. Unrelated Palm Pilot Question by Anonymous Coward · · Score: 0

    I know this isn't really related to Java, but...

    a while ago I stopped using my Palm Pilot 1000 because it developed some sort of power problem whereby new batteries would be completely depleted in less than a day even with the power off. I had pretty much given up on it until a few weeks ago when I heard at a dinner that this guy had had the same problem, but he had bought a new motherboard (?) from some 3rd party manufacturer and it brought it back to life with actually greater power efficiency than ever.

    I can't for the life of me remember what the company was and searching the web I didn't find what he was talking about either. So if any of you know how I can give my old 1000 a new lease on life (within the same case) I'd be very very happy! You can either post your reply here or email me at ahoohooahoo@yahoo.com.

    Thanks!
    Josh Jones

    1. Re:Unrelated Palm Pilot Question by Anonymous Coward · · Score: 1

      I had this problem with my Palm III. I took it apart and found the motherboard was covered with dust that I think was shorting the system.
      I cleaned of the dust with one of those "cans 'o air" and it worked great after that...

  11. I have a Palm V with KJava! by ciurana · · Score: 5

    I was invited to Sun's ConsumerOne event yesterday as a Java software provider. At the end of the event, all the participants were given a Palm V with kJava and the JavaOne event schedule pre-loaded.

    Our company develops industrial-strength Java code, and we've been working with all kinds of JVMs, from embedded devices to HP/UX passing through Linux, Solaris, Mac, and (yuk!) all Winblows flavours including CE. We're currently evaluating non-desktop JVMs and we'll probably focus on two: KJava, the one in the Palm V, and Jeode from Insignia.

    So far, after having played with the Palm V for only 3 hours, I can say this: kJava rocks! Here are the specifications reported by the Palm V info:

    • KJava VM 114 KB
    • Java One applet: 24 KB
    • Pong 8KB
    • Sun 3D demo 10KB
    • Other games (7 more): 85KB

    Preloaded Java classes:

    • java.lang.* (seems to include only those classes currently in use from the lang package; if a program needs additional classes [i.e. java.lang.Boolean] they will be loaded on demand)
    • java.io.*
    • java.net.*
    • com.sun.kjava.Spotlet
    • com.sun.kjava.Graphics
    • com.sun.kjava.Bitmap
    • com.sun.kjava.Database
    • com.sun.kjava.Button
    • com.sun.kjava.Trigonometric
    • com.sun.kjava.ValueSelector
    • com.sun.kjava.Caret
    • com.sun.kjava.Caret
    • com.sun.kjava.CheckBox
    • com.sun.kjava.Dialog
    • com.sun.kjava.DialogOwner
    • com.sun.kjava.HelpDisplay
    • com.sun.kjava.IntVector
    • com.sun.kjava.List
    • com.sun.kjava.RadioButton
    • com.sun.kjava.RadioGroup
    • com.sun.kjava.ScrollOwner
    • com.sun.kjava.ScrollTextBox
    • com.sun.kjava.Slider
    • com.sun.kjava.TextField
    • com.sun.kjava.TextBox
    • com.sun.kjava.VerticalScrollBar

    Each Java class can be loaded or removed on demand, and its memory usage can be checked on a per-class basis. There seems to be no performance difference between the Java applications and the other Pilot goodies; in fact, some of the games can be played faster than the stylus or the human eyes can catch with them.

    If anyone here is interested, I'll write a review of KJava in the Palm V after we run our compatibility and performance tests on it. A large number of classes in our products are written in Java assembler, so this will be a great chance to check if Sun/3Com are keeping the JVM specification honest.

    Cheers!

    Eugene
    --
    http://eugeneciurana.com | http://ciurana.eu
    1. Re:I have a Palm V with KJava! by sgml4kids · · Score: 0

      Or better yet... tell us how to get invited to those ConsumerOne events!

    2. Re:I have a Palm V with KJava! by jshare · · Score: 0

      I can't believe this is sitting at a score of 1. Someone moderate this up. It actually has content, rather than opinion.

    3. Re:I have a Palm V with KJava! by ciurana · · Score: 1

      Quote:
      "Or better yet... tell us how to get invited to those ConsumerOne events!"


      Eugene's find out about cool events algorithm


      while (eugene.isAlive()) {
      if (currentJob.sucks())
      company.shoveUpAss(currentJob);

      company = new StartUp(eugene, friends, venture);

      company.setTechnologies(Computing.Java, Computing.Linux, Computing.Solaris);

      while (company.isMakingMoney()) {
      company.setCustomersFrom(World.getInterestingProje cts());
      while (company.hasCustomer()) {
      customer = company.getCustomer();
      switch (customer.getType()) {
      case E_COMMERCE :
      case FINANCE :
      case MEDIA : Sun.tell(customer);
      company.setResources(Sun.getResources());
      break;
      }
      }
      }
      }

      (sorry about the indents; I can't figure out how to add them and I must get back to work)

      Great performance optimizations are attained if the customers are running Windows and Java is chosen instead of other technologies. More optimizations come from customer.isInfoApplianceMfgr() == true.

      We implemented a similar loop for Linux. That loop, though, is event triggered: We tend to listen more than we tend to proactively look for. Tonite we get to meet Linus at the BALUG gathering. Cool! Bill Joy Monday, Linus on Tuesday... We have yet to implement the Apple, Oracle, and Red Hat loops and the and other event handlers (it would be cool if we kept up with Steve Jobs on Wed., Larry on Thu...) but the Microsoft dump keeps our cron and Java daemon threads very busy.

      I hope the algorithm helps ::wink::


      Cheers!


      Eugene

      --
      http://eugeneciurana.com | http://ciurana.eu
  12. C64 by TummyX · · Score: 0

    I wonder if someone will write a JVM for the C64 ;)

    On a more serious note, do people prefer follow Java style and put { brackets at the end of the line, rather than on a new line?

    eg.

    public void blah() {
    }

    or

    public void blah()
    {
    }

    I must admit, I'm even using the Java style in C...saves a line of code - which means you can see more ;)

    1. Re:C64 by umoto · · Score: 1

      Hehe... every time I hear of a new language, I think of whether a C64 could run it. I bet Java on a C64 could be done indeed. It might even be considered a worthy endeavor because it would require a new level of optimization, and the techniques discovered could be ported back to modern platforms.

      I prefer opening brackets on the same line as in your first example. Yep, it saves precious screen space. Wouldn't it be wonderful to have a mural for a screen, with no loss of resolution? :-)

      Back on topic--Java on the Pilots will be marvellous IMHO. Speed is definitely not a critical factor. What's important is that developers could do more stuff and do it a lot more easily... familiar tools... and with no cost for a workstation development environment!

    2. Re:C64 by geoGIF · · Score: 2

      Don't laugh. A little over a month ago, I started researching, in earnest, how feasible it would be to create a JVM for the C64 (for the fun of it). I quickly decided that the VM itself would be no problem (almost a natural fit) on a 6502. Written in 6502 assembly language, I could probably hack out a rudimentary VM in a couple of weeks. The problem was the class library. Just to print "Hello World!" would require several hundred kilobytes of classes to be loaded. I needed a stripped down, simplified class library, but I didn't feel like trying to rewrite the Java class library myself, so I put it on the back burner.
      Enter Spotless. I just finished looking at their stripped down java.lang.Object, java.land.String, and java.lang.StringBuffer. Perfect. Just a few K.

      Java on the C64, here we come.

  13. Let's Focus, People... by MidKnight · · Score: 3

    Those of you who are thinking Java on the PalmOS is a silly idea don't really get the whole thrust of what Java is going to do. Like a few people here have already posted, writing Java networking code is simple, but that's not the main reason to get Java on the Palm. Other people have complained that the KVM won't let them port applications to the PalmPilot -- they're completely missing the point.

    The reason to get Java onto the PalmOS is that 3Com and Sun are looking to push the "Network Appliances" theme. They're not looking to port existing applications onto a PalmPilot (do you really want to run a spreadsheet on that thing?), they're looking to make it networked out the wahzoo. Java (and Jini) provide easy ways to get machines sharing code and objects, which makes writing client/server applications a no-brainer.

    That's the focus of this whole thing.

    --Mid

  14. Java does suck by DonkPunch · · Score: 2

    Java is interpreted and slow.
    The virtual machine is always bulky and slow.
    Java can't access any sort of native methods.
    Write-once-run-anywhere is a complete lie.
    Besides, Microsoft killed it anyway.

    Of course, I've never written a single thing in Java. Oh, did I mention that I believe every piece of Java misinformation that I read?

    /* Yes, this was sarcasm */

    --

    Save the whales. Feed the hungry. Free the mallocs.
  15. java style, xemacs way by Anonymous Coward · · Score: 0

    well I code

    public void methodA() {

    }

    for the simple reason that xemacs does parenthesis matching and when my methods grow big (and i work solely on my linux laptop 1024x768) and I select the last parentheses, I have a nice line that says at the bottom "matches public void methodA() {"
    whereas if I did the second way it would say
    "matches {"
    which is not very useful as you can tell;-)

    1. Re:java style, xemacs way by toriver · · Score: 1

      I seem to remember that on NTEmacs (Gnu Emacs 20.3.1 here), the Java mode shows
      "matches public void methodA()^J{" in such a case...

  16. where is java.rmi.*; by Anonymous Coward · · Score: 0

    where is it? pretty useless without it IMHO
    marc

    1. Re:where is java.rmi.*; by toriver · · Score: 1

      Um... why is it useless without RMI? What would you use it for on a Palm?

  17. Hear hear! by Anonymous Coward · · Score: 0

    but java.rmi is missing

  18. Language biggot says "java rocks" by Anonymous Coward · · Score: 0

    but that sounds silly

    1. Re:Language biggot says "java rocks" by ciurana · · Score: 1

      I was actually talking about the kJava VM, not about the language. The language is far superior to C++ but it doesn't come close to Smalltalk yet. The Java language is still a bastardized OOP language, and it shows.

      That's why 30% of our production code is written in Java assembler. No stinkin' needless initializations in constructors, no static initializers if you know what you're doing, and the ability to defeat most attempts at decompilation by using instructions (i.e. jsr) not implemented by the Java compilers.

      Based on very... slow... Java... VMs... I've seen... and on the performance I get from other non-Java Palm Pilot apps, kJava VM rocks!

      Cheers!

      Eugene

      --
      http://eugeneciurana.com | http://ciurana.eu
    2. Re:Language biggot says "java rocks" by Anonymous Coward · · Score: 0

      Having just written a Java-Class-File to Jasmin disassembler, I don't know that the tricks that you mention prevent others from looking at the underlying code at some level (at least in assembler form). In the end, the instructions must be recognizable by the JVM so the file has to be fairly standard.

      The technique you mentioned, though, will probably do a good job, though, of tripping up the programs like Mocha that try to recreate the Java source.

    3. Re:Language biggot says "java rocks" by ciurana · · Score: 1

      You're correct. We figured that if someone took the trouble of learning enough Java processor op codes and/or microcode they are probably spending as much time or longer figuring out what we did than if they just develop the thing themselves.

      E

      --
      http://eugeneciurana.com | http://ciurana.eu
  19. Re:KJava!- where do I get KJava anyway? by ryand · · Score: 1

    I couldn't find it anywhere! I got Spotless, but I couldn't find KJava for the Palm. Anyone know where I can get it?
    I just gotta try it out!

  20. The one true way by gaj · · Score: 1

    Please get thee to a bookstore or library and, as penance for uttering such heresy, read the words and sacred source in The White Book (aka K&R, aka The C Programming Language) scribed by the great prophets Kernagan and Richie.

    (Translation: This has been the prevalent C indent style since long before Java was teenie little beenie. That said, bravo for using good style! I'm proud of you, son.)


    --
    "First they ignore you.
    Then they laugh at you.
    Then they fight you.

  21. Why yes, I do want a spread sheet for the pilot by Anonymous Coward · · Score: 0

    There already is a pretty good spreadsheet application for the pilot, TinySheets, but it's not as flexible, usable or as powerful as the pocket excel that comes with Windows CE devices.

    I use spreadsheets for nearly everything these days. It would be great to have a really good spreadsheet application for my palm pilot.

  22. D'oh! by gaj · · Score: 1

    s/Kernagan/Kernighan/
    s/Richie/Ritchie/

    When the hell will I learn to preview?
    --
    "First they ignore you.
    Then they laugh at you.
    Then they fight you.

  23. conspiracy theories by xpunter · · Score: 1

    in a world where marketting skills are sufficiently evolved that the better product can be brushed to the side ..... would it not make sense that the marketting departement at microsoft AND sun (for example) both survey the /. stories and contribute "anonymous" comments tootoo-ing their products ... or booboo-ing the products of the other.

    knowing slashdot's reputation, bet you they do.

    In fact, I would even go so far as to say that a considerable percentage of the stories posted above are "marketting".

    I'd say 20%. (one in five)

    think about it ... its the perfect advertising space. Ready audience .. you know exactly who you are dealing with ... you can post as many messages as you like (make up numbers).

    WOuld any reading this actually put this kind of tactic past Microsoft ?????? ...

  24. Re:KJava!- where do I get KJava anyway? by ciurana · · Score: 1

    As far as we could find out, the only place where you can find it (this week) is the 3Com/Sun booth at JavaOne.

    We're trying to figure out how to load new classes into the Palm V but we haven't yet (we're not trying really hard either; we're not supposed to be testing on hand-helds until next week but our hacking instincts are too strong...)

    --
    http://eugeneciurana.com | http://ciurana.eu
  25. So where is it??? by Anonymous Coward · · Score: 0

    I looked through Sun's site, 3Com's site, everywhere, and not a download link to be found.

    Anyone have a URL for this new version of Java on the Palm???

    TIA...

  26. Some JavaOne keynote demonstrations... by SuperKendall · · Score: 3

    KJava looks to be really useful, if it gets to be as widespread as it looks like it will be. Here are descriptions of some of the interesting demonstrations I saw of KJava in action at today's JavaOne keynote (which I sadly had to watch over webcast instead of live):

    * Two Lego Mindstorm tanks, each with a Palm attached to the top running the KVM. The Palm's controlled the tanks, trying to play a game of tag I think... the Palms used the IR ports to talk to each other. Just imagine the tanks also being able to pass new behavior or scanning updates to each other as well!

    * A demo of transferring a program from a Palm to a Motorola pager (both running the KVM) over the IR port. In this case it was a Tetris game, but imagine being able to load some custom home monitoring software into whatever device you happen to be carrying with you that day, or searching out some custom mapping software for the area you're in.

    One example of such a custom application was a custom conference schedule/map they had avialiable for JavaOne attendees - you could select a session you wanted to go to, and it would pull up a map of the conference center to tell you just where it was.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  27. Unbelievably Trivial by DonkPunch · · Score: 2

    I can't believe I'm mentioning this, but:
    IIRC, K&R style has the opening bracket of a function on the next line:

    int foo()
    {
    return bar;
    }

    While "Java" style generally puts it on the same line:

    public int foo() {
    return bar;
    }

    Yep, it's a minor difference. Believe or not, I actually spent time agonizing over which code style to use and where. If you care which I personally prefer, you should really get out more.

    --

    Save the whales. Feed the hungry. Free the mallocs.
  28. Re:Java does suck - you got that part right by Anonymous Coward · · Score: 0

    Java is interpreted and slow.
    The virtual machine is always bulky and slow.
    Java can't access any sort of native methods.
    Write-once-run-anywhere is a complete lie.

    The above is all true except you forgot:

    I naively believe everything Sun tells me because I lack the ability to come to objective conclusions by myself.

  29. Makes sense for Sun, but Bleh! by Anonymous Coward · · Score: 0

    It's in Sun's best interest to push Java everywhere they can so this move makes sense. I don't particularly like Java, though, so bleh!

    If you want to have fun, roll your own. Base it in Forth, just for fun.

  30. How easy will it be to port apps/applets? by Bubblehead · · Score: 1

    Does anybody know how easy/difficult it will be to port code from java to kjava and vice versa? Obviously, the main issue is how well the kjava packages map to java packages. And from what I have seen from the posts/web so far, it seems that sun didn't even try to do this (at least not for UI packages). Thus, if I had a spreadsheet application, would I have to re-code the UI from scratch? This makes kind of sense, as desktop and palmtop UIs have very different requirements. Anyone who knows more? Thoughts?

    --
    Under capitalism man exploits man. Under communism it's the other way around.
    1. Re:How easy will it be to port apps/applets? by furball · · Score: 1

      Porting should not be difficult if you designed well. Meaning that interface code should have been separated from the actual protocol/algorithm code. That said, porting the UI is probably required. It's extremely naive to think that the UI from AWT or Swing could be converted into Palm.

      An essential element which some of the posters here have missed thus far is that Palm is now the reference platform for the VM for personal devices. It used to be Solaris. It is now PalmOS. This is a huge win for sanity across the board. KVM is being tested on the actual devices it was meant to run on.

      It should be noted that while Palm is getting all the news with the KVM, other devices such as the Motorola PageWriter, and the Bull POS. While none of us care about the Bull POS, knowing data and logic transfers from PalmOS to whatever the PageWriter uses and getting consistent behavior out of it, will make life better for the people writing the software.

      This is an extremely lovely development.

  31. Java IS Free Software (no thanks to Sun) by jtgold · · Score: 1

    In spite of Sun's attempt to keep Java in a corporate stranglehold, the free software community has produced several virtual machines (check out Kaffe and Japhar), a classpath implementation ( GNU Classpath), and a conformance test (see Mauve).

    None of these are complete, but all are impressive and because of the GPL/ LGPL they will always be free software. Sure, Sun and other vendors offer the latest and greatest bells and whistles. Free software is inexorable -- it will catch up. I can wait, and those who can't are welcome to use proprietary products until then.

  32. YEAH nice what about JDK 1.2 by johnjones · · Score: 1



    ok before somebody moans

    java is a good lang because it is strongly typed
    the implemetation of java is whats been lacking java needed to be more GUI it has all the programming features that you wanted this is what they added with 1.2 ,1.1 on the other hand is basic and you should have no probs running it on small little machines with 4mb ok

    Ive done it and it worked fine

    so lets get the GUI stuff working

    if you want speed spend a year writeing machine code (i did oh what fun hex keypad are)


    a poor student @ bournemouth uni in the UK (a deltic so please dont moan about spelling but the content)

  33. Think... by Gumber · · Score: 1

    If you have everything you need on your Palm then why can't it all be copied to someone elses Palm?

  34. Palm FAQ (was Re:Unrelated Palm Pilot Question) by Anonymous Coward · · Score: 0

    I remember stuff that sounded like this
    problem on some Palm FAQ I saw. Basically, there
    is a debugging capability to turn on the Serial
    connector. You can trip some secret sequence and
    turn your Serial connection on, and it won't turn
    off until you enter the correct sequence, and this
    will suck the life out of your batteries.

    Go check some Palm FAQ, altho it has been
    a long time since I read up on this.

    A. N. Onymous, Coward, Esq.

    1. Re:Palm FAQ (was Re:Unrelated Palm Pilot Question) by Anonymous Coward · · Score: 0

      Hmm, actually I think that is a battery drain thing that happens if you leave your pilot sitting in the cradle with the old models. But my problem is something different because no matter what it just wastes the batteries in less than 24 hours. I'll try that cleaning thing though..

      Does anyone know if I bought one of those super upgrade cards if that would possibly fix it, or if those are even compatible with the Palm 1000?

  35. Re:Java does suck - you got that part right by Anonymous Coward · · Score: 0


    But you're wrong on all counts. Java is not slow, it depends on the VM. Java is not bulky (JavaCard is bulky? It runs in 16k of RAM)

    You can access as many native methods as you want with JNI, just like Perl , TCL, or any other language.

  36. SPOTLESS - LINK HERE by goon · · Score: 1

    news does travel slow on slashdot these days. I remember submiting this article from palmstation.com a couple of months ago... and the link to the spotless system - experimental Java[TM]* system for the Palm Connected Organizer ...no doubt the fore-runner sun r&d project to the public news release.

    --
    peterrenshaw ~ Another Scrappy Startup
    1. Re:SPOTLESS - LINK HERE by goon · · Score: 1

      here's a link for downloads :)

      you can also find more into by going to here..and where you see "What are you looking for?
      Database description: Search of General Content including Research content
      ....type in 'spotless'.

      --
      peterrenshaw ~ Another Scrappy Startup
  37. damm forgot the link - more spotless by goon · · Score: 1

    you can also find more into by going to here..and where you see "What are you looking for? Database description: Search of General Content including Research content ....type in 'spotless'.

    --
    peterrenshaw ~ Another Scrappy Startup
  38. You can't swap Palm to Palm ... tell mine ... by WillAffleck · · Score: 1

    Seriously, how do you think I got the Tricorder app on my Palm V from Scott's Palm IIIx? Did it just appear? We just synced 'em directly.

    So why not do the same for Java apps?

    Or do you have some desire to be overly complex?

    Will in Seattle

    --
    Will in Seattle
    1. Re:You can't swap Palm to Palm ... tell mine ... by poink · · Score: 1

      How'd it get into Scott's palm? At some point (unless someone used pocket c) it had to go from pc/mac/whatever->palm.

  39. You forgot point 8 by WillAffleck · · Score: 1

    8. It doesn't sell more MSFT products.

    ;-)
    Will in Seattle

    --
    Will in Seattle
  40. Re:hehe by TummyX · · Score: 1

    That made my day. I'll be chuckling all day ;)

    When you have something working, I wouldn't mind firing up my C64 or an emulator to play :D

  41. Re:foo by TummyX · · Score: 1

    Why does everyone, including Microsoft use foo?
    I think I've missed something :\
    is it the same reason why everyone uses i for counters?

    (cause everyone else does ;))

  42. ...and the Palm Vs are being sold for $199.00 by JasonB · · Score: 1

    What they don't tell you is that attendees of the JavaOne conference (which costs ~$1500 to attend) can buy these brand new Palm Vs for $199.00. I will be picking mine up tomorrow morning.

    Now that's a steal, JVM or no JVM!

    -jason

    1. Re:...and the Palm Vs are being sold for $199.00 by furball · · Score: 1

      Wired says that they sold out.

    2. Re:...and the Palm Vs are being sold for $199.00 by JasonB · · Score: 1

      They did the first day. They'll have another shipment that goes on sale tomorrow (Wed) at 7:30 AM. I'll see you in line!

      -jason

    3. Re:...and the Palm Vs are being sold for $199.00 by Zach+Fine · · Score: 1

      Where are they selling for $199? The lowest price I've seen is in the $300s.

      Please post more info.

  43. When will downloads be available? by Mad+Browser · · Score: 1

    I see people posting URL's for Spotless stuff, but that is not the same thing...

    Does anyone know when we can download this stuff? The press release does not specify and the kJava page on Javasoft's Web site does not even mention the PalmOS port...

    --
    RateVegas.com - Vegas Reviews
    1. Re:When will downloads be available? by goon · · Score: 1

      quick search on my previous link to suns site, using the keyword 'kJava' , reveals the following...
      excite for web servers found documents about: kJava

      - higher confidence, - lower confidence; click icons to find similar documents

      58% The Spotless System

      Summary: Welcome to the Spotless System Page. The Spotless system is an experimental Java[TM]* system for the Palm Connected Organizer. It includes a JVM that supports the complete bytecode set and dynamic class loading, and class libraries and demo applications. It is the result of a Sun Microsystems Laboratories research project exploring the construction of small JVMs. It is not a supported product.


      so they certainly link the 'kJava' to spotless! but this may not be the final release version.

      --
      peterrenshaw ~ Another Scrappy Startup
  44. Re:foo by DonkPunch · · Score: 2

    Here is a link to a Hacker's Jargon Dictionary with an explanation of foo() and bar(). "Cause everyone else does" is pretty much it. It's just one of those silly programmer tradition things.

    Kind of like sig lines with geeky memory-management jokes. ;)

    --

    Save the whales. Feed the hungry. Free the mallocs.
  45. Just downloaded it by joshv · · Score: 1

    Very nice, and fast, especially on an overclocked Palm V.

    I was very disappointed that the thread demo (multiple balls bouncing off square walls) limited me at 30 balls - I had hoped to crash the VM...

    Now, how do I upload my own classes? I want to try to port my java version of tetris to it.

    -josh

    1. Re:Just downloaded it by grfcon · · Score: 1

      Josh,

      Where did you dowload it from?

      Gary

    2. Re:Just downloaded it by joshv · · Score: 1

      http://www.sunlabs.com/research/spotless for a description
      http://www.sunlabs.com/research/spotless/doc/dow nload.html to download

      -josh

  46. spoonfed by goon · · Score: 2

    a simple search at http://www.javasoft.com revealed...

    http://www.javasoft.com/features/1999/06/j2me.html
    http://www.javasoft.com/products/kvm/
    http://www.javasoft.com/products/kvm/faqs.html

    faq
    14. How will the K virtual machine be made available?

    The K virtual machine will be made available on the web through the Sun Community Source Licensing process and from the Sun sales force. For more information on Sun Community Source Licensing, see http://www.sun.com/software/communitysource/


    --
    peterrenshaw ~ Another Scrappy Startup
  47. What about that icon? by Pope · · Score: 1

    Now, is it just me, or does the Java icon look like a cup of tea??!!
    (it looks like that thing in the middle is a tea bag)

    Pope

    --
    It doesn't mean much now, it's built for the future.
  48. There is one -- QuickSheet by InfiniterX · · Score: 1

    There is a REALLY NICE spreadsheet app for the Pilot, called QuickSheet.... it also has a conduit to pipe your spreadsheets into Excel, if you're into that sort of thing.

    I can't remember who made it but check around on pilotgear...

  49. "Spotless" _is_ "KJava" by ryand · · Score: 1

    I installed Spotless on my PalmIIIx a few minutes ago, and when I clicked on the Preferences/About Spotless VM, it says
    "A Kauai/kJava Implementation May 27, 1999"

    It has about 58 classes (I'm too lazy to get a listing) and a quite a few sample Java apps to show it can be done.

    It's slow, and I get the feeling that I should just be amazed that it even works, but I'm too awed to complain.

    It's quite nice, and now I'm going to stay up all night checking out the developers kit you can download with it. from:
    http://www.sunlabs.com/research/spotless/index.h tml

    My guess is that the KJava implementation is probably sped up a bit and has a better browsing interface (from what cuirana says).

  50. they already make a palm with 8 mb of memory by great+om · · Score: 1

    and eight of flash....
    and a wireless ethernet connection
    check it out www.symbol.com/palm

    --
    ------- Oh damn.... the Sigfile escaped... -Great OM
  51. The Price Tag by DrMazz · · Score: 1

    They're selling for about half price at JavaOne, but to get this price you have to have paid about $1500 to attend the conference. Street price is in the $400-$450 range.

    I see release at JavaOne as seeding the developer market (after all, it's a developer version of the JVM).

    I'll buy one tomorrow and check it out in person :)

    Cheers,
    DrMazz

  52. Re:Java does not suck by Anonymous Coward · · Score: 0

    > Java is interpreted and slow.
    > The virtual machine is always bulky and slow.

    Thats someting you have to sacrify for platform independence. Whats slow? its not slow on my DEC Alpha 600 MHz workstation, its not slow on my PII-505 MHz home system eihter, I can hardly notice any diffrence between an GCC compiled GTK+ app and an Java 2 app. It all depends on the quality of compiler.

    > Java can't access any sort of native methods.

    Yes it can, I can access unix library functions
    the same way as in C and C++ programs, but that will cut the platform independence.

    > Write-once-run-anywhere is a complete lie.

    Wrong, I have my Java applications run on over 10
    diffrent platforms without problem, list: Linux, Windows NT, Windows95, Windows98, FreeBSD, SGI IRIX, SUN Solaris, Tru64/Digital Unix, HP-UX, AIX, Macintosh, OpenBSD, NetBSD, write-once-run-anywere is for real.

    > Besides, Microsoft killed it anyway.

    Killed? its alive and well and expanding every day.

    > Of course, I've never written a single thing in > Java. Oh, did I mention that I believe every
    > piece of Java misinformation that I read?

    There is no one-size-fits-all the it comes to programming languages. Use the language that fits the purpose best.

  53. What kind of AC adapter do the Palm Vs have? by erl · · Score: 1

    Apparently this is the american version whose power supply only works on 110V as opposed to the european one, which I believe automatically switches between 110/220 volts.
    So, a friend of mine offered to buy me one (thanks, Mårten!) because he already has one, and hence my questions:

    What kind of AC adapter do the Palm Vs have? Is it a standard connector to the cradle? What voltage/current does it supply?
    I'd be most grateful for any replies!

  54. Waba by Oblio · · Score: 1

    I'm curious how this will affect waba...(http://www.wabasoft.com).

    Waba is a cross platform java programming tool for Wince and Palmos devices that I found worked pretty darned well.

    (It probably isn't a _true_ java implementation, but looked enough like one for me not to care about the difference)

    Ah well...

    --
    Pax -- Ob
    1. Re:Waba by grfcon · · Score: 1

      I suspect that Waba will survive for sometime... It's scope seems to encompass CE as well.

      It would be sad to see Waba fall. It is a great package. (apart from the lack of threads!)

      Gary

  55. So what? by Anonymous Coward · · Score: 0

    It's appropriate to make the point you're making from time to time, but it still doesn't add up to much.

    Microsoft can post anything they like under any name they choose, but their comments don't get any more weight than anyone else's if they choose to post as "just some guy". They'll be instantly contradicted by the next poster, who may be about twelve years old, and the two will essentially cancel each other out, for propaganda purposes.

    If MS does post, maybe what they say is true, regardless of the name they post under. Maybe it's not, and the 12-yr-old will set the record straight. Maybe the "12-yr-old" is actually a 45-yr-old disgruntled ex-MS employee. Who knows? Who cares?

    Consider the ideas, not the posters, because you never know who any poster really is. If the idea is of interest to you, you'll have to do more research than reading postings on Slashdot anyway, even though Slashdot is a good place to hear about it initially.