The Question Isn't Where, It's When...
The CTO of a big media company presented me with a challenge recently, which gave new meaning to the word "convergence." I thought I'd use his story to put into context what Sun announced today at JavaOne (what's become the world's largest open source developer conference).
First, his business model: his employer was paid every time an item in their content library (say, a new first run movie) was displayed to a user. Independent of whether the user viewed the content on a satellite network, a cable set top box, via DSL on a home PC, through an in-car navigation system or airline seatback (you get the drift, the network is the movie theater). He wanted to reach as many consumers as possible, wherever and whenever he could.
That said, for every movie he added to his library, he had to encode the file into a dizzying array of file formats. Some 20 or 30 if he wanted to reach all his audiences - across PCs, phones, set tops, game machines, etc. The format proliferation was costing him a
fortune in storage, and the complexity and expense of encoding and decoding the various media streams was driving his computing purchases at an incredible clip. 1,000,000's of subscribers, 10,000's of titles and 100's of devices and file formats - the multi-dimensional matrix was exploding, yet, as he pointed out, delivered no real value to his customers. Customers don't care about movie formats, they care about movies.
Reciprocally, advertisers don't care, either - they care about reaching consumers, not devices.
And if you wanted to know my three sentence summary of the global battle, the battle to reach consumers that fed this challenge and spawned the focus behind what we're announcing today at JavaOne, it's this:
1. Businesses want direct relationships with their consumers - the internet provides access and opportunity.
Whether you're a media company showing a movie, a car company running an ad, a global telco or a startup presenting a new network service - the internet has become an obvious vehicle to engage consumers. And not just on PC's - looked at globally, phones matter more in this debate than PC's. Why? Because most of the world already experiences the internet through a phone. Today. And may never own a traditional PC.
2. Technology companies enable the devices through which enterprises connect with consumers.
These companes come in two basic forms: consumer electronics companies, building phones and set tops and nav systems and PCs - frustrated by the format wars described above; and more valuably (at least to Wall Street), a small number of technology and service companies aggregating consumers in front of those devices.
3. The largest and most powerful technology companies are using their products and services to disintermediate businesses that want direct relationships with consumers.
And therein lies a market opportunity for one of these:
What is it?
It's a phone running Sun's new JavaFX Mobile software, a member of the JavaFX product family we announced this morning.
What's JavaFX? It's a software product from Sun that allows any consumer electronics manufacturer to accelerate the delivery of Java/Linux based devices, from phones to set tops and dashboards and everything else imaginable. Without fear of format lock-in or disintermediation from a competitor. JavaFX is a product (not simply a technology), built on Java Standard Edition (the Java platform running on your desktop computer), that unites billions of Java SE and Java Micro Edition devices (Java Micro Edition is what runs on most of the world's mobile handsets).
JavaFX provides a complete and fully open source platform for device manufacturers, content owners and service operators wanting to reach consumers with interactive content - and control their own destiny.
In the eyes of the consumer, devices are converging - where you want to watch a movie, play a game or connect with friends - or where an advertiser seeks to reach you - presents a less interesting question, today, than when. You can watch a movie in your living room, on a big flat panel display. But when you leave for work, you'd prefer to use your mobile to watch the last 15 minutes on the subway. On the way to work, an advertiser might want to reach you on a billboard or taxitop, or insert an ad into the video stream you're watching. And once at work, you might want to join a fan network or write a review (on your lunch break, of course). Consumers (like advertisers and operators) want the experience to be simple, secure and coherent. And device independent.
Sound familiar? It is - this was the original vision behind the Java platform - Write Once, Run Anywhere. For software. And with the convergence of media and application formats, and the rise of open source software (think about it - Linux and OpenSolaris are
the ultimate in user generated content), the market seems ready. We can deliver a complete product, OS and all, that eliminates the risk of fragmentation among network clients, accelerates the availability of Java/Linux devices, fuels the free and open source developer community - and already has the mass and momentum to reach the global consumer.
JavaFX radically lowers the bar to building a Java technology enabled device - and radically lessens the expense and complexity of reaching consumers. Backed by a company with no agenda to disintermediate content owners, and every interest in propelling the open source community (every portion of the content Sun contributes to the JavaFX product and community will be via the GPL license, at the core of Java and GNU/Linux).
But that's not all we announced. Although the Java platform has been technically effective over the past decade, in opening markets and creating value, it's been the province of... well, folks who could sling Java code. Highly technical individuals who saw themselves as software developers - not web authors or creative professionals. And that changed, today, too.
JavaFX Script is a simple scripting language designed to bring the benefit of the Java platform to creative professionals and web authors - independent of the device or audience they target. JavaFX Script adds to the list of languages already supported in the Java Virtual Machine, from PHP and Ruby, to Javascript and JavaFX Script - and brings the power, security and extraordinary popularity of the Java platform to those at the forefront of convergence: those defining interactive content for consumers.
You can get more detail here, but the focal point of JavaFX Script isn't simply to enhance the Java platform - it's to amplify Java's role on the consumer internet, unify content and devices, and extend the reach and value of the
billions of existing Java runtimes in the marketplace. All of which will be JavaFX Script enabled. The intent is simple: to stake the Java community's natural claim to lead the debate surrounding rich internet applications at the heart of Web 2.0.
With the rise of JavaFX, JavaFX Script, JavaDB, Glassfish and NetBeans - there should be no doubt where we're headed with Java. Everywhere.
Or when we're heading there.
Right now.
Posted on 07:35AM May 08, 2007 | Comments[42]


























Posted by Scott Stonehouse on May 08, 2007 at 07:54 AM PDT #
Posted by Simon Brocklehurst on May 08, 2007 at 08:34 AM PDT #
Posted by Ed Dodds on May 08, 2007 at 08:59 AM PDT #
Posted by Global Neighbourhoods on May 08, 2007 at 09:03 AM PDT #
Posted by Wayne on May 08, 2007 at 09:22 AM PDT #
Posted by Ravneet on May 08, 2007 at 09:33 AM PDT #
Posted by David on May 08, 2007 at 09:46 AM PDT #
Posted by Bill_Wizo on May 08, 2007 at 11:30 AM PDT #
Posted by Suresh Kumar on May 08, 2007 at 11:43 AM PDT #
Posted by Chris on May 08, 2007 at 12:16 PM PDT #
Posted by Serge on May 08, 2007 at 01:19 PM PDT #
1. JavaFX does not yet have a clean GUI Editor like Matisse (desperately needed, designers cannot deal with the syntax)
2. JavaFX at first sight does not seem to be a strongly typed language, this is probably going to be sold as a + for non-developers, but it is going to be a pain in the neck to create a good clean IDE with intelli-sense (like Flex Builder) for JavaFX because of the loose typing. And without good support developers are going to messup and blame it on JavaFX.
3. The Swing Default Look And Feel sucks (the best word I can come up with). People create a new UI with JavaFX - the default look and feel is going to look like shit and this will get blamed on JavaFX and hence propagate the reason why Java GUIs did not catch on.
The bottom line, JavaFX has not really addressed the real issues why Java on the Desktop did not work - Sun does not understand good Look and Feel and so the saga is going to continue.
It is not too late to fix it though. Here are a couple of simple steps
1. Hire a good design team to make Swing's default look and feel look good.
2. Ask the Netbeans team to design a GUI Editor with the same kind of support for the developers/designers as Flex Builder - but here is the catch allow them to tweak the JavaFX language.
Posted by Pramod Chandersekhar on May 08, 2007 at 03:44 PM PDT #
Posted by Jay on May 08, 2007 at 04:27 PM PDT #
Posted by a java guy on May 08, 2007 at 04:32 PM PDT #
Posted by Bob on May 08, 2007 at 05:27 PM PDT #
I agree that it is photoshopped, but from hanging around the OpenMoko developers, it seems that Sun developers have one of the developer phones, and do have Java (and JavaFX?) running on it. They probably didn't have to write much device-specific code -- the phone runs standard ARM Linux binaries.
- Chris.
Posted by Chris on May 08, 2007 at 10:01 PM PDT #
Posted by Search Engines WEB on May 09, 2007 at 12:06 AM PDT #
And does the Java FX Mobile interface need to be so... iPhone-like??
Posted by LaxmanB on May 09, 2007 at 03:04 AM PDT #
Posted by WhatNeedsToBeDone on May 09, 2007 at 03:57 AM PDT #
Posted by Vaughn Dickson on May 09, 2007 at 06:12 AM PDT #
Posted by José Eduar Yaima on May 09, 2007 at 08:50 AM PDT #
Posted by Carlos Barbosa on May 09, 2007 at 11:15 AM PDT #
Got ready message: AT-Command Interpreter ready
1200485: ResponseManager.init done
PhoneSvcProc:channelInit: starting connection
sendToPhone: wrote ATE0
RX ATE0
RX OK
1200551: PhoneSvcProc: Initializing PhoneConnectionPool
1200558: PhoneSvcProc: phoneStartup
sendToPhone: wrote AT+CMEE=1
====== Locale = en_GB_TW
====== Timezone = Asia/Hong_Kong
RX OK
sendToPhone: wrote AT+CMER=2,0,0,2,0
RX OK
sendToPhone: wrote AT+CIND=5,1
Starting Display: [Lcom.savaJe.grl.DisplayMode;@6410e6e8
default mode=0
modes=[Lcom.savaJe.grl.DisplayMode;@6410e6e8
Setting mode
Setting up display for double buffering w/h=480/640
RX OK
sendToPhone: wrote AT%CGREG=2
RX OK
sendToPhone: wrote AT+CSCS="HEX"
RX OK
sendToPhone: wrote AT%CPI=2
RX OK
sendToPhone: wrote AT%CSTAT=1
RX OK
sendToPhone: writing AT%SATC=1,3FDFFF7F7F03005F63000200000A920600
RX OK
sendToPhone: wrote AT+CLIP=1
RX OK
sendToPhone: wrote AT+CREG=2
RX OK
sendToPhone: wrote AT+CFUN=1
RX %CSTAT: PHB, 0
RX OK
You may notice some SIM Toolkit initialization in there - one benefit of an all Java Phone Service is that it ports pretty quickly and it is a very complete implementation so things like CPHS, SIM Toolkit and a lot of supplementary services are already supported.
Java FX Mobile is very real and I am very excited to working on it. If you go to http://java.sun.com/javaone/sf/sessions/general/index.jsp#TS and watch the "Deep Dive Part 4" from Bob Brewin's keynote you'll see three handsets running Java FX Mobile including a demonstration of telephony on the Neo 1973.
Posted by Noel Poore on May 09, 2007 at 11:30 AM PDT #
Posted by Gil on May 09, 2007 at 01:06 PM PDT #
JavaFX in this configuration makes sense to me but hopefully, it'll make cents to everyone involved and can actually build a market.
Posted by lar on May 09, 2007 at 02:11 PM PDT #
Thankyou, you wonderful developers, I'm looking forward to being able to write simple business client applications based on open standards that can run on phones, the desktop and on webclients with minimum effort.
I have one request, can you create a standard expansion port interface for phones?
With the ability to connect the phone to your car kit with a 7inch display on the dash for map navigation, movies, business apps etc. For home or office, a docking station with a large display, keyboard and mouse (without the need for a PC!) for internet apps etc... or where ever else one so desires, with one plug!
Posted by Peter Firmstone on May 09, 2007 at 04:34 PM PDT #
Posted by Gary on May 09, 2007 at 05:46 PM PDT #
Posted by Azrul on May 09, 2007 at 08:33 PM PDT #
Posted by evden eve nakliyat on May 10, 2007 at 01:17 AM PDT #
Posted by CamelotAkademie.de on May 10, 2007 at 05:34 AM PDT #
Posted by Chris on May 10, 2007 at 03:55 PM PDT #
Posted by 65.91.114.3 on May 11, 2007 at 12:18 AM PDT #
Dear Jonathan Schwartz,
(Please feel free to suppress this comment if it is overboard or inconvenient.)
You are nice guys. Very nice guys. And your attorneys need to say just that in their safe harbor statement.
I watched the Java FX web casts of Java One after seeing the picture of the phone in your blog. The phone looks great. If I understand right, it is not a phone, but a computer wrapped up in a mobile phone frame. This computer aka phone features a complete software system as in a desktop or notebook? With such features as the ability to make phone calls thrown in?
If Sun is the first company to come up with this "complete operating and application environment in a mobile phone", complete with multitasking, drag and drop interoperability with the desktop, then it is not another phone, it is a DISRUPTIVE innovation.
That makes Java FX mobile a very valuable property, together with the Java name.
Looks like Sun is giving it all away. Sun has opened up the phone for OEM licenses, open sourced Java FX mobile platform. It may have its own revenue model, but I really can't understand how it works. Sun has been hugely successful in its mission to open up technologies. I am overwhelmed to watch the success of your attempts to usher in the participation era. The participation part of open source is amazing, but the business part of Open Source is evolving.
Open source is 20, 25 years old, and the world has been doing business for 5000 years on a certain model, so open source is a new born. I would embrace, may be even nurture Open Source, but with a bit of caution, caution that it is a new religion founded yesterday. I would wait and observe how it evolves during the next 200 or 300 years (not 2000 or 3000 years, because and only because, it happens to be the computer industry which progresses swiftly) before dismissing models such as proprietary models of business as anachronistic. A company such as Sun Microsystems that takes a lead in Open Source may have to be exemplary in its adoption, but still needs a bit of balance...
It is Ok to have open sourced Java FX script and Java FX mobile. It is Ok to have opened up the phone for OEM licences. But if I owned as many as one share of Sun Microsystems I will ask you to give me one good reason as to why you are not making the phone in-house or by outsourcing to a company like Ericsson. I will ask you to give me one reason as to why you are not introducing it as a product of Sun Microsystems as Java Phone, called Java Phone, branded Java phone. There is so much money in phones with its 10 digit user size. Sun has everything. All it takes is a good copywriter to write a headline and a baseline and some body text to sell half a billion Java phones a year.
Apart from money, another argument is that it is a disruptive technology that takes the OWNER to take the lead. If a third person buys a license he may not make a phone with the kind of display and memory and processing power as your phone developers would like to see.
The first Java phone has to be from Sun, rest of the world may buy licenses to make more phones, but not the Java Phone called Java Phone...
Posted by Sivasubramanian Muthusamy on May 11, 2007 at 03:06 PM PDT #
Posted by 59.178.75.127 on May 13, 2007 at 12:36 AM PDT #
Posted by alexifa on May 13, 2007 at 03:25 AM PDT #
Posted by gr33n on May 13, 2007 at 11:38 AM PDT #
Also, please consider the synergies between JavaFX script, Project Looking Glass and Project Indiana. Maybe you can think of releasing a coherent, easy to use, desktop edition of the JavaFX family?
Again, if you want developers, device manufacturers, service providers and consumers to take Sun seriously in the consumer software business you need to invest appropriately, have the appropriate organizational structures and, most importantantly, listen. As a long time ex-Sun employee I have seen too many half-hearted attempts with Java Desktop system, Java station, picoJava etc.
Posted by smathew on May 14, 2007 at 06:43 AM PDT #
Posted by ThunkDifferent on May 14, 2007 at 09:34 AM PDT #
Posted by Kevin on May 14, 2007 at 11:23 PM PDT #
Posted by shamil on May 14, 2007 at 11:52 PM PDT #
Posted by Bob B. on May 17, 2007 at 08:29 AM PDT #
http://www.theregister.co.uk/2007/05/18/htc_new_strategy/
Posted by smathew on May 18, 2007 at 07:31 AM PDT #