On Borland JBuilder 2006
It's a collaborative thing
Preview We've always liked Borland's JBuilder IDE for Java, especially as it is part of a pretty complete Application Lifecycle Management platform.
Borland's Application Lifecycle Management (ALM) platform ranges from requirements and process management through to (with the help of Mercury) testing. However, now comes JBuilder 2006 and we can't help wondering what is left to do in the IDE at the coding end – surely the real problems today are elsewhere, with requirements management and with aligning development with the business?
So, we asked Jon Harrison, EMEA product manager for Java products, what is so special about JBuilder 2006. His answer, in essence, is “collaboration”, which does make sense. eXtreme Programming and the Agile movement have done a pretty good job on the dynamics of local team-based programming but the reality today (in some places at least) is the geographically-dispersed remote team.
Some companies are outsourcing coding off-shore, others are setting up internal coding centres of expertise in places like India, and there is a lot of sense in “follow the sun development” (when your coders go to bed in the UK, QA picks up the baton in Australia, ready to return issues to the team when it gets back in next morning). Then, there is always the coding genius who simply doesn't want to leave his home in Smallville USA just because his or her employer chooses to set up its HQ on the San Andreas Fault – and why should he?
So, geographically-distributed programming is a reality and team productivity, including such teams, is Borland's main objective for its latest release of JBuilder. Within the JBuilder environment, Harrison says, you can access things like requirements repositories and configuration management solutions, all surfaced in the JBuilder IDE.
Anything surfaced is a target for sharing and collaboration, he claims, although he acknowledges that this isn't a suitable replacement for face-to-face contact in all circumstances. Nevertheless, he thinks that it allows people remote from each other to get some of the benefits typically associated with, say, pair programming.
Of course, it's been possible for some time for several developers to view the same project and talk through problems on the telephone.JBuilder promises something more, involving tracking and exchanging control of the session: "Suppose you're working on a particular piece of a project with a colleague," Harrison explains, "you're doing a debug run trying to understand what is going on with a particular piece of the code, stepping through the code, looking at the variable values etc...
"What you can do in JBuilder now is share that debug cycle - both of you can see exactly what's happening and then you can hand over what we call the “token” to your colleague, so that if you get to a part of the code he's written or has more knowledge of, he can take control and start stepping through and explaining himself," John continues, "and it's not just two people, 3, 4, 5, any number really, of people in the team can be doing this...”
Definitely interactive collaboration, then, not just a passively shared demonstration. Traditional configuration management can track this, of course but it is extended by another new feature of JBuilder 2006, “Active Difference Editing”. Once you've checked something out of Configuration Management, you don't need to check it back in every five - ten minutes, since Active Difference Editing gives you a facility very like “track changes” in MS Word to track editing changes and deletions within the session.
As Harrison puts it: "We're trying hard not to duplicate what we give you in configuration management but to extend this for the current workspace and we feel that it's very easy to use and that it delivers value very quickly...” Imagine as a tester or maintenance programmer hitting a tricky piece of code written by Fred Bloggs – traditionally, if Fred couldn't come to your terminal that could have resulted in a serial email exchange lasting a day or so; now you can just click on Fred's icon, pass the token, and say “hey, show me why we do this...” and it doesn't matter where Fred is.
In 1968, he put together a video demo of a system called oNLine System (NLS), which, among other things, included two people working collaboratively on the same document, with a mouse cursor each, and a video link to let the collaborators check each other's body language. Why is it taking so long for this sort of collaboration to become the norm in modern computer environments? Some questions are just too hard – but at least Borland is getting there.
Other improvements associated with JBuilder 2006 include support for the latest standards and application servers, better integration into Borland's ALM and a new release of Borland's Optmizeit performance management toolkit. New releases of Optimizeit tend to go hand-in-hand with JBuilder because quite a lot of Optimizeit is built into the JBuilder IDE. So, there's an Optimizeit 2006 too, and this concentrates on satisfying customer requests for batch-oriented functionality – integrating Optimizeit analysis into overnight builds, unit testing and so on.
In the longer term, Optimizeit will support Borland's strategy for making development processes transparent to their business stakeholders, with high level “cockpits” in its role- and process-centric Core::Developer product, which is incorporating the best of JBuilder and is part of the Core Software Delivery Platform. Borland's future also includes a new generation of Eclipse-based commercial development tools including "Peloton" which, Borland promises, "brings JBuilder's trademark usability, advanced collaboration features, ALM integrations and enterprise-class support to Eclipse" – probably in the first half of 2006.
JBuilder 2006 will be available for customer shipments in mid-September 2005, and Optimizeit 2006 is available now. Customers on, or renewing, JBuilder and Optimizeit support and maintenance will be offered no-cost upgrades to the 2006 version. If you like Flash, and have a fast connection/computer, a demo of the JBuilder collaboration environment is here. ®