The Isomorphic Blog

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.

Grid Custom Columns Provide Developer AND End User Productivity

SmartClient’s Grid Custom Columns provide end users with built-in wizards to define:
1. Formula fields that can compute values using other fields
2. Summary fields that can combine other fields with intervening / surrounding text.

Empowering end users with Custom Columns frees-up developers from never ending one-off requests. It also makes end users more productive, getting them the data they need in the format they need it – without being placed in Development’s queue! Basically, everyone is happy!

Custom columns have all the power of regular columns, including sort, filter, export, reorder, resize, freeze / pin, group, export, hiliting, etc.

Want to learn more? Watch this video:

Want to try for yourself? Get hands on experience here.

Thanks for reading!

The Isomorphic Team

DevOps Patterns and Anti-patterns: How to do the Right Thing in the Real World.


In DevOps, what patterns lead to success? What are the anti-patterns that should be avoided? Charles Kendrick – CTO here at Isomorphic Software – recently participated in a DevOps power panel at the Cloud Expo in New York. The session was very well attended and incredibly well received. We thought we would share a few of the questions posed to the panel, along with some insights from their responses. Click here for a video of the full session.

Best Practices
Is there a place for best practices in DevOps?

We should not be using the term ‘best practice’. DevOps is a journey – not a destination. It is all about continuous improvement. If you think you know the best way of doing something then you stop trying to improve.


DevOps as a Job Title
Should there be a DevOps Manager role in every organization?

There should not be a DevOps Manager role. Of course, we can expect to see the role / skill appear on resumes and in Linkedin. However, the idea of having a single person dictate how DevOps should be done in an organization – except perhaps in a short, transitional position – works against building the necessary collaborative, trusting relationships that are required.

There could be a role such as a DevOps Facilitator, DevOps Guru, that helps build the necessary collaborative, consultative relationships. Regardless of how the philosophy is introduced, everyone has to be thinking this way.


Which Methodology?
There are many methodologies such as scrum, agile, kanban, etc. Do you pick one? Use them all together?

DevOps is a journey. Choose your own adventure. Choose your own path of what will work for your organization. Methodologies also do not have to be followed to the letter. They are just guidelines. You can pull from each like a tool box.

For example, some methodologies require the team to beat on a problem with everyone in the room. If you have distributed team, this will not really work for you. Some people also need time to think on their own, so being forced to work together in a room does not get the best out of them. When consensus is forced like this, smart voices often get pushed down.


DevOps “Wall of Confusion”
It has been said that there is a wall between Dev and Ops and that causes confusion. This would be an anti-pattern. Is the wall breaking down? Are we getting more collaboration, communication, integration? How do you help break it down?

Looking across organizations, things are improving but it is still a problem. Within an organization, the wall between dev and ops should be broken down very incrementally. Start with small steps. For example, give developers access to performance metrics instead of making them request it. The more dev minded ops people and more ops minded dev people will naturally start to communicate and work together.


Click here for a video of the full session.



P.S. We will be presenting in the DevOps Summit @ Cloud Expo in Santa Clara, CA from Tues Nov 1 – Thur Nov 3. If you would like a FULL CONFERENCE FREE PASS, email and I’ll hook you up.

Have you heard of Adaptive Filtering?

Adaptive filtering helps make your applications run lightening fast, not only on the desktop, but also on tablets and smartphones.

How does it do this? It automatically switches to client-side filtering when the dataset becomes small enough. In doing so, it eliminates up to 90% of the most costly types of server contact (searching through large datasets), dramatically improving responsiveness and scalability.

Want to learn more? Watch this video:

Want to try for yourself? Get hands on experience here.

Thanks for reading!

The Isomorphic Team

4 More Features that Sneaked into 11 |6

A few more features that we haven’t told you about made it into SmartClient 11 | Smart GWT 6, and they are actually pretty awesome … even if we do say so ourselves! :)

#1 Formula Fields

You can now declare that a form field should calculate it’s value automatically based on values in surrounding fields or other surrounding components.  You can define either a math formula or a textual format string for the calculated value.
The logic is smart about not clashing with end user changes: values that have been edited by an end user won’t be overwritten, *unless* the value is currently invalid according to your declared validators.
This makes it very easy to build forms that do things like:
1. Automatically calculate a default end date as later than the start date, but allow user overrides
2. Calculate a total price or discounted price
3. Show a nicely formatted shipping label based on an address

Formula Fields Example

Here is the code for an item order form. The generated form is directly beneath the code. As you can see, it couldn’t be easier:


Rel 11 Formula Fields Code


Example Form


View Formula Fields Documentation >                Visit the Formula Fields Live Hands-on Demo >



#2 Developer Console: Watch tab improvements

The Watch tab in the Developer Console gives you a view of the logical components in your application and their current state.  Like a supercharged version of browser tools for DOM inspection, the Watch tab lets you understand the structure of a complex application quickly, and easily troubleshoot issues with component sizing and placement.


New in 11|6, the Watch tab now allows you to hover over components in your application to see them highlighted in the component tree.


Here is a very short video to demonstrate. The application is on the left and the Developer Console on the right. See the components be highlighted in the Developer Console as they are moused over or clicked in the application.



The overall Watch Tab interface has also been streamlined, so that it now shows current mouse and focus targets and other statistics about your application up top, with other tools moved to a collapsed section at the bottom.




#3 Dynamic Criteria

When the search criteria for a grid or a drop-down list depend on values in other fields, the usual approach is to write a series of event handlers to keep the criteria up to date as the user makes changes.
New in 11 | 6, Dynamic Criteria allows you to simply declare, in the criteria itself, that a value should be drawn from a nearby form field or other input control, and a new search is performed automatically.

View Dynamic Criteria Documentation >


#4 Trace the Source of Logged Warnings

Sometimes you’ll see a warning in the Developer Console telling you that your application is doing something invalid, but it is hard to tell which part of your code is triggering the problem.

The new API Log.traceLogMessage() allows you to log a stack trace any time a particular log message appears in the log, so that you can rapidly find the source of the warning, no matter how complex your application.

View Log.traceLogMessage() Documentation >


Hope you enjoy  the new features! If you still haven’t upgraded to 11|6, you can find out how to do so here.



The Isomorphic Team

Join us at the DevOps Conference – Get your FREE Pass

Join us at the DevOps Conference

Isomorphic will be at the DevOps Summit in the Javits Center, NY next month (June 7-9), and we’d love you to join us. Follow the steps at the bottom of the page to get your FREE VIP GOLD FULL CONFERENCE PASS..

One of the highlights will be our CTO, Charles Kendrick, discussing how to leverage technology to accelerate Agile development processes:

The Agile Accelerator: Where Designers, Product Managers and Engineers Collaborate in the Cloud 

Between the mockups and specs produced by analysts, and resulting applications built by developers, there exists a gulf where projects fail, costs spiral, and applications disappoint. Methodologies like Agile attempt to address this with intensified communication, with partial success but many limitations. 
In this session, we present a revolutionary model enabled by new technologies. Learn how business and development users can collaborate – each using tools appropriate to their expertise – to build mockups and enhance them all the way through functional prototypes, to final deployed applications. This approach helps you improve usability, exceed end-user expectations, and still hit project milestones.


To whet your appetite, here is Charles speaking at QCon SF a few months ago, in his session about Adapting UI from Desktop to Mobile.

Steps to get your FREE pass

Follow these steps to get your free VIP Gold pass:

  1. Go to
  2. Click “Continue” if you are a New User or log-in if you have already created an account.
  3. Once there, register for Cloud Expo.  To register – fill out the basic business card questions and then enter isomorphicVIPgold in the Priority Code field to change the price to $0 .
  4. IMPORTANT: Email to let us know you are coming. We would love to meet up.

Hope to see you in NY!


The Isomorphic Team

User Interface Insights

We recently saw an upward trend in requests for increasing the default size of our UI controls and fonts. On one hand, this made sense. A bunch of technologies have emerged that, while they certainly don’t have the capabilities of SmartClient, they do have simplicity in their interface that many users like.

On the other hand, many Isomorphic customers (pharma, banks, research, technology, etc.) build data intensive applications. Being able to display as much data as possible on the page, then filter, slice and dice on the fly, is very important to them.

How could we be sure to strike the right balance between data density and resized controls? Well, we asked you of course! If you responded to our survey, thanks again!

Note: The survey was sent to those that, during registration at, opted-in to receive our emails, and had either purchased a license or downloaded our LGPL edition.

Here are a few insights from the survey results:


The ‘Bigger UI’ Use Case

We asked if you wanted larger UI controls, and if so, how would you use them. The responses were broad:

• 41% of respondents wanted increases ONLY in selected circumstances such as in a dashboard or simple form.
• 40% wanted increases throughout their applications.
• 19% of respondents didn’t want anything to change.

Since large portions of respondents support conflicting options, we knew that to meet everyone’s needs, we would have to implement a flexible solution. You may have noticed in our last release (11|6) that we introduced capabilities to make it very easy to resize controls and fonts. Learn more here.

How Big is Big Enough?

For a long time, the default size of SmartClient UI controls was 22px. For those survey respondents that preferred larger UI controls, we asked how big they should be.

Interestingly, 18% of survey participants that indicated that they wanted an increase, but selected 22px (unchanged) as the size they preferred.

The most common survey response (31%) was for an increase to 26px.

You can see this change has already been made in our showcase. In fact, you are now able to select from 5 variants.

It is interesting however to look at this question across all survey participants:
If we take into account those that said they did not want an increase in UI control / font size throughout their applications, there is a complete turnaround and 68% want the UI control size to be 22px (unchanged). This actually makes sense given that these are SmartClient customers with typically a high density of data in their applications.

Round vs. Square Corner Consensus

Most respondents wanted a medium level of rounding of corners. On a scale of 0-10, about 4-6 were by far the most popular.


Flat versus Gradient

We asked how UI Controls should look. Overwhelmingly (61%), the response was that they should be flat.


Interestingly, there was a strong correlation between users that didn’t want UI controls / fonts to be increased, and also wanted UI controls to have some level of gradient.

Don’t worry. When we roll out our new UI skins, there’ll be something to keep everyone happy.

Available NOW: SmartClient 11 | Smart GWT 6

Blog Banner Rel 11 6 Now available

All at Isomorphic are very excited to announce the 11|6 is now generally available! In this blog, we hopefully answer many of your questions, or point you to where answers can be found.

What’s in 11 | 6 ?

SmartClient 11 | Smart GWT 6 is a major release. It includes functionality such as:

  • New adaptive UI capabilities so that your desktop web applications work beautifully on any device
  • Ability to easily resize fonts and UI controls
  • Inline operator grid filtering
  • Overhauled form controls to match current design trends
  • And much, much more.

You can find lots of details in the blogs below:

How to Get It

New Customers

Existing License Holders

When upgrading from SmartClient 10.x | Smart GWT 5.x, or earlier versions, discounts are based upon the date of your previous purchase. 

If you purchased a license within the last three months, your upgrade is FREE and your account has already been updated to reflect this. You can simply download the latest from here.

Otherwise, discount levels can be seen below.

Upgrade Discount Rel 11


  • To order an upgrade from a previous version & for more options, contact sales.
  • For more information on how our licenses and discounts work, see the Product & Licensing FAQ.

Once you have purchased your upgrade, Download SmartClient 11 or SmartClient 6 to get started (don’t forget to log in first)!

We would love to hear your feedback!

As always, please send us any bug reports or feedback in the Forums. Please be clear about what product and version you’re using when reporting issues, including the exact date of the build.

Thank you for being our customer. We couldn’t do it without you!


The Isomorphic Team

More New Features & How to Upgrade to 11 | 6

Blog Banner Rel 11 6 batch 3

This is our third and final blog about upcoming features prior to 11|6 becoming generally available (just days away).

See our first two blogs here:

Read on to learn about:

  • More 11|6 features
  • FREE upgrades / upgrade discounts
  • How to pre-test your application with 11|6
  • How to access 11|6 live samples

New Feature: Resize Fonts and UI Controls

We recently surveyed a significant portion of our users to get feedback on font and control sizes. Thanks to all those that participated. We’ll publish a blog soon to share some of the insights. Meanwhile, in 11|6, we are providing the ability for you to easily adjust font and UI control sizes (up or down) across all or just a parts of your applications. You can therefore easily give users the layout they are asking for, or give them the ability to choose for themselves.

To give you the idea, here are a few versions of a grid with different font / control sizes.

Rel 11 Compact to Spacious

See it in action by selecting the appropriate ‘Density’ values from the dropdown in our live samples.


Use our new APIs Canvas.resizeControls() (view docs) and Canvas.resizeFonts() (view docs) to do the same thing in your applications, or even offer these customization options to end users.


New Features: Component XML

Component XML is a format for specifying UI components declaratively in XML. Using Component XML, you can separate the layout of your application from its business logic, so that less technical users can edit the layout while JavaScript developers implement business logic. There are several new features in this area with corresponding samples for your reference.

Screen Reuse

Using createScreen(), you can load multiple copies of the same Component XML screen, and the copies will not interfere with each other. This allows Component XML screens to be treated as simple reusable components and development velocity to be increased. tryNow

Custom Components

With 11|6, you can use custom components in screens created via Component XML. Just use the “constructor” attribute to indicate that your custom class should be used. It’s also possible to declare a Component Schema so that your custom class can be used directly as the XML tag, with no need to set the constructor or declare custom properties. tryNow

Enabled and Visibility Rules

Simple XML declarations can leverage the data exposed by DataBoundComponents to control appearance or behavior. For example, to conditionally display panes, make fields editable, or display and enable buttons. tryNow

Form Rules

Form rules can now be applied which are declared directly in XML, without the need to write JavaScript code. This allows things like conditional required fields, formatting, hiding and show fields conditionally, etc. to be easily achieved. tryNow


How Much Does it Cost to Upgrade?

Existing Customers

If you purchased a license in the last three months, the upgrade to SmartClient 11| Smart GWT 6 is FREE. Yes, you read that correctly. It will cost you nothing. Nada. Zip. $0.00. Zilch. Jack Diddly squat. Zero. Your account has been updated and you don’t have to do anything except download the new release when it becomes available (or the pre-release version today).

If you are an existing license holder, but did not purchase in the last three months, you could still be in line for a pretty huge discount. Discounts are based on your last purchase date. See the table below for tiers, and contact us to upgrade:

Upgrade Discount Rel 11

New Customers

To learn about available editions and to purchase licenses, visit


Got Licensing Questions?

Major releases (e.g. SmartClient 11.0, Smart GWT 6.0) are paid upgrades. Minor releases (e.g. 11.1, 11.2, 11.x) are free with the major license.

See out licensing FAQs for more information.


Start Testing your Applications with 11|6 TODAY

The release is days away. Get a head start. Download the latest pre-release version here and test your applications NOW.

If you find any issues, please let us know through the forums, and provide as much information as possible. We will address issues ASAP.


Hands-on Release 11| 6 Live Samples

There is a pretty long list of live samples available for you to test out. You can access them all here.

Again, if you find any issues, please let us know through the forums, and provide as much information as possible. We will address issues ASAP.


Thanks for reading our blog! We hope you love the release.

The Isomorphic Team.

Page 3 of 11«12345»10...Last »