Monday, October 2nd, 2006

TIBCO GI 3.2: Thoughts from Kevin Hakman

Category: TIBCO

We were hearing questions from the community wrt the TIBCO GI 3.2 announcement, so we decided to shoot them over to Kevin Hakman at TIBCO, along with some of our own.

The answers are interesting so we wanted to get the entire community into the loop:

Q. Can you explain the license options? When do you need enterprise etc?

The two editions provide a variation on the familiar “dual license” model that many open source products have pursued. The primary idea is
to provide the software under terms that make it free for any use, then offer value added benefits such as access to TIBCO’s enterprise-grade
support services and stronger license terms with warranties and intellectual property protections through a separate license and support agreement for organizations that want those things for their more critical development and deployment cycles.

What were the challenges with the Firefox 1.5 port?

Firstly there’s just so much in TIBCO General Interface. There’s now
over 100 ready made components plus the whole visual toolset that goes
along with them.

When I was discussing our progress on Firefox with Alex Russell of the
Dojo Foundation early this year, telling him that we had most of the
communications and data and other components in place, he correctly
predicted that the cross-browser GUI stuff would be the more difficult.

TIBCO General Interface is known for it’s “dual-DOM” architecture–
developers interact with a higher-level applications concepts in a DOM
of widows, dialogs, sliders, editable data grids, charts and data series
as opposed to the SPANs and DIVs in the primary rendering DOM, then in
an MVC architecture that high level DOM gets rendered into SPANs and
DIVs and VML/SVG and JavaScript. The net effect of the 2nd DOM is an
abstraction layer that allows the GI libraries to more easily handle the
rendering differences between the browsers (and lots of other things
like further automating garbage collection for long running sessions).

At the baseline, even rendering a rectangular region in IE and FX has
differing behaviors. Getting the rectangular region to render is easy.
It’s the behaviors for that rectangular region of the screen that get
tricky — namely with resizing. So we wrote an intermediary
jsx3.gui.Block class that adds managed resizing and dynamic layout to
the rendering of DIVs in Firefox to that there was parity with what we
had out of the box through Internet Explorer.

What went easy? Porting the GI vector charting package to FX was a feat
too. Again the abstraction model make this easier than we though it
would be. We did hit one hiccup along the way that required the
containing HTML page to be XHTML for the SVG to render, but Alex and
Dylan at Dojo were kind enough to point us in a direction that overcame
that issue — so use the charts in any context now. No longer an XHTML

What about support for Firefox 2.x?

Like IE7, FF2 is in pre-release states, so we’re looking at those as
they mature and come to their general releases.

What other features are snuck in there that get dwarfed by the big

There’s a new Swiss army knife of a component we’ve added in 3.2 called
“Matrix” (jsx3.gui.Matrix). This single class supports list, grid,
tree, tree-list, and tree-grid, and categorized-list and
categorized-grid views of data. It handles both two dimensional and
hierarchical data sets and includes built in lazy-data display modes for
various pagination models including scrolling to the end of your 20,000
item list and seeing the last X rows, and heuristically scrolling
through large data sets such that the data you need before you scroll to
it is gathered and rendered in anticipation of where you’re scrolling
to. There’s also more than a dozen new editable data cell prototypes
built upon a simplified and easier to expend model for creating editable
cell types of your own through the jsx3.gui.MatrixColumn class.

The initial footprint and thus load time is smaller. Classes now load
as needed rather than the kitchen sink all up front.

There are enhancements to the jsx3.util.Logger class, a development time
and runtime logging utility based on Apache’s Log4j project.

We’re still in beta, so full docs and more resources are forthcoming as
you can imagine. However one change in this area is that there’s a new
TIBCO Developer Network site @, that’s wide open to
public access. Previously you had to fill out a form and provide your
mother’s maiden name to get access to the software and its developer
resources. Not any more.

For people just getting started with TIBCO GI, version 3.1 of the
product has more docs including video tutorials. Viewing those would be
a useful quick start, but reading the 3.2 release notes and the 3.1 to
3.2 migration guide would be essential to understand the differences
between 3.1 and 3.2 (with the added benefit of understating what else
was packed into this release.)

All that said, it’s important to remember that TIBCO General Interface
is primarily for building business productivity solutions that connect
to point services (using what ever server tech you want) we well as
enterprise SOA service buses. We’re not trying to be all things AJAX to
all people. But we do want to make GI the best thing out there for
making Web apps and components that look and feel like desktop GUIs.
The addition of Firefox enables us to reach nearly every business users’
desktop — a place where IE or FX are pretty much ubiquitously present.
Plus as we showed at JavaOne earlier this year and will again at The
AJAX Experience, you can actually use Dojo and other AJAX components
within GI. We’re continuing this work with Dojo and others through the
OpenAjax Alliance to make Ajax libraries increasingly interoperable.

Posted by Dion Almaer at 5:35 pm

3.3 rating from 17 votes


Comments feed TrackBack URI

Nice article… there’s a typo that’s a bit funny above —

TIBCO General Interface is known for it’s “dual-DOM” architecture–
developers interact with a higher-level applications concepts in a DOM
of widows

I hate the DOM of widows. It’s a cross browser nightmare!

Comment by Oliver Tse — October 2, 2006

nice article. If you have ptoblem with DOM while working on cross browser then you can use xmlHttpRequest it works on FireFox.

Comment by Custom Web Development — October 2, 2006

Hmm, someones missing the point..

Comment by mikael bergkvist — October 3, 2006

just a bit yer :P

Comment by Matt Oakes — October 3, 2006

[…] TIBCO GI 3.2: Thoughts from Kevin Hakman An informative interview on the newly-released free-and-Firefoxy TIBCO GI. (tags: ajax firefox) […]

Pingback by SitePoint Blogs » Oct 8, 2006 News Wire — October 9, 2006

i need resumes in tibco with BW, RV & ADB Adapters

Comment by venkat — October 19, 2006

Leave a comment

You must be logged in to post a comment.