|
Interviews Index
With JavaFX 1.0, Sun launches an expressive, rich client platform
for creating and delivering rich Internet applications (RIAs) across
all the screens that consumers use. Building on the proven Java
platform, with an easily leveraged installed base in the billions,
JavaFX offers distinct advantages to web developers, designers, and
Java developers. Designed to enable the easy creation and deployment of
RIAs with audio, video, and other rich media, the JavaFX platform
eliminates complexity and cost by enabling developers and designers to
collaborate more efficiently with a common set of tools across devices
and platforms. JavaFX works across the browser, the desktop, and mobile
screens without forcing developers to write multiple application
interfaces using divergent technologies. Web designers and developers
who have been constrained by the limitations of the browser-based
environment can work with rich media content free of the browser.
A key part of the promise of JavaFX 1.0 lies in JavaFX
media technology, which is designed to simplify the integration of
audio and video media into applications built with JavaFX 1.0. JavaFX
makes it easy to integrate video, audio, graphics, animation, and rich
text. It also supports cross-platform codecs and native video formats.
We met with Tony Wyant, Sun's lead engineer for JavaFX media, to get an understanding of where JavaFX media might take us.
What problems is JavaFX media technology meant to solve?
|
"Instead of video being relegated to a rectangular area within a page with its typical controls, I'd expect to see a lot of very creative new ways that video can be navigated, controlled, and displayed."
Tony Wyant Lead Engineer for JavaFX Media, Sun Microsystems
|
The JavaFX media APIs are designed to make it extremely simple to incorporate audio and video media into applications
built with the JavaFX technology. It should take only a few lines of FX
Script to add audio or video into an application.
What would occur if JavaFX media technology were to take off in the way you envision?
Success would be having the next generation of media sites deploy using the JavaFX media technologies. JavaFX Script offers
a variety of features that afford highly interactive and visually
interesting experiences. With this technology, video would become more
integrated into the application, both in terms of displaying and
controlling. Instead of video being relegated to a rectangular area within a page
with its typical controls, I'd expect to see a lot of very creative new
ways that video can be navigated, controlled, and displayed.
Although there is a lot of audio and video content on the Web
today, there will be much more next year, with rapidly changing media
technology. There are incredible opportunities for new players in this
space.
Comparisons With Flex, Flash, and Illustrator
How does JavaFX media compare with what's available today
with Adobe Flex, Flash, Illustrator, Photoshop, and Microsoft
Silverlight?
It's similar to what's available with Flash and
Silverlight, but we feel that it's better in that it provides both a
cross-platform video format and plays the formats available on the
client machine. The FXM media format can be played wherever JavaFX can
be played. Furthermore, when running on Windows, FX Script can play all
the media formats that Windows Media Player can play, and on the
Macintosh, all the formats that QuickTime can play. This means that you
can encode media into the FXM format, which can be played wherever FX
Script is deployed, and that the same APIs can be used to play content
that is local to the device.
We've tried to strike a balance between having a simple
easy-to-understand API and providing enough features and flexibility to
deliver compelling applications.
Tell us what codecs are supported.
On all platforms, we support our cross-platform format (FXM), which contains On2's VP6 video codec and MP3 for audio. On Windows, we also support a variety of formats and codecs handled by DirectShow, such as wmv. On the Macintosh platform, we offer support handled by QuickTime, such as mov.
On what platforms or profiles will video be supported by JavaFX 1.0 SDK?
Mac and Windows. We're working on getting a Linux and Solaris version out soon.
On what platforms (for example, Mac, Linux, Windows, Solaris) and profiles (desktop and mobile) will On2 be supported?
Currently, Mac and Windows are supported. Linux and
Solaris will be supported in a future release. I'm not sure what the
current plans are for support on mobile.
What can you tell us about the demos and samples that are available?
Not much right now, but many of the JavaFX samples and demos will incorporate video and will be available when we launch the product. Check out the Samples gallery.
Changing the Way Programs Are Created
Developer Joe Winchester, writing about JavaFX in general in JDJ, said:
"My opinion of FX is that it is a technology that could really change
the way programs are created." He said that in programming, "[the] Holy
Grail is to allow the designer to describe the application and its
interface the same way an architect designs a building, and for the
builders and programmers to just make sure the thing doesn't fall down
when it gets windy or too cold in winter." How might this apply to
JavaFX media?
The JavaFX media APIs were designed with other
components in the JavaFX runtime so that they integrate seamlessly into
the user interface. Their attributes and behaviors are described in the
same manner as other JavaFX components, so it's as simple to express
how video is to be integrated as it is a rectangle, an image, or other
graphical objects.
How does enabling media in JavaFX help the Java developer community?
Media has been a missing feature from the Java APIs.
With JavaFX, Java programmers can now incorporate video into their
applications. The underlying media functionality of the JavaFX media
APIs is written in Java, and we plan on releasing this as a Java API in
the near future. In the meantime, integrating Java and JavaFX is
straightforward. Any Java developer doing extensive UI and media work
should consider looking into using FX for those parts of their
application.
What is the most exciting feature of media in JavaFX?
Although the media elements are somewhat simple in
JavaFX, what's most exciting is having them incorporated into the
JavaFX platform. For example, when animations, effects, and
transformations are applied to video, a new dimension is added to the
experience.
Taking Advantage of Media-Encoding Tools
How can developers take advantage of current media-encoding tools to create media that is supported on JavaFX?
For the cross-platform format (FXM), try the Flix
tool from On2 technologies. For the native formats, there are a variety
of third-party tools for encoding content, such as Apple's QuickTime
Pro, as well as open-source projects such as FFmpeg.
Encode Once, Play Anywhere
What's the significance of using the On2 codecs, and when will On2 support be available in JavaFX?
|
"You don't have to encode video separately for the Macintosh and for Windows. It allows the content developer to encode once, play anywhere."
Tony Wyant Lead Engineer for JavaFX Media, Sun Microsystems
|
The On2 codecs offer a high-quality video codec that
is available across all the platforms that JavaFX supports. You don't
have to encode video separately for the Macintosh and for Windows. It
allows the content developer to encode once, play anywhere.
What are the licensing and cost issues for On2?
There are no licensing costs to our end users, though content developers may need to license tools for encoding into this format.
Aside from On2, what are the codecs that Mac, Windows, Linux, and Solaris have in common?
Without adding third-party decoders, there are no common modern formats.
Are there any unimplemented video features on any of the platforms or profiles in JavaFX 1.0 SDK?
There are some features that may depend on the video format and protocol, such as seeking and playing in reverse, which may
not work with all platforms and formats.
See Also
Web Sites
Tutorials
Blogs
|