SitefinderOracle and Sun
Secure Search

»  Contrarian Minds Archive
Mind-Bendingly Cool Innovation

JavaFX for Rich Internet Applications

By Al Riske

02.December.08 -Chris Oliver is nothing if not honest and plain spoken.

For years he was the lone coder behind a project that would become JavaFX, though at the time he was calling it F3 to signify form follows function.

His motivation?

"To be honest," he says, "the motivation was I couldn't get along with my boss."

This was at SeeBeyond, a company doing business integration software (a company that would soon be acquired by Sun).

"We'd just had a big release at SeeBeyond and I told my boss, 'Look, if you want me to help with the next product cycle, I need to be involved from the beginning. I don't want to be stuck in there at the end trying to firefight,' which is what always happened. He told me, 'That's fine. You don't have to be involved.' So I thought to myself, 'Okay, fine. I'll just find something else that no one is doing, and I'll try to pick up the ball and carry it.'"

"It's mind-bendingly cool."

James Gosling
Sun Fellow
Sun Microsystems

 

The project Oliver chose to run with was somewhat different for a company whose bread and butter was integrating disparate enterprise systems.

He wanted to do more to integrate human beings.

Oliver
Chris Oliver with James Gosling

"When it comes to integrating people into business processes, you need graphical user interfaces for them to interact with," Oliver says. "So there was a use case for graphics in the enterprise application space, and there was an interest at SeeBeyond in having richer user interfaces."

He started by checking out the tools available for creating interactive content.

"I looked at Adobe Flash and, having used Java, there were a lot of things that were unsatisfactory to me about the experience of using Flash," Oliver says. "Their programming models were around XML and JavaScript. My feeling was XML was not something you should be using as a programming language. I wanted a real programming language. Something with variables and subroutines and all the things we're used to. XML is a just a markup language. It doesn't have concepts like functions and variables."

Six months later he had created a programming language (now known as JavaFX Script) and built a prototype.

Then Sun bought SeeBeyond and, Oliver says, the new owners initially showed little interest in his project.

"I thought to myself at the time, 'Maybe what I'm doing is worthless.' Then I thought, 'Well, if it's worthless, that means there's something else that's already available that's better or at least good enough,'" he recalls. "I considered the possibilities. What is there? There's Swing and Java 2-D. There's Flash. There's Microsoft XAML. (It wasn't called Silverlight at the time.) And I thought, 'These are less satisfactory than what I'm doing. Therefore I will continue.'"

"One of the great things -- perhaps the greatest thing -- about working for Sun is that you never quite know when our engineer-driven culture is going to deliver something revolutionary."

Bryan Cantrill
Distinguished Engineer
Sun Microsystems

 

What finally rescued his project from obscurity came as a surprise to Oliver. He saw that Sun was encouraging folks to write blogs, so he decided to see what all the fuss was about.

"I was like, 'Oh, Sun has weblogs. Maybe I'll try out creating a weblog. I put a description of who I was and where I came from and what I was working on. The next day it had massive hits. It got picked up by some syndication site."

He also got a big boost from the father of Java technology, who wrote about what Oliver was doing in his own blog, James Gosling: on the Java Road.

In an entry called "F3: a whole new take on scripting," Gosling wrote: "If you like scripting, you should take a look at Chris Oliver's weblog. He mostly discusses a scripting language that he's been working on called F3. It's mind-bendingly cool. It's a client-side scripting engine, rather than one of the usual server-side languages. It's designed for doing very graphically cool applications. He's got lots of demos in is blog, mostly directly runnable. In particular, you really must run through his interactive tutorial. The most mind-bendingly cool feature (and a little tricky to understand) is F3's dependency-based evaluation. Magic. Have some fun with it."

Oliver's work would also garner high praise from Distinguished Engineer Bryan Cantrill:

"One of the great things -- perhaps the greatest thing -- about working for Sun is that you never quite know when our engineer-driven culture is going to deliver something revolutionary that no one really funded or asked for. This kind of spontaneous, self-organizing technology revolution happened with Java, with LookingGlass, with SunRay, with Solaris technologies like DTrace and ZFS -- and it seems to be happening again with a Java-based technology called F3."

"I looked at Adobe Flash and, having used Java, there were a lot of things that were unsatisfactory to me about the experience of using Flash."

Chris Oliver
Senior Staff Engineer, Software
Sun Microsystems

 

With that, Oliver decided he wasn't crazy after all. He was definitely on to something.

Always supportive, Distinguished Engineer Bob Brewin set up some meetings, and Oliver soon found himself making presentations to higher ups such as Sun CTO Greg Papadopoulos.

The project was renamed JavaFX and announced at the JavaOne conference in 2007.

"Everything that existed at that point was written by me," Oliver recalls.

All he needed now was a small team to help and the project could really take off.

"I told my manager, 'Look, what I really need is three or four people to help me, people I can give direction to, people who will do the things I would do so it can get done faster.' And he goes, 'You do not get to decide resources, and you do not get to tell people what to do.'"

"At the end of the day everything is measured by usability. The way you measure usability is by performance of the user. If the user can get his task done faster with your product, then your usability level is higher."

Chris Oliver
Senior Staff Engineer, Software
Sun Microsystems

 

Oliver remains remarkably sanguine -- more amused than angered by the experience.

"It's human nature. Middle management is risk averse," he says. "But I think Sun actually has a healthy culture, a culture of innovation, with a strong individual contributor track."

Oliver
Chris Oliver, Anthony Rogers, and Bob Brewin

"My thing was 'Let's work together to kick Adobe's butt.' It was always like that. I was never, 'My stuff is better than your stuff.' I thought it was all the same stuff. Java stuff," he says.

"So me and Gerard [Ziemski] went off and built the next version of JavaFX, which was demoed at JavaOne this year. The keynote demos were all running on top of our stuff. So it was written by two people."

And new leadership gave Oliver more help to take JavaFX to the next level as quickly as possible.

"You can't claim victory. You have to actually achieve victory."

Chris Oliver
Senior Staff Engineer, Software
Sun Microsystems

 

Oliver will be the first to concede that JavaFX is not yet a world-beater.

"At the end of the day everything is measured by usability. The way you measure usability is by performance of the user. If the user can get his task done faster with your product, then your usability level is higher. Even if you have an ugly GUI and no documentation, if they got the task done faster, yours is better," he says.

"To get high performance for graphics, you have to have hardware acceleration. The vast majority of today's consumer hardware has graphics processing units, GPUs, and it's essential to do real media. To do the kind of media Hollywood and everyone else down the food chain wants to do, you need high-performance graphics. To get that you have to use the graphics processor. Not leveraging the graphics processor is a mistake -- a mistake that is currently in play across the internet. Your typical web browser, Flash, Silverlight -- none of them are GPU accelerated. Basically your GPU is sitting there idle until you play a 3-D video game. So what we're trying to do is fully leverage the GPU, and it's not just about the desktop and the Internet, the mobile phones these days, a lot of them have GPUs."

Next steps?

"For us, a bunch of tedious work -- what I wanted to do but was obstructed for the last several years. Now I won't be obstructed, thanks to the new management. Now the path is open for us to walk down it, but we have to actually walk down it," he says.

Clearly proud of what he's been able to do almost single handedly, Oliver is nonetheless a big believer in teamwork. Always has been.

"What is teamwork about?" he asks. "It's about people coming together and thinking that, by assisting each other, supporting each other, it's going to be beneficial. Everything we do, we do for selfish reasons, but when you're part of a team you realize that what's best for you is for the overall team to be successful."

Chris Oliver

Title: Senior Staff Engineer, Software, Sun Microsystems.

Education: Though his father was a professor at MIT and his stepmother was a professor at Harvard, Oliver chose not to attend college. ("When I was in high school I was a rebellious teenager, and the last thing I wanted to do was go to college and be lectured by such people.")

Background: Went to work at a Casino in Minnesota at age 19, taught himself to program, worked as a subcontractor for a while, then landed a job at a small startup called SeeBeyond in Los Angeles, where he worked his way up to senior staff engineer. In 2005, SeeBeyond was acquired by Sun.

Honors: Sun Chairman's Award for Innovation in 2007.

Quote: "You can't claim victory. You have to actually achieve victory."

What Others Say: "It's mind-bendingly cool." - Sun Fellow James Gosling on Chris Oliver's "whole new take on scripting."

What Others Say, Too: "Just ran across your F3 posts -- very cool stuff! And while it's quite orthogonal to the work that I have done and am doing, it's always great to see innovative software -- regardless of its domain." - Distinguished Engineer Bryan Cantrill in an email to Oliver

Last Book Read: How the Mind Works, by Steven Pinker.

Favorite Food: "I like all food except seafood. I hate seafood. I grew up by the ocean and it always smelled fishy. I didn't like it."

Favorite Movie: Kung Fu Hustle.

Pet Peeve: Greedy people.

Childhood Ambition: "When I was a kid it was all about what I didn't want to be. I definitely never wanted to be a computer scientist."

Little-Known Fact: "I grew up in an environment where it wasn't social drinking and social drug use; it was chronic. So it was either hang out with the people who get high all the time or hang out with the people who don't drink or get high at all. I chose the latter."

Favorite Destination: "To be honest, my house is better than any resort. I live in L.A. The weather is always nice. I have a pool. I have my refrigerator stocked with everything I like. I have cable with all the channels. If I have to go to a hotel I get less. Not that I'm super rich. I don't have a mansion."

Biggest Challenge: "Getting my kids to grow up healthy and happy."

Perfect Day: "A day off from work. It's not a joke. I've been working seven days a week for the past four years, with a rare week or two for vacation every other year or so. If I didn't go to work, nothing happened. There was no progress. Now I have a team that will make progress without me."