Java's Telemetry Wave Wipeout ( And A Shocking First Java Program )
In my last blog I discussed the next big wave that is washing across the Internet, which Sun's CTO Greg Papadopoulos calls the Telemetry Wave. I indicated that the Java community has a problem with respect to telemetry because a completely separate community is in control of the devices that allow the Internet to access the physical world. This community consists of the various microcontroller developer communities and almost no microcontrollers that are used to monitor and control the physical world are programmed in Java.
I also indicated that I had a shocking story to tell which is related to this problem and here it is.
Beginning Java for PIC developers: Take 1
One of the few people in the world that is a member of both the Java community and the microcontroller community is James Caska who owns a company called muvium. James is an expert in PIC microcontrollers and he has created software that allows Java to run on them. This is an amazing accomplishment considering the limited amount of resources these microcontrollers have.
A few years ago, James put together a presentation on muvium for the annual PIC developer's conference. The first part of the presentation contained an introduction to Java for beginners because almost no PIC developers know how to program in Java. The "Java for beginners" part of the presentation was very well done and I think that most Java developers who saw this version of the presentation would agree.
Even Microchip liked the presentation when James showed it to them but they indicated that most of their developers had never been exposed to object oriented programming before and that they would not understand the coding examples. James was asked if he would rework the presentation so it could be better understood by the typical PIC developer.
Beginning Java for PIC developers: Take 2
I have already indicated that what I am about to show to you is shocking. You may think that I have used the word "shocking" in order to draw more people to my blog, but I was truly shocked by the following information when I first saw it and I still am.
If you think that you have seen almost every approach to a "First Java Program" that has ever been created, I am almost certain you are wrong :-)
Here is how typical PIC microcontroller developers need to see their first Java program:
and here is a slightly more complete version from later in the presentation:
Do you think the PIC developers who attended this presentation obtained a good understanding of what Java was and how enormously powerful it could be? Beyond this, do you think that the typical embedded programmer and the typical Java programmer would have enough in common to even communicate effectively with each other?
The above code examples show why Embedded Java ( the kind that is used to monitor and control the physical world ) has never taken off and will not take off anytime in the near future. Some of us in the Embedded Java community have been trying to tell Sun and others in the overall Java community about this problem for years, but almost nobody seems to get it.
The problem has been ignored up to this point because Java has done very well on servers, cell phones and some other places. Therefore, letting the embedded market slip away has caused the overall Java community very little pain.
But now that the Telemetry Internet wave has started to build, everyone is beginning to see the huge, lucrative opportunity that is associated with it. Telemetry is the first technology which allows the Internet touch the physical world on a wide scale and, in theory, Java should own a significant portion of the Telemetry market. However, the reality of the situation is that a completely separate community controls the Internet's ability to access the physical world. Not only does this community not understand Java, most of its members do not even have enough in common with typical Java developers to effectively communicate with them.
Unless the Java community initiates strategies ASAP to overcome hurdles like this that are blocking its access to the physical world, it risks missing its change to take advantage of the lucrative market that the Telemetry wave is providing.
On a positive note, some of us Embedded Java developers have been working to find solutions to these problems for years. In my next blog, I am going to describe some solutions to these problems that I have been working on ( James has also been working on various solutions and you can visit his site to see what he has created ).
For those of you who would like to see a preview of one solution I have been working on, you can burn the .iso image that is on this site ( https://jdos.dev.java.net ) onto a CD and boot a PC with it :-)