The Isomorphic Blog

The Future of GWT

Here at Isomorphic, we fairly regularly get asked about the future of GWT. We thought we would give you a status update and provide some background info to put your mind at rest.

Back in Jan 2012, Google switched from total control over the evolution of GWT, to a new model where GWT would be controlled by a “steering committee”.  The committee members come from a variety of companies, including – of course – Google, but also Redhat, Vaadin, Sencha and others. The idea of the steering committee was for Google to go from being a gatekeeper to a peer amongst equals, with the committee controlling the roadmap of GWT. This has been very successful.

GWT development is very much active and ongoing. There have been numerous major GWT releases since 2012: 2.5, 2.6, 2.7 and the latest being 2.8.0 about 5 or 6 months ago.

Google itself is a heavy user of GWT, with key Google applications such as Adwords, Adsense, Flights, Hotel Finder, Offers, Wallet, Calendar, Sheets, Blogger, and more, which all rely on GWT.  Amongst these applications, you’ll notice some business critical applications tied directly into Google’s primary revenue stream (Adwords, Adsense) as well as newer offerings like Flights.  So, Google’s public usage of GWT already indicates that they rely on GWT for the long term, and various Google employees have mentioned that Google’s internal usage of GWT is quite extensive as well.

Numerous non-Google companies also rely on GWT, such as Evernote, Orkut, Facebook, Seesmic, Redhat, Vaadin, Sencha, and Isomorphic Software.

Lastly, GWT has a large developer base of thousands of developers around the world.

So, how are things looking for GWT? Pretty rosy.

Last Set of New Features in the Next Release


11.1 | 6.1 is very close to release. You can play with some upcoming features and experience the new ‘Tahoe‘ skin here.

In this post, we are sharing the final set of features to be included in the release. For a full list of features in 11.1 | 6.1, see these previous blogs:


Simplified REST handler

The RESTHandler servlet makes all of your server-side DataSources available via a simple REST interface, so that third party UIs (like native mobile apps) or automated systems can easily integrate with your SmartClient or SmartGWT application.
New in 11.1 | 6.1, the RESTHandler servlet now supports simpler protocols.  You can  invoke DataSource operations with a simple HTTP GET request with search criteria passed as HTTP params, like:


All 4 CRUD operations can be executed using simple HTTP operations (GET, PUT, POST, etc) and simple HTTP parameters, making it easier for third-party systems with limited configurability to connect to DataSource operations supported by our server product.


Full tab order & modality support for custom components


Third party components integrated into SmartClient or SmartGWT applications can now support full keyboard accessibility and cleanly integrate with modal dialogs and other interactivity-blocking UIs.  This is made possible by a new API that allows a custom component to get allocated a range of tab positions and receive notifications of being blocked by modal UI.


This is a landmark capability.  There is a current trend of creating applications by mixing and matching components from multiple sources, and most developers are unaware that an application created this way faces serious if not intractable issues when it comes to passing accessibility tests that are required to sell software in the public sector.  Our platform is the first to offer an approach for integrating external components that actually works for enterprise UIs with multi-level modality, components moving between different containers or being reordered, and other advanced features.


Try the new live samples:

Enhanced automated test APIs for Drawing system

You can now test charts and custom visualizations for correctness via Selenium and other automated testing tools. The DrawPane & DrawItem classes now support a new “scLocator” syntax that allows testing the location and dimensions of various shapes.


See the section “Verifying DrawItem attributes” in the Selenium overview docs.


Reusable query snippets

The powerful SQL Templating system makes it easy to use your existing SQL skills and SQL queries, instead of spending days trying to coax Hibernate or JPA to generate the SQL you already know how to write.
New in this release, you can register SQL templates so you can reuse them across multiple queries.  For example, you may have several operations that form a SQL WHERE clause from inbound criteria in the same way.  Your Java code can make the SQL template for that WHERE clause available as $standardWhereClause for use in multiple queries.

For details, see the section “User-defined Snippets” in the Custom Querying overview.


Enhanced gradations control / tic marks

New FacetChart features allow greater control over gradations and add the ability to show tick marks on both axes. Your code can now suggest the possible gaps between gradation lines, yet still have the chart pick the right magnitude for your dataset.  For example, by suggesting a gradation gap of 2.5, the chart might choose 25,000 for large data values, or 0.0025 for small values.


Tick marks can now be enabled for both axes, including support for rendering both major and minor ticks, with customizable intervals between major ticks. See docs for:


How to Upgrade

*** Remember: Upgrades to 11.1 | 6.1 are FREE to those who have already purchased 11.0 | 6.0. ***

For those not yet on 11.0 | 6.0, upgrade discounts are available and are based on the date of your last license purchase. View our License FAQs for more details. If you would like to upgrade, please contact us.


The Isomorphic Team!


Introducing ‘Tahoe’ (Part 2)


We would like to share a few more features of our new ‘Tahoe‘ skin and let you try it out for yourself. (Tahoe is due to be released in a few weeks as part of 11.1 | 6.1).


Here’s the new, sleek slider ‘Tahoe’ look. Note how the numerical pointer width automatically increases to accommodate additional digits.


Check out the LIVE slider sample >

Grid Sort

This feature let’s you see and play with a whole bunch of different aspects of the new skin.

Grid Menus

Grid Sort

Popup windows and Button States (rollover, disabled, etc.)


Sort Level-2

Editable Grids

MultiLevelSort4Grid Multi-level sort



Play with LIVE Grid Sort >

Adaptive Filtering

This is one of my favorite SmartClient features. With the Tahoe skin, see the attention to detail, like the blue shadow showing the field focus.

Adaptive Filtering

Get Hands on with Adaptive Filtering >

Cube Grids

We are putting a few last tweaks to the Tahoe skin for cube grids. Here is a sneak peak. We hope you love it. Check back in for a live link.



We mentioned in our last blog that charts are getting a modern flat feel. Now you can check them out for yourself.

Charts Blog

View LIVE charts >


Trees are looking great in Tahoe. We have a few more tweaks to make before we let you at them. Check back in a few days for a live link.


More Release Details

For more details of this release, see the following posts:

How to Get the New Skin

For documentation on how to implement Isomorphic SmartClient skins, see below:

Want Isomorphic Consulting to help you? Contact us here. We can do it all, or just give help and direction where needed.


*** Remember: Upgrades to 11.1 | 6.1 are FREE to those who have already purchased 11.0 | 6.0. ***

For those not yet on 11.0 | 6.0, upgrade discounts are available and are based on the date of your last license purchase. View our License FAQs for more details. If you would like to upgrade, please contact us.


The Isomorphic Team!

Introducing ‘Tahoe’ (Part 1)


We surveyed you (our users) to clarify your UI / UX needs. Some interesting findings were summarized in our ‘User Interface Insights‘ blog.

In our 11 | 6 release, we delivered some of what you asked for such as the ability to resize fonts and ui controls. We also overhauled form controls to match current design trends and take advantage of CSS3 features like box shadows and transitions.

The next phase is coming in 11.1 | 6.1. We’re adding a new skin called Tahoe. As you can see in the sneak peek below, it is flat, square, modern, beautiful … and blue.


Our grids have gotten more updates than we can list. Some of the highlights are:

  • Flat, square look and feel
  • Modern heading bar, fonts and colors
  • Cool new scroll bars
  • Subtle horizontal and vertical banding to keep data in context (Note: hard to see on screen grabs added to this blog)
  • Flattened icons

New look and feel for sorting, editing and other states:


New calendar / date picker:


… and much, much, more that we’ll share in our next post.

Graphs and Charts

With Tahoe, our charts get the modern, flat treatment, too. They’ve also been reformatted to make the legends more readable, separate out the header, and get all wrapped in a tidy container. Here are a few examples:





How to Get the New Skin

For documentation on how to implement Isomorphic SmartClient skins, see below:

Want Isomorphic Consulting to help you? Contact us here. We can do it all, or just give help and direction where needed.


More Details on Release 11.1 | 6.1

This is the fourth blog about our upcoming release, 11.1 | 6.1. You can find more information in these previous blogs:


*** Remember: Upgrades to 11.1 | 6.1 are FREE to those who have already purchased 11.0 | 6.0. ***

For those not yet on 11.0 | 6.0, upgrade discounts are available and are based on the date of your last license purchase. View our License FAQs for more details. If you would like to upgrade, please contact us.



The Isomorphic Team!



New Release Preview (Part III)

This is the third post about our upcoming release: SmartClient 11.1 | Smart GWT 6.1. Previous posts can be seen here:

  • Part I – Histogram chart, Selenium image load check, Grid support for auto-sizing to wrapped titles
  • Part II – Scrolling charts, Visual builder DataSource Validators, Ctrl-C / Ctrl-V


Here are a few more 11.1 | 6.1 features:

Audio Playback

Use the Sound class to load and play an audio sample. Click the control buttons to play, pause and reset the sample. The progress-bar indicates the current playback position of the sample.

Try the live sample here >

Audio Notifications

The Sound class can also add valuable user feedback to an interaction. For example, to draw attention to an error, or inform them that an task was completed successfully.



Try the live sample here >

Create any Shape – Keep Built-in Interactivity

With 11.1 | 6.1, you can directly use the underlying HTML5 <canvas> APIs to draw arbitrary shapes, but still use built-in interactivity features like drag and drop and built-in resize knobs.


Try the live sample here >

More Live 11.1 | 6.1 Samples

Several 11.1 | 6.1 BETA live samples are already available for you to play with. Try them out here.




That’s all for now, but much more coming soon!


*** Remember: Upgrades to 11.1 | 6.1 are FREE to those who have already purchased 11.0 | 6.0. ***

For those not yet on 11.0 | 6.0, upgrade discounts are available and are based on the date of your last license purchase. View our License FAQs for more details. If you would like to upgrade, please contact us.



The Isomorphic Team!

Our Experience with DevOps

These days, there are numerous conferences, news articles, training courses and discussions going on around DevOps. As I am sure you know, DevOps breaks down barriers between Development, Operations and QA, improving communication & collaboration, all with the goal of releasing higher quality products more frequently.


How we got started

We founded Isomorphic in 1998. Right from the start – probably due to the proximity and small size of our original teams, the need to move fast, and a limited budget – DevOps (although I don’t think it had a name yet) just sort of happened organically. Back then, tools were sorely lacking, so we just developed our own. We’ve been enhancing and adding to them ever since.

We’ve come a long way, baby

Fast forward to today, in Isomorphic we now have:

  • A system that runs tens of thousands of Selenium-based tests for every checkin to source control
    • It compares results to the previous run
    • Sends out notifications if there are any regressions or fixes
  • Various tools for viewing and analyzing such data (eg: what checkin broke this test?).
  • Built a huge range of diagnostics into our software platform.
    • Developers can go to a live site, log in to an Admin Console, and see client- and server-side logs
    • Toggle log levels up and down on the fly
    • Inspect live client or server-side state, and many other things.
  • Continuous deployment so that features can be rolled out quickly
  • Generally able to receive a bug report and turn around a fix in one day, with high confidence that the fix has not introduced any subtle regressions

But of course, we are not stopping here. The idea is to continuously improve.

You already have the tools you need

Many of the tools we use internally in Isomorphic are available in our platform today. For example, check out TestRunner. TestRunner is a key piece of implementing the Continuous Integration methodology. Continuous testing is applied so that regressions are caught immediately. This allows a product or application to be kept continuously at a very high level of quality, allowing for more frequent and predictable releases.

Learn more about TestRunner >

In fact, we have numerous customers that, through the adoption of our tools, are able to continuously and automatically test, analyze, diagnose and deploy the applications they’ve built on our platform.

Want to get started?

Are you trying to get started with DevOps? Do you want to accelerate process implementation? With our expertise in DevOps and with the tools we have developed, we can help you implement test suites and test analysis systems in your applications – just like those we successfully run in Isomorphic today. Contact us for more information.

Contact us for assistance with DevOps >



The Isomorphic Team

Next Release Preview (Part II)

A few weeks ago, we talked about a few features in the upcoming release, SmartClient 11.1 | Smart GWT 6.1. Here are a few more:


For When There’s Just Too Much Data … Meet the Scrolling Chart

Sometimes when you try to fit it all on one page, it just becomes unreadable. Labels have to be rotated by 90 degrees because they otherwise won’t fit, and the chart is so squashed up, it is hard to tell one bar from another. Kinda like this …


So in 11.1 | 6.1, we are providing more options …

Automatically Expand and Scroll to Show Content

As you can see, the chart below automatically expands horizontally to show content. This is enabled by the autoScrollData property. Automatic expansion can be driven either to fit per-facet-value bar thicknesses specified by defining a getMinClusterSize method for the chart, or by the requirement that all labels fit on the horizontal axis without overlapping

1. Bars All the Same Width

Here, all of the labels fit horizontally, and all the bars are the same size. Scroll horizontally to see more data.



2. Dynamic Bar Thickness

Instead of having all the bars the same width, let the width of each be driven by the length of the corresponding label. This means the labels will be readable, without taking up more horizontal space than is necessary – so less horizontal scrolling. Yay! :) Check it out …



Dashboard & Tools: Ctrl-C / Ctrl-V

The upcoming release will have built-in copy and paste with keyboard shortcut support, automatically enabled wherever selection is turned on.

View documentation and related APIs here >



Visual Builder DataSource Validators

With 11.1 | 6.1, powerful functionality is introduced to allow validators to be quickly and easily added to datasource fields in Visual Builder. This feature has a great degree of flexibility, allowing you to specify what type of validator will be applied and under what conditions … and even the error messages that will be displayed. See the simple steps below to set one up.

1. From within Visual Builder, choose to edit a datasource



2. Select the desired field:



3. Click the new Validators button



4. Select the desired validator type from the list

Choose from: ‘has related record’, ‘integer range’, ‘is one of’, ‘is unique’, ‘matches field’


… then enter the required values, including an appropriate error message.



5a. Specify when the validator should be applied:

Choose Always, or only under specific conditions:



5b. For more complex scenarios, use the Advanced option which allows nested conditions:



As you can see, very easy to use, but very powerful.



Thanks for reading out blog! Watch this space for more 11.1 | 6.1 features.


*** Remember: Upgrades to 11.1 | 6.1 are FREE to those who have already purchased 11.0 | 6.0. ***

For those not yet on 11.0 | 6.0, upgrade discounts are available and are based on the date of your last license purchase. View our License FAQs for more details. If you would like to upgrade, please contact us.



The Isomorphic Team!

Java Ecosystem Insights, Free Cloud Expo Pass … and One More Thing



Exec Insights on the State of the Java Ecosystem

Tom Smith from DZone recently interviewed Isomorphic CTO, Charles Kendrick, and several other execs, to get insights into the state of the Java ecosystem. Tom’s article was published in Dzone’s Guide to Modern Java. A few of the highlights were:

  • The open source community is driving more innovation than Oracle
  • Java continues to be prevalent in enterprise IT due to the breadth and depth of the ecosystem
  • Java will be prominent in enterprise development far beyond the short term

The entire article is well worth a read. Check it out here (page 42).


Get Your Free DevOps Conference Pass

Isomorphic will be talking about how to accelerate the agile development process at the DevOps Conference in Santa Clara, CA, November 1-3. We would love to see you there.

Want a FREE full conference pass? Just follow these steps:

  • Click here
  • Click “Continue” if you are a new user, or log-in if you have already created an account.
  • Once there, Register for Cloud Expo.  Fill out the basic business card questions and then enter isomorphicVIPgold in the Priority Code field to change the price to $0.
  • IMPORTANT: Remember to email to let us know you are coming!


New Skin Coming Soon – ‘Tahoe

We are working hard on a new skin for SmartClient. It’s flat, modern, beautiful, and everything you asked for in the UI survey. You’re gonna love it.

Watch this space for more details.



The Isomorphic Team.


Coming Soon: SmartClient 11.1 | Smart GWT 6.1


It’s time to start talking about our next release, SmartClient 11.1 | Smart GWT 6.1. It is gonna be a good one!

Here are just a few of the features:

#1: Selenium: Easy way to check if images/icons load successfully

You can now use “/imageLoaded” as a manually added suffix for locators that target Img components or other components that show icons (Buttons, Labels, etc) as a means of testing whether the image has been successfully loaded by the browser. For example:

  • //Button[ID=”cssButton”]/imageLoaded
  • //ImgButton[ID=”imgButton”]/imageLoaded
  • //Img[ID=”photo”]/imageLoaded

See our Using Selenium Guide for more info >

#2: grid support for auto-sizing to wrapped header titles

in 11.1 | 6.1, ListGrid fields can auto-fit to a multi-line title as well. See the example below.


  1. The first column auto-fits to its long title (“Flag Thumbnail”).
  2. The second column auto-fits to the data values, so there is extra space after the title.
  3. The user can also perform one time auto-fit of columns at runtime by double-clicking on any header or using the context-menu option.


#3 Histogram Chart

Histogram charts show a number of segments for each facet value on the x-axis, one for each legend facet value. However, unlike a column chart, in which each facet only has a length, in a histogram each segment has both a start (A – value property) and end value (B – defined via a metric).



You can see below that as the mouse moves across the various segments, the data values are shown in a hover, and that the segments can overlap each other. The stacking order can be changed through use of an additional metric.



APIs are also provided so that charts can set their data fill and line color. In the above chart, custom colors are applied via getDataColor(), using a map of the facetValueIds. Border color can also be applied using the new getDataLineColor() API.


Watch this space for more 11.1 | 6.1 features.


*** Remember: Upgrades to 11.1 | 6.1 are FREE to those who have already purchased 11.0 | 6.0. ***

For those not yet on 11.0 | 6.0, upgrade discounts are available and are based on the date of your last license purchase. View our License FAQs for more details. If you would like to upgrade, please contact us.


Thanks as always,

The Isomorphic Team!



It’s time to de-support some really old stuff


A couple of times a week I find myself installing updates to one browser or another. Admittedly, I do use FF, Safari, Opera and Chrome. That translates to hundreds of browser versions since SmartClient 8.3 | Smart GWT 3.1 was released in 2012.

With our SmartClient platform, we’re always pushing the boundaries of what web applications can do in the latest browsers. We also support users on older browsers and older versions of SmartClient, but this is a balancing act. We tend to port a lot more fixes to the most recent dot release than to prior releases of the same major version, as it benefits the most users. It therefore makes most sense to always be on our latest release.

SmartClient 8.3 | Smart GWT 3.1, of course, long ago lost official support for major new browser versions. At some point, the time comes where it no longer makes sense to make even more convoluted workarounds to support obsolete browsers, or continue to put effort into very old versions of our software from which most clients have upgraded. We have therefore decided to end-of-life SmartClient 8.3 | Smart GWT 3.1 and earlier releases.

But don’t worry, you have plenty of time:


The Best Time to Upgrade

If you are still on 8.3 | 3.1 or earlier, there is no better time than now to upgrade. In the four or so years since the release of SmartClient 8.3 | Smart GWT 3.1, our platform has become faster and much more capable.

Many benefits of the platform will be immediately apparent in your applications on upgrade. For example, the inline operator filters mentioned above will automatically appear in your grids!

Clicking the links below will give you details of each release since SmartClient 8.3 | Smart GWT 3.1. All of these features are available in our latest release (11|6). Now would be an excellent time to start your upgrade project. Contact us to upgrade.

SmartClient | Smart GWT Release Contents
11 | 6          10.1 | 5.1        10 | 5       9.1 | 4.1      9 | 4   


We Can Help

Our forums are a good source of info / support when upgrading. If you need assistance, Isomorphic Consulting can align with your needs: We can provide help and direction, upgrade your applications for you, or even perform Application Modernization to help you take advantage of the latest platform capabilities. Just contact us for more info and to discuss your needs.


The Isomorphic Team.

Page 1 of 1012345»...Last »