Not exactly, Java is there to manage the sessions for millions of users. I think it's a great counter-example for people who claim that Java is slow. They would have used C or other native languages to handle the backend. As for JavaScript handling the frontend, it's because they want it to behave as much as possible like a regular native UI app. JavaScript is the de facto choice here since it's included in every browser.
First of all, I've already said the app server market is a different beast altogether.
Second of all, I've not found a single ounce of evidence that Google uses Java for the gmail session management. Where did you hear that?
At UI development level, it should be a field change or a color picker. XML, Java or .NET is irrelevant here.
Again, I couldn't care less about what tool the guys use to do this. I don't care if it abstracts it away from the designer that they need to deploy custom classes just to change the color of something. It's a poor design for the system as a whole. Custom classes have ramifications in that this is code bloat, it's more that needs to be compiled, and it'll ultimately impact the user's experience.
Sure, but this is implementation details. Afterall Java uses XML too. The authoring tool provider would write the config into an XML file for the run-time to read. Again, this doesn't say anything about Java being an overkill.
This is not how BD-J is designed.
It is native code during run-time.
No, not fully. Do you think JIT code never needs to deal with memory management or garbage collectors? That it doesn't touch the JRE stack?
Again, none of this means that Java is slow, or overkill. It only speak of your personal preferences and desire for a simpler development tool, which is being addressed today.
You keep repeating it but that doesn't make it true. Any time code needs to be created to do trivial layout changes, it's a sign you didn't design your architecture properly. It's overkill.
The vast majority of BD-J use is for trivial changes to the menu scrubber. If you're not doing any advanced programming (games, etc) there's no reason whatsoever for you to actually have to have new CODE being generated.
As for whether it's stupid to have .NET on Blu-ray player, I'd say Java is a better choice since it is proven in small devices long ago, and there are many implementations and experiences that BDA could rely on.
Apparently you've not heard of the .NET Compact Framework. What do you think Ford Sync is written in? I've written .NET CE apps for Windows Mobile for quite some time as well. This is not a competitive advantage of Java.
As far as I know, Java has been running on small devices to heavy weight Internet app efficiently.
I'm not sure how aware you are about the massive differences between Java app servers, Java desktop apps, and embedded Java apps. They all share the Java language, but there are tremendous differences aside from that. They're not to be confused.
Why is it a bad idea when NetFlix could put a solution together quickly ? HDi may work but again, only on one vendor solution.
I'm perplexed why you keep coming back to this "only on one vendor solution". The Netflix Bluray disc only works on PS3s, an HDi implementation would work on every HD DVD player ever made. To the end user, what's the difference here?
I'm not going to spend my sunday googling memory usage of various JRE and JS/DOM configurations. Again, I've been in the mobile space for a few years and I've seen this extensively on Android and Blackberry phones (Java), Windows Mobile phones (.NET CE), and now WebOS phones (DOM/JS). DOM/JS is less flexible and more simple, JREs are complex beasts. That is reflected in both the computational power required, as well as memory usage.
You claimed that Java is slow and overkill without considering the application and techniques.
I've done so. No matter what you do with Java, you've got performance considerations. Initial loading time or run-time, choose your poison. You can't wave your hands and pretend Java will always run as fast as native code in all situations, which is effectively the vibe I'm getting from you.
Over here, I think you'll have to use your imagination more. The studios will eventually figure out a winning formula.
My imagination is just fine. The problem with some people is an overactive imagination. I've seen it time and time again in my career with people with overactive imaginations overengineer what should be simple solutions, and in the end people end up paying for it. Whether it's with buggy software, long development times, or impact to the user experience...nothing is free where complexity is concerned.
You need to keep in mind that the VAST majority of people who watch movies do NOT care for all of this nonsense that you keep extolling about BD-J capabilities. To talk to iPhones wirelessly, to play mind-numbingly simple BD-J games, to create their own Fast and the Furious car, etc. They like to watch movies, and they like to do so simply and easily and with consistency.
I'm a very firm believer of KISS and consistency. As I've said before, studios are looking to start abusing BD-J like many marketers are abusing Flash in the desktop space. Just because you can, doesn't mean you should.
Anyway, as fun as this discussion has been I can tell we're starting to enter a loop here, so I'll retire. Ultimately HDi is dead and we're all stuck with BD-J and its associated real-world performance quirks that some people choose to believe don't exist, so there's little point arguing about it now.