1
00:00:00,000 --> 00:00:07,000
We are at Sun's Menlo Park location once again and I guess the Sun living room here.

2
00:00:07,000 --> 00:00:10,000
We've got another special guest with us. Would you like to introduce yourself?

3
00:00:10,000 --> 00:00:17,000
Sure. I'm Nandini Romani from Sun Microsystems. I'm Director of Engineering for JavaFX platform.

4
00:00:17,000 --> 00:00:23,000
So like what can you like bring us up to date from sort of the last Java 1 there were a bunch of JavaFX things going on.

5
00:00:23,000 --> 00:00:28,000
Some people jokingly called it JavaFX 1. So like what's been going on in the interim?

6
00:00:28,000 --> 00:00:31,000
Like what's the state of the JavaFX world at the moment?

7
00:00:31,000 --> 00:00:41,000
So at Java 1 we, last Java 1 we launched it and we had a lot of things to do on mobile and desktop, the browser, a lot of those pieces.

8
00:00:41,000 --> 00:00:50,000
And this Java 1 in 2008, a lot of those pieces came together. So we do have browser, in the browser deployment, on the desktop.

9
00:00:50,000 --> 00:00:56,000
We also have it on running on mobile. So we have this concept of JavaFX for all screens of your life.

10
00:00:56,000 --> 00:01:02,000
And so we haven't gotten to all the screens yet, but we certainly can cover desktop, browser and mobile.

11
00:01:02,000 --> 00:01:09,000
One of the big news items, of course, is next week, July 31st, we're going to be launching our preview SDK.

12
00:01:09,000 --> 00:01:16,000
So it's a public launch and everyone can start downloading and playing with the SDK and creating these applications.

13
00:01:16,000 --> 00:01:25,000
The mobile version and other 1.0 and mobile will follow. So the preview SDK will run on desktop and browser.

14
00:01:25,000 --> 00:01:28,000
So what are you guys pulling together into this preview SDK?

15
00:01:28,000 --> 00:01:47,000
Sure. It's going to have essentially two things. One is the NetBean 6.1 IDE with JavaFX support and Project Nile, which is a tool that lets you export creative assets from design tools to JavaFX.

16
00:01:47,000 --> 00:01:53,000
So one of the difficult things is when I want to create something that's really fancy with a lot of vector art.

17
00:01:53,000 --> 00:01:55,000
It's hard to do just using coding language.

18
00:01:55,000 --> 00:01:56,000
Right.

19
00:01:56,000 --> 00:01:57,000
Impossible, nearly.

20
00:01:57,000 --> 00:02:02,000
And so it lets designers participate in JavaFX, which is one of the fundamental things we're trying to achieve.

21
00:02:02,000 --> 00:02:09,000
With, I mean, obviously it's a preview, but sort of with this tool chain that's coming out, like what would be the typical process for designing something?

22
00:02:09,000 --> 00:02:19,000
The idea is, so you start with a design tool. For instance, we have the two third-party tools that we support right now are Adobe Photoshop and Illustrator.

23
00:02:19,000 --> 00:02:29,000
So it lets you create artwork and vector graphics. You export it as JavaFX code, import it into your NetBeans IDE, for instance.

24
00:02:29,000 --> 00:02:39,000
And most of this is static. They're static layers of assets. You can then script in using JavaFX script, animations, dynamic behavior to your scene.

25
00:02:39,000 --> 00:02:42,000
Right. So I guess there's a plug-in into Photoshop or Illustrator.

26
00:02:42,000 --> 00:02:48,000
Yes, there is. There's two plug-ins right now in the preview, and we're going to, at 1.0, have more tools that we support.

27
00:02:48,000 --> 00:02:49,000
Okay.

28
00:02:49,000 --> 00:02:52,000
So today it's just Photoshop and Illustrator that we have plug-ins.

29
00:02:52,000 --> 00:02:59,000
And then there, is there sort of a round trip sort of thing to that? Like if you need to redesign some things, can you get it back into Photoshop?

30
00:02:59,000 --> 00:03:06,000
You can take what you have from, we don't have a round trip, but you can certainly modify things and bring it back into the IDE.

31
00:03:06,000 --> 00:03:07,000
Okay. Right.

32
00:03:07,000 --> 00:03:12,000
And it's pretty trivial because there's a clear separation between the code and the art.

33
00:03:12,000 --> 00:03:13,000
Right.

34
00:03:13,000 --> 00:03:25,000
So like if I replace the artwork, as long as I layered it the same and retain the names, which it does because the export plug-in deals with that, it's trivial to bring it back in.

35
00:03:25,000 --> 00:03:30,000
And we showed demos of that where you can change the artwork and retain the code as well.

36
00:03:30,000 --> 00:03:35,000
That raises an interesting question as far as, I mean, you know, coming at it from a Java traditionalist mindset.

37
00:03:35,000 --> 00:03:41,000
I mean, there's kind of like a new artifact of development, like these resources or artwork things that you're talking about.

38
00:03:41,000 --> 00:03:42,000
Yes.

39
00:03:42,000 --> 00:03:46,000
And so does the SDK sort of help you deal with that?

40
00:03:46,000 --> 00:03:48,000
I mean, how does it kind of help you fool around that?

41
00:03:48,000 --> 00:03:51,000
So the NetBeans IDE just lets you import everything.

42
00:03:51,000 --> 00:03:57,000
So you export out of the third party tool, you import it in and it creates a project, JavaFX project for you.

43
00:03:57,000 --> 00:03:58,000
Right.

44
00:03:58,000 --> 00:04:05,000
And you can just run it as is and you'll see the same static image scene that you had on Illustrator or Photoshop.

45
00:04:05,000 --> 00:04:11,000
And then you already have the JavaFX code so you didn't have to create the scene.

46
00:04:11,000 --> 00:04:17,000
For instance, you know, if you take a piece of cartoony thing where you have people in motion or something,

47
00:04:17,000 --> 00:04:24,000
you can then move somebody's arms and legs and things with a little bit of script code because you have access to individual layers.

48
00:04:24,000 --> 00:04:25,000
Right, right.

49
00:04:25,000 --> 00:04:27,000
And you can apply transformations.

50
00:04:27,000 --> 00:04:29,000
This is all new in Java.

51
00:04:29,000 --> 00:04:35,000
Today you have to do everything in Java code and there isn't the concept of having importing assets.

52
00:04:35,000 --> 00:04:37,000
So you can sort of programmatically move around the pictures.

53
00:04:37,000 --> 00:04:38,000
Yes.

54
00:04:38,000 --> 00:04:41,000
And things like that to like get the arms flailing around.

55
00:04:41,000 --> 00:04:42,000
Yeah, exactly.

56
00:04:42,000 --> 00:04:43,000
Right.

57
00:04:43,000 --> 00:04:50,000
And because it's, JavaFX script has, it's declarative, it makes it simple to do these things with a few lines of code.

58
00:04:50,000 --> 00:04:51,000
Right.

59
00:04:51,000 --> 00:04:55,000
As opposed to writing lots and having, handling events and threads and things.

60
00:04:55,000 --> 00:04:59,000
And then of course you have access to the, all the other NetBeans world of things, right?

61
00:04:59,000 --> 00:05:00,000
Yes.

62
00:05:00,000 --> 00:05:01,000
As far as version control and things like that.

63
00:05:01,000 --> 00:05:02,000
Yes.

64
00:05:02,000 --> 00:05:04,000
IDE support, code completion, all of the good stuff that NetBeans provides.

65
00:05:04,000 --> 00:05:05,000
Right.

66
00:05:05,000 --> 00:05:08,000
And then I'm always obsessed with the workflow of things.

67
00:05:08,000 --> 00:05:12,000
But like, so what's this next step that we've got the arms, you know, going around all crazy?

68
00:05:12,000 --> 00:05:16,000
Like how, with the SDK, how do you sort of like package it up and deploy it?

69
00:05:16,000 --> 00:05:20,000
So you can either deploy it as JNLP or as an applet.

70
00:05:20,000 --> 00:05:27,000
And now with the new 6U10 beta release, it's got all these really nice features.

71
00:05:27,000 --> 00:05:28,000
And that's the VM6 release.

72
00:05:28,000 --> 00:05:29,000
Yes.

73
00:05:29,000 --> 00:05:30,000
Right, right, right.

74
00:05:30,000 --> 00:05:35,000
And so the run, the first, one of the things that I forgot to mention, and I've talked about this before at Java 1.

75
00:05:35,000 --> 00:05:36,000
Right, right.

76
00:05:36,000 --> 00:05:39,000
JavaFX runs and leverages the Java runtime.

77
00:05:39,000 --> 00:05:40,000
Right.

78
00:05:40,000 --> 00:05:44,000
So it's based on that and you automatically inherit everything from Java.

79
00:05:44,000 --> 00:05:52,000
And the 6U10 beta lets you, for instance, it brings this capability, you deploy it from NetBeans as an applet.

80
00:05:52,000 --> 00:05:54,000
And you can run this in a browser.

81
00:05:54,000 --> 00:05:59,000
And say you really like the application, you can drag it off the browser onto your desktop.

82
00:05:59,000 --> 00:06:00,000
Right.

83
00:06:00,000 --> 00:06:02,000
And continue to have a standalone application.

84
00:06:02,000 --> 00:06:03,000
Right.

85
00:06:03,000 --> 00:06:05,000
So that's your chain.

86
00:06:05,000 --> 00:06:07,000
I hope I'm addressing what you're asking.

87
00:06:07,000 --> 00:06:08,000
Yeah, yeah, sure.

88
00:06:08,000 --> 00:06:13,000
So you start with a third party tool, bring it into NetBeans, and then deploy the application.

89
00:06:13,000 --> 00:06:22,000
And today the preview SDK will let you do that as a desktop jar on your desktop or as a JNLP or applet so you can deploy it in a browser.

90
00:06:22,000 --> 00:06:23,000
Right, that makes sense.

91
00:06:23,000 --> 00:06:24,000
And so...

92
00:06:24,000 --> 00:06:30,000
And going forward, we will also support mobile phones where we'll let you deploy as a midlet or whatever.

93
00:06:30,000 --> 00:06:32,000
Or whatever packaging scheme they might have.

94
00:06:32,000 --> 00:06:33,000
Right, right.

95
00:06:33,000 --> 00:06:40,000
So you envision with, whether it's with mobile or whatever screen might be out there, will you have sort of like an emulator or a way of simulating things to deal with?

96
00:06:40,000 --> 00:06:41,000
Yes.

97
00:06:41,000 --> 00:06:47,000
And so our tool chain, we currently have two things, the NetBeans ID and the Project Nile tool.

98
00:06:47,000 --> 00:06:52,000
But going forward, we will have more mobile specific, TV is another one.

99
00:06:52,000 --> 00:06:56,000
There's so many of these where we'll have tool chains that simplify how you deploy.

100
00:06:56,000 --> 00:06:57,000
Right.

101
00:06:57,000 --> 00:06:58,000
That makes sense.

102
00:06:58,000 --> 00:07:04,000
So, so far, what sort of, what sort of applications or whatever have you seen people building with JavaFX?

103
00:07:04,000 --> 00:07:05,000
Like what are people using it for?

104
00:07:05,000 --> 00:07:11,000
So far, well, they're creating little widgets for doing, you know, monitoring the weather service for instance.

105
00:07:11,000 --> 00:07:12,000
Yeah.

106
00:07:12,000 --> 00:07:15,000
People are using it for games, small games.

107
00:07:15,000 --> 00:07:22,000
And then there's also, you know, fancy things with video and audio and that's what designers really want to do.

108
00:07:22,000 --> 00:07:23,000
Yeah.

109
00:07:23,000 --> 00:07:29,000
With the preview, we have some support for video and going forward at 1.0 we'll have full-fledged media support.

110
00:07:29,000 --> 00:07:30,000
Right.

111
00:07:30,000 --> 00:07:32,000
So I think it's going to open the door for really interesting applications.

112
00:07:32,000 --> 00:07:33,000
Great.

113
00:07:33,000 --> 00:07:34,000
Well, we should check out a demo of it.

114
00:07:34,000 --> 00:07:35,000
Sure, yeah.

115
00:07:35,000 --> 00:07:36,000
Sounds good.
