Thinfinity® VirtualUI

Don’t fall behind - software users are changing and so should you

There is a shift in the way software is being sold and used - significant enough to greatly impact the sales of your Windows application. Clients are beginning to use the web and mobile devices for the entire software experience, from purchase to implementation. To increase sales and not miss out on an a vast amount of cross-platform users, your products have to be readily available and easier to access than ever before. With this goal, we introduce Thinfinity VirtualUI.


Highlights:

Gain access to an enormous client base across multiple platforms

Thinfinity VirtualUI helps you tap into an enormous new client base across multiple platforms by seamlessly migrating your Windows software to the web. Boost your sales by serving your clients where they are; online.

Instantly increase the value of your Windows application

With no functional or visual compromises, you can make your Windows applications accessible from any HTML5 compatible web browser running on any platform. Enhance your existing applications with online data, rejuvenate your older software, and deliver your application to anywhere in the world, all with Thinfinity VirtualUI.

No more rewrites. Get your software online with a single line of code

Since the web is conceptually different from Windows applications, migrating online usually involves months of headache, rewrites, and resources. It doesn’t have to be so difficult. By adding a single line of Thinfinity VirtualUI code added to your software, you can be up and running on multiple platforms in no time at all.


Download it for free today

The free Thinfinity VirtualUI license comes with all the features you need. You have 90 days to try out the Javascript Remote Objects (jsRO) framework, which allows your applications to interact with online resources. Get complete access to the jsRO framework with our PRO Developer license.


Having any questions? Take a look at our User Guide.

Features & Requirements

Features

  • Web-enable Windows Apps with just a single line of code

    Enabling Thinfinity VirtualUI in your application’s project is as simple as adding one line of code to your source code.
  • Web Integration Framework

    The new Javascript Remote Objects (jsRO) framework offers to developers a full integration of their current Windows-based apps into any kind of web development, exposing application data to the browser side and vice versa. Thinfinity VirtualUI provides the Development Lab to see, test and interact with the jsRO created in your application.
  • Works with popular Windows development environments and programming languages

    Thinfinity VirtualUI integrates with .NET, Delphi, C++ and any programming language supporting Win32 GDI/GDI+ API and ActiveX/COM interfaces. Thinfinity VirtualUI works by redirecting Windows calls and drawing commands to the remote HTML5 canvas.
  • Full HTML5 Cross-browser client

    Works with any HTML5-compliant Web browser, automatically using HTTPS protocol on Android native browsers, Microsoft IE9, and others that still lack support for the WebSocket standard protocol.
  • Cross-platform and Cross-Device client

    Supports PC, Mac, iPad, iPhone, Chromebook, Android and many other popular devices.
  • Scaling and Load Balancing Capabilities

    Thinfinity VirtualUI provides components that allow you to distribute the workload across multiple Windows sessions, as well as multiple servers. You can scale the application availability in terms of applications instances —and user accesses— and failover scenarios in order to achieve optimal resource utilization and avoid overload.
  • File System and Registry Virtualization

    The File System Virtualization helps developers to create a secure environment by exposing only relevant application folders and providing private folders based on the application’s authentication system (usually database driven).
    With a similar approach, Registry Virtualization allows developers to store user information in the Windows Registry in a controlled and isolated way. Registry entries can now be redirected to shared or private entries, also based on the application’s authentication system.
  • Many End-User Authentication Options

    Developers can select how end-users will access their applications, via one or more of these methods: Windows Logon, OAuth/2 (Google, Facebook, etc), RADIUS and/or a Custom Authentication method implemented by them with the Thinfinity Authentication API.

Requirements

  • Development machine

    • Operating Systems:
      • Microsoft Windows 7 32­bit / 64­bit
      • Microsoft Windows 8 32­bit / 64­bit
      • Microsoft Windows 10 32­bit / 64­bit
      • Microsoft Windows Server 2012
    • A development environment
      • Microsoft Visual Studio
      • Delphi 5 to 10.1 Berlin
      • C++ Builder
      • Microsoft Visual Basic
      • PowerBuilder
      • other
    • The application can use .NET WPF, GDI, GDI+ and limited DirectX calls.
  • Server machine

    • Microsoft Windows 8 32­bit / 64­bit
    • Microsoft Windows 10 32­bit / 64­bit
    • Microsoft Windows Server 2012
  • Gateway machine

    • Microsoft Windows 8 32­bit / 64­bit
    • Microsoft Windows 10 32­bit / 64­bit
    • Microsoft Windows Server 2012
  • End-user machine

    • Any operating system and/or device with an HTML5-compliant Web Browser.
    • Any modern Web Browser (HTML5-­compliant) such as IE10/11, Chrome, Safari, Firefox, Opera, etc.

Technology

Architecture

Thinfinity VirtualUI is composed of:

  • Server and Client Software

    1. Thinfinity VirtualUI Server is an http(s)/websockets server that communicates with the Windows app through the Thinfinity VirtualUI SDK libraries, taking the GDI/GDI+ redirection commands to the web browser.

    2. Thinfinity VirtualUI Javascript Client is the responsible for the actual drawing on the web-browser canvas and interacting with the end-user mouse and keyboard events.

  • Server and Client SDK

    3. Thinfinity VirtualUI Remoting SDK is a set of libraries that plugs into the developer’s programing framework to redirect Windows calls and drawing commands to the remote HTML5 canvas.

    4. Thinfinity VirtualUI JsRO is an object remoting framework deviced to ease the integration between the windows application and the web.

  • Scaling and Load Balancing Components

    5. Thinfinity VirtualUI Gateway is a component that receives connections and listens for available Servers to redirect the connections to.

    6. Multiple RDS accounts: each RDS session creates a Server instance which can, in turn, handle application instances separately. The VirtualUI Broker administrates the server instances: checks up on them to see if they are functional, and works together with the Gateway to distribute the connections


Instant GUI Virtualization

Simply by adding Thinfinity VirtualUI library to the source project and then typing in a single line of code, in-house applications are available for instant remoting from any modern web browser, on any OS and device.

While the instance runs in a Thinfinity VirtualUI Server, the virtualized GUI is shown on the web browser, connected through WebSockets with fallback to AJAX.


Windows and Web Integration

The interaction between the application and the web page can be increased by making small changes in the application that will allow you to expose application data to the browser side and viceversa.

This is achieved by using the Javascript Remote Objects framework (jsRO) included in Thinfinity VirtualUI. It allows you to create remotable server objects, with their properties, methods and events mirrored to the web as native javascript objects, enabling both-side interaction and immediate data replication:

Object Properties

The jsRO object properties are synchronized in both the application and the browser side. When a property value changes on one end it is spread to the other, firing an event handler that lets you take an action, if necessary.

Remote methods

When a remote method is called on the browser side, it method handler callback is called on the application. Additionally, the returned result value can be processed by a javascript callback.

Remote events

Remote events allow developers to submit non-visual changes from the application to the javascript side. When the application fires an event, it is transmitted to the browser, enabling the javascript to receive and process it.


Powerful Web Integration

Thinfinity VirtualUI paves the way to bidirectional integration between the Windows-based application and Internet resources by blending it with the web-side environment. Thinfinity VirtualUI allows your desktop application to be reshaped into a completely tailor-made one, combining it with available web and multimedia resources.

Relying on its newly developed Javascript Remote Objects (jsRO) framework, Thinfinity VirtualUI helps the developer to create remotable objects, with their properties, methods and events mirrored to the web as native javascript objects.

Thinfinity VirtualUI Development Lab The brand new VirtualUI Development Lab, a web environment created as complementary tool for jsRO, lets you inspect and interact from the browser with the remotable objects created in your application.



Rapid Web Enablement

Thinfinity VirtualUI offers a user interface remoting solution for in-house developed applications and allows them to be delivered as dual-platform Windows/HTML5, simply by adding one line of code. These Windows applications can keep their standard desktop environment behavior or alternatively, be remotely accessed from any modern web browser in a multi-user, multi-instance fashion, if hosted on a Thinfinity VirtualUI Server environment.


Thinfinity VirtualUI Instant GUI Remoting

Any Windows application with source code available to be recompiled that uses Microsoft Windows Win32 GDI/GDI+/DirectX calls and can interface with an ActiveX library will be a potential candidate for its use. Typically, it will work for .NET WinForms apps, old Visual Basic apps, Dephi VCL apps, C/C++ MFC apps, etc.

Live Demos

  • Fish Facts live demo

    Fishfacts is a simple database application that provides some basic information about fish species. This live demo shows basic GUI virtualization capabilities as well an integration with the web browser and external web resources.

  • Easy Money Manager live demo

    Easy Money Manager is an open source .NET application that allows you to manage your personal finances. Here we show a real-life application using VirtualUI's GUI virtualization capabilities.

  • Zoom Portfolio Manager live demo

    Zoom Investment Portfolio Manager is an open source Delphi application that provides a simple and convenient way to keep track of your quoted Stocks and Shares investments. This is another practical example of VirtualUI's GUI virtualization capabilities.

  • HTML5 Video live demo

    This demo shows you how to stream a video to a native HTML5 video component. Videos will run in the web browser to full native speed!!!

  • Digital signature demo

    Add HTML5 available resources to your application. This demo shows you how to replace an application control with a Web Component to integrate a HTML5-based digital signature pad.

  • Direct print demo

    This demo shows you how to access a printer connected to the local web browser to generate RAW prints (barcode, labels, etc.) from your application.


Tutorial

Programming with Thinfinity VirtualUI and Javascript Remote Objects

The following five-steps tutorial illustrates how to publish a Windows application created with Visual Studio and Delphi using Thinfinity VirtualUI.

This tutorial relies on a simple database application to explain the necessary development steps to gradually integrate this application with web resources.

It starts with a straightforward, single-line-of-code user interface remoting example, and it slowly progresses, employing more advanced programming techniques and the new jsRO framework, towards the goal of reaching a full web integration of the project. Examples and analysis of the code used, explanations and images accompany each step of the tutorial.

You may download the tutorial in PDF format from here:

Thinfinity VirtualUI Demo

Thinfinity® VirtualUI

Product License Download
Thinfinity® Thinfinity® VirtualUI™ (32-bit) Free 90-Day Trial EXE ZIP
Thinfinity® Thinfinity® VirtualUI™ (64-bit) Free 90-Day Trial EXE ZIP

Thinfinity® VirtualUI™ is free for developers: full GUI remoting capabilities included at no charge. No need to register. Full 90-day trial of the advanced features available.


Download the Thinfinity® VirtualUI™ v2 Guide


Close