Betting on JavaFX Is a Bad Bet Indeed

In the last few months, Adobe, Sun, and Microsoft have all had major announcements around their platforms for developing rich Internet applications (RIA).  Adobe, the current market leader in the RIA space with their combination of Flash and Flex, has recently been promoting the Air product that will allow Flex applications to hook into the desktop.  Microsoft has announced their Silverlight technology with a focus on integration with scripting and .NET languages and a strong focus on high quality video and audio experience.  Right after the Silverlight announcement, in what seemed like a knee jerk press release, Sun announced the Java FX technology to ostensibly compete in the space.  There are two motivators that are really driving interest in these technologies: better media (e.g. audio and video) experiences and better online/offline experiences.  Adobe and Microsoft get this and these drivers have been at the forefront of their offerings.  Sun hasn’t gotten the message.

Flash has been around for a long time and is installed and active on almost every browser, it seems most of the major video sites (e.g. YouTube) are currently using Flash as their RIA platform and the Flash 9 player has some new video/audio codec supports as well as support for ActionScript 3 that meets the ECMAScript specification (basically JavaScript).  Flash/Flex are mature, have solid tools, great documentation, a vibrant community and a huge installation base.  Flash/Flex has first mover advantage in the space.

Silverlight has just released their 1.0 and has gotten a ton of press.  From the development side, the combination of JavaScript and XML to create applications feels a lot like building applications with Flex.  Silverlight has also been designed to hook into .NET languages including IronRuby and IronPython and is really focusing on high quality audio and video experience.  For some cool examples of the technology check out a visual search engine, tafiti.com or the live streaming television broadcasting application LiveStation.  There is cross-browser and cross-platform support for the toolkit.  Not a huge community or install base just yet, but the technology is easy to install (about 4 MB download), easy to develop with, produces a fast and clean user experience, and the easy hook in to .NET languages plus its inevitable preloading into base Windows installs means that these communities will build up fast.

JavaFX is basically a nicer way to write applets.  There is no focus on offline applications, no focus on media, and a small effort on reducing download sizes.  Really nothing very interesting or new from what Java developers have had before.

It seems no one at Sun has ever read The 22 Immutable Laws of Marketing[1].  Let’s look at how many of the marketing laws Sun is violating.

  • Law of Leadership – Being the first to market.  Sun actually had an opportunity 10 years ago when applets were starting to be built.  But while they may have been first to market for embedded applications in a browser, they let Adobe Flash be the first into the easy to install browser plugin for media applications.
  • Law of Mind and Law of Perception – Java GUI applications are thought of as being big, slow, and ugly.  By including the term Java in the JavaFX name, people will clearly associate JavaFX applications with those terms as well.  Sun should rebrand.
  • Law of the Ladder/Law of Duality – It is very hard to change market position.  And if you are not one of the top two players in a market, you need to find a new market.  JavaFX will not be in the top two, they need a new market.
  • Law of Line Extension – Another problem with Java, the brand is so generic and means so many things that you don’t know what it is.  Java ME, Java SE, Java EE, JavaFX.  They all leverage the Java brand, but are all wildly different products.  (Sidenote, Sun’s changing their NASDAQ stock ticker symbol to JAVA continues these violations)
  • Law of Resources – Adobe is going around with their Adobe AIR tour.  Microsoft is partnering with a bunch of big media players (e.g. check out http://silverlight.net/Showcase/ for samples for WWE, CBS, MLB) to work with Silverlight.  Sun spent some money on a press release.

For JavaFX to be a success, for their to be a community, I would recommend the following:

  • Figure out what market segment you are solving problems for.  Do you want to be in the consumer RIA space or should the focus be on RIA applications developed within corporate intranets?  Where Adobe and Microsoft are focusing on the consumer space (explaining the drivers of media and online/offline play), perhaps Sun could focus on a different problem space with different needs.
  • Stop with every name starting with the Java brand!  Get some differentiations with product names so people know what they are talking about.
  • Come up with a real roadmap for the technology and let the development community know it is a core part of Sun’s development path, not a one off project.

[1] EVERYONE should own this book.  It’s $10, will take an hour to read, and will change your view of how you look at your company and business.

8 thoughts on “Betting on JavaFX Is a Bad Bet Indeed


  1. Hmmm… you say “There are two motivators … and better online/offline experiences. Adobe and Microsoft get this …”

    Yet, Microsoft’s Silverlight does NOT support offline. Are you aware of that?

    “Silverlight is designed for Web page content that is connected to its host (it will not work offline)…”

    Source: http://msdn2.microsoft.com/en-us/library/bb428859.aspx


  2. @SWASHBUCKLER
    You are correct, I misspoke. As your reference indicates, Silverlight is the wrong technology for offline communication, Windows Presentation Foundation (WPF) is the correct technology for online/offline communication. WPF uses a superset of Silverlight functionality and I believe that Silverlight was originally a project under WPF until it was spun out on its own. So while not a part of Silverlight directly, it would seem that they have at least been considering this issue.

    That being said, I do think offline/online communication will be a driving force behind developer adoption


  3. > “JavaFX is basically a nicer way to write applets. There is no focus on offline applications, no focus on media..”

    *Not true!* Applets only run in browsers. JavaFX can run on multiple devices and desktops and is a nicer way to develop rich content applications including online media.

    I agree with some of the marketing points, but the race has only just started.


  4. @WARPEDJAVAGUY
    My main point is that JavaFX is a nicer way of building Java applications, but does not by itself add functionality, as opposed to AIR and Silverlight which bring with them significantly new functionality.

    I agree the race is just starting, but Sun seems to be three steps behind already. It is very hard to overcome being the third player in any market, especially a niche market like RIA.


  5. The big difference between JavaFX and Adobe AIR is that you use web technologies (HTML, Javascript, AJAX, Flash) to write AIR application. If you are looking at similar solution to Adobe AIR on Java stack, Dekoh does it.

    Vijay
    Dekoh


  6. Don’t forget OpenLaszlo. 🙂 It’s mature, open-source, cross-platform, and pretty slick. I have to agree with you about JavaFX though. I’ll never forgive Sun for dropping the ball with Applets. Think what the web would look like today if they had been able to make Applets achieve critical mass 12 years ago (God has it been that long?)


  7. @Tim

    OpenLazlo is an interesting toolkit and has been around for a much longer time but there is no way it will get the marketing, publicity, investment from 3rd party integrators that AIR, Silverlight, or JavaFX would.

    The great disappointment to me is Sun’s continual failure to innovate and effectively market the Java language. All of the innovation in Java seems to come from third parties. For example, much of the EJB 3 push came from Hibernate and JBoss who saw a better way. I get irritated when I see other platforms doing more interesting things (e.g. Silverlight and LINQ from Microsoft) and feel that Java is stagnating.

Comments are closed.