|  | SmartClient™ SDK Release Notes Version v9.1p_2021-05-18/LGPL Deployment (2021-05-18)

# Welcome

SmartClient provides an open DHTML/Ajax client engine, rich user interface components, and metadata-driven client-server databinding systems, for rich GUI, zero-install web applications. Whether you are upgrading from an earlier release, or exploring SmartClient for the first time, these notes will help you to install and use this release more quickly and effectively. Please take a few minutes to review this file.

# SmartClient version 9.1

Please see the Isomorphic Blog for an overview of the latest set of features introduced by this release.

See the change log for a more extensive list of changes.

See below for details of previous releases.

# Quick Start

The SmartClient SDK distribution includes an embedded application server and database engine for rapid, stand-alone development and evaluation. To get started quickly:

1. Download and install the Java 2 Runtime (JRE or SDK) 1.4+ if necessary. (Mac OS X users note: JDK 1.4+ is already installed on your system)
2. Start the embedded server by running start_embedded_server.bat (Windows), .command (MacOSX), or .sh (*nix).
3. Open the open_ISC_SDK_from_server shortcut (Windows/MacOS) or open a web browser and browse to http://localhost:8080/index.html (all systems).
4. Create a bookmark or favorite in your web browser to the URL javascript:isc.showLog(), for easy access to the SmartClient Developer Console and integrated SmartClient Reference.

The SmartClient Quick Start Guide (PDF format) is your best starting point for an overview of the SmartClient SDK, system, and capabilities. This guide also covers common installation and configuration issues.

The SmartClient Reference is the central reference and usage documentation for SmartClient developers.

# Supported Clients

SmartClient v9.1p_2021-05-18/LGPL Deployment applications run in the following standard web browsers:

- Internet Explorer 6.0-11.x (Windows)
- Firefox 3.6.x-27.x (Windows/MacOS/Linux)
- Safari 5.0-7.x (MacOS/Windows)
- Chrome 10.x-33.x (Windows/MacOS/Linux)
- Opera 11.x (Windows)

As well as the following mobile device web browsers:

- Safari on iOS 6+
- Android Browser on Android 3.2+

As new browser versions are released, Isomorphic evaluates the stability of the new browser and may announce official support, sometimes with patches or special settings required to work around browser flaws.
Support is available for earlier browser versions for customers with support contracts. Please contact Isomorphic for details.

# Supported Servers

SmartClient v9.1p_2021-05-18/LGPL Deployment server-side components require a Java Servlets 2.3 compatible server (complete list here).
SmartClient .zip and .tar.gz packages include an embedded Tomcat server for rapid stand-alone development, but SmartClient is also tested and supported on BEA WebLogic, IBM WebSphere, Oracle iAS, Sun AS, Caucho Resin, Mortbay Jetty, and JBoss servers. SmartClient .war and .ear packages without Tomcat are provided for deployment in existing server environments. See the Server Installation Notes for server-specific configuration and tested versions.
The SmartClient SDK includes an embedded HSQL database for rapid prototyping and evaluation using the SmartClient object-relational connector. This connector is also tested against DB2, Oracle, SQL Server, MySQL, PostgreSQL, and Firebird databases. See the Server Installation Notes for database-specific configuration and tested versions.

# New features in prior SmartClient releases

For new features in prior SmartClient versions greater than 8.3, please see the Isomorphic Blog.

# What's New in 8.3

SmartClient version 8.3 is a major upgrade from 8.2. It contains a lot of new features, extensive bug fixes and stability / performance enhancements as well as various changes to take full advantage of new HTML5 / css3 features (while maintaining backwards compatibility for older browsers that do not support these features).
A brief overview of the major changes:

- New CSS3-enabled skins allow applications to maintain the rich polished UI associated with the SmartClient framework with lighter-weight media.
- New Balsamiq Importer tool for importing BMML mockups into live SmartClient applications
- Major improvements to the Charting and Drawing subsystems
- A wealth of server-side features including expanded support for exporting component data and UI to various formats (PDF, Excel, etc); support for server-side scripting directly in DataSource config files; support for additional databases; expanded support for existing database integration approaches (JPA, Hibernate, etc), and much more
- Numerous databinding improvements, including support for composite primary keys; much enhanced support for working with complex data structures via SimpleType and datapath features; better support for date, time and datetime type fields; progressive loading of large data sets, and much more
- Lots of improvements to UI components including some new features and a huge number of general bug fixes and stability / performance improvements.
- Significant updating and extension of documentation and examples

# What's New in 8.2

SmartClient version 8.2 contains a number of new features, enhancements and bug fixes from the previous SmartClient release.
A brief overview of the major changes:

- Lots of new UI features - new Component classes, new features added to existing classes, and a wealth of bug fixes
- Many new DataBinding features and enhancements on both client and server
- Major improvements in support for mobile browsers
- Numerous ARIA/Section 508 accessibility enhancements and fixes.
- Drawing module enhancements - much extended APIs and better examples
- Charting module is now available in SmartClient Pro and has various fixes and enhancements

See the change log for a more extensive list of changes.

# What's New in 8.1

SmartClient version 8.1 is a significant upgrade from 8.0, containing powerful new features and a wealth of bug fixes and general enhancements. A brief overview of the major changes:

- IE 9 and Firefox 5 support
- ARIA/Section 508 accessibility compliance
- New dataPath Feature that provides a straightforward way to display or edit complex nested data
- Support for Expressions - allowing users to define complex filter criteria using simple strings
- Numerous date, time and date-time logic and formatting fixes and enhancements
- ListGrid grouping and summary improvements, including support for multi-line summaries in groups and at the grid level, and support for showing group summaries in the header of each group
- Skinning enhancements, improving both appearance and performance
- i18n enhancements
- Improved event recording / playback support for Selenium
- Numerous additional enhancements and bug fixes that were logged in forums

See the change log for a more extensive list of changes per release.

# What's New in 8.0

8.0 is another monster release, with spectacularly powerful new features and a gorgeous look & feel refresh. The following features have been added:

- Expandable rows: several built-in modes including showing a nested grid for related records, as well as, the ability to create your own component on expansion. Multi-nesting (grid within grid within grid) supported.
- Masked text input: specify the mask in a regular-expression like format, and the rest is handled for you. Works in grids too.
- New Enterprise skins: The Enterprise skin has been refined and new Enterprise Blue and Graphite skins have been added.
- New ultralight “Simplicity” skin: the new “Simplicity” skin takes advantage of early CSS3 support in modern browsers like Firefox, Safari and Chrome to deliver look and feel similar to our classic skins (rounded elements, gradients, and other touches) while remaining almost image free. Appearance degrades gracefully in Internet Explorer to a more square / solid color appearance.
- (Preliminary) Touch & Mobile support: support for iPhone, iPad and iPod touch devices and partial support for Android devices. No code changes required, and the full range of interactions is supported, including drag and drop and flick scrolling with momentum. SmartClient on mobile is a strong choice for long-session mobile & touch applications (like iWork for the iPad) and especially for offline mobile applications.
- Declarative Security: protect operations by role by simply declaring requiresRole=“manager” on an operationBinding. Codeless integration with J2EE security and JAAS “ if your security solution is causing httpServletRequest.isUserInRole() to return appropriate values, it just works. If instead you need to provide roles dynamically, you can do so with a single API call (RPCManager.setUserRoles()).
- Declarative output restriction: declare which fields should be returned by the server on a per-operation or per-request basis (dsRequest.outputs / operationBinding.outputs). Use this to cut down on network traffic for combo boxes and other scenarios where only a few fields are needed from a record with dozens of fields. Or, combine it with Declarative Security to enforce data visibility rules.
- New server-side validators: ”isUnique“ makes it trivial to enforce common cases like having a unique user name. ”hasRelatedRecords“ can enforce that inter-record references are valid.
- Validate On Exit: declare that validation for a particular field should be run when focus leaves the field. This includes automatic trips to the server to run any server-only validators you”ve defined. Combined with the new isUnique validator, this makes on-the-fly unique username checks entirely declarative.
- Server-side declarative custom validators: write a Velocity expression right in your .ds.xml file, or declare a Java class to call (like DMI)

  $value.getTime() < $record.deadline.getTime()

- Grid totals / summaries: whole grid and group level summaries. Several built-in functions (sums, averages, etc) and the ability to add your own.
- Selenium support: including Selenium IDE and Selenium Remote Control. We created a Selenium extension to allow recording abstract “locators” generated by SmartClient which are valid across browsers, across skins, across versions of SmartClient, and have fallback strategies that allow them to work across application changes like adding or reshuffling components. Support for Selenium RC means you can now write test cases in Java and other languages. A sample locator:

  //ListGrid[ID="itemList"]/body/row[itemID=1996||itemName=Sugar||2]/col[fieldName=SKU||1]

- Automatic Transactions (SQL/Hibernate): batches of updates, such as a multi-row drag or mass editing of grid rows, are now automatically grouped into a transaction when using either the SQL or Hibernate connectors with Power edition or better. APIs have been added to be notified of transaction success or failure, manually initiate transactions and include or exclude specific requests.
- Deeper SQL customization: customize the SQL used for select, insert and update for an individual field while retaining full support for automatic query generation, efficient data paging, multi-level sort and all other features of the SQLDataSource. See DataSourceField.customSelect/Insert/UpdateExpression, as well as sqlStorageStrategy.
- JPA DataSource: similar to the built-in SQL and Hibernate connectors, a connector has been added for JPA-based persistence. This connector does not yet have a DataSource Wizard, but support is planned. Supports simple Criteria for now “ support for Advanced Criteria will be available for Power edition in the future.
- Annotation-based configuration in Hibernate: support for Hibernate configuration via annotations rather than explicit mapping files, and support for looking up Hibernate configuration via Spring. Supported in both the DataSource Wizard and via declarations in .ds.xml files.
- REST Connector: a new built-in servlet exposes all of the operations defined in your .ds.xml files for access via REST ” the same protocol as defined for the RestDataSource. This allows other client technologies and automated systems to re-use the same services you provide for your SmartClient front-end.
- Widgets in grid cells: attach any component to any Grid cell. Includes automatic lifecycle management of components for load-on-demand grids, including a component pooling mode. Works for trees too.
- Per-Column AutoFit: you can now enable per-column auto-fitting to data or to the field title, or both, in the ListGrid or TreeGrid with field.autoFitWidth. This integrates with load on demand and incremental rendering by only auto-fitting to initially visible loaded data, so it scales to very large datasets with only a small performance penalty.
- Relative date filtering: enables date filters like “last 5 days” or “next week”. When the user specifies relative dates, saving and restoring criteria preserves the relative date. This is now also the default filtering interface in grids and the FilterBuilder.
- Enhanced printing: more control over printed output (e.g., number of rows to print in grids); more styling options
- True Excel (.xls) export: goes beyond CSV (comma-separated-values) export by including highlights, and delivering dates and numbers with type information so Excel can sort and filter properly
- Client-driven export: an alternative mode for exporting, this export preserves all client-side formatting.
- Wrapper components for Plugins: the components for managing browser plugins (Java Applets, Flash players, etc) are now part of the free product (formerly ClientBridges Optional Module)
- Direct editing in Visual Builder: directly drag and drop components into the application and drag to rearrange. Double click titles to edit them. In grids, show and hide columns, sort them, resize them, or freeze them and the changes are saved to the generated code.
- WSDL enhancements: automatic loading of imported XML Schema and WSDL files, and support for services with portType vs binding elements in different files
- New WSDL Wizard: Visual Builder features a new WSDL wizard suitable for much less technical people. Import a service and the set of operations and elements within the service is shown in a panel. Just drag and drop elements into the application pane and they create appropriate user interface elements. Drag the operation node out to create a button that invokes the service, automatically using data values from UI controls bound to the input message of the service, and automatically using the result to populate UI controls derived from the output message of the service.
- Tree selection: cascades up/down, with visual indicator for partial selection
- Multi-level sort: ctrl-click, or use a dialog to configure sort levels. Client and server support.
- Portal layout components: the drag and drop, multiple column portal-style layout manager previously shown as a sample is now an officially supported component.
- 18 language packs: SmartClient and Smart GWT are now single-sourcing language packs. All common locales are covered.
- Shared caching: DataSources now have an option to load and cache all data up front (DataSource.cacheAllData), which can cut down on repeated queries for smaller datasets. This is similar to the existing “clientOnly” mode, except that update/add/remove operations will “write through” to the server.
- Toolstrip: a comprehensive skinning overhaul, including toolstrip/toolbar-specific button and menu styling

# What's New in 7.0

- Enterprise, SilverWave and BlackOps skins, three more professionally designed, free (LGPL) skins
- Calendar component: complete drag and drop, databound event editing similar to Google Calendar
- TileLayout & TileGrid components: display records as a series of tiles, with databinding, load on demand, filter and sort, and drag and drop capability
- Advanced Filtering: client- and server-side support for field-operator-value filtering of data, including arbitrarily nested queries
- Filter Builder: specialized form for end user construction of advanced filters of arbitrary complexity
- SQL Templating: customize the SQL generated by SmartClient's SQL connector right in the DataSource file. Clause by clause overrides make it easy to add simple and complex joins, grouping and aggregation while retaining full search features and database independence
- Transaction Chaining: a transaction where some operations depend on the results of other operations can be declared with simple XML in your DataSource
- DataSource Wizards: generate fully functional DataSources from existing Hibernate entities or SQL tables with a simple point and click wizard in Visual Builder
- Batch DataSource Generator: connect SmartClient to your entire object model in one step by generated DataSources from SQL tables, Java Beans or other metadata with a customizable process.
- CSV / Excel Export: just call grid.exportData() to export the current contents of the grid to Excel via CSV, including current sort, filter criteria, column order and column visibility
- Automatic databound dragging behaviors: grids and trees will now inspect data relations declared in DataSources and automatically "do the right thing" for a databound drag
- Batch Uploader: provides an interface to upload a CSV, validate it and allow the user to make corrections before committing, all without coding.
- Advanced Java Reflection: Java <-> JavaScript translation transparently handles JVM 1.5 features like Generics and Enums, including nested collections of objects.
- ColumnTree component: ITunes™-like tree navigation (one column per level)
- Hiliting: declare hiliting rules based on AdvancedCriteria. Completely client-side behavior that works automatically with data paging and filtering
- Printing: comprehensive and customizable support for rendering printable views of SmartClient applications
- Formula and Summary fields: built-in wizards for end users to define formula fields that can compute values using other fields, or summary fields that can combine other fields with intervening / surrounding text. Available in all DataBoundComponents, easy to persist as preferences
- ColorPicker component: a full-spectrum color selection component similar to those found in graphics packages and other desktop software
- HeaderSpans: second level headers in grids, for grouping related columns
- Grid row rollover effects and controls: general purpose ability to attach SmartClient components to rows, allowing rounded selection, controls that appear on rollover, and more
- Grid header rollover: drop-down menus appear on rollover, offering column show/hide, freezing and grouping options that previously required right click to discover
- Data autofitting: horizontal and vertical autofitting to data for ListGrids
- Grouping modes: built-in and custom grouping modes, such as the ability to group a date column by week, day, month or year
- Visual Builder "toolskin": edit applications in any skin while Visual Builder itself retains consistent look and feel
- Visual Builder "auto-add": double-click palette items to intelligently add to last, for ludicrously fast screen building
- AutoFitTextAreaItem: autofits to contained text as the user types
- Full Tree connectors: TreeGrid connectors support now optionally includes full connector lines
- CubeGrid facet auto-derivation: greatly simplified creation of simple cubes

# What's New in 6.5

- New TreeFrog skin, the first of several planned, as well as several new skinning features
- Dynamic frozen columns support for all ListGrids and TreeGrids
- Dynamic group-by-field-value support for all ListGrids
- New client and server side support for file upload
- Inline editing and expanded APIs for data cubes / OLAP grids (CubeGrid component in Analytics module)
- Significant performance improvements for rendering large CubeGrids, ListGrids, and TreeGrids; and smoother scrolling.
- Support for Adobe AIR (desktop-installable versions of SmartClient applications)
- Support for Firefox 3 (beta), Internet Explorer 8 (beta) and Windows Safari 3.1

# What's New in 6.0

- SmartClient now also available under the LGPLv3!
- Large improvements in grid performance, especially in IE7
- New Skinning Guide and expanded documentation of skinning-related properties
- Support for loading legacy standalone pages into HTMLFlow components
- Caching improvements for paged datasets (less server contact, more responsiveness and scalability)

# What's New in 5.7/5.7.1

- new Kapow module for integration with the Kapow Technologies Mashup Server directly from the Visual Builder.
- beta level support for Opera and Safari 3.0 beta for Windows
- beta level support for the Adobe Apollo desktop runtime engine
- support for drag and drop of records between databound ListGrids and TreeGrids, supporting standard ListGrid dragDataActions
- support for cache synchronization between databound TreeGrids (ResultTrees) and changes made to the underlying DataSource data
- chart interface and FusionChart implementation, with ListGrid and CubeGrid integration
- APIs for retrieving and setting view state (tree open nodes, selected nodes, etc) on ListGrid and TreeGrid (see ViewState group)
- fully documented "AutoChild" subsystem used for customizing many automatically generated components.
- major UI and functionality improvements to the SmartClient Visual Builder application
- expanded and updated documentation

# What's New in 5.6

SmartClient 5.6 has the following major themes. See below for a detailed list of changes.

- Visual Builder: The Visual Builder tool, long marked as a "preview", is now officially released. The new version has a DataSource Creation Wizard, DataSource Editor, the ability to save multiple files, and dozens of fixes
- Metadata Engine: SmartClient can now layer presentation attributes on top of imported metadata (dataSource.inheritsFrom), handle fully hierarchical metadata models, radically simplify XML round-trip editing (form.useFlatFields). This all adds up to the ability to drive SmartClient applications from your existing metadata, customizing and extending the presentation, while still retaining a live connection to your changing metadata.
- Spring and Hibernate Integration: Built-in functionality and extensive examples for integration with these two popular Java frameworks
- Eclipse Tooling: A SmartClient plugin for Eclipse that runs inside the ATF plugin, allowing drag and drop, dialog-driven editing of SmartClient components (available as a separate package at smartclient.com)
- History Module: allows the browser "Back" and "Forward" buttons to trigger actions within SmartClient applications instead of going to a new page, as well as the ability to make the current application state bookmarkable.
- RichTextItem: components for editing HTML in a browser, with configurable styling controls
- DataBound ValueMaps: via "optionDataSource", SmartClient components can view, edit, and save values that point to records in another dataset, even when the datasets have completely different sources (eg Hibernate + WSDL web service)

# What's New in 5.5.1

SmartClient 5.5.1 is a maintenance release with small feature additions and documentation updates.

- added support for unlimited numbers of tabs: a compact scrolling / tab picking interface will appear automatically if there is not enough room for all tabs
- fixed a new Firefox 2.0-only issue that affected some applications launched via window.open()
- new top-level Concept docs on Debugging and JSF integration
- fixed an issue with Firefox truncating the value of XML elements if a single element had more than 4096 bytes of data
- fullscreen examples in the Feature Explorer now launch within the same browser window
- fixed Safari-specific FileLoader issue with order fetching Javascript and CSS files
- fix for a bug where a databound selectItem that also had an explicitly specified valueMap could JS error
- fixed server logs tab preventing access to other tabs if accessed when ISC server is not installed
- added a help pane to Visual Builder application
- fixed an issue where if a ListGrid doing inline editing in a modal dialog showed a pickList, parts of the underlying dialog would no longer be masked
- fix for the bug where checking for row edits would JS error if an edit value had been set for a fieldName with no field definition

# What's New in 5.5

SmartClient 5.5 implements the following themes and features:

## 1. SmartClient SDK Explorer

This small SmartClient application replaces the old SDK homepage with an interactive, window-based launcher for SmartClient developer resources. To use the SDK Explorer:

- single-click on any icon to open that resource or folder
- click on links below certain icons to view example source code
- click the top-right control in the "SmartClient SDK Explorer" window header to switch between window and tree views
- right-click anywhere on the page for a quick menu to all SDK resources
- double-click on any item in the tree view to open that resource or folder

The source code for this application is located in `index.html` and `docs/resources/`, with some comments for the curious.

## 2. Rich look & feel

SmartClient GUI components and services have been broadly enhanced to support a range of new visual effects and customized themes, including:

- optional image-based skinning of most components
- image-based borders, allowing custom corner and edge effects on any component
- customizable drop shadow effects for any component
- robust support for embedded icons in all action components (buttons, tabs, dialogs, menus, trees, headers)

The "SmartClient" theme has been upgraded to take advantage of these new features. This skin is now applied to the SDK Explorer, Demo Application, and Hello World examples. If you are interested in creating your own rich GUI themes, start by examining `load_skin.js` and `skin_styles.css` in `isomorphic/skins/SmartClient`. Check with technical support for the status of undocumented skinning interfaces.

The skinning interfaces will be documented separately in an upcoming release. For more information on the relevant APIs in this release, search the SmartClient Reference for the terms "edge", "shadow", "icon", or "src".

Note: The old "SmartClient" theme has been renamed "fleet", and is still available in `isomorphic/skins/`.

## 3. Animation effects

SmartClient visual components now implement a wide range of animation effects, to increase usability and improve user experience. For live examples of many of these effects, see SDK Explorer > Examples > Animation. The SDK Explorer itself demonstrates several window animation effects (expand, collapse, flash, and minimize).

To explore all SmartClient APIs related to animation, search for "animat" in the SmartClient Reference.

## 4. Background resource loading

In addition to background data operations and remote procedure calls, SmartClient provides interfaces for background loading of:

- HTML pages, portlets, tiles, and other fragments
- additional SmartClient components
- additional client-side logic

without reloading your entire application. For more information, see the SmartClient Reference entries for:

- `HTMLFlow` and `HTMLPane` components
- `contentsURL`, `setContentsURL()`, and `contentsType` interfaces
- the `ViewLoader` component
- `evalResult` and `evalVars` attributes of `RPCRequest`

Simple usage examples are also provided in `examples/uiLoading/`.

## 5. Client-side XML/WSDL integration

SmartClient now provides easy interfaces to consume and process XML resources directly in the web browser, including:

- XML documents
- XML schema
- XSLT transformations
- WSDL web service definitions
- web service operations

For more information, see the SmartClient Reference entries for:

- `Client-Server Integration`
- `Data Binding > Web Service Binding`
- `Data Binding > WebService`
- `Data Binding > Client-side Custom DataBinding`
- `Data Binding > DataSource` (group `xmlBinding`)
- `Data Binding > DataSource > OperationBinding`
- `Data Binding > XMLTools`

Simple usage examples, including client consumption of RSS feeds, are provided in `examples/dataBinding/`. XML loading and XSLT transformations are also provided directly under the XML tab of the SmartClient Developer Console.

Note: These capabilities are not currently available in MacOS Safari web browsers.

## 6. Rich form controls

SmartClient 5.5 provides a collection of enhanced form controls, including:

- `SectionItem` — a divider control for "accordion" forms
- `ComboBoxItem` — a dropdown control with filter-on-keypress capability
- `PickTreeItem` — a hierarchical selection control
- `SpinnerItem` — a numeric control with increase/decrease buttons
- `SliderItem` — the draggable Slider component, now supported in forms

`ComboBoxItem`, `PickTreeItem`, and `SpinnerItem` controls are used in the SmartClient Demo App in this package.

Please refer to the SmartClient Reference for more information on these new controls.

## 7. DataSource operation bindings

SmartClient `DataSource` objects now support custom bindings at the operation level. Each DataSource operation (Fetch, Add, Update, Remove) may be bound to a different WSDL operation, XML feed, or server object/method. For detailed documentation, see the SmartClient Reference entries for:

- `Client-Server Integration`
- `Data Binding > DataSource > OperationBinding`
- `Data Binding > Client-side Custom DataBinding`
- `Data Binding > XJSONDataSource`

For an overview of all DataSource integration options, see the Client-Server Integration topic

## 8. Direct Method Invocation

SmartClient now provides a direct method invocation (DMI) path for server integration. DMI enables you to bind DataSource operations and RPCRequests directly to methods or attributes of your server objects. For detailed documentation, see `RPC > DMI` in the SmartClient Reference. This documentation also references the DMI code examples in:

- `examples/server_integration/generic_rpc_operations`
- `examples/server_integration/custom_datasource_operations`

## Other features

In addition to the core feature areas listed above, SmartClient 5.5 provides an assortment of enhancements including:

1. End user application layout with `SectionItem` and `SectionStack` components — see `examples/demo_app/demo_app_JS_dragPanes.jsp` for example `SectionStack` usage
2. Flexible back button support — see `examples/components/backButton.html` for usage
3. Deeper Struts integration — see `examples/struts/` for integration of SmartClient Ajax form validation with existing `ActionForms`
4. Modular Ajax client — separate Ajax client modules for independent loading of standard capabilities (Core, Foundation, Containers, Forms, Grids, DataBinding), advanced options (Analytics, FileLoader, RealtimeMessaging) and custom feature packages
5. Resource preloading & caching — using the `FileLoader` service of the optional SmartClient Network Performance module

## Sneak Preview: Visual SmartClient

This release also includes a "sneak preview" of the in-development Visual SmartClient application builder. You can launch this browser-based development tool from SDK Explorer > Tools > Visual Builder. This Visual SmartClient preview provides:

- drag & drop creation and editing of your visual component tree (layouts, forms, grids, controls, etc)
- drag & drop binding of pre-defined DataSources to visual components
- property-sheet editing of visual components, with integrated online help (hover over property names)
- real-time WYSIWYG preview of your application
- real-time generation of XML and JS application code

Note: This preview is provided for evaluation only. Licensing and support of the Visual SmartClient tools are not yet formalized.

# Contact Us

If you have any questions, comments, or requests, please feel free to contact the SmartClient product team:

- www.smartclient.com
- info@smartclient.com — general questions
- feedback@smartclient.com — general comments
- support@smartclient.com — technical support
- wishlist@smartclient.com — enhancement requests
- sales@smartclient.com — licensing & services

We welcome your feedback, and thank you for choosing SmartClient.

#

©2013 and beyond Isomorphic Software, Inc. All rights reserved. Your use of this software is subject to the License Agreement. Isomorphic Software, SmartClient, and all Isomorphic-based names and logos that appear herein are trademarks or registered trademarks of Isomorphic Software, Inc. All other product or company names that appear herein may be claimed as trademarks or registered trademarks of their respective owners. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). This product includes Hypersonic SQL.