[Aargh! I don't know why Mozilla is munging the formatting] Kon Wilms wrote: Bill Sheppard wrote: Wilms wrote: You said the magic phrase 'well-defined'. I translate that to mean 'restricted to'. Hence the assertionof 'run once debug everywhere' is correct. You might choose that translation, but it's not relevant. Java spans from 8-bit microcontrollers to64-bit CPU's. To expect the same application to run across this breadth of hardware is neither realistic nor useful. So what you're saying is that your kool-aid can't really be sold at all the lemonade stands. And it matters whatglass you pour it into. Of course it matters. If you served lemonade in shot glasses you'd have very little repeat business. Thanks for admitting that Java indeed can not run everywhere. That's a first!The Java language can run (essentially) anywhere. Java platform specifications are wisely targetted to be appropriate to the market for whichthey are intended. It makes little sense to attempt to support J2EE capabilities on a cell phone with 512K of memory and a 40 MHz processor. In terms of these platforms that a Java application is restricted to, will the same application that runs on a Nokia NGage run on a Siemens C55? Both use 'Java Technology' Many applications will. And were these phones compliantwith more recent industry-defined specifications, such as MIDP 2.0, a much larger selection of applications would be compatible without specific debugging effort. Well yes, but with restricted user experience, making it harder to charge that extra buck for the top of the line phone. Just as Doom 3 will only run satisfactorily on a high-end PC, there is certainly a class of applications for which the mass-market phone may not be suitable. Nonetheless, just as virtually any entry-level PC today is wholly sufficient for the vast majority of everyday uses (i.e. email, browsing, word processing, chat, etc.), most MIDP 2.0-based mobile phones will be sufficientfor most applications. Are you saying that MIDP2 requires no specific debugging, and that it will run on a 'specced' platform with zero test? Is that something Sun stands behind? I'm not discounting MIDP - Sun went after that and actually produced something good. Of course you can't claim no specific debugging and zero testin all cases, but MIDP 2.0 added support for many of the areas which had required proprietary vendor-specific API's in the past, such as sound. Sun'sWireless Toolkit (WTK) is a PC-based implementation of MIDP which most developers use as their development platform, and includes skins to emulate various mobile phones. I believe you will find developers are very pleased with this approach - in fact, it was selected as 2003 Development.com Wireless Development Product of the Year. Further assurance can be provided by JavaVerified.com. For a few hundred dollars developers can submit an application to be certified across a range of actual handsets, providing assurance to operators that applications will execute properly across their installed base of phones. T-Mobile and Orange recently announced they would require third-party applications to undergo JavaVerified certification. This is a model which might be very appropriate for the DTV market as well. http://www.comp.lancs.ac.uk/computing/users/fittond/ppcjava.html[1] And proves my point. The chart indicates VM's implementing more than four completely different Java specifications targetting completely different devices, plus VM's which have not passed any proper Java test suite. MHP and OCAP have extensive test suites which all devices will be required to pass; no ambiguity about what specification is being implemented. This makes for a far more consistent environment for developers. Of course, memory, CPU, graphics capabilities, and the like will still vary from box to box, but the vast majority of OCAP applications will run across all boxes with little-to-no debugging across devices. Obviously you have not used some of the VM's on that list. To say some lack features and others have 'issues' would be an understatement. There is nothing consistent in the fact that there is a 'selection' of VMs. This development mode is more time consuming because one has to eval all the platforms, go through their documentation, have a test application to do speed comparisons, and then jump for one and hope there are no undefined bugs in the VM implementation. I'll stick to thatC99, thanks. Rather than going through the process you outlined, the "proper" method would be to select the appropriate Java specification for thedevice (for a PocketPC that would likely be CDC/FP/PBP or PP), then choosefrom among the implementations that are certified compliant to that specification. Certification provides a high degree of confidence that you'll not be impacted by bugs in the VM implementation. Most of the products listed in that table come from "garage-shops" implementing arbitrarycollections of Java API's (in violation of the copyright granted by the Java language specification requiring all VM implementations to conform to recognized specifications) and aren't suitable for production-quality applications. As for a spec to stick behind, remember when Java for STBs was called Personal Java, then J2ME, now J2ME fragmented into a family? http://java.sun.com/products/personaljava/index.jsp[2] Those hardly ran a fewyears and then suddenly reached 'end of life'. It's not nearly as dire as you paint it. PersonalJava is the specification MHP and OCAP are based upon (the bulk of the work having been done in 1998). It was superseded by the J2ME architecture a few years later. J2ME introduced a much higher degree ofmodularity, and includes the CLDC branch for small devices (i.e. cell phones) and CDC for more capable devices (i.e. set-top boxes). MHP and OCAP can be implemented on either PersonalJava or the CDC/FP/PBP stack; applications can't tell the difference. New API's are added to J2ME all the time to address new industry requirements (i.e. Bluetooth, XML, OpenGL, etc.), but these all build upon either CLDC or CDC and don't obsolete the existing specifications. I can only conclude that it must have been those pacman-clone demos running at 5fps on the JVM for STBs in NAB2000 that killed it. Both VM technology andSTB capabilities have come a long way since then. And nothing's been killed - MHP and OCAP are alive and well. You'll see. -- ------------------------------------------------------------------------- Bill Sheppard Industry Marketing Manager bill.sheppard@xxxxxxx[3] Consumer and Mobile Systems Group (408) 404-1254 (x68154) Sun Microsystems, Inc. --- Links --- 1 http://www.comp.lancs.ac.uk/computing/users/fittond/ppcjava.html 2 http://java.sun.com/products/personaljava/index.jsp 3 mailto:bill.sheppard@xxxxxxx ---------------------------------------------------------------------- You can UNSUBSCRIBE from the OpenDTV list in two ways: - Using the UNSUBSCRIBE command in your user configuration settings at FreeLists.org - By sending a message to: opendtv-request@xxxxxxxxxxxxx with the word unsubscribe in the subject line.