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.
"
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?
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!
:::::> beam me up!
thbbbbbbt!
:-)
*doot* *doot*
"We are not always what we seem, and hardly ever what we dream."
Schmendrick the Magician
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
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*)
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?
Sun has a white paper describing the implementation of the JVM for the Palm system,
b stract-73.html
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/a
Mr. Peabody
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
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...
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...
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:
Preloaded Java classes:
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!
Eugenehttp://eugeneciurana.com | http://ciurana.eu
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
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.
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!
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!
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.
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.
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.
... 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).
...
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
WOuld any reading this actually put this kind of tactic past Microsoft ??????
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
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
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.
Um... why is it useless without RMI? What would you use it for on a Palm?
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.
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.
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
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.
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
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)
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
If you have everything you need on your Palm then why can't it all be copied to someone elses Palm?
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
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
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
8. It doesn't sell more MSFT products.
;-)
Will in Seattle
Will in Seattle
That made my day. I'll be chuckling all day ;)
:D
When you have something working, I wouldn't mind firing up my C64 or an emulator to play
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
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
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
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.
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
a simple search at http://www.javasoft.com revealed...
l
http://www.javasoft.com/features/1999/06/j2me.htm
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
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.
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...
I installed Spotless on my PalmIIIx a few minutes ago, and when I clicked on the Preferences/About Spotless VM, it says
h tml
"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.
My guess is that the KJava implementation is probably sped up a bit and has a better browsing interface (from what cuirana says).
and eight of flash....
and a wireless ethernet connection
check it out www.symbol.com/palm
------- Oh damn.... the Sigfile escaped... -Great OM
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
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...
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!
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