NetBeans Program Update - Feb 2009
with Matt Thompson (the new NetBeans Director + Developer Cloud Tools Engineering) ***At the end of this call we had 29 call participants.****
****SLIDES ARE HERE****
CLICK HEADPHONES FOR A MP3 RECORDING OF THE CALL (24.9Mb )
Timeline of the discussion
0:00 - 4:00 intro
4:00 - 19:30 Matt Joins + intro
19:30 Opening up the Call to Q &A
19:30 - 23:40 What does the future hold for NetBeans and RCP?
23:30 "Catch-22...." (Alex Kotchnev)
24:25 - 26:10 (Matt Thompson responds)
26:22 (Alex)...Thanks...We NBDT we're hoping to have a future discussion about the RCP and the business case behind it...
26:43 (Matt) "...and I still want to have that conversation...still think there are opportunities there...If this is something the community gets behind...then I will devote resources to it...if there is a community partnership in doing the work...then we'll find a way to assign resources...[but we do need to have that discussion]
27:20 (John Yeary) SWING development JSR 295 296 Swing application and Bean binding... great set of features on the NB IDE... what is the status of those projects on java.net same as Visual JSF-Project Woodstock? which died...
28:40 Matt
28:50 (John Yeary)... I am part of the services organization at AFGA health services...we're using this
29:40 (Matt) My question to you...have you looked at the features in Java FX ....
30:25 (John) tooling not there...but interesting...data binding
30:50 (Matt)
31:00 John) I created a bunch of internal applications using Woodstock and got blind sided when support was withdrawn...
31:30 - 33:00 Matt... I would like to have a discussion about what is missing from Woodstock...in a separate discussion...
33:36 (Alex) point of general feedback....lets be extremely clear about Sun's support of projects like Woodstock... the clarity of what Sun is willing to support will allow the community to step in an fill in the gaps or pick up parts of netbeans or maintenance of the clear case plug in for example.... community based
35:03 Matt Will we publish the list... there's value in what you say... this is an action item AI for us...Hi level priority...Mid level priority.. low level... can't give absolute fidelity on this...because our plans may change...we may not have the perfect level of granularity which will require future discussions
36:40 Is Toni Epple on the line?
36:40 (Toni) Yes...I want to make the point for NB RCP...we are seeing a lot of interest in training for NB training (NB Demo Camps)...lot of people at the Universities looking this...Sun Learning Services also interested... If you need feedback... I can provide...
36:50 - 41:20 Matt talks about Students... We have an AI for Sun SLS...we want folks like Toni to have a robust market to facilitate their training ...
41:20 NetBeans DreamTeam NB Demo Camps listed on the dreamteam
41:40 (question from list) What is the future of NetBean's OSGI plans? or framework?
41:50 - 43:35 (Matt) responds...the challenge of OSGI has nothing to do with NB...it is a Java Platform issue and way...there is a piece of this question I cannot answer because there are ongoing discussion(s) in the JCP...will NB support OSGI...when you look at Sun's other products like GlassFish that will support OSGI...and NetBeans is one of our tools...one might guess there will be NB support for GlassFish...NB will follow the Java Platform...tooling will follow... great question"
43:40 (Allan Davis) Is NB direction with dynamic languages changing?
43:47 - 44:32 (Matt) let me recite back some of the feedback from one of our leading analysts in the cloud space... Java, C and C++ are being relegated to very small niches in the cloud space... and the cloud is entirely a dynamic languages play... so all I can say is that given that the NB team sits within Sun's cloud organization...and Sun is going to do a public cloud...and support other clouds...NetBeans is the preferred tooling for our cloud efforts...I think you will see the dynamic languages flourish...
44:40 (Rich Unger) I work for SalesForce.com...we use cloud services... our strategy is to inter-operate with other clouds...is there any interest in the NB tooling to provide integration with other clouds....
45:18 - 46:00 (Matt)... with the way the NB team has been setup in the cloud organization... my primary objective with NB tooling is to support developers for those platforms that are important to Sun and that includes Cloud(s) and that is plural.... we then have the requirement to find ways to advantage Sun's cloud [offering]... and i have the ability to build tooling to support other cloud(s) as well...as long as we see a model that benefits Sun as well...but we need to a little more thinking on how we can support SalesForce's cloud... (so we should have another discussion about this at a later date) [AI for Matt]
46:14 (RichU) I think you will find support from us on that...
46:15 (Matt) and we know this... we've just started down this path...so the answer is YES...
47:06 (Josh Marinnaci) ...just a brief introduction to the NBDT...I am the Sun JavaFX team and one of my main jobs is to interact and engage with the community... and bring feedback from the community...back to the JavaFX development team [which also requests services from the NB development team in Prague] So anybody who has questions about inter-operability with JavaFX and NetBeans I would be happy to hear from you all: Josh's blog: http://weblogs.java.net/blog/joshy/
47:37 I have a question here from Fabrizio on the list...
Which parts of the project have been dropped/frozen because of the layoff (e.g. UML, Grails) for which
Sun would welcome a significant cooperation from the community (that means: for which Sun would
happily accept to more or less lose the control and transfer it to the community).
48:07 - 48:40 (Matt)...so I think control is too strong of a word... I think it comes down to committer status within the NB community itself..for any given module...and I think we need to get a better build out on the ability for the community to work with us [Sun].. on the other hand, to answer that question... and we kinda covered some of that earlier...but there is an AI for me is to publicize a list of things of what Sun believes to be high, medium, low priority features within NetBeans....for the next 2-3 releases....when we have that commitment then I will work with Tori to get that out there... but we also need to have the flexibility to engineer/innovate things that come up in the future...it's a delicate balance between us and our community+business partners...
49:50 Operator how many people do we have on the call right now? (...29)
50:03 last thing I have here is... Will NB cooperate or allow 3rd parties to develop new features on a standard distribution NetBeans...
50:15 - 51:05 (Matt) ...the key(s) word here is "standard distribution"...NetBeans has gotten big...and so one of the things we've tried to do is come up with distributions...like the Ruby distribution... FX was kinda released that way... Do we hafve the intent to allow 3rd parties and our community to take on more responsibility to help innovate on the NetBeans platform... and the answer is YES...WHAT Distributions do those [innovations] get released on...we have to still go figure that out...and I cannot answer that piece at this time...I don't think the question intended to be loaded...but "standard distribution" just reads that way... {more...} we want to make it smaller lighter faster rather than bulkier
51:17 Jess Glick, Yarda.. and other heavy hitters in NB development....
51:25 (Matt)... NetBeans team is still HIGHLY funded and we kept a huge number of the "heavy hitters"..but nothing more on that...
52:01 thanks we {nbdt} know these folks and we work with these folks a lot..
53:00 (Matt) I have one last request of you all [nbdt] and also Tori... WE ARE LOOKING FOR the OPPORTUNITY to TALK TO COMPANIES THAT ARE USING NETBEANS AS PART OF THEIR CORE DEVELOPMENT. WE WANT TO UNDERSTAND WHAT OUR CUSTOMER BASE LOOKS LIKE..we're looking to talk to these folks...SO IF YOU ARE ONE OF THOSE PEOPLE or YOU KNOW OF PEOPLE or YOU HAVE CUSTOMERS THAT ARE ONE OF THOSE PEOPLE...Please get back to Aaron and let us know how we can follow up...
end at 54:30
Tentative AGENDA:
- Intros and NetBeans team changes + Sun's Cloud Initiative – Matt Thompson (15 minutes)
- Discuss future topics about upcoming NetBeans Technical Calls -- What does the dreamteam want to talk about first...open mic vote if necessary w/Matt... (15min)
- Open Communication Q & A What is on your Mind?? – All (30 minutes)
|

Matt Thompson
|
|
ABOUT THE SPEAKERS:
Matt Thompson -- As Sr. Director of Sun's Developer Cloud Tools engineering team Matt is
responsible for a number of Sun's key offerings in the emerging cloud
space. These include Project Kenai (a hosted development environment
that will allow developers an easy "on ramp" to develop for the cloud)
and Zembly, the first of it's kind developer platform for building
social applications for Facebook, MySpace, and other leading social
networks. Previously Matt was responsible for Sun's Developer program
and technology outreach worldwide (including evangelism, Tech Days, and
the Sun Developer Network). Matt first started at Sun in 1988 and after
several years "outside" at Taligent and General Magic he returned to Sun
in 1997.
Tori Wieldt - NetBeans Marketing
Community Comments/Discussion points for this call:
Wade Chandler & Antonio Vieiro:
* What the future holds for NetBeans Rich Client Platform (in terms of new features,
support, advertising, training, partnership)?
Anuradha Gunasekara:
* Will NetBeans cooperate or at least support 3rd parties willing to develop new
features for standard distribution of NetBeans?
* What are NetBeans plans towards OSGi framework?
Kristian Rink:
* How many of the NetBeans folks have been affected by the recent layoffs at
Sun?
* How does that influence future development of NetBeans IDE and RCP?
* Is there anything how NetBeans DreamTeam can help?
Fabrizio Giudici:
* Which parts of the project have been dropped/frozen because of the layoff (e.g. UML, Grails) for which
Sun would welcome a significant cooperation from the community (that means: for which Sun would
happily accept to more or less lose the control and transfer it to the community).
More Detail questions from the wiki
- What does Sun expect the platform will look like in three
years? In five years? Not necessarily meaning what it will look like in
terms of UI (though interested in that as well), but instead how will
the platform and platform development change in that period?
- What things are likely to be deprecated or removed?
- What things are likely to be added or emphasized?
- What things do you expect developers will like most and least about these changes?
- What do you see as the biggest strengths of the platform? What do you see as the biggest weaknesses?
- What do you see as your biggest competitor(s) (e.g. Eclipse RCP, Flash, .NET) and how will you beat them?
- Most importantly, how can we best help you? Are your biggest needs:
- Documentation
- Evangelism
- Tools support (e.g. API Support)
- QA/Testing
- API review
- Answer questions on mailing lists
- Other things?
Tom Wheeler
covered most of what I planned to ask in regards to what we can do for
you. I'll try to hit on things I feel are important from my perspective
as well as what I have heard from others.
- Priorities of uses of NB RCP
- What priority does Sun place on the NB RCP as a tool for 3rd parties?
- What about Sun itself. What priority does Sun place on NB RCP for other Sun projects outside of being the base for the NB IDE? It is good stuff which can make other applications better. Does
Sun management understand NB RCP? This would be what you can do with
it, its power, and what it can mean to NB and Sun at large?
The
NB RCP/platform can generate major interest, and does for all those who
find out about it. It is obviously good for business, but first you
have to understand that point and why that is. Then you need to
understand that we need to have it marketed better and we can't do it
by ourselves. Too, if you grow it you'll almost certainly gain partners
to help maintain the different pieces if we look at Eclipse as a model.
- In general, I think if Sun would really get behind NB RCP as much as JavaFX and some other things, they could really take the market lead in different areas. The time is now per what many of us are seeing on the lists and in our channels. At this moment, per the time being at hand, we really need a good push, commitment, and an understanding from Sun, on different levels, of what we (you and us - the rest of the community; not just the NB community) have in the NB RCP/Platform, and where it can go.
I have seen others than myself express this feeling about the time
being right and what they see folks talking about with regard to the NB
RCP. It just needs that nudge.
- JavaFX
- Have there been any discussions of low level NB RCP JavaFX
support? This would include things to make it easy to directly use
JavaFX views in NB such as some kind of a JavaFXTopComponent and
similar support? A combination of the NB RCP and JavaFX would be extremely appealing to many types of application developers.
- JavaFX is cool, but it doesn't have the modular capabilities in the NB RCP yet. Too, in most enterprise or tool set environments,
at least considering user input methods such as a keyboard and a mouse
and the systems today not reading brain waves to move around the UI, the UI components found and used in applications let users who are more interested in the data versus some cool graphics or media edit
that data quickly without moving from their home keys. NB RCP, with the
different things it supports, is great for enterprise applications.
I envision JavaFX being useful in those type environments/applications for things like things like embedded media and fancy color pickers or other unique user components when needed. This wouldn't be the main use case for those type applications however, but certainly when needed would be great.
- I can imagine different cases where someone might want an entire JavaFX based user interface with the NB module system underpinnings and utility APIs. Even a game engine could be created on top of such a thing. That is another approach which leads into a more abstracted visual representation in the NB WindowManager which I'll talk about later.
- Folks may want to use JavaFX in other invented ways embedded
in Swing APIs or APIs such as the NB Visual Library where the graph
nodes could be JavaFX based animated components. That would be a VERY
powerful thing to have, and would draw developers.
- Different platform profiles, and has any
real thought been given here? - This would be something like a mobile,
desktop, and web profile versus the singular profile we have now which
is strictly desktop. I say strictly desktop, but not necessarily true,
one can create service type applications with NB RCP fairly easily by
excluding certain things, and they can also create web based module
systems, but it isn't easy, and Fabrizio can enlighten us all on that
topic. Either way, all these things would make NB RCP a one stop shop for full application architectures and make it impossible for folks to ignore.
- Mobile RCP - This would technically be a set of profiles. I'll mention two I have in mind below.
- Mobile RCP CDC - Works for more enabled devices such as the iPhone, Windows Mobile, embedded Linux, etc.
- Mobile RCP CDLC - More for phones or other small devices with limited support.
- Either way, for a real mobile solution we need a good mobile
JVM. I don't see where this would be completely outside of the NB
groups possibilities. It would be a good project which could be used
and companies would purchase support if it were done right. I point to
SuperWaba as a perfect example. It is awesome stuff. Legal issues of
VMs and all put aside, maybe build it to supprt SuperWaba, but there
are licensing issues there, so it may be we need another JVM which is
easy to
- Include inside of a prepackaged application with on the
needed footprint to output an actual native application for certain
types of devices etc and make it easy to port if needed. This would
mean the Java classes and the JVM become embedded inside of an
application which helps with the deployment model on certain devices.
Not all of them need this, but devices with no JVM really do, and this
will be a good way to make it more successful.
- Install separately as a system component on systems where it makes sense such as embedded Linux, Windows Mobile, others.
- Have a good extensible emulator API to support it in the JVM.
- Have good levels/subsets of Swing support
- Hava JavaFX support
- Desktop RCP - This is what we have
now in the RCP. Easy enough to make system services etc, but that could
be easier as well, and I'll get to it
- Command Line RCP - This is pretty self explanatory.
- System Services RCP - This would easily enable one to
create a service style application in different OS. Make it extensible
so that folks can enhance it to support different operating systems if
needed. Essentially it would:
- Generate hooks to be installed into /etc/rc.d for Linux
- Generate service wrappers for Windows, both 32-bit and 64-bit I suppose
- Allow for simple standalone server type applications. These
can be run manually from the command line or both manually and tied to
a service.
- Web RCP - These would be modular
applications which run inside EAR and WAR web applications. Then
modules can be added to these applications and removed from them etc.
Different frameworks such as Wicket, the Google GWT, Struts2, and
JSF1/2 could be supported.
- It can be extensible so that other vendors can hook their own technologies into it and design other IDE support for it
- It can those four frameworks above built in, and could
support Dojo, Yahoo UI, and other JavaScript libraries as needed
(jQuery is another)
- Make it easy to embed applets for special remote views
- Make it easy to operate against the backend with a Java Web
Start enabled NB RCP desktop application. This would be done with
different remoting capabilities such as those in Spring, JPA, or remote
EJB. That would insinuate making sure those things are easily supported
and work with in the NB RCP.
- Applet or Java Plugin RCP - This makes it
easy to create NB RCP based Java Applets when needed. I know Fabrizio
just had a request from a customer for such a thing. Too, Applet
support and projects needs better support in the IDE as a whole.
- Distributed RCP - This may touch on different levels of the other profiles. It would be something with different sub profiles such as
- SOA
- Cloud
- Jini (Apache River)
- More Abstracted WindowManager - The
current WindowManager is purely Swing in nature along with other
aspects of the RCP. If it were to support generics it could be better
used to support the above mentioned profiles. For instance:
- WindowManager.getMainWindow(T)/WindowManager.getDefault(T)/something
similar - Could allow for any type to be returned from an
implementation or some type of specializations for different profiles.
- TopComponent - This could be some kind of an interface or
class abstraction not directly dealing with Swing components. For
backward compatibility TopComponent itself could possibly be unchanged,
but some other interface such as ITopComponent could be used, and then
AbstractTopComponent could be used to allow new implementations to be
created, and TopComponent as it is now used could be returned from some
of these methods to keep it working essentially the same. That or a lot
more code would have to be redone.
- Either way we look at it however, much code would need to be
refactored as it relates to TopComponents, and other aspects of the NB
system, at least at first glance, but if enough support is behind such
ideas surely we can split up different aspects to be reviewed in the
context of a larger review to build a report on what it would exactly
take to make it possible. Then we can get others from dev@openide to
help out with the review and offer input from their current
implementations to see what headaches we are really talking here. This gets back to the question of what we can do for you.
It may be to find out good information which can be used to make better
judgment calls or to get some real work from the community all we need
from Sun is some folks to help manage community efforts to get some
things done and perform some delegation to those within pools of
parties interested in particular domains and issues, and this reaches
outside of this single context of the WindowManager; think about it in
regards to everything discussed on this page.
- OSGi Support - I don't think it needs to be the
module system as the NB module system lets NB move when it needs to,
but RCP support for OSGi bundles would be good, and go a long way to
getting through some folks cob webs and perceived barriers for NB RCP.
OK, so now they can use OSGi modules. They can now use some 3rd party
libraries, and will find out they can't use Eclipse or other OSGi based
modules which have specific dependencies, but at least they can't claim
that as a reason to not use NB.
Too, don't advertise the fact
that OSGi bundles are not the main NB method for modules as that really
would have no meaning. All one needs to know is they are supported and
will be running inside an OSGi container. Too, for any given NB RCP
library which can be a standalone OSGi bundle allow it to be exposed
that way so it can be copied into other systems. Modules will have to
be exposed that way anyways for other OSGi bundles to have
dependencies.
- Documentation Documentation Documentation (slightly similar to communication...) - Different modules don't have their documentation linked to the main JavaDocs. This would include the Visual Library. This needs consistency. The perfect place is the JavaDocs. Other documents can be linked to from the JavaDocs including tutorials and other information.
A
good look needs to be taken at the fact that different folks over
different times, a good number of them, have mentioned that the NB RCP
documentation needs to be better; some have recently cited it as a
concern about the NB project. This documentation, and linked
documents from it, need to be able to be downloaded as a unit and built
in NB builds. Obviously something like the NB Wiki may not be able to
be included, but most of the other developer documentation should be
able to easily be included and linked into the main documentation; this
should not preclude NB Wiki or other web resources from being linked to
from the JavaDocs or other documents included with them.
It would be nice if this main documentation were able to be used in the NB help system. Too, it
would be nice if the NB help system, Java Help, were updated, and a
sub-project of NB could be a better Swing web component taking code
from FireFox/Gecko to use for its rendering and an upgrade to Java Help.
- NB Help System Upgrade - There are different issues with Java Help. That doesn't mean that Java Help is inherently bad either, but more indicates it needs some tender loving care.
Part of that tender loving care really needs to be a new Java web
browser component. This component could also be used by JEditorPane and
other pluggable components in NB to make the user of HTML even better.
This could all be a sub-project of NB if management can get the resources to help out. I'm sure there are 3rd parties who believe such a web component would be great for Swing at large even outside of NB. I think the goal of using FireFox/Gecko as a reference point to keep up with for the code would draw some interest
as well. So, this component and taking on updating Java Help to bring
it up to parity with the MSDN help viewer and other tools, taking good ideas from different systems such as Gnome Help, KDE Help, MSDN, etc, would make it first class.
Too, if
it had the ability to include things like Flash and other objects on
different operating systems and embed JavaFX then that would provide
immense power which can be incorporated into linked in documentation
and show that information. Obviously security and other things will matter as they do in any web browser, but such a tool kit would help Java at large a lot.
- NB Help Assistance - This is not just limited to the
ability to have some kind of a character or mascot such as Cubie (
maybe an NB mascot :-P ) who can show new folks around the IDE or an
RCP application, yes I'm thinking the whole thing be
pluggable/extensible, but can allow for the help system to integrate
cues the link to overlays and other views with video and different
media through out the system; this media can be included at install, a
separate installer, or linked to from different sources on the internet
(obviously limited when a slow or no network connection
exists...shouldn't break, but should fall back to some tolerable
default message etc).
So, lets say we are opening an NB RCP
based application or the NB IDE for the first time, or any number of
times until we turn off the assistance or it times out (that's a
possible good feature), then we see different cues and message balloons
etc which can offer us ideas and guide us through using the system.
Cues can have rollover capabilities and show previews or videos
directly, or they can give us just enough information so we know what
clicking on the cue will mean; different cues can do different things
as needed. Maybe we click on the cue to get the full message, and the
click again to go to the content or click a link at the bottom of the
opened cue message.
So, the cue can be a rollover overlay video
and tutorial, or it can be a message that an overlay will pop up or
another view will open, or it can offer to take the user to a web page.
All cool features than can be supported by JavaFX and an updated Java
Help and new web component.
- If needed, some of the APIs could support heavy weight
components with embedded JDIC web browsers. I personally favor having a
pure Swing control which can be embedded and used without OS specific
support, but if needed such an API would be good for different things
such as RCP applications. I would think this would be secondary to the
things mentioned above.
- About OSGi support (both technical and "political")
- What can be realistically be done to remove useless dependencies in "headless" scenarios
- How can we report weaknesses (in docs/features)?
- Are there any specific needs regarding documentation? Which ones? Shall we make a mechanism for you reporting them to us?
- What are the planned features for NetBeans RCP development?
- OSGi support vs. stronger "promotion" of an alternative component model (NetBeans modules?), and technical reasoning for that?
- Dealing with Eclipse predominance as an RC platform seemingly caused by ...
- ... the vast set of "big names" in the Eclipse Foundation (maybe by stronger inclusion of "NetBeans Partners" possible?),
- ... the wide-spread adoption of Eclipse RCP / IDE at
universities (at least to be seen here in Germany -> i.e. by
inclusion of Sun Campus Ambassadors?),
- ... a set of interesting features available to Eclipse users
so far lacking(?) viable alternatives in the NetBeans world (XText,
OpenArchitectureWare, AndroMDA, RAP/RWT, to name a few)?
- Ways of drastically easing adoption of NetBeans
RCP not just for application developers but also for those likely to
contribute given plug-ins (in example to add some language, framework,
tool support to NetBeans) by providing - more documentation? quickstart
materials? more templates i.e. for "add a new project type to NetBeans
in five minutes"?
- Ways of helping enthusiastic NetBeans "evangelists" (like
the Dream Team ;) ) spread NetBeans adoption and generating a
perception of NetBeans being a truly strong open-source project with a
vivid community (both in terms of support and of developers)?
- Companies I've been talking to have constantly been
complaining about the lack of documentation compared to Eclipse RCP.
Existing documentation is perceived to be coming from some very
dedicated people inside sun only. This is perceived as a lack of
interest of Sun in NB as a platform. Companies are afraid of
incompatible changes or a stop in further development.
- Given that, how many resources is SUN assigning to NetBeans Platform documentation?
- How about Sun putting some NetBeans engineers fulltime on documentation?
- How serious is Sun really about the NetBeans Platform?
- What additional ways are there for SUN to show their commitment and interest in the platform?
- Antonio raised a query on "Organizing NetBeans Tutorials" based on comments written to Fabrizio's blog.
- Lot of brainstorming
took place, Patrick and Geertjan were actively involved from Sun side.
However, there has not been much discussed afterwards the way we
thought of.
- As this call is focusing on RCP related queries,
- What should be done about the brainstorming that took place as stated above?
- How can we provide more coverage to the community-contributed docs (See Related Links) on RCP Learning Trail?
- Related Links
- Tutorials
- Tips & Tricks
- Regarding the future of the RTC and the RCP
- How does Project Jigsaw (Modularization of JDK) effect the NetBeans ModuleSystem?
- How about using the upcoming real Filesystem API of Java 7 (should make listen to file changes much more easy)?
Email
Facebook
Twitter
LinkedIn
MySpace
Digg
Delicious
Reddit