The Isomorphic Blog

Customer Success: Royal Brompton & Harefield NHS Foundation Trust

RBH-Blog post banner 2

Developing IT solutions to support research for new, more effective and efficient treatments for heart and lung disease.

Royal Brompton & Harefield NHS Foundation Trust is a partnership of two specialist hospitals, known throughout the world for their expertise, standard of care, and research success.  RBH has achieved incredible things: performing the first successful heart and lung transplant in Britain, implanting the first coronary stent, and pioneering intricate heart surgery for newborn infants. Countless lives have been saved, diseases prevented and lives extended.

However, the technical support for the research process was – until more recently – ad-hoc and inconsistent. Research data was often collected on paper and rekeyed into spreadsheets, or stored in one-off databases. This led to manual labor processes, data availability delays, and data accessibility problems. Analysis was also difficult and inefficient as data was stored in disparate locations, and a lack of tools necessitated custom SQL reports to be written.

Steven Collins is the IT lead at CRC (Cardiovascular Research Centre). With Smart GWT as the core technology, Steven and his team his team has made huge improvements. To highlight just a few:

  • Leveraged the rich Smart GWT validation features to prevent all mistakes during data entry
  • Used the DataSource XML Generator to combine data across studies, and with patient information as it is captured over time
  • Empowered researchers (via Dynamic Data Filtering) to create very complex queries (e.g. tree / nested, and, or, not) directly through the UI – without having to learn SQL.


Steven’s latest solution at CRC is the ‘Cardiovascular Research Centre Database Internal Web Portal’. It makes available all research data from all projects, available through a web portal. The CRC has many research studies going on at any given time, and data gathered in one study can actually be useful in others. Combining data across studies, and with patient information as it is captured over time (for example, medical events, doctor visits and reports) has provided invaluable insights into ongoing benefits and outcomes of treatments.

Learn how Steve and his team at Royal Brompton & Harefield NHS Foundation Trust have leveraged Smart GWT to achieve all this and more.

View Case Study Button

Learn more about our customer’s success >

~5 Shades of Grey

Release 12 Blog - Release Contents Part 3

Check out our new ‘Stratus’ skin that will be part of the SmartClient/Smart GWT Release 12 

Like our ‘Tahoe‘ skin released earlier this year, Stratus is flat and modern looking. However, in comparison to Tahoe, the colors are more muted (mostly grey). It looks awesome.

Have a sneak peek below.  You can also find our full Showcase of examples using the new skin here.

This sample shows an Office Supply Catalog application. Notice the square tabs with colors highlighting the state, buttons with thin grey border, and the heavier shadows behind the menu.


Play with the live application here.


As you can see from this cube grid sample, Stratus has a very refined ‘enterprise’ feel.



Chart colors really pop against the mostly grey and white background.

Charts Stratus


Stratus comes complete with all the capabilities and attention to detail you’re used to. Try Stratus here.





How to get the new Stratus skin

Stratus will be delivered in SmartClient/Smart GWT 12.0*.   It will be available for free for all those who purchase a license or license upgrade for Smart GWT/SmartClient 12.x. 

Upgrade discounts will be 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 new Smart GWT release version number will jump to 12.0 to match the versioning on SmartClient.  For more information, you can read the blog post here.

How to start using Stratus

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.



The Isomorphic team

Customer Success: Big Pharma

Pharma_Insights - Customer Success

Last week we talked to a Principal Scientist (let’s call him Ken) at one of the worlds largest pharmaceutical companies. Ken gave us some really great insight into why and how they use SmartClient.

Ken’s organization provides software support (at varying levels) for thousands of in-house scientists scattered across “innumerable areas of expertise and roles”. Scientists come to his group when they need customized or unified solutions from software developers with domain knowledge.

The web applications that Ken’s team writes are obviously used by people who are highly educated. Their time is precious and their patience low. They demand “solutions that are highly sophisticated“, and they have “uncompromised expectations on ease-of-use.”  They “have many ideas, theories, and hypothesis that they want to explore”, so there is a long list of web applications to be developed, and also a long list of feature requests raised as their hypothesis unfoldTheir work also generates and requires analysis of “huge volumes of data“.

For Ken, these demands meant he needed a platform that:

  • Can handle volume data from both performance and a usability perspectives
  • Has intuitive, high productivity UI components
  • Supports rapid development of web applications

Ken’s Results

With several years experience using SmartClient, Ken said:


I really like Smartclient because I can create new solutions quickly and then easily adapt to user’s feature requests as they evolve because it’s usually only a matter of re-configuring how I’m creating Smartclient objects. I don’t need to be too careful about collecting all possible use-cases up front because when they come to a new understanding of their own expectations, I don’t need to tell them that we’d need to change technologies to deliver their new ideas.

ListGrid, FormItem, and DynamicForm are the key widgets I turn to.

I also highly value the support forum. I imagine that my needs which are sometimes off the beaten track, so I highly value the rapid turnaround on enhancements, bug fixes and/or suggestions.


Here are just a few of the solutions Ken’s team built this year (note that all of these are leveraging our new ‘Tahoe‘ skin):

#1 Bulk Data Handling – “PPB Editor”

The “PPB Editor” (you can think of it as an electronic lab notebook) was written to enable scientists to rapidly load bulk data into a 3rd party data storage solution. The 3rd party had provided their own GUI, but it was too tedious to use at the scale the scientists required. It also didnt match the scientist’s workflow. Furthermore, by writing their own interface, they have a convenient place to implement their own business rules (e.g., “autocalculators” and validation) to help people conform the raw data they collect to expectations set by the business and to support analytics. In particular, SmartClient helped with the following:

  • Binding to Datasources extremely quickly
  • ListGrid Expanding rows capabilities to allow additional information to be accessed without adding an unmanageable number of columns
  • FormItem was also a key feature — particularly since a class can be defined once and reused in both ListGrid and DynamicForm contexts. This meant that in their bulk editor, they can leverage multiple widgets to update the same data – saving much development effort and providing the scientists with the optimal UI.
  • Formula fields (see here for more details)

#2 Analytics – “Mylo”

The “Mylo” tool is for analytics — to help scientists find and/or explore new design ideas with experimental data previously collected. This application required the depth of functionality offered by SmartClient components. The following were critical:
  • Listgrids
    • Advanced filtering
    • Column spanning (headerspans)
    • Grouping
    • Summaries
    • Hiliting (data-driven and user defined)
    • drawAheadRatio/showAllRecords was very helpful for performance considering our data volume
  • Charting (see here for more details)
    • Log scale
    • Mean & deviation
    • Error bars
  • Export to Excel
  • Binding to Datasources

#3 Hypothesis testing – Plate Layout

The “Plate Layout” tool came about when a scientist described an upcoming technical challenge to Ken. Ken then created a GUI in less than one day that the scientist could use to test a hypothesis.

For Ken, the ability to rapidly develop web applications makes SmartClient indispensable in the pharmaceutical research and development environment.


Thanks much for the insights, ‘Ken’.


The Isomorphic Team

5 More Release 12.0 Features

Release 12 Blog - Release Contents Part 2

As we mentioned a few weeks ago, we are working hard on our next major release. In addition to the new ‘Obsidian‘ skin, here are five more exciting features coming in Release 12.


1. TypeScript support

TypeScript is a constrained dialect of JavaScript, similar to JavaScript “strict mode”, which allows a code editor to do a lot more error checking and autocompletion than is possible with plain JavaScript. TypeScript is rapidly gaining ground, with Google’s Angular framework using it, and support for it appearing in many popular IDEs.

The new TypeScript support in 12.0 will allow you to write SmartClient applications in TypeScript, so you’ll never misspell a property or method name again, and your IDE will show you SmartClient documentation inline as you type!



2. WebSockets support for Real-time Messaging

Our Real-time Messaging module can now be configured to use “websockets” as the underlying protocol, with no change required in your client or server-side code that uses Messaging.

Using websockets can be more efficient on both the client and server-side, since the protocol doesn’t require a continuously open connection.  However, websockets is not used by default, since many firewalls don’t allow websockets traffic – turn it on via Messaging.useWebSocket.

If a connection can’t be obtained via websockets, the Messaging system will fall back to using the existing, one-connection-per-browser approach, with no impact on the user except a brief delay before data starts flowing.

See real-time messaging in action here.


3. Frozen columns with vertical auto-sizing

You can now combine frozen columns with vertical auto-sizing of rows, including allowing variable-height [recordComponents].

Supporting this feature requires some very complex code to ensure that row heights are synched up across the frozen and unfrozen areas of the grid, and it was tricky to maintain good performance, but we achieved it, putting our grids even further ahead of the competition!

Row heights with frozen columns

See more on existing frozen column functionality here


4. Highlighting pending values

Showing changed values in a different color allows your users to quickly see what they’ve changed, reducing the likelihood of user error.  Check out the new sample for Pending Values [].



pending values

5. Selenium 3.0 support


Selenium has had a major new release, with some exciting new features, but also no further support for the “SeleniumRC” mode.

With the new Selenium 3.0 support in our Release 12.0, you can continue to use the Selenese and WebDriver tests you’ve already created, completely unchanged.

We now execute your Selenese via WebDriver, including support for all of the custom commands and sophisticated “wait” behaviors that make complex tests simple to create.

Thanks for reading!
The Isomorphic Team.

Your Questions Answered

Blog-Quetions Answered

In our recent survey, we asked for input on our product roadmap. Thank you very much to all those who participated. In the feedback we received, there were a bunch of comments / requests / questions. Some of our responses may be interesting to a broader audience, so we have provided them below.


Q: Server side Advancedcriteria is still missing. Would be great if it’s implemented in Release 12.

A: It has been available for multiple releases. Click here for more info.


Q: Which version of GWT will SmartGWT have as a requirement to be compiled and run in Release 12?

A: We have no current plans to require higher versions than our current recommendation, which is currently to use at least GWT 2.7 since debugging works poorly in prior versions of GWT. 


Q: I am concerned with GWT 3.0. I remember upgrading to Super dev mode when 2.7 was still in Beta, there was almost no documentation. Although 3.0 is probably ages away, what does Isomorphic think about this (especially if JSNI goes away I assume you are in some trouble)

A: JSNI is being replaced by something called JSInterop, which in theory can do everything JSNI can do and more.  While there will be a great deal of needless effort on our part required due to Google’s decision to deprecate JSNI, our expectation is that we will keep the entire SmartGWT API the same, and backward compatible.


Q: Can you please implement ckEditor instead of your rich text editor?

A: You can see pre-built integration instructions here.


Q: I would like to be able to mix standard Javascript, HTML components in with SmartGWT.  

A: We have very deep support for this. Click here for more info.


Q: It would be great to be able to define SmartGWT interfaces using XML (in a similar way to the way JavaFX handles this). 

A: This is already available. Click here for more info.


Q: I would like more server-side functions with more examples

A: Please make sure you have reviewed the large set of server samples here.


Q: We Would like support for TypeScript

A: We plan TypeScript support in the next version.


Q: Would like to see a book / tutorial / example that explains the entire development cycle from an Isomorphic point of view, with a demo application.

A: Be sure to take a look at our QuickStart Guide.  While not explicitly labeled a tutorial, the QuickStart uses a recurring set of sample DataSources, which then appear in many of the samples in the Showcase, including the “Complete Application” sample, which is one of several “demo applications” that are embedded within the Showcase.


Q: We would like a component to allow configuration of existing colors in the current themes, font size, font types and icons.

A: Based on the feedback we’ve been getting, we are looking to incorporate this in a future release.


Q: The MultiComboboxItem, the values separated by ‘,’ is not a good option when the user is allowed to input texts.

A: The separator used is configurable via dataSourceField.multipleStorageSeparator, so you need not have this problem.


Q: We would like .net support

A: We have an extensive .Net tutorial (see here) that basically gives you a basic version of the SmartClient Java Server but for .NET


Q: We Need a UI to lay out forms – it is the biggest waste of time in our company

A: If you haven’t tried it already, the following may help:

  • Be sure you have reviewed the Form Layout overview, as we often find that developers who find form layout difficult are not aware of all available settings.
  • Note also that if you have a form that has entirely fixed positioning (no need to adapt to page size), you can use itemLayout:”absolute” to simply provide coordinates for form items directly. See more info here.


Q: Would like the ability to copy and paste multiple cells in the listGrid.

A: Multi-cell copy/paste is already available. See the sample here.


Remember: The best place to get your questions answered fast is our forums.



The Isomorphic Team

Tahoe Spotted in the Wild

Early Adopter of Tahoe

SalesDriven (BPM and CRM application provider) adopted our Tahoe skin before it was even released. We thought you might like to see it in action.

(Note: You can learn more about the Tahoe skin and how to get it here).

Project Management

SalesDriven’s project management capabilities feature filterable grids with grouping and multi-level summaries, and charts to report hours by person, project and category.



Shift managers can capture and report on hours worked:




The sales team can quickly move inbound leads and opportunities through the funnel via streamlined management of multiple mailboxes:



Sales Reporting

Various charts show expenses, revenue and other metrics, along with detailed data shown in a grid. Of course, all of this can be exported to excel.



About SalesDriven

As a relatively new player in the BPM and CRM space, SalesDriven checks the usual boxes:

  • ‘In the cloud’
  • Manages leads, opps, docs, marketing, customer service and even projects
  • Integrates with everything – including Gmail.

But, instead of the usual one-size-fits-all, SalesDriven has a new, innovative approach:

1. Customer’s business processes are their competitive advantage
Rather than forcing customers to use a ‘best practice’, customers very quickly model any business process across any systems and applications. This includes things like telephony, social media, calendars and back office apps.

2. Clean, and cost effective
SalesDriven consists of modules (think Lego). Customers get (and only pay for) what their business requires, so the UI is not cluttered with unwanted features.

3. Complete picture
SalesDriven provides email marketing AND integrates with email. Every relevant customer interaction is therefore available within leads & opportunities. Better prepared sales reps close more deals faster.

SalesDriven provides all this without requiring long, costly implementation projects.  This is possible due to the underlying technology. Yes, you guessed it – our very own SmartClient. According to Michael, SalesDriven CEO:

SmartClient was a key player in forming the philosophy for the type of services and products [they] decided to offer. Because of the agility, uniformity and framework methodology, we quickly realized that we can offer adaptive solutions dictated by the business needs and not the other way around.

Learn more at


How about you?

Have you built an application you’d like to show off? Email us at

Welcome to the Dark Side – Introducing the New Obsidian skin

Release 12 Blog - Release Contents Part 1


We are announcing today our sleek, new Obsidian skin that will be part of the SmartClient/Smart GWT 12.0 release.   Like the ‘Tahoe’ skin that was released earlier this year, we designed this skin using your feedback asking for current design trends towards a flatter, square look and feel.   Obsidian is our new dark skin with a design that is both sophisticated and modern for your applications built with SmartClient and Smart GWT. 

Have a sneak peek at the new skin below.  You can also find our full Showcase of examples using the new skin here.

 Screenshot 2017-10-30 15.26.05  

Create charts that are both functional and beautiful with the new Obsidian skin. 

Screenshot 2017-10-24 09.51.14 copy

Chart colors really “pop” on the black background.

Screenshot 2017-10-24 09.52.41jon

How to get the new skin

The new skin will be delivered in SmartClient/Smart GWT 12.0*.   The new skin will be available for free for all those who purchase a license or license upgrade for Smart GWT/SmartClient 12.x. 

Upgrade discounts will be 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 new Smart GWT release version number will jump to 12.0 to match the versioning on SmartClient.  For more information, you can read the blog post here.

How to starting using 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.

We’re Working on ’12’

Release 12 Blog - Number 12 Explainer

A little History

Some of our original users may remember way back to our first SmartClient release. It was quite some time later that we released its sister product, Smart GWT. Even with our latest release – and despite SmartClient and Smart GWT having the same feature set, and synchronized release schedules – their release numbers have always been out of step:

  • SmartClient 9 | Smart GWT 4
  • SmartClient 10 | Smart GWT 5
  • SmartClient 11 | Smart GWT 6

At times, this has caused a little confusion. So, starting with our next major release, SmartClient and Smart GWT release numbers will be synchronized.

Our Next Major Release: 12

Release 12 is well underway. In fact, as soon as we finished our 11.1 | 6.1 celebrations, (learn more about 11.1|6.1 here), our dev team immediately got cracking on 12.  We are still some months away from a release date but will keep you posted on schedule. Since we plan to start talking about its contents, we wanted to get ahead of any release numbering questions.

Here are the blog posts so far on R12 contents (more to come):


If You Are Not Yet on Our Latest (11.1 | 6.1) …

*** Upgrades from SmartClient 11.0 | Smart GWT 6.0 to SmartClient 11.1 | Smart GWT 6.1 are FREE. ***

When upgrading from earlier versions, discounts are based upon the date of your previous purchase (so no need to wait until Release 12). Please contact us for upgrade pricing.
  • To order an upgrade from a previous version & for more options, contact sales.
  • For more information on how our licenses work, see the Product & Licensing FAQ.

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

We’ve Finally Made it …


In the movie ‘Iron Sky’, the main computer of the Götterdämmerung space battleship is a laptop that was stolen on Earth and reprogrammed by a Nazi scientist. If you’ve seen the movie, you’ll know that a bunch of source code is shown on the main computer (see the image below):

block-Iron Sky

Now, when any code is shown in movies, there are people out there that try to identify where the code originated. When they figure it out, they post it on ‘Source Code in TV and Films‘ on tumblr.

It turns out that the the code shown in Iron Sky is actually from our very own Smart GWT Adaptive Filtering sample with the comments translated into German! Who would have thunk?

The Iron Sky producers certainly made a good choice: Of all the features in our SmartClient platform, Adaptive Filtering happens to be my favorite, and it is also one of our most advanced. It eliminates up to 90% of the most costly types of server contact (searching through large datasets), dramatically improving responsiveness and scalability.

You can play with adaptive filtering live sample here, and learn more about it here.

Big thanks to Blama for sharing on our forums – the whole Isomorphic dev team got a kick out of it!

You can see the tumblr post here.

Electronic Digital Signature Capture (Thanks, ESutherland!)

Blog Electronic Signature Capture3

Your users could print out all their documents, sign them, scan the signed docs, email the associated PDF, then file or shred the paper. But that would be a huge waste of paper, ink and time.

Instead, due to a contribution to our forums (Thanks, ESutherland!), there is now a better way: Electronic Digital Signature Capture functionality, nicely packaged as a new form control, and ready to be integrated into your applications.

This can be leveraged to give your users the ability to draw their signature freehand using mouse, trackpad, or finger, and have it captured digitally.

Blog Sig

How Can I Get It?

You can fiddle with it here:, and it is also on GitHub.


Wait, I Have Something Cool, Too!

Have you built something that might be useful to others? Feel free to share on our forums, or email us the details.



Page 1 of 1112345»10...Last »