Thursday, November 8th, 2007

Isomorphic SmartClient: Now Open Source

Category: Announcements, JavaScript, Library

Isomorphic has made a leap of faith to a new opensource business model today. They have freed up their SmartClient Ajax platform by releasing it under the LGPL license.

The piece that has been opensourced “includes the typical set of Ajax UI components that are now available from several vendors, but goes beyond the standard offering with support for very large datasets, metadata management, advanced skinning and branding, WSDL/SOA binding, and many other features

Extensions to SmartClient LGPL, including the SmartClient Java Server, the SmartClient Visual Builder tool, and several industry-specific optional modules, continue to be available for purchase.”

You build UI’s using a declarative markup such as:

  1. <treegrid ID="categoryTree"
  2.    dataSource="supplyCategory"
  3.    nodeClick="findForm.findItems(node.categoryName)"
  4.    showHeader="false"
  5.    leaveScrollbarGap="false"
  6.    canAcceptDroppedRecords="true"
  7.    canReparentNodes="false"
  8.    selectionType="single"
  9.    animateFolders="true"
  10.    animateRowsMaxTime="750"
  11. >
  12.     <folderdrop><js>
  13.         function (dragRecords, dropFolder) {
  14.            var record = itemList.getSelectedRecord();
  15.            var newCategory = dropFolder.categoryName;
  16.            record.category = newCategory;
  17.            supplyItem.updateData(record);                
  18.        }
  19.     </js></folderdrop>
  20. </treegrid>

And in JavaScript:


  1. isc.TreeGrid.create({
  2.     ID:"categoryTree",
  3.     dataSource:"supplyCategory",
  4.     nodeClick:"findForm.findItems(node.categoryName)",
  5.     showHeader:false,
  6.     leaveScrollbarGap:false,
  7.     animateFolders:true,
  8.     canAcceptDroppedRecords:true,
  9.     canReparentNodes:false,
  10.     selectionType:"single",
  11.     animateRowsMaxTime:750,
  12.     folderDrop: function (dragRecords, dropFolder) {
  13.         var record = itemList.getSelectedRecord();
  14.         var newCategory = dropFolder.categoryName;
  15.         record.category = newCategory;
  16.         supplyItem.updateData(record);                
  17.     }
  18. });

It is interesting to see that the market almost seems to require that you are opensource, else the barrier to playing around is too high.


Posted by Dion Almaer at 1:47 pm

3.4 rating from 45 votes


Comments feed TrackBack URI

This is an absolutely fantastic package, which easily beat the competition when we did an evaluation for toolkits and widgets to build a major intranet application. The documentation browser at is best in class, putting all the API functions at your fingertips, along with examples to get you bootstrapped. The richness of the widget set and their API’s is incredible. Definitely worth a look.

Comment by Pete Allen — November 8, 2007

Has anyone compared this library with Ext 2.0? I’d be curious to know what people think about one versus the other.

I tried out some demos quickly, and for whatever reason, they felt a bit ‘heavy’ to me… Some things seemed to take longer to respond than I see with ext, but then again, i didn’t take a comprehensive look.

What do others think?

Comment by Dov Katz — November 8, 2007

On the heaviness perception – the examples on are running in a shell supporting ~200 examples and mini-applications, with editable syntax highlited code and maxed-out use of images in skins. For an apples to apples comparison to Ext, grab the SDK, run one of the standalone examples, avoid loading modules that don’t exist in Ext and use the more comparable “standard” skin. You’ll find it’s at least equally fast, and much faster on things like large trees.

On the business side – actually, we’ve been acquiring serious brand-name customers at a good clip – Blue Shield, JP Morgan, CBS, etc – but at a personal level we wanted SmartClient to be used by more people and we wanted to give back to the open source community (we use Linux, etc).

Comment by Charles Kendrick — November 8, 2007

half the stuff doesn’t work in Firefox 3
Tree content is badly aligned, can’t pop up the calendar when editing date fields. Can’t sort. Just the top of the list.

Comment by /dev/urandom — November 8, 2007

Now imagine the world if Bindows will become open source.

Comment by Wilfred Nilsen — November 8, 2007

Amazing first time I hear of SmartClient. I’ve looked at the code and it’s quite well designed and documented.

Look forward to testing performance and integrating it other frameworks.
Thanks for making this open-source.

Comment by Jonathan Bond-Caron — November 8, 2007

@ Charles (Isomorphic) – good luck! Hope this will work for you.

@ Wilfred – thanks, but we are not planning to make Bindows opensource.

However, we are contemplating opensourcing InfiView, its unique capabilities can serve well many ajax frameworks.

@ Charles – interested?

Comment by Ran Meriaz — November 8, 2007

@/dev/urandom: thanks for pointing that out, but surely you don’t mean that as a dig against SmartClient, do you? From

“Gran Paradiso Alpha 8 is being made available for testing purposes only, and is intended for web application developers and our testing community. Current users of Mozilla Firefox should not use Gran Paradiso Alpha 8.”

Alpha browsers tend to have lots of bugs. We’ve actually never had a new final browser release break SmartClient, however, if Firefox actually breaks backcompat in the final version, we’ll have patches available.

Comment by Charles Kendrick — November 8, 2007

Yes .. pressure steadily mounts on the closed source JS frameworks. Bindows is one, DomAPI (the toolkit I use) is another.

Comment by Simon — November 8, 2007

I just saw one thing; To download the LGPL version of smartclient, you’re forced to agree to isomorphics software evaluation license. That license states that you’re “Subject to all the terms of this Agreement, Isomorphic hereby grants to you a one-time, royalty-free, non-exclusive, non-transferable, non-sublicenseable license to copy and use the Software solely for internal evaluation purposes for a period of 60 DAYS from your first access …”, et.c. How is this license compatible with the LGPL license? Maybe you should have the LGPL download linked without license agreement, or perhaps show the LGPL license instead? :)

Comment by peter svensson — November 9, 2007

Very impressive toolkit. I really like the feature explorer ( All toolkits should have a demo app like this.

Comment by Shane — November 9, 2007

No, I pointed it out so that you can look at it. Otherwise, it looks like a very nice framework. And firefox 3 hit the beta stage yesterday, and the gecko engine probably won’t change much for the final release,, so you might as well take a look at fixing these problems :)

Comment by Viktor Kojouharov — November 9, 2007

Great. I will give it a try.
Here’s the ff beta if anynone is willing to try it:

Comment by Marcin — November 9, 2007

>>The documentation browser at is best in class, putting all the API functions at your fingertips, along with examples

While it looks pretty cool, it requires a 500kb of javascript to be loaded (and more than 1Mb of data in total), fine for intranet app, but this is not the kind of page which can be used as fast online documentation.

Documentation for similar frameworks
looks not so cool, but it much faster to find usefull info here, on my opinion.

Comment by Maxim Kozhuh — November 9, 2007

Very, very heavy! And low, low, low

Comment by Fabiano — November 9, 2007

Truly amazing, but the demo application completely locks up FF 2 while it loads. Dojo suffers from the same problem. I’m pretty sure this would not be an issues in FF3, but I didn’t try it yet.

Comment by Les — November 9, 2007

The comments about the demo speed points out something important: if you make an ajax toolkit, and you put demos online, you have to make sure they run fast. One of the big fears with ajax toolkits is poor performance, so if your first impression is that you’re slow, even if that’s not deserved, people will be turned off your product.

Comment by Joeri — November 9, 2007

@Simon – thanks for pointing that out, it was not our intent to put the evaluation license in front of the LGPL and it will be removed

@Les – locks up FF2? You may have Firebug installed and enabled, it slows down applications that load a lot of JavaScript, but end users will not see this.

@Maxim – that large amount of data is the documentation itself. It is cached for subsequent loads. Surely you’re not saying you prefer frameworks with less documentation because the docs download faster :)

Comment by Charles Kendrick — November 9, 2007

Charles, yes FF 2 is locked up.
Easy to reproduce:
* disable Firebug,
* load in one tab one,
* load (e.g. in tab two,
* reload tab one,
* try switching between tabs while smartclient is loading. You won’t be able to switch to 2nd tab until until smarclient is done loading (because the browser is locked up).
This should work fine in FF 3, but I didn’t try it.

Comment by Les — November 9, 2007

@Les thanks for following up. With Firebug enabled, I can readily reproduce the delay. Without Firebug enabled, having tried multiple machines, I can only reproduce a brief delay (

Comment by Charles Kendrick — November 9, 2007

I’ve been using SmartClient for almost six months and the results are fantastic. Great easy-to-use UI, which leads to excellent usability, the skinning and branding features are great.

We’re bulding an entire ERP on top of SmartClient and it integrates smoothly with our JPA backend. We had to built lots of new components, using SmartClient APIs and Isomorphic’s support, it was an easy task.

Comment by Leonardo Eloy — November 11, 2007

Leave a comment

You must be logged in to post a comment.