The Isomorphic Blog

A Better User Experience (and a Sneak Peek at the Next Release)

sadtohappyBlogOur next release  (SmartClient 10.1 / Smart GWT 5.1) is still a little way off, but we would like to share some details. We also want to give you the opportunity to play with some of the BETA (pre-release) features. This blog will focus on user experience. However, there will be more blogs about other aspects of the 10.1 /5.1 content, so please look out for them.

 *** One important point … upgrades to 10.1 and 5.1 are FREE to those who have already purchased 10.0 / 5.0. ***

So, without further adieu, let’s talk about user experience …

Building an application that users love needs a great understanding of the business requirements / problems you are trying to solve; translating these into a functional design … then of course developing, testing, releasing and maintaining the application. This all takes a long time and there is often little time left to focus on making the user experience as good as it needs to be. In addition, some things that seem small and insignificant require big workarounds / hacks that outweigh the perceived benefits.

The problem with this is things that seem independently insignificant can collectively make the end user’s life miserable. The end result being that they don’t want to use your application. At Isomorphic, we are therefore trying to make it easier and faster for you to go the extra mile from a user experience perspective.

Below are a few BETA features that you can start playing with right now.

Visual Changed State

In SmartClient 10.1 / Smart GWT 5.1, FormItems will support a pending visual state that can be used to style the item differently when the user changes the value from the last-saved value. This includes showing strikethrough appearance for values in multiple-select controls. Try the live sample now!

Visual Changed State

Visual Changed State let’s you control the appearance of changed values, and display the original value.

Try Now Button



Inline Icons

It’s now easy to place icons inside of editable text fields such as ComboBoxItems, for decoration or to provide functionality when clicked.  Icons support left or right alignment, and multiple icons are allowed on each side. Try the live sample now!


Try Now Button



Nav Bar Animations

Our NavigationBar component has been given subtle, built in animations / transitions that not only look cool, but help users keep their sense of place. Notice how the clicked button glides in to be the new heading, while the new buttons fade in to place.


A CheckboxItem’s checkbox can be sprited by setting a custom boolean Base Style and writing the CSS to apply the appropriate background-position for the checkbox’ current state. Try the live sample now!

Try Now Button



Hints, Tips and Format Masks Improved Placeholder Behavior

When filling out a form, it helps to guide the user as to what data and format is expected. The behavior has been improved such that hint / tips persist even when the user places their cursor in the field. The hints / tips only disappear once the user starts typing. See the example below and try the live sample now.

Try Now Button


The above are just some quick insights into a couple of the user experience enhancements we are providing in 10.1 / 5.1. There’s a lot more to come besides this, so check back here for more updates.

As always, thank you from all the Isomorphic Team!

P.S. Thanks for reading our blog. If you would like us to cover any specific topics or have any feedback, please let us know by emailing

A single codebase for all devices


With smartphones, tablets and other mobile devices becoming more and more prevalent in Enterprises, development organizations are often advised to design, build, test and maintain applications for the desktop, and repeat these tasks for every operating system (iOS, Windows, Android, etc.) and individual devices (iPhone 6, iPad, etc.). However, this rapidly becomes unsustainable.

Our last customer survey confirmed that the enterprise web applications you build are mostly accessed via desktop. The drivers for this are the tasks being performed, the volume of data involved, and the types of end users (mostly in the office / occasionally in the field).  We outlined a mobile strategy that supports these findings.

We also introduced capabilities like Adaptive UI, Responsive Layouts, and Intelligent Auto-Fitting. With the SmartClient platform, developers can create powerful, beautiful, single codebase web applications that run on any device (desktop, mobile, tablet). Since development need only be done once, the overall effort is radically reduced. The end result?:

  • Solutions to market faster
  • Higher quality
  • Lower development costs

What’s not to like? Try out some more live samples here.


When did you last hear these 3 little words from your end users?



Since you are reading this blog, I think it is reasonable to assume you have a decent understanding of what it takes to build a web application. I would also bet that your end users have said at least one (all?) of the following when describing a web application you developed for them:

  • “incomplete”
  • “unintuitive”
  • “not user friendly” / “takes too many clicks to do anything”
  • “too slow”
  • “doesn’t work on my iPhone / Adroid / tablet”

If you have been tasked with delivering a complex web-based application that end users actually want to use, you will understand that it involves more than just writing good code. For example, you need to design an application that not only meets functional needs, but performs at lightening speed, has a streamlined user interface, looks beautiful, and works on any device.

Achieving all this requires a team with a breadth and depth of skills that are typically expensive and hard to find. For example, analysts that translate the functional needs into screen flows, UI designers that understand the power of existing platform components, and architects that can translate functional needs into a data model.

That’s why we introduced a new specialized Information Architecture service to supplement your dev team. Our goal is to ensure you get it right from the start, build applications that your end users love, and that stand the test of time.

Our Information Architects are expert in the structural design of complex applications. They begin by understanding the purpose of the applications you want to build, the information that will be captured, and how end users will utilize that data. They then design the data model, screen flows and screen wireframes. This process facilitates high performance, exposes missing details, and allows for a streamlined user interface.

With feedback gathered on the wireframes, the Information Architects call on their UI design expertise in conjunction with their deep knowledge of the SmartClient platform to construct functional mockups. They use these mockups to carry out user testing, ensuring that applications are functionally complete and have a delightful user experience. Feedback gained from user testing is then incorporated back into the design to create applications end users only dreamed of.

To learn more about our Information Architecture service, click here. We are offering a 30% discount through January.

Happy New year from all the Isomorphic Team!

Dashboards that redefine extensibility

When your users present you with a specification for their dream dashboard, I can promise you this: Once you build it for them, their dreams will get bigger … and they won’t just want more of the same. They will want new capabilities that you didn’t even consider when evaluating dashboard tools. For example, they will suddenly need the ability to kick off a workflow, update data in place, pull data from a legacy website, etc. … all from the dashboard. These types of things can quickly result in reconsideration of your chosen technology.

That is why we built Dashboards on top of the SmartClient framework. It has everything you need to make end user’s future dashboarding dreams come true – without the need to purchase, configure and integrate with your existing applications. And you can of course build beautiful dashboards like this one:


Beautiful, extensible dashboards without the need to purchase, setup or integrate with your existing applications.

But don’t just take my word for it … try it out for yourself!


Available NOW: SmartClient 10.0 / Smart GWT 5.0

releaseblogimagesmallerfileREDUCEDOur SmartClient 10.0 / Smart GWT 5.0 release is finally here and it is packed full of goodies!

What is in SmartClient 10.0 / Smart GWT 5.0?

You can find lots of details in the blogs below:

Here’s how to get it:

New Customers

Existing License Holders

SmartClient 10.0 / Smart GWT 5.0 is a paid upgrade. Discounts are available based upon the date of your previous purchase. Please contact us for upgrade pricing. Get access to all the cutting edge features by upgrading now!

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

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

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.


The Isomorphic Team

Last Batch of Features Before the Big Release

SmartClient 10.0 / Smart GWT 5.0 will be released around the end August. This is a MAJOR release. We are currently adding the final layer of polish before we let it go.

Meanwhile, here are a few more features that we think you will like … and you can try them out now!


CubeGrid WYSIWYG Excel Export

CubeGrids can now export to excel with data arranged the same way you see in the cube: row and column headers arranged around a central body area. Also, Big Data is no problem: you can now export gigantic amounts of data to Excel (eg 1 million plus rows) with no issues and no running out of memory!


Try Now Button



Timeline and Calendar Enhancements

  • Major performance upgrades allowing much larger number of events to be displayed
  • Special indicators for moments in time or date ranges
  • Zones that span lanes (e.g. for weekends, holidays, etc.)

Timeline and Calendar Enhancements

Try Now Button





Spring @ transactional Annotation Support

Use Spring annotations for either a custom servlet or a specific DMI and SmartClient operations will participate in the Spring manage transaction automatically.


Proportional mode for charts
Area, Bar & Column charts now support “proportional mode”, where data values are visualized as ratios, similar to a Pie chart.  Like many other chart features, the end user can turn this mode on or off on-the-fly.
Proportional Mode for Charts
Try Now Button

Enhanced Move / Resize in Drawing Module
  • Resize-while-rotated
  • Enhanced and customizable appearance for knobs
  • Resize knob support for more kinds of DrawItems



Try Now Button




Download Smart GWT 5 or SmartClient 10 to get started using our newest mobile features – and much more – today!

Download now!


The Isomorphic Team

New Mobile Features Optimize User Experience

The Isomorphic Enterprise Mobile Application Strategy

Many analysts, MEAP providers and other “experts” promote a mobile enterprise application platform strategy that was developed for consumer offerings (LinkedIn, Facebook, Twitter, etc.). At Isomorphic Software, we realize that Enterprise users and Consumer users have very different needs and usage patterns. So our strategy is different:

  • Built in mobile adaption that allows you to code once for all devices
  • Intelligent Data Management for unprecedented scalability and responsiveness
  • The broadest, deepest set of device aware Enterprise grade UI components



The upcoming Smart GWT 5.0 and SmartClient 10.0 release provides many new features aligned with our strategy. Read on for more details …

Responsive Layout

Trying to cram a complex UI with multiple panes onto a handset screen creates a usability disaster. Isomorphic has a better solution. When multiple panes don’t fit side-by-side on a device, we automatically split them across pages. Appropriate navigation controls are provided for each specific device class, and extremely smooth transitions deliver an enterprise grade experience.

Try out Responsive Layouts in Smart GWT 5 / SmartClient 10.


Intelligent Auto-Fitting

To make best use of limited screen space, our components feature pervasive auto-fitting capabilities. This goes beyond “responsive design” – using CSS tricks to adjust page layout by browser size – because it works for dynamic data and localized strings, whose size can’t be anticipated in advance. The new NavigationBar component is an excellent example, subtly adjusting navigation controls to maximize the space allocated to the current view’s title.

Try out intelligent auto-fitting


Remote Debugging

Users quickly ditch mobile applications that are not robust. Regaining trust is at best an uphill battle. You therefore need to get it right the first time.

Remote Debugging allows you to run the Developer Console on your desktop machine to debug a page running on a mobile device. With Remote Debugging, you can use all of the powerful debugging features of the Developer Console – the component hierarchy (Watch tab), client/server requests (RPC tab), logs and log categories – using the large screen and physical keyboard of a desktop machine.

Learn More about remote mobile debugging


Adaptive UI

Our components automatically adapt to the smaller screen size and different pointing behavior of mobile devices. Components like Combo Boxes, Menus and Dialogs will automatically use the entire screen and offer alternative UI for dismissal and navigation (for example: submenus slide in). Context menus and hovers can be triggered by finger taps or long touches.

Because of these and many other automatic behavior changes for mobile devices, you really can build cross-device applications with a single technology and single codebase

Try out adaptive UI


SpinnerItem for Touch Devices

On touch devices, the SpinnerItem will now change appearance and behavior to make it easier for users to hit the increment and decrement buttons.


Try out SpinnerItem


Mobile Device Mode for Window & Dialogue Components  

To create a more seemless experience, window and dialogue components now have a special mode for mobile devices.

In the special mode, these components fill the screen and have a simplified appearance, adsent of shadows and rounding (skin specific). 





Calendar UI

With the desktop calendar, tabs provide the ability to toggle between day and weeks. However, in mobile, the compact calendar does not have tabs.

As such, the compact calendar now allows users to switch between day/week views on mobile device pivot.


Download Smart GWT 5 or SmartClient 10 to get started using our newest mobile features – and much more – today!

Download now!


The Isomorphic Team

Remote Debugging for Mobile coming next release!

Smart GWT 5.0 and SmartClient 10.0 have a lot of exciting upgrades for mobile applications, including a new Remote Debugging feature for the Developer Console.

While the Developer Console already works on mobile devices, it currently appears as a separate tab or browser window, and phone-sized devices don’t have the screen space necessary to use tools like the Watch Tab.

Remote Debugging allows you to run the Developer Console on your desktop machine to debug a page running on a mobile device. With Remote Debugging, you can use all of the powerful debugging features of the Developer Console – the component hierarchy (Watch tab), client/server requests (RPC tab), logs and log categories – using the large screen and physical keyboard of a desktop machine.


Using Remote Debugging

We’ve made remote debugging as simple to use as possible. Just add isc_remoteDebug=true to the URL when accessing a page on a mobile device. For example, if you have the SmartClient SDK installed, you can go to the Feature Explorer like so:

Please note that in the URL above, set the localhost to the actual hostname or IP address of the machine running the SDK.

Then open the Developer Console in your desktop browser. You can do this from any page on the same server, or you can go directly to the Developer Console:

You will see a “Remote” drop-down that lists the devices and URLs that have registered for remote debugging (by passing the isc_remoteDebug parameter). As you roll over the available remote targets in this drop-down, the target page will glow blue to make it easy to tell which page you will be selecting for debugging – this is particularly handy when you have a lot of devices. In this screenshot you can see what it would look like for an iPhone viewing the SmartClient Feature Explorer:


Pick the page to debug and just starting using the Developer Console as normal – that’s it!

If you reload the page on your mobile device, the remote Developer Console automatically re-establishes the connection. And any settings – such as Logging Preferences or Watch tab settings – automatically persist as they normally would.

Who can use Remote Debugging?

Anyone with a Pro Edition or above license will have access to the Remote Debugging feature in the next release.

Under the covers, the Remote Debugging feature actually uses the Real-time Messaging module, which is not a Pro Edition feature. However, we’ve rearranged things so that Pro Edition users can use Real-time Messaging just for Remote Debugging.

This does mean that if you are upgrading your environment to Smart GWT 5.0 / SmartClient 10.0 and you don’t already have Real-time Messaging, you will need to follow the installation steps normally required for Real-time Messaging before the Remote Debugging feature will work. See the “Optional Modules” documentation in your SDK for details.

Download Smart GWT 5.0d or SmartClient 10.0d to get started using our newest features today!


The Isomorphic Team

First Batch of New Features for Smart GWT 5.0 / SmartClient 10.0

Smart GWT 5.0 / SmartClient 10.0 is just on the horizon, so we’d like to give you a sneak preview of some of the new features from the next major release. You can try these features now in the latest nightly builds, complete with samples and documentation. As always, our nightly development builds are more stable than the word “nightly” suggests – each nightly build must pass 10’s of thousands of automated tests before becoming available for download. To try out our newest, cutting-edge features, get the latest nightly builds from:

If you have any issues or feedback with these new features, please post to the Forums. When posting, be sure to indicate that you are using a nightly development build, along with the exact date of the build.

New Features

  • Bubble Charts

    Bubble charts are a type of scatter chart where the size of each rendered data point represents an additional metric value, allowing 3 continuous data values to be visualized together. Bubble charts include a legend showing how data values relate to data point size.


    Bubble Chart

  • Color Scale Charts

    Color scale charts use data point colors to represent another continuous data value. When color scale mode is enabled, charts will automatically draw a legend showing how colors represent data values. In addition, “bubble” and “color scale” modes can be combined to produce charts that show up to 4 data values per point.

    Color Scale Chart

    Color Scale Chart

  • Streaming Exports

    Exports to Excel now stream data directly from the database, enabling export of extremely large datasets without using too much server memory. In the past, large exports could starve the server if multiple users performed them simultaneously. In addition, custom streaming exports can now be written using the new server-side API StreamingResponseIterator.

  • “Special Values” area in drop-downs

    Frequently, you may want to allow users to pick from a list of choices, but also allow a “special” option such as “Not applicable” or “None”.  This becomes tricky with large lists or with a search interface, where special values can get scrolled offscreen or eliminated by search criteria. Now the ComboBox and SelectItem controls provide the ability to show special values in the list of options separate from the searchable, scrollable area.

    Special Values

    Special Values

    This feature also removes the limitation that data paging could not be used whenever allowEmptyValue was used. Look up comboBoxItem.specialValues in the docs for a full description of the feature.

  • “Strict Mode” for DataSource & Component XML

    Occasionally when declaring DataSources or Components in XML, a typo in a property name can cause a problem and be difficult to spot. Yet both formats are deeply extensible, so we can’t just flag all unrecognized properties as errors since they may be user extensions. The solution is the new “strict mode” capability. When you enable “strict mode”, you get a warning for any unrecognized attribute or tag as your XML is processed. You can enable or disable “strict mode” at any granularity in your XML files, so you can get rid of warnings for any custom attributes or tags you may add. Please see the Strict Mode overview in the docs for details.


    Strict Mode

  • Faster Calendar

    The scalability and responsiveness of the Calendar component has been greatly improved, and introduces a cleaner look where controls such as the close button and resizer appear only when needed.

    Faster Calendar

    Faster Calendar

  • Logging Facade

    The server-side framework uses the Apache Log4j framework for logging, which enables us to do some very powerful things, like enable or disable different levels of diagnostics at runtime, and retrieve the most recent logs in a web-based tool (both features of the Server Logs tab of the Developer Console). However, some users have wanted to redirect all diagnostics to other kinds of logging systems, so we’ve added support for the Simple Logging Facade framework (slf4j), with a command-line flag that allows switching between the default Log4j logging vs logging via slf4j. Please see the Server Logging overview in the docs for details.

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.

Download Smart GWT 5.0d or SmartClient 10.0d to get started using our newest features today!


The Isomorphic Team

Smart GWT 4.1 / SmartClient 9.1 Released

The Isomorphic team is happy to announce the immediate availability of Smart GWT 4.1 / SmartClient 9.1.

This release includes a huge number of new, useful features that have been carefully selected to supercharge your productivity and refine the user interface. For more information about the new features listed below, please see our last three blog posts; New Smart GWT 4.1 / SmartClient 9.1 Features (Part 1 of 3), More Features for Smart GWT 4.1 / SmartClient 9.1 (Part 2 of 3), and Final Features for Smart GWT 3.1 / SmartClient 9.1 (Part 3 of 3).

The list below only includes the major new features, so please see the changelog.html file in the SDK for a complete rundown of the latest features, bug fixes, and enhancements.

Don’t delay, Download Smart GWT 4.1 / SmartClient 9.1 today!

Feature List

  • DataSource FormatStrings with Export Support: Declare the visual format for dates and numbers via DataSourceField.format, using “format strings” like Java’s SimpleDateFormat and DecimalFormat. In Pro Edition and above, these same formats are applied for spreadsheet exports (XLS and OOXML).
  • includeFrom with Aggregation: In Power Edition and above, declare that a field is calculated from values in a related DataSource with a single property, includeSummaryFunction.
  • New Data Paging Mode for Trees: Trees have always supported a load-on-demand mode that loads the children of each folder only when the folder is opened. However, some trees have so many children under a single folder that it’s necessary to load those children incrementally, like a ListGrid does.
  • RPC Timings Tool: The Developer Console’s RPC tab now shows a detailed breakdown of where time is spent for DataSource requests, including both client- and server-side contributions. This makes it easy to isolate performance problems to your database, your own custom logic, or to contributions from framework features that have a performance cost.
  • FacetChart API Enhancements: New FacetChart enhancements enable expanded use of our charting engine not just as a fixed rendering of a dataset, but as a foundation for custom data navigation and data visualization features.
  • DataSource Auditing: In Enterprise Edition and above, DataSource Auditing automatically tracks all changes made to a DataSource by saving an audit trail to a second DataSource – so you can just connect it to a grid to instantly get search, sort, filter, grouping and other features for your audit trail.
    DataSource Auditing
  • PortalLayout Enhancements: PortalLayout now has more intelligent behaviors for resizing portlets, designed to eliminate any unused space in the portal layout. Initiating a resize on any portlet will resize adjacent, identically sized portlets in a way that feels natural and avoids gaps. Minimized portlets will free space for use by other portlets.
    Portlet Before

    Portlet example before drag and drop

    Portlet After

    Portlet example after drag and drop

  • Cross Window Drags: Some enterprise applications use multiple browser windows to spread tasks across multiple monitors, or use the task switching interface provided by the operating system to manage multiple parallel tasks. Cross Window Drags enable drag and drop between two different browser windows, including transferring data such as a list of dragged records, or data needed to move a portlet to a second browser window.
    Cross Window Drags
  • Multi-lane Day View: A new mode of the Calendar, enabled via calendar.showDayLanes, allows you to display several “lanes” side by side in the Day View, and events can be dragged between lanes with automatic persistence to a DataSource. This can be used for side-by-side comparison of scheduled for people, conference rooms, vehicles or other scheduled items.
  • Spreadsheet Export Enhancements: In Pro Edition and above, several enhancements have been added to make spreadsheet exports more WYSIWYG (“what you see is what you get”), including; force column types, support for ledge-style / banded rows, background color, left/right alignment of values, column widths, and header heights. These apply to both XLS (native Excel) and OOXML (open standard) exports.
  • “matchesPattern” Search Operator: The “matchesPattern” operator takes a pattern like “foo*txt”, similar to the patterns you use to match names of files in a command-line interface, or to the pattern allowed for the SQL “LIKE” operator.
  • Selenium and TestRunner Enhancements: Our Selenium extensions have been enhanced so that record & playback of drag-and-drop interactions now work for more scenarios without the need to manually insert events into the script. In addition, a new client-side log category “testReplay” can be enabled when playing back Selenium-recorded scripts to provide detailed information about why Selenese commands are failing. Lastly, for Power Edition and above, the TestRunner tool can now capture and store client- and server-side logs generated during Selenium playback whenever a test fails.
  • Google App Engine CloudSQL Support: Google App Engine (GAE), a cloud hosting service for Java applications, has added true SQL database support with the recent introduction of Google CloudSQL. We’ve added official support for CloudSQL to our SQLDataSource – you can configure and test connection settings for CloudSQL right in the Admin Console, or use database.type:"cloudsql" in your file.
  • Simple Storage for multiple:true Fields: In Pro Edition and above, a field declared as type="text" multiple="true" contains an Array of simple text values. However, prior versions did not support storing such values to SQL, JPA or Hibernate – partly because this would be considered “denormalization”, which makes using database features like SQL joins more difficult. Sometimes, though, it is exactly what you want, and now it’s supported!
  • <customJQL> for JPA: In Power Edition and above, similar to existing support for Hibernate, you can now add a <customJQL> tag to an <operationBinding> to invoke a hand-coded JPA query, using Velocity templating to inject dynamic values.
  • DynamicScreenGenerator Interface for Component XML: Component XML screen definitions are interpreted at runtime, so they can be; stored in a database, generated from other formats on-the-fly, or even created and modified by end users to create a runtime-extensible UI. The previous release introduced new RPCManager APIs, cacheScreens() and createScreen(), that enable batch loading of several screen definitions at once via the ScreenLoaderServlet. In Pro Edition and above, a new server-side API ScreenLoaderServlet.addDynamicScreenGenerator() allows you to provide screen definitions on the fly to the ScreenLoaderServlet, so you can take advantage of batch loading of screens even if you are loading or generating your screen definitions at runtime.

A Note for customers with Smart GWT 3.x / SmartClient 8.x Licenses:

Smart GWT 4.x / SmartClient 9.x is a paid upgrade for Smart GWT 3.x / SmartClient 8.x license holders. If you upgraded or purchased licenses on or after November 21, 2012 then you already have a Smart GWT 4.x / SmartClient 9.x license. Otherwise, please contact us for upgrade pricing. Upgrade prices are based upon the date of your previous purchase. Get access to the entire Smart GWT 4.x / SmartClient 9.x series by upgrading now!

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

You can get more details about Smart GWT 4.1 / SmartClient 9.1 in our previous blog posts; New Smart GWT 4.1 / SmartClient 9.1 Features (Part 1 of 3), More Features for Smart GWT 4.1 / SmartClient 9.1 (Part 2 of 3), and Final Features for Smart GWT 3.1 / SmartClient 9.1 (Part 3 of 3).

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.

Download Smart GWT 4.1 or SmartClient 9.1 now to get started using our newest features today!


The Isomorphic Team

Page 3 of 9«12345»...Last »