I'm about to start development of fairly large java based desktop application. After looking at JIDE components and frameworks, it seems to be a good solution at a glance. I'd like to hear from those who used those products. How reliable are they? What's the learning curve? Pros and cons?
I'd be wary of this product:
It appears that you will be charged a "negotiable" deployment fee if you want to distribute to customers or do a mass in-house deployment.
JIDE Software seems to be a small one product company. With any company like this, there is a significant risk that it will go out of business or be bought out, leaving customers in the lurch with a dead product.
Using JIDE would be an impediment to making your application open source ... if that step is in your future plans.
I've been using JIDE for 2,5 years now. As far as I'm concerned, it's the best Swing component library there is (as there aren't many). Some of the functionality can be replaced by other alternatives if you want to take a component from here and another from there but some seem to be unique. And of course it is easier to adopt one complete solution instead of separate components and frameworks. Though I should point out, that I've mainly used separate components from the library as well as the Docking framework, but not JDAF so I can't comment on that.
Quality has been good for the most parts although at some point it felt as every release introduced a new bug. But so does every Swing release, so can't really blame them. Response times and customer service in general has been good so you're not alone with your problems. They also seem willing to adapt their products for customers needs.
However, on some parts their operation seems a bit amateurish. For example, the last time I checked, their forum was still used as a bug database. They also have released a large number of new products, some of which seem to be stuck in the beta stage forever.
I'd recommend that you contact them about the deployment fee to get an idea of the total costs, evaluate the product and then consider the risks and costs of adopting JIDE compared to the risks and costs of other alternatives. Open source is not risk free either. Being stuck on a dead commercial product may be worse than being stuck on a dead open source product, but I wouldn't enjoy either.
I have lived and breathed JIDE for close to 2 years. As the main developer of my company's Swing GUI app, JIDE has made my life both easier and harder.
First, the good part.
The breath and depth of its components are incredible. Their lastest demo has 171 items, and most are for different components. It's what Swing should've been. The company is indeed small, but you can't possibly say they have only "one product" (re @Stephen C). You're not gonna find any other component suite that has everything from date chooser and popup alert, to searchable and filterable list and table, to pivot table and docking.
Their support is surreal. It's true (per @Carlos) that the only medium is the forum, but the turn-around time and quality of their responses are truly amazing (I'm the 3rd top poster there, so I do know). Many of my posts are new feature and API change (e.g. private -> protected) requests, and they fulfill the vast majority of them within one release or two (which means a few weeks to a month at most).
You can buy source code license for full source code and unobfuscated debug jars. I'd strongly suggest that you do (I wish I could get sales commission from them) if you plan to use their more complicated products like pivot and docking.
Once you have their source code, you can do a lot of customization if you need to, as the code is very open and nicely structured for extension. Sometimes it's risky to extend undocumented classes/methods, but they've kept their code very steady.
And I have to say that their code quality is top notch. It's not squeaky clean (it's as big as Swing itself), but I've never been forced to scratch my head and wonder WTF.
They have very solid developer guide(scroll down the page) for each product group. javadoc is excellent. The full demo itself is a great way to explore the components and features. Documentation was the main reason why I picked JIDE docking over FlexDock (and later I found JIDE also has a lot more features).
Now the difficult part.
As @Carlos mentioned, they do introduce regressions with each release. It doesn't seem like they have totally comprehensive and fully automated regression tests, but that's probably next to impossible given the complexity and interactive nature of their products, especially for things like pivot and docking. Even though they fix things very fast, it's always a pain having to wait and then upgrade to a new version, only to find other regressions. That being said, my company's GUI app has shipped several versions without major issues.
I've mainly used many of their somewhat standalone components like date chooser, balloon tip, status bar, multi-page dialog, etc., and two of their most complicated products: pivot table and docking. (Sorry, no JDAF.)
They are complicated for good reasons. OLAP is an industry of its own, and docking is the underpinning of all modern IDEs. That's why I didn't call this section "the bad part". Pivot and docking are difficult to use not because of their quality but due to their complexity.
For example, JIDE docking manager has over 70 primitive bean properties (as of 2.9.5). Some are interdependent, and it takes a while to figure out how to set them for your particular needs.
All in all, I would recommend JIDE without any reservation. It'd be a huge pity if you can't use it due to its propriety, in which case don't even look at its demo, otherwise you will find everything else out there lacking.