wood burning stoves*
The moose likes Meaningless Drivel and the fly likes Smartphones and the future of Java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "Smartphones and the future of Java" Watch "Smartphones and the future of Java" New topic
Author

Smartphones and the future of Java

Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3286
    
    7
Jay Orsaw wrote:
Also what's this "strong threat" on the GUI side?> That's why FX is around :p.


As of today, can you write a JavaFX application that runs on desktop and android iOS? If no, it is vaporware. If yes, then great! All is well


Enthuware - Best Mock Exams and Questions for Oracle/Sun Java Certifications
Quality Guaranteed - Pass or Full Refund!
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Paul Anilprem wrote:
Pat Farrell wrote:
Paul Anilprem wrote:Can you take a jar built on another machine and run it on Android? This is a genuine question.


I don't think you mean what you wrote.

Yes, of course, that happens all the time. Its not a big deal. The normal development environment for IOS and Android is to develop on a desktop or laptop and then download the resulting binary to the device. We do it all the time. You can even run code on your Windows/OS-X/Linux machine with another VM, say the Dalvic VM.

What you seem to be trying to argue is that you want to build the same jar and run it on desktops, laptops, servers, smartphones, tablets, TVs, and refrigerators. If so, you really should say that. I personally don't think that is very desirable, and I can argue that its actually a bad thing.


I apologize if my question is not clear. Please attribute it to my ignorance of the Android development process. I can give you an example of what I mean, if that makes it more clear. Can a Java desktop application jar (that has windows, dialogs, tables, trees) run on Android as it is?
If it is the GUI APIs that is a problem, can a headless java application jar (which uses all of JRE except awt and swing) run on Android as it is?

If the answer to both of the above questions is no, then would it be fair to say that the platform doesn't support the any version of Java? If so, I see that as a threat to Java because it forces companies like ours to look for technologies that can deliver our content to popular consumer devices without have to maintain multiple code bases. Up to this point, i.e. before Android and iOS devices became so popular, Java (as in the JRE ) was a winner for us. It doesn't look that way anymore. Any technology that gives us WORA for this generation is what is required.




I was thinking about that earlier actually, about Jars... I was thinking also what if you have an applet that's on the web, will it work on your mobile devices?


As for the VM and Java running fully on mobile devices, again those links I provided seem like something important. Oracle might try to compromise with Apple/Google, Oracle would be pretty dumb if it just cut it's ties to one of the most important parts of application history right now. Apparently it all works on Windows devices though, now we need to work on the others.

What I'm curious about in that link is how it's going to run on the iOS side(if they actually do it).

Also how hard would it be the implement the JVM and integrate it into Android?


Or maybe it's not "how are we getting the JVM on" but "How can Google improve the DVM for better Java libraries, and important GUI features."

Paul Anilprem wrote:
Jay Orsaw wrote:
Also what's this "strong threat" on the GUI side?> That's why FX is around :p.


As of today, can you write a JavaFX application that runs on desktop and android iOS? If no, it is vaporware. If yes, then great! All is well


This is dated, but in the technical point, yes you can http://en.wikipedia.org/wiki/JavaFX_Mobile

Now again with what Oracle is talking about we will need to wait for more details. I don't know the full details again, but I heard at JavaOne FX was implemented on Android and iOS..


After a quick google search, I actually found some cool info.


http://www.infoq.com/news/2012/09/codenameone



I also see this post here

Re: JavaOne 2012: JavaFX on iOS, Android and Windows 8 Metro???
Posted: Oct 6, 2012 2:45 PM in response to: MiPa
Helpful

I saw a presentation at JavaOne that included information on how to bundle your Java/JavaFX app for the Apple store, so that's doable today.

As far as Android/iOS support, I spoke with a couple of Oracle people informally (and verified if they would not have a problem with me sharing what was said to me by them), and they say they have the JRE and JavaFX running on both devices/OSs in the labs, but the management has not made a decision yet if they want to go down that route or not. Worries about eating into their other profit centers (ADF, etc.), and if there was truly any real (vs. just talking about it) demand for iOS/Android support.

So I'd suggest making your voices heard to Oracle, if you think being able to write a JavaFX app on Windows, Mac, Linux, micro-hardware, AND iOS / Android, would be a good thing or not. Personally, I think that would be a game changer and a no-brainer.


https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0

I didn't read the entire thread yet though.


http://www.boston-technology.com/blog/?p=1505


Again who knows, lets just wait and see what 2013 brings for us. Lets hope good, and if it's bad we shall cry :p.


Edit again: Oh man this Oracle thread is filled with goodies.

http://blog.software4java.com/

http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/513078.pdf


I actually just read another thread that says Oracle is taking FX away from mobile.... Well if it's integrated in JDK 8 I don't know how they can stop it one way or another if Full Java is implemented....


edit3: So after reading around I get to this email(I'm posting Richard Brair's response, but I would read the concerns in the other emails.)
http://mail.openjdk.java.net/pipermail/openjfx-dev/2012-October/003723.html

The anger and passion exhibited on this thread is very gratifying and very helpful.
Even more helpful would be to funnel as many developers to me as you find that
have a demand for FX on smartphones and tablets. You'll not find more passionate
partisans for JavaFX than here in the Java group. Being able to demonstrate
industry demand and commitment is what we need. Of course, when JavaFX is
open sourced (as Hasan announced at JavaOne we will complete shortly), then
of course anybody could do a port to iOS / Android. The question isn't about whether
or not JavaFX will be on smart phones -- it will be.
The question is who is funding
it and who is supporting it
. Of course many of us feel that supporting iOS and
Android is at least as important as Windows and Mac. However, it is hard to fault
the guys paying the bills for asking for some evidence of that viewpoint. Customers
beating on our doors demanding support for FX on these devices is exactly that
evidence.

But in any case, this is an open source project, and regardless of whether Oracle
foots the bill, I have no doubt that FX will be on iOS, Android, and Windows Metro.
If you'd like to help, funnel your demands and use cases to me (and they have all
the more weight when there is a real commercial demand behind them)!


Richard



> "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android
> and Windows Mobile phones are provided by the respective platforms, there is
> no room there for JavaFX. JavaFX is targeted at the desktop to replace Swing
> and at smaller devices that run embedded Java."

This is certainly not the position that I've taken or that the Java client organization has taken. We do not at this time have iOS or Android on our official roadmaps, but we have not taken a position to say that JavaFX is not (or will not) be used on smart phones.

Richard
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Let me try to clarify/explain a bit. But I think your fundamental question is really not useful, no matter what is behind it.

Android does not run a JVM, it runs the Dalvic VM. It runs Java generated byte-code. It includes libraries for all the usual APIs, so your System.out.println() works.

To write for IOS, you must have a Mac (OS-X) and write in Objective-C. Android is not nearly as restrictive. You can host on any of Windows, OS-X or Linux, and write using Eclipse. You write Java code that calls APIs. You use ant or maven to create your jar files, but you don't link/bundle with the jar file that contains the desktop System.out, you link/bundle with the jar files that support the Dalvic library which uses the same API.

There are no desktop libraries for touch, GPS, accelerometers. They exist in Dalvic

The concept used is cross-compilation, or cross-platform development. You use Eclipse or Netbeans on your desktop to develop and test, then deploy to the smartphone or tablet, and then re-test to make sure it works in that world. Its easy and fast.

You can use normal Java dialog boxes, but its not clear that you really want to. Perhaps if your target was a large tablet, but if your target is a small screen smartphone, you probably want to redesign your desktop application's dialog boxes to be more suited for touch. You can't expect the user to have a keyboard, so things like tabbing between many entry fields in a complex popup dialog box, while they may work technically, are hard to use and not a good design for the device.

Whether its a "threat" to Java or not depends on how you look at it. Java was originally designed for really dumb devices like TV set-top boxes. That it has been used for huge server applications as well as some desktop apps in amazing and a credit to the foresight of the original authors. But the world has changed. We don't approach problems using the same vision of our tools as we did 20+ years ago.

If you are really asking if I think that AWT, Swing, FX, Spring, etc are going to be used in ten years, I say no.

If you are asking if I think that Java as it is today, or as it slowly iterates in the pattern it has from Java 1 to today, will be the first choice for a large scale implementation on smartphones and tablets in ten years, I also say no.

But if you are asking of a Java-based language, perhaps Java++ or JavaB or JavaC, which is rooted in Java but fixes the kludges and errors of the past 20 years could be in wide usage, I say, sure, good idea.

contrary to what folks in the tech media say, IOS is not like OS-X to programmers. IOS doesn't have multi-tasking, its a hack just as "multi-tasking" was on Windows 3.1 or Windows 95. There are serious limits on memory availability, and a complete lack of virtual memory. As a result, the IOS developer does not want to do that exact same development for IOS as they do for a quad-core, 16 GB ram, multi-terabyte desktop.

I believe that for good applications, the Android developer similarly does not want to just copy the byte-code of a large scale desktop or server application onto device.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Jay Orsaw wrote:I was thinking also what if you have an applet that's on the web, will it work on your mobile devices?


Applets? as in Java Applets? Are you seriously writing them today, in 2013? They were designed back in 96 or so to solve what looked to be a real problem. They failed. Any interesting applet has to talk back to the server that hosts the HTML page. As a piece of Java code, the obvious choice is to use RMI, but RMI is a disaster in the general internet. Its worse than a disaster in the enterprise worlds.

I haven't heard of anyone starting new Applet development in at least a decade, although there are a few legacy systems in use that seem to work well in a limited environment. (i.e. not trying to cross corporate firewalls).

Once you decide that you have to be able to cross firewalls, the obvious choice is Javascript and AJAX. [note, I hate Javascript for a long list of reasons that are OT here] With Ajax and Javascript, there is no reason to even talk about applets.

Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Pat Farrell wrote:
Jay Orsaw wrote:I was thinking also what if you have an applet that's on the web, will it work on your mobile devices?


Applets? as in Java Applets? Are you seriously writing them today, in 2013? They were designed back in 96 or so to solve what looked to be a real problem. They failed. Any interesting applet has to talk back to the server that hosts the HTML page. As a piece of Java code, the obvious choice is to use RMI, but RMI is a disaster in the general internet. Its worse than a disaster in the enterprise worlds.

I haven't heard of anyone starting new Applet development in at least a decade, although there are a few legacy systems in use that seem to work well in a limited environment. (i.e. not trying to cross corporate firewalls).

Once you decide that you have to be able to cross firewalls, the obvious choice is Javascript and AJAX. [note, I hate Javascript for a long list of reasons that are OT here] With Ajax and Javascript, there is no reason to even talk about applets.



Yes, yes I am.

But the real question I wanted to know is if the java code or javafx code would be able to run via the device itself.








Also after reading all of the emails back and forth in the OpenJDK forum, users are ENCOURAGING others to EMAIL Richard Briar and tell him why you want Java and FX on mobile. Show them that we care, and they will deliver!

Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Jay Orsaw wrote:
Pat Farrell wrote:Applets? as in Java Applets?

Yes, yes I am. But the real question I wanted to know is if the java code or javafx code would be able to run via the device itself.


What "java code"?

I've tried to explain how the Android platform supports Java code. [I have no idea about JavaFX].
It supports Java. It supports Java code. It supports byte-code [dex-code] generated by Java.

But whether something will run on any specific computer depends not only on the byte-code and the VM, but also on the jar files that the VM can see and read. Many of the APIs that are interesting for Smartphones or even GUI code, use JNI (Java Native Interface) which directly call the underlying operating system. While your java code doesn't care how the file system really works, the OutputStream sure does.

For example, with applets, you can't use most of the normal Java SE API, you are sandboxed. You can't read or write to the browser's host file system (without a huge number of hoops). This is normal for applets. They were designed with this restriction. I would fully expect that applets executing on an Android device would have at least these same restrictions.
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Paul Anilprem wrote:
Pat Farrell wrote:
Paul Anilprem wrote:I thought Java doesn't run on Android. There is no JRE available for Android (or iOS). Isn't that true? My understanding is that Android uses Java identical language but has its own VM and libraries. But you can't take a regular java application and run it on Android.


Its a legal problem, not a technical one. Oracle wants a license and money to run Java on a platform. Google doesn't want to pay. So Google implemented Dalvic. They claim in a clean room. So you actually write Java code that runs on the Dalvic JVM and uses Dalvic libraries when you call Dalvic APIs.

To anyone but a lawyer, you write Java code to call Dalvic APIs and run java on anddroid.

Can you take a jar built on another machine and run it on Android? This is a genuine question.


Not directly. Android does not use Java Byte Code, it re-compiles the byte code to a dex byte format. The compiler takes JARs that are marked and requirements, unpacks them, compiles them to dex code, and packs the dex code with the rest of the application.


Steve
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Pat Farrell wrote:Let me try to clarify/explain a bit. But I think your fundamental question is really not useful, no matter what is behind it.

Android does not run a JVM, it runs the Dalvic VM. It runs Java generated byte-code.

Incorrect. Android runs delvic byte code, created by a second compile step after converting Java to code to Java byte code (.class files). The dex byte code is supposed to be more compact, not sure what else is different, but Java byte code does not run as an Android app.

It includes libraries for all the usual APIs, so your System.out.println() works.

Not all. A significant number, more than JavaME, less than JavaSE, mostly Java5 with some Java6 mixed in. See http://developer.android.com/reference/packages.html for a list of the packages available.

...You can use normal Java dialog boxes, but its not clear that you really want to.

Neither the java.awt nor the javax.swing packages are included in Android. Not sure what packages JavaFX uses. But no, you can't use normal Java UI.
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Jay Orsaw wrote:
Pat Farrell wrote:Applets? as in Java Applets?

Yes, yes I am. But the real question I wanted to know is if the java code or javafx code would be able to run via the device itself.

Jay, typically the answer will be no. You may find a browser that has a Java pugin (the default browser and Chrome do not), so you might be able to view the app as an applet with the right browser. But it wouldn't be very fun to use (from an interactive usability perspective, and a speed perspective, and a requirement that a user has to download a browser just to view you page/use your app perspective).
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Steve Luke wrote:Not all. A significant number, more than JavaME, less than JavaSE, mostly Java5 with some Java6 mixed in. See http://developer.android.com/reference/packages.html for a list of the packages available.


Thanks for the correction.

I still say that the idea of taking a completed Java desktop app and expecting it to run unchanged on a smartphone or tablet is not what users expect. Thus the differences between DEX-code and byte-code, and various APIs is far less important that it would seem at first glance
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Steve Luke wrote:Neither the java.awt nor the javax.swing packages are included in Android. Not sure what packages JavaFX uses. But no, you can't use normal Java UI.


IMHO, no loss. AWT was always terrible. Swing was an improvement, but still left a lot to be desired even in the 90s.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3286
    
    7
Pat Farrell wrote:
Steve Luke wrote:Not all. A significant number, more than JavaME, less than JavaSE, mostly Java5 with some Java6 mixed in. See http://developer.android.com/reference/packages.html for a list of the packages available.


Thanks for the correction.

I still say that the idea of taking a completed Java desktop app and expecting it to run unchanged on a smartphone or tablet is not what users expect.

Thus the differences between DEX-code and byte-code, and various APIs is far less important that it would seem at first glance.

I suspect you are thinking from mouse driven vs touch driven apps perspective and I agree in that case. Nobody expects older apps to work on desktop and mobiles (but if they do work, great!). But situation has changed or is rapidly changing. Desktops are also getting touch based these days. It is not only desirable to have the same application running on desktop as well as tablets but it is almost expected. Again, I am talking about new apps.

I doubt people running the show at MS are idiots. It is not for nothing that they are trying hard to get the same experience on mobile and desktop. Whether they will succeed or not is a separate issue but what they are trying makes a lot of sense, IMHO. That is why I said at the beginning of the discussion that MS has the potential. I believe it is on the right track. What I find interesting is that Apple is not trying to do that and they are not idiots either I think Google is trying that through its Chrome book but I am not sure.

In this respect, the distinction between dex code and byte code is very important. From what I now understand about Java on Andriod is that Java syntax, routine names, and java package hierarchy is basically replicated on Android's platform. Underneath, it is an entirely different platform that has little to do with Java. Source code portability across multiple OSs has been around for ages, which is what you seem to imply about Java on Android. Sure, you can compile the same Java code on a desktop machine with JDK and on Android but that's not WORA. (I understand your viewpoint that it is undesirable anyway.) So you can call it Java, and it may very well be in terms of the language, but it is not Java as in Java platform.



Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Paul Anilprem wrote:I doubt people running the show at MS are idiots. It is not for nothing that they are trying hard to get the same experience on mobile and desktop.

No one here is claiming that they are idiots. But I think you are misreading things. Windows 8 is a mobile OS that happens to run on some desktops and laptops. Microsoft makes most of their money these days selling Office, with a much smaller amount of revenue from Windows OS license sales. They are moving to touch interfaces because the industry has left them behind.

However, the stock market no longer considers Microsoft to be a growth stock. The stock price has been flat for a decade. Windows is not a leading technology.

Paul Anilprem wrote:In this respect, the distinction between dex code and byte code is very important. From what I now understand about Java on Andriod is that Java syntax, routine names, and java package hierarchy is basically replicated on Android's platform. Underneath, it is an entirely different platform that has little to do with Java.... but that's not WORA. (I understand your viewpoint that it is undesirable anyway.)

Since WORA never worked commercially, its hard for me to see any advantage of trying to meet WORA on Android has any benefit, and it clearly has no cost justification to Google.

I'm pretty sure that Google is careful not to call it Java. That was my talking, and as @steve has shown, some of my information was incorrect.

I see the claimed distinction between dex-code and byte-code as trivial and not important. I'm sure that a trivial translator can be written if you really cared. Again, its a distinction for the lawyers and the courts. Google technically lost the suit Oracle brought, but the award to Oracle was zero dollars.

But if you believe that Java byte-code is important or that WORA is important, there is no point in my trying to change your beliefs.
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Paul Anilprem wrote:
I suspect you are thinking from mouse driven vs touch driven apps perspective and I agree in that case. Nobody expects older apps to work on desktop and mobiles (but if they do work, great!). But situation has changed or is rapidly changing. Desktops are also getting touch based these days. It is not only desirable to have the same application running on desktop as well as tablets but it is almost expected. Again, I am talking about new apps.

It is not just the mouse vs. touch. It is computing power, sensors, cameras, storage, 'always connected' but never safely so for networking... there is a lot of distinction between the desktop and the mobile. You have to write an app that is designed for the mobile, embraces its features and limitations. Assuming the difference between mobile and desktop is superficial is incorrect. Assuming an app can be ported from one to the other can only be done if you take the lowest common denominator, which would not take advantage of either system's capabilities. It would be a bad application on either device.

I doubt people running the show at MS are idiots.

Not idiots, but not geniuses. They have shown their flaws in the last few years.

It is not for nothing that they are trying hard to get the same experience on mobile and desktop. Whether they will succeed or not is a separate issue but what they are trying makes a lot of sense, IMHO.


In my opinion it shows what MS thinks the future will be: the PC goes away, and the Tablet is the main computing device. Since the PC can never actually go away (it does too much), it will end up being connected as a peripheral controlled from your tablet. Windows 8 is the OS to divorce people from the desktop, and the Surface Pro will be the first tablet they expect of the generation to replace the PC. This is also Canonical's plans for the Ubuntu Mobile OS/Android App.

That is why I said at the beginning of the discussion that MS has the potential. I believe it is on the right track. What I find interesting is that Apple is not trying to do that and they are not idiots either I think Google is trying that through its Chrome book but I am not sure.

I think there is a lot of overlap between the Mac OSX and iOS. The user interface has slowly begun to unify or mirror. I think Apple started down this route much earlier than MS, they just did it more subtly.

I think the Chrome OS is more or less an experiment to drive more web-apps and prove how much you can actually do with it. It's goal was to push web app innovation, I don't think it was ever meant to be a viable OS long term. It is also about to go the way of the dodo - whence gone the netbook? To the tablet, and for tablets Google has Android.

In this respect, the distinction between dex code and byte code is very important. From what I now understand about Java on Andriod is that Java syntax, routine names, and java package hierarchy is basically replicated on Android's platform. Underneath, it is an entirely different platform that has little to do with Java.

It is more than that. What they do package is still the Java libraries and implementation (except those key 9 lines ;) ), just packed in a different format for efficiency and size, culled to shrink the number of libraries and with anything not functionally applicable (like the UI stuff) removed. Add to that the Android APIs. So whereas it isn't Java Byte Code and you can't run Java apps, it still is the Java libraries.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3286
    
    7
Thank you, Pat, for sharing your views. I understand what you are saying.

I have no personal affinity towards MS or Google or even Java. I have no agenda or belief that I absolutely have to stick to. I was just curious to know what people think about the future of Java (as in the Java platform and not just the java language syntax and API) now that it has been left out of the fastest growing computing devices. Our company has been greatly benefited by the WORA aspect of Java and we, for one, are definitely looking for a similar solution on the mobile devices and I think there are other companies who are doing the same.

I learnt from this discussion that JavaFX is a potential solution if really becomes available but it could also be DOA, reasons for which haven't been specified here
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3286
    
    7
BTW, even if you get WORA just for the mobile devices, that would also be a great deal. Maintaining two codebases - one for desktop and one for mobile is way better than maintaining 4 codebases - one for desktop and 3 for three mobile OSs. I imagine it would be in Oracle's interest to push some version of the JRE to all three mobile platforms.
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Paul Anilprem wrote:I learnt from this discussion that JavaFX is a potential solution if really becomes available but it could also be DOA, reasons for which haven't been specified here

I think you can stop hoping for JavaFX, especially don't propose your company wait for it. Jay posted this quote earlier, which he says came from Richard Bair (Chief Architect, Client Java Platform, Oracle):
Someone else in Jay's post wrote:> "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android
> and Windows Mobile phones are provided by the respective platforms, there is
> no room there for JavaFX. JavaFX is targeted at the desktop to replace Swing
> and at smaller devices that run embedded Java."

Richard wrote:This is certainly not the position that I've taken or that the Java client organization has taken. We do not at this time have iOS or Android on our official roadmaps, but we have not taken a position to say that JavaFX is not (or will not) be used on smart phones.

Richard

If that quote actually came from Mr. Bair then I believe it signs the death certificate for JavaFX on mobile. It sounds like giving hope, but it is marketing double speak. This is what is called 'deciding by not deciding'. By leaving the deployment off of their roadmaps they are saying they have no intent to do it. By saying they haven't decided never to do so, they are trying to keep everyone from jumping ship now- both on JavaFX in any context, and on Java in general on the mobile. After all, if the only platforms you target for Java is Windows Phone, why not use something more native like C#? The concept of WORA would not apply, so there is no motivation to use Java on any (mobile) device.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Steve Luke wrote:It is not just the mouse vs. touch. It is computing power, sensors, cameras, storage, 'always connected' but never safely so for networking... there is a lot of distinction between the desktop and the mobile. You have to write an app that is designed for the mobile, embraces its features and limitations.


The networking being flakey, slow, and expensive is a critical design difference. Smartphones usually have data access, but there are lots of places in the US, and I assume in many other countries, where the fast, 4G data access is only in big cities. You can't design your application expecting that you can quickly download a big wad of data. Sometimes the network simply goes away. If your application needs access to cloud services, when you have no network, what do you do? A desktop app can just assume that you have a constant on network that can deliver at least a few megabits a second to the user. Similarly, the cost of data is zero for desktop apps, but nearly everyone in the US, UK and other places have data caps or variable pricing. Thus, when you pull down a lot of data, the user has to pay. They may have to pay more for your data than they did to buy your app.

Storage is a real variable. I was working on a project that was data intensive, and we wanted to cache a lot of data on the tablet/smartphone. All of the networking issues from above were real. Plus the storage is both limited and varies. Maybe the user has a lot of storage space, maybe they just downloaded all of Game of Thrones and used up all of the storage on their phone. My personal smartphone, a Google Nexus S, does not have a SD/Micro-SD card slot. The only storage it has is the storage that Samsung installed at the factory. I can't take advantage of the very cheap prices that SD cards provide. So the application designer has to include this concern.


Steve Luke wrote:Assuming the difference between mobile and desktop is superficial is incorrect. Assuming an app can be ported from one to the other can only be done if you take the lowest common denominator, which would not take advantage of either system's capabilities. It would be a bad application on either device.


This is key. The lowest common denominator (LCD) is a terrible way to design systems. Its why the look-and-feel was so terrible in Smalltalk and early Java versions. Users expect the subtle things that make an interface rich.

To take another example of the LCD, consider SQL. Nearly all modern DBMS use Sql (except the explicit NoSql folks). SQL is standardized, there is an official definition of what is SQL. But every DBMS vendor has extensions, and these extensions are important. Using the proper extensions can greatly increase programmer productivity, or query performance, or both. As soon as you move away from LCD, you can no longer change your SQL engine, say from MySql to MS SqlServer. You can write your code to use pure, standardized SQL, but very few people make that engineering choice.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Paul Anilprem wrote:Maintaining two codebases - one for desktop and one for mobile is way better than maintaining 4 codebases - one for desktop and 3 for three mobile OSs. I imagine it would be in Oracle's interest to push some version of the JRE to all three mobile platforms.


Maintaining code in two or more codebases is terrible. It sucks. It costs at least three times as much to do twice. And obviously having 3 is worse than 2, and having 4 is worse than 3, but I'm not sure its linear after that. so as you go through {1, 2, 3, 4} code bases, you may see costs of {1x, 3x, 4.5x, 5.5x}

Oracle can push as much as they want, but they are not driving the bus here. And suing your potential partner for billions of dollars is not a way to win friends and influence partners.

Oracle bought Sun for the server hardware business. They got MySql and Java thrown in, essentially for free in the process. I've not seen any evidence at all that Oracle has a strategic plan for either MySql or Java. What their long term view of either packages is unknown to us mortals, and maybe unknown within Oracle.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Steve Luke wrote:
Paul Anilprem wrote:I learnt from this discussion that JavaFX is a potential solution if really becomes available but it could also be DOA, reasons for which haven't been specified here

I think you can stop hoping for JavaFX, especially don't propose your company wait for it. Jay posted this quote earlier, which he says came from Richard Bair (Chief Architect, Client Java Platform, Oracle):
Someone else in Jay's post wrote:> "JavaFX is no longer intended for use on SmartPhones. The iPhone, Android
> and Windows Mobile phones are provided by the respective platforms, there is
> no room there for JavaFX. JavaFX is targeted at the desktop to replace Swing
> and at smaller devices that run embedded Java."

Richard wrote:This is certainly not the position that I've taken or that the Java client organization has taken. We do not at this time have iOS or Android on our official roadmaps, but we have not taken a position to say that JavaFX is not (or will not) be used on smart phones.

Richard

If that quote actually came from Mr. Bair then I believe it signs the death certificate for JavaFX on mobile. It sounds like giving hope, but it is marketing double speak. This is what is called 'deciding by not deciding'. By leaving the deployment off of their roadmaps they are saying they have no intent to do it. By saying they haven't decided never to do so, they are trying to keep everyone from jumping ship now- both on JavaFX in any context, and on Java in general on the mobile. After all, if the only platforms you target for Java is Windows Phone, why not use something more native like C#? The concept of WORA would not apply, so there is no motivation to use Java on any (mobile) device.



Na I don't think so at all, sorry to scare you haha, I was trying to post things FOR FX on Mobile, not against it :P. Before that post he writes this which I bolded in my previous post

The question isn't about whether
or not JavaFX will be on smart phones -- it will be. The question is who is funding
it and who is supporting it


Also remember the first part you quoted was from a 3rd party site which should be taken down because it's not legit, as well as Mr. Brair himself saying that isn't true.


I think the problem is the support for JavaFX and "how many people want it." It kind of sound slike a joke to even ask the question because OF COURSE we want it on mobile. What's the point of these amazing features(JavaFX is really nice) if we cannot use them to their full abilities? It's either Oracle steps their game up, or the CodenameOne takes over and we have something.....

Also as others have said, email him and voice your reasons, they WANT to do it, I think they are scared no one is going to want it, which again seems a little ... If we make ourselves heard we can hopefully bring forth change!!!
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3286
    
    7
Steve Luke wrote:
Paul Anilprem wrote:
I suspect you are thinking from mouse driven vs touch driven apps perspective and I agree in that case. Nobody expects older apps to work on desktop and mobiles (but if they do work, great!). But situation has changed or is rapidly changing. Desktops are also getting touch based these days. It is not only desirable to have the same application running on desktop as well as tablets but it is almost expected. Again, I am talking about new apps.

It is not just the mouse vs. touch. It is computing power, sensors, cameras, storage, 'always connected' but never safely so for networking... there is a lot of distinction between the desktop and the mobile. You have to write an app that is designed for the mobile, embraces its features and limitations. Assuming the difference between mobile and desktop is superficial is incorrect. Assuming an app can be ported from one to the other can only be done if you take the lowest common denominator, which would not take advantage of either system's capabilities. It would be a bad application on either device.

Besides mouse vs touch, all other differences are temporary. As someone said earlier, even smartphones have quad core processors now. So I see no reason why smartphone cannot catch up with desktops in terms of CPU, RAM, Network speed, battery, and storage. Form factor is the only real difference that I see between them and even there, the screens are getting bigger and bigger. Depending on which device the app is run, it should enable/disable features. User is smart enough to know that he can't expect an app to provide video conferencing if there is no camera/webcam. But he can expect it to still work with Audio. Depending on the screen size, an app should be able to morph into a different layout but that shouldn't affect the functionality.

Developing separate customized apps for mobile and desktop is what happens today. My bet is that it will not be that way a few years from now.
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Paul Anilprem wrote:Besides mouse vs touch, all other differences are temporary.

Only if you think of the PC as a stationary target, which it isn't. It gets better, faster, more storage, higher throughput, better network every couple months. And the network connectivity issues will be around for years. Generally speaking you need to make your apps now, not with the hope that 10 years from now you will have stable enough network connections to make it usable.

As someone said earlier, even smartphones have quad core processors now.

Quad core, but lower power, lower bandwidth. They are a few years behind the desktops. That isn't to say that you can't use them for what you used the desktops for 4 or 5 years ago, or a laptop 3 years ago. But not as a desktop / laptop replacement for what is expected now.
So I see no reason why smartphone cannot catch up with desktops in terms of CPU, RAM, Network speed, battery, and storage.

Catch up to desktops as they are now? Sure. Catch up to desktops as they are at the time? Not likely. In my world, we collect 100s of GBs per minute. Phones now can store a total of 10s of GBs, or if you are lucky 100-200GB total. By the time a mobile has enough storage for my applications today we will be collecting terabytes or more per minute and the mobile will still not be enough. Battery power will continue to be the bane of the mobile device, limiting it to lower power processor and limited connectivity. Batteries haven't changed in a long time and their incremental improvements have not kept up with the technology that relies on them. If it wasn't for the battery limits you could have the same processors from your PC in your phone (RAM and storage would still be limited by form factor.)

Developing separate customized apps for mobile and desktop is what happens today. My bet is that it will not be that way a few years from now.

Obviously I disagree for many applications but are you sure you want to wait until that becomes reality?
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

First, I should preface this with the fact that I do not work at Oracle, know Mr. Bair, or have insight into their roadmaps. Just posting my reaction to those quotes...

Jay Orsaw wrote:Na I don't think so at all, sorry to scare you haha, I was trying to post things FOR FX on Mobile, not against it :P.

I know you were, but the effect is the opposite. If a company doesn't have something on their roadmap, it means they don't plan to do it. That is what roadmaps are for. If they planned to do it but didn't want to tie up resources on it they schedule it in 2014 or 2015, far enough to say 'don't think or act on it, but it is gonna happen.'

Before that post he writes this which I bolded in my previous post
The question isn't about whether
or not JavaFX will be on smart phones -- it will be. The question is who is funding
it and who is supporting it

Which sounds a lot like "We aren't funding it, we aren't supporting it, but surely, someone will." If the basics like funding and support are not known than you can't be optimistic about delivery. What was shown at JavaOne was a proof of concept, but not all concepts get delivered. I have a hard time believing Apple would ever let it on their devices since they specifically ban that sort of thing. And if you can't get on iOS it makes it hard to justify it (in my opinion).

Also remember the first part you quoted was from a 3rd party site which should be taken down because it's not legit, as well as Mr. Brair himself saying that isn't true.

True, I included it in my post to put context to the first statement in the Bair quote.

I think the problem is the support for JavaFX and "how many people want it." It kind of sound slike a joke to even ask the question because OF COURSE we want it on mobile. What's the point of these amazing features(JavaFX is really nice) if we cannot use them to their full abilities? It's either Oracle steps their game up, or the CodenameOne takes over and we have something.....

The question is 'who is we?' Is it the individual programmer or a company who wants to make tons of money on their apps? It seems from the research that Oracle has plenty of individuals saying they want it but is having a hard time getting assurance from enterprises that it would be adopted.

Also as others have said, email him and voice your reasons, they WANT to do it, I think they are scared no one is going to want it, which again seems a little ... If we make ourselves heard we can hopefully bring forth change!!!

Before the rally cry, you first need to convince folks that it matters and is worth waiting for.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3286
    
    7
Steve Luke wrote:
Paul Anilprem wrote:Besides mouse vs touch, all other differences are temporary.

Only if you think of the PC as a stationary target, which it isn't. It gets better, faster, more storage, higher throughput, better network every couple months.

What you said is true. Desktops will also keep getting better and better. However, I don't know if you noticed the PC sales during this past holiday season, they are saying the sales were substantially lower than expected, specially in the higher end machines. People are hooked on to the cheaper netbook category PC because they can get all their stuff done on such PCs and have no need to spend money for higher end machines.

I don't deny that there wont be applications that need as much power as possible...Movie editors, audio editors, and such. But my contention is that most consumer applications don't need a super computer. Take our mock exam simulator for example or NetFlix app, or Turbo Tax, or ...you get the idea. It is only a matter of time when the mobile devices become as powerful as todays medium end desktops, which are more than enough for what people are doing with them.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Steve Luke wrote:First, I should preface this with the fact that I do not work at Oracle, know Mr. Bair, or have insight into their roadmaps. Just posting my reaction to those quotes...

Jay Orsaw wrote:Na I don't think so at all, sorry to scare you haha, I was trying to post things FOR FX on Mobile, not against it :P.

I know you were, but the effect is the opposite. If a company doesn't have something on their roadmap, it means they don't plan to do it. That is what roadmaps are for. If they planned to do it but didn't want to tie up resources on it they schedule it in 2014 or 2015, far enough to say 'don't think or act on it, but it is gonna happen.'

Before that post he writes this which I bolded in my previous post
The question isn't about whether
or not JavaFX will be on smart phones -- it will be. The question is who is funding
it and who is supporting it

Which sounds a lot like "We aren't funding it, we aren't supporting it, but surely, someone will." If the basics like funding and support are not known than you can't be optimistic about delivery. What was shown at JavaOne was a proof of concept, but not all concepts get delivered. I have a hard time believing Apple would ever let it on their devices since they specifically ban that sort of thing. And if you can't get on iOS it makes it hard to justify it (in my opinion).

Also remember the first part you quoted was from a 3rd party site which should be taken down because it's not legit, as well as Mr. Brair himself saying that isn't true.

True, I included it in my post to put context to the first statement in the Bair quote.

I think the problem is the support for JavaFX and "how many people want it." It kind of sound slike a joke to even ask the question because OF COURSE we want it on mobile. What's the point of these amazing features(JavaFX is really nice) if we cannot use them to their full abilities? It's either Oracle steps their game up, or the CodenameOne takes over and we have something.....

The question is 'who is we?' Is it the individual programmer or a company who wants to make tons of money on their apps? It seems from the research that Oracle has plenty of individuals saying they want it but is having a hard time getting assurance from enterprises that it would be adopted.

Also as others have said, email him and voice your reasons, they WANT to do it, I think they are scared no one is going to want it, which again seems a little ... If we make ourselves heard we can hopefully bring forth change!!!

Before the rally cry, you first need to convince folks that it matters and is worth waiting for.



I agree with you 100%, but I DON'T WANT TO lose hope . It's really sad that they have all these features for mobile, but aren't 100% definite... Yeah they should have something posted, hell I saw someonthing posted for the JDK roadmap to 2021 I think, JDK 12..?

Again, when FX becomes part of the JDK/JRE in JDK8 we will see how much we can get out of the libraries there.


Also isn't there a way to increase the libraries Delvik uses? I mean we create Java Libraries ourselves and import them as "extension libraries" so couldn't they do it on Delvik? Do they not care? As Bear mentioned way in the beginning why would google want to when they already have their lang GO? Idk this situation is sooo sooo sooo dumb, and who is to blame? We can blame Oracle for wanting money for licenses that the other companies don't want to pay for(who knows how much and what the situation is). Besides Oracle was pretty stupid to Sue Google AND LOSE.... Wiki said it was because they tried to copy the Java Lang, but do it sneaky. I read on Wiki that it was because of "9 lines of code" though I'm not too sure... That doesn't help our case anyways....
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Jay Orsaw wrote:Also isn't there a way to increase the libraries Delvik uses? I mean we create Java Libraries ourselves and import them as "extension libraries" so couldn't they do it on Delvik?


Sure, you can add more libraries by providing JARs that get compiled to dex code. But the graphics libraries are very different - they rely a lot on native code. So you can't just include the Swing classes in a JAR and compile them and expect them to work. There would be requirements to re-write the native part of the code. Delvik has a native interface now too, so even that might be possible (I haven't looked and the UI support for it yet...) but there is a significant difference in philosophy in the user interface. It looks like it is hard enough to translate from one to the other that Oracle doesn't want to take ownership and no one else is motivated to do so.

Do they not care?

Who is they? Oracle? They probably care which is why they keep teasing it and trying to keep your hopes up. They just don't care enough to put money into it. Google, MS, Apple? Probably not, they have good solutions right now.

...and who is to blame?

Placing blame is usually useless, but since this Meaningless Drivel, I'll allow it :P
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1671
    
  14

Pat Farrell wrote:
Paul Anilprem wrote:Developing code for parallel processing in Java is hard? Compared to what? To languages that are so cryptic that only a Phd holder can use them?

Compared to languages that hide the complexity for the programmer. Nearly all functional languages do this. Some hybrid languages (Scala, etc.) do this. My problem with multi-core code in Java is simple: Java has the tools (locks, mutex, semaphores) that can be used to write thread safe code, but it exposes them to the application programmer, the ones without PhDs. Its simple to write code in Java that looks like it works...

Which is why some people are pushing Scala + Akka on the (server) JVM as a way of simplifying/wrapping all that thread stuff behind actors, which regular human beings have at least a fighting chance of understanding. I doubt we'll see Scala + Akka as a practical option on Android any time soon, but it illustrates how we might eventually do things on a mobile JVM (or Dalvik) without Java.


No more Blub for me, thank you, Vicar.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

chris webster wrote: I doubt we'll see Scala + Akka as a practical option on Android any time soon, but it illustrates how we might eventually do things on a mobile JVM (or Dalvik) without Java.


Agreed.

The JVM/Dalvik is great technology, and I expect that any follow-on that replaces Java the language will keep the idea. The virtual machine target for compilation idea has been around for four decades, but until the 90s, computers were too slow to accept the overhead. With modern optimizing and JIT techniques, even the small amount of overhead has vanished.
Jay Orsaw
Ranch Hand

Joined: Jun 14, 2011
Posts: 356

Steve Luke wrote:
Jay Orsaw wrote:Also isn't there a way to increase the libraries Delvik uses? I mean we create Java Libraries ourselves and import them as "extension libraries" so couldn't they do it on Delvik?


Sure, you can add more libraries by providing JARs that get compiled to dex code. But the graphics libraries are very different - they rely a lot on native code. So you can't just include the Swing classes in a JAR and compile them and expect them to work. There would be requirements to re-write the native part of the code. Delvik has a native interface now too, so even that might be possible (I haven't looked and the UI support for it yet...) but there is a significant difference in philosophy in the user interface. It looks like it is hard enough to translate from one to the other that Oracle doesn't want to take ownership and no one else is motivated to do so.

Do they not care?

Who is they? Oracle? They probably care which is why they keep teasing it and trying to keep your hopes up. They just don't care enough to put money into it. Google, MS, Apple? Probably not, they have good solutions right now.

...and who is to blame?

Placing blame is usually useless, but since this Meaningless Drivel, I'll allow it :P



From my understanding Java/FX does work on Windows enabled devices, I wouldn't see why not..... Unless their mobile devices are different from the desktop devices..... which I don't think so either...?

Makes sense about the graphic libraries, seems like the more hardcore it is the harder to convert. Simple things I can understand should be doable. We can only hope there will be a better support for it soon....


I agree that Oracle might not want to put the money into it, butr someone also said that about JavaFX on one of the Oracle forum posts to which an Oracle member said that they spent like 11 million on it last year or something like that.



I mean from the OTN links I posted they already said they have it running on both Android and iOS so I'm not sure what the whole deal is... I'm not sure when the info will be released, or if it's just some cute tests that wont ever make it mainstream.


I saw a presentation at JavaOne that included information on how to bundle your Java/JavaFX app for the Apple store, so that's doable today.

As far as Android/iOS support, I spoke with a couple of Oracle people informally (and verified if they would not have a problem with me sharing what was said to me by them), and they say they have the JRE and JavaFX running on both devices/OSs in the labs, but the management has not made a decision yet if they want to go down that route or not. Worries about eating into their other profit centers (ADF, etc.), and if there was truly any real (vs. just talking about it) demand for iOS/Android support.

So I'd suggest making your voices heard to Oracle, if you think being able to write a JavaFX app on Windows, Mac, Linux, micro-hardware, AND iOS / Android, would be a good thing or not. Personally, I think that would be a game changer and a no-brainer.



this is what's REALLY confusing... They say they are doing it in the lab, but then say they don't know if they will go that route? What's the point of lab tests if you're not going to release it.. MEHEHE....

https://forums.oracle.com/forums/thread.jspa?threadID=2448461&tstart=0


"Oh hey guys we are lab testing and spending tons of money, and we see you obviously want support, but we aren't sure you really do...."

It's like when someone tries to get a stadium all hyped up and says "I cannot hear you" and then it explodes.......
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61103
    
  66

Jay Orsaw wrote:What's the point of lab tests if you're not going to release it..

Hundreds, perhaps thousands, of things are tested in labs for every one that ends up making it to a real product.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Bear Bibeault wrote:Hundreds, perhaps thousands, of things are tested in labs for every one that ends up making it to a real product.

More than a few things get millions of dollars of research, development and testing and finally make it out as a real product and get killed quickly.
See Microsoft Kin, Logitech Google TV, Google Wave, Google Media Q

IMHO, when Oracle says that JavaFX is not on the roadmap, its "He's dead, Jim"
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 41621
    
  55
Pat Farrell wrote:"He's dead, Jim"

That, in a nutshell, is the answer to the first post in this topic. Maybe phrased this way it'll get through :-)


Ping & DNS - my free Android networking tools app
Deepak Bala
Bartender

Joined: Feb 24, 2006
Posts: 6661
    
    5

The situation seems ripe for a disurptive technology that can provide WORA for mobile.


We will never get there. EVER. There are a couple of good reasons for this.

1. Any framework that provides WORA for mobile is playing catch up with native features. The app experience also suffers.
2. Bug fixing UI elements is delegated to a third party, which developers will not be comfortable with.
3. Performance.
4. Players on the mobile space have diverse APIs.

Java's initial foray into the mobile space was a failure (J2ME). Android on the other hand is doing pretty well. So is the iPhone platform. These are the dominant players on the smart phone market right now. The only pragmatic way I see to have WORA for mobile is for one player to eclipse all the others. That way you write once and dont worry about other platforms since they dont exist or are doing so badly that they are downright invisible


SCJP 6 articles - SCJP 5/6 mock exams - More SCJP Mocks
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Deepak Bala wrote:
. ... The app experience also suffers....
The only pragmatic way I see to have WORA for mobile is for one player to eclipse all the others.


The poor app experience is why WORA was a failure from the start. That whole minimal common subset....

We had one player eclipsing all others on the desktop: Windows. Sun's major press behind WORA was to let folks run on Windows and Macs and Sun. They failed.

While today we have only two players, IOS and Android, there are two others that might become players: Windows Phone and Ubuntu for Phone. Both of these last two seem to have well thought out UI designs, but currently have zero market traction. It simply is not in Apple's nor Google's interest to encourage WORA, they want the lock-in. Its not clear that they really care about third party developers, they want you to use their mail, browser, map, and stores. Eco-system lock-in, which admittedly, was exactly what Sun was fighting when they created the WORA marketing spin.
ankur rathi
Ranch Hand

Joined: Oct 11, 2004
Posts: 3830
Not Java, but Oracle's ADF claims to provide WORA thing for mobiles (Android, iOS).

http://www.oracle.com/technetwork/developer-tools/adf/overview/adf-mobile-096323.html

While I haven't used ADF much but I think it could be good for utility types of apps (like banking apps, ticket booking apps) which has basic UI, surface some information and basic transactional in nature...
I don't think it can be used for games, hi-fi UI apps...

Still looks promising to me for Enterprises - and it's from Oracle too (given the fact that big organizations trust mostly two vendors: IBM and Oracle)...
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1671
    
  14

ankur rathi wrote:Not Java, but Oracle's ADF claims to provide WORA thing for mobiles (Android, iOS).

http://www.oracle.com/technetwork/developer-tools/adf/overview/adf-mobile-096323.html

While I haven't used ADF much but I think it could be good for utility types of apps (like banking apps, ticket booking apps) which has basic UI, surface some information and basic transactional in nature...
I don't think it can be used for games, hi-fi UI apps...

Still looks promising to me for Enterprises - and it's from Oracle too (given the fact that big organizations trust mostly two vendors: IBM and Oracle)...

You have to watch out for Oracle changing the licence terms e.g. for the runtime, as they did years ago with BC4J, the predecessor to ADF. The proprietary lock-in might be enough to put developers off, although I guess if they're coding for Apple devices they've already swallowed that pill anyway!
Johny Lee
Greenhorn

Joined: Dec 14, 2012
Posts: 4

The future of smartphones depends not only with Java, there are other aspects of consumers looking in to such as:
1. Flexible Screen
2. New Operating System
3. Say goodbye to car keys

Samsung’s idea, Google and Motorola are currently working on their next ultimate ‘X Phone’, which evokes curiosity from public all over the world.
Paul Anilprem
Enthuware Software Support
Ranch Hand

Joined: Sep 23, 2000
Posts: 3286
    
    7
Pat Farrell wrote:
Deepak Bala wrote:
We will never get there. EVER. There are a couple of good reasons for this.
...
. ... The app experience also suffers....
The only pragmatic way I see to have WORA for mobile is for one player to eclipse all the others.


The poor app experience is why WORA was a failure from the start. That whole minimal common subset....

We had one player eclipsing all others on the desktop: Windows. Sun's major press behind WORA was to let folks run on Windows and Macs and Sun. They failed.

While today we have only two players, IOS and Android, there are two others that might become players: Windows Phone and Ubuntu for Phone. Both of these last two seem to have well thought out UI designs, but currently have zero market traction. It simply is not in Apple's nor Google's interest to encourage WORA, they want the lock-in. Its not clear that they really care about third party developers, they want you to use their mail, browser, map, and stores. Eco-system lock-in, which admittedly, was exactly what Sun was fighting when they created the WORA marketing spin.


I realize that this has been discussed to death in this topic but just wanted to share what I learned over the past week while investigating this.

WORA on mobile is most certainly not dead. It is in fact a very popular thing and is being done since 2008 using JavaScript and HTML5.

The most developer friendly stack seems to be mgwt+gwt+phone-gap.
This presentation by Daniel Kurka was an eye opener.

So much for "we will never get there, ever" claim

Of course, folks claiming WORA is dead will probably continue holding that belief

Java, on the other hand, seems to have lost its place in the mobile world for sure. JavaScript and HTML 5 have taken over its throne.
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4650
    
    5

Paul Anilprem wrote:Java, on the other hand, seems to have lost its place in the mobile world for sure. JavaScript and HTML 5 have taken over its throne.


They have taken over the client-side stuff that Java applets tried to be in. I have not seen any evidence that they have displaced any of the standard Java/Tomcat/JSP/servlet code for high volume websites. There are a few folks talking bout JavaScript on the server. I not heard of any HTML-5 use on the server.

While "client-server" was all the rage in the early 1990s, these days we are doing more of it, and more successfully than it was ever dreamed 20+ years ago.
 
wood burning stoves
 
subject: Smartphones and the future of Java