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, 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 for samples for WWE, CBS, MLB) to work with Silverlight.  Sun spent some money on a press release.</ul> 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.</ul> [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.